transmission/qt/about.cc

96 lines
2.6 KiB
C++

/*
* This file Copyright (C) Mnemosyne LLC
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
* $Id$
*/
#include <QDialogButtonBox>
#include <QFont>
#include <QLabel>
#include <QMessageBox>
#include <QPixmap>
#include <QPushButton>
#include <QString>
#include <QTextEdit>
#include <QVBoxLayout>
#include <QWidget>
#include <libtransmission/transmission.h>
#include <libtransmission/version.h>
#include "about.h"
#include "hig.h"
#include "license.h"
AboutDialog :: AboutDialog (QWidget * parent):
QDialog (parent, Qt::Dialog),
myLicenseDialog (new LicenseDialog (this))
{
setWindowTitle (tr ("About Transmission"));
QLabel * l;
QVBoxLayout * v = new QVBoxLayout (this);
l = new QLabel;
l->setPixmap (QPixmap (QString::fromAscii (":/icons/transmission-48.png")));
l->setAlignment (Qt::AlignCenter);
v->addWidget (l);
QFont f (font ());
f.setWeight (QFont::Bold);
f.setPointSize (int (f.pointSize () * 1.2));
l = new QLabel (tr ("<big>Transmission %1</big>").arg (QString::fromAscii (LONG_VERSION_STRING)));
l->setAlignment (Qt::AlignCenter);
l->setFont (f);
l->setMargin (8);
v->addWidget (l);
l = new QLabel (tr ("A fast and easy BitTorrent client"));
l->setStyleSheet (QString::fromAscii ("text-align: center"));
l->setAlignment (Qt::AlignCenter);
v->addWidget (l);
l = new QLabel (tr ("Copyright (c) The Transmission Project"));
l->setAlignment (Qt::AlignCenter);
v->addWidget (l);
l = new QLabel (QString::fromAscii ("<a href=\"http://www.transmissionbt.com/\">http://www.transmissionbt.com/</a>"));
l->setOpenExternalLinks (true);
l->setAlignment (Qt::AlignCenter);
v->addWidget (l);
v->addSpacing (HIG::PAD_BIG);
QPushButton * b;
QDialogButtonBox * box = new QDialogButtonBox;
b = new QPushButton (tr ("C&redits"), this);
box->addButton (b, QDialogButtonBox::ActionRole);
connect (b, SIGNAL (clicked ()), this, SLOT (showCredits ()));
b = new QPushButton (tr ("&License"), this);
box->addButton (b, QDialogButtonBox::ActionRole);
connect (b, SIGNAL (clicked ()), myLicenseDialog, SLOT (show ()));
box->addButton (QDialogButtonBox::Close);
box->setCenterButtons (true);
v->addWidget (box);
connect (box, SIGNAL (rejected ()), this, SLOT (hide ()));
}
void
AboutDialog :: showCredits ()
{
QMessageBox::about (
this,
tr ("Credits"),
QString::fromAscii ("Jordan Lee (Backend; Daemon; GTK+; Qt)\n"
"Michell Livingston (OS X)\n"));
}