diff --git a/qt/about.cc b/qt/about.cc index 1abebf077..30d0ef952 100644 --- a/qt/about.cc +++ b/qt/about.cc @@ -13,7 +13,11 @@ #include #include #include +#include #include +#include +#include +#include #include #include @@ -21,13 +25,14 @@ #include #include "about.h" +#include "hig.h" AboutDialog :: AboutDialog( QWidget * parent ): QDialog( parent, Qt::Dialog ) { + setWindowTitle( tr( "About Transmission" ) ); QLabel * l; QVBoxLayout * v = new QVBoxLayout( this ); - setWindowTitle( tr( "About Transmission" ) ); l = new QLabel; l->setPixmap( QPixmap( ":/icons/transmission-48.png" ) ); @@ -48,7 +53,7 @@ AboutDialog :: AboutDialog( QWidget * parent ): l->setAlignment( Qt::AlignCenter ); v->addWidget( l ); - l = new QLabel( tr( "Copyright 2005-2009, the Transmission project" ) ); + l = new QLabel( tr( "Copyright 2005-2009 The Transmission Project" ) ); l->setAlignment( Qt::AlignCenter ); v->addWidget( l ); @@ -57,11 +62,65 @@ AboutDialog :: AboutDialog( QWidget * parent ): l->setAlignment( Qt::AlignCenter ); v->addWidget( l ); - v->addSpacing( 10 ); + 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()), this, SLOT(showLicense()) ); + 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" ), + "Charles Kerr (Backend; Daemon; GTK+; Qt)\n" + "Michell Livingston (Backend; OS X)\n" + "Eric Petit (Backend; OS X)" ); +} + +void +AboutDialog :: showLicense( ) +{ + QMessageBox::about( this, tr( "License" ), + "The Transmission binaries and most of its source code is distributed " + "license. " + "\n\n" + "Some files are copyrighted by Charles Kerr and are covered by " + "the GPL version 2. Works owned by the Transmission project " + "are granted a special exemption to clause 2(b) so that the bulk " + "of its code can remain under the MIT license. This exemption does " + "not extend to original or derived works not owned by the " + "Transmission project. " + "\n\n" + "Permission is hereby granted, free of charge, to any person obtaining " + "a copy of this software and associated documentation files (the " + "'Software'), to deal in the Software without restriction, including " + "without limitation the rights to use, copy, modify, merge, publish, " + "distribute, sublicense, and/or sell copies of the Software, and to " + "permit persons to whom the Software is furnished to do so, subject to " + "the following conditions: " + "\n\n" + "The above copyright notice and this permission notice shall be included " + "in all copies or substantial portions of the Software. " + "\n\n" + "THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, " + "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " + "MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. " + "IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY " + "CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, " + "TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE " + "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." ); +} + diff --git a/qt/about.h b/qt/about.h index c653c69a7..097929ae3 100644 --- a/qt/about.h +++ b/qt/about.h @@ -22,6 +22,13 @@ class AboutDialog: public QDialog public: AboutDialog( QWidget * parent = 0 ); ~AboutDialog( ) { } + QWidget * createAboutTab( ); + QWidget * createAuthorsTab( ); + QWidget * createLicenseTab( ); + + public slots: + void showCredits( ); + void showLicense( ); };