1/* 2 * This file Copyright (C) Mnemosyne LLC 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 6 * as published by the Free Software Foundation. 7 * 8 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 9 * 10 * $Id: about.cc 12697 2011-08-20 05:19:27Z jordan $ 11 */ 12 13#include <QDialogButtonBox> 14#include <QFont> 15#include <QLabel> 16#include <QMessageBox> 17#include <QPixmap> 18#include <QPushButton> 19#include <QString> 20#include <QTextEdit> 21#include <QVBoxLayout> 22#include <QWidget> 23 24#include <libtransmission/transmission.h> 25#include <libtransmission/version.h> 26 27#include "about.h" 28#include "hig.h" 29#include "license.h" 30 31AboutDialog :: AboutDialog( QWidget * parent ): 32 QDialog( parent, Qt::Dialog ), 33 myLicenseDialog( new LicenseDialog( this ) ) 34{ 35 setWindowTitle( tr( "About Transmission" ) ); 36 QLabel * l; 37 QVBoxLayout * v = new QVBoxLayout( this ); 38 39 l = new QLabel; 40 l->setPixmap( QPixmap( QString::fromAscii( ":/icons/transmission-48.png" ) ) ); 41 l->setAlignment( Qt::AlignCenter ); 42 v->addWidget( l ); 43 44 QFont f( font( ) ); 45 f.setWeight( QFont::Bold ); 46 f.setPointSize( int( f.pointSize( ) * 1.2 ) ); 47 l = new QLabel( tr( "<big>Transmission %1</big>" ).arg( QString::fromAscii( LONG_VERSION_STRING ) ) ); 48 l->setAlignment( Qt::AlignCenter ); 49 l->setFont( f ); 50 l->setMargin( 8 ); 51 v->addWidget( l ); 52 53 l = new QLabel( tr( "A fast and easy BitTorrent client" ) ); 54 l->setStyleSheet( QString::fromAscii( "text-align: center" ) ); 55 l->setAlignment( Qt::AlignCenter ); 56 v->addWidget( l ); 57 58 l = new QLabel( tr( "Copyright (c) The Transmission Project" ) ); 59 l->setAlignment( Qt::AlignCenter ); 60 v->addWidget( l ); 61 62 l = new QLabel( QString::fromAscii( "<a href=\"http://www.transmissionbt.com/\">http://www.transmissionbt.com/</a>" ) ); 63 l->setOpenExternalLinks( true ); 64 l->setAlignment( Qt::AlignCenter ); 65 v->addWidget( l ); 66 67 v->addSpacing( HIG::PAD_BIG ); 68 69 QPushButton * b; 70 QDialogButtonBox * box = new QDialogButtonBox; 71 72 b = new QPushButton( tr( "C&redits" ), this ); 73 box->addButton( b, QDialogButtonBox::ActionRole ); 74 connect( b, SIGNAL(clicked()), this, SLOT(showCredits()) ); 75 76 b = new QPushButton( tr( "&License" ), this ); 77 box->addButton( b, QDialogButtonBox::ActionRole ); 78 connect( b, SIGNAL(clicked()), myLicenseDialog, SLOT(show()) ); 79 80 box->addButton( QDialogButtonBox::Close ); 81 box->setCenterButtons( true ); 82 v->addWidget( box ); 83 connect( box, SIGNAL(rejected()), this, SLOT(hide()) ); 84} 85 86void 87AboutDialog :: showCredits( ) 88{ 89 QMessageBox::about( this, tr( "Credits" ), 90 QString::fromAscii( "Jordan Lee (Backend; Daemon; GTK+; Qt)\n" 91 "Michell Livingston (Backend; OS X)\n" 92 "Kevin Glowacz (Web client)" ) ); 93} 94 95