PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/aboutwidget.cpp

http://instead-launcher.googlecode.com/
C++ | 120 lines | 91 code | 20 blank | 9 comment | 0 complexity | cb99db58039a09ad767d04acdf52158c MD5 | raw file
  1. #include "config.h"
  2. #include "aboutwidget.h"
  3. AboutWidget::AboutWidget( QWidget *parent )
  4. : QWidget( parent )
  5. {
  6. QVBoxLayout *layout = new QVBoxLayout( this );
  7. QHBoxLayout *hlayout = new QHBoxLayout();
  8. QWidget *gwidget = new QWidget( this );
  9. QPalette pal = gwidget->palette();
  10. pal.setBrush( gwidget->backgroundRole(), QBrush( QColor( 255, 255, 255 ) ) );
  11. gwidget->setPalette( pal );
  12. gwidget->setAutoFillBackground( true );
  13. QVBoxLayout *glayout = new QVBoxLayout( gwidget );
  14. // glayout->setSizeConstraint( QLayout::SetFixedSize );
  15. QWidget *lwidget = new QWidget( this );
  16. pal = lwidget->palette();
  17. pal.setBrush( lwidget->backgroundRole(), QBrush( QColor( 150, 150, 150 ) ) );
  18. lwidget->setPalette( pal );
  19. lwidget->setAutoFillBackground( true );
  20. QWidget *iwidget = new QWidget( gwidget );
  21. iwidget->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred );
  22. QVBoxLayout *ghlvlayout = new QVBoxLayout( lwidget );
  23. QHBoxLayout *ghlayout = new QHBoxLayout();
  24. QVBoxLayout *ghvlayout = new QVBoxLayout( iwidget );
  25. QHBoxLayout *ghblayout = new QHBoxLayout();
  26. layout->addLayout( hlayout );
  27. // hlayout->addStretch();
  28. hlayout->addWidget( gwidget );
  29. // hlayout->addStretch();
  30. glayout->addLayout( ghlayout );
  31. m_logoLabel = new QLabel( this );
  32. ghlvlayout->addWidget( m_logoLabel );
  33. m_logoLabel->setPixmap( QPixmap( ":/resources/logo.png" ) );
  34. ghlayout->addWidget( lwidget );
  35. ghlayout->addWidget( iwidget );
  36. QFrame *frame = new QFrame( iwidget );
  37. frame->setFrameShape( QFrame::HLine );
  38. ghvlayout->addWidget( frame );
  39. QLabel *title = new QLabel( "<b><h3>" + QString( "%1 %2" ).arg( tr( "INSTEAD launcher" ) ).arg( LAUNCHER_VERSION ) + "</h3></b>", this );
  40. title->setScaledContents( false );
  41. ghvlayout->addWidget( title );
  42. frame = new QFrame( iwidget );
  43. frame->setFrameShape( QFrame::HLine );
  44. ghvlayout->addWidget( frame );
  45. QLabel *desc = new QLabel( tr( "The program for loading and installing games from the official INSTEAD games repository. Also launcher allows you to be in course of all related software updates." ), this );
  46. desc->setWordWrap( true );
  47. desc->setScaledContents( false );
  48. ghvlayout->addSpacing( 10 );
  49. ghvlayout->addWidget( desc );
  50. QCommandLinkButton *developersForumButton = new QCommandLinkButton( tr( "Developer's forum" ), tr( "Join us! Let's discuss, make suggestions and enjoy!" ), lwidget );
  51. // developersForumButton->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding ) );
  52. // developersForumButton->setMinimumHeight( 150 );
  53. connect( developersForumButton, SIGNAL( clicked() ), this, SLOT( goToDevelopersForum() ) );
  54. ghvlayout->addWidget( developersForumButton );
  55. QCommandLinkButton *launcherProjectButton = new QCommandLinkButton( tr( "INSTEAD launcher project page" ), tr( "If you want to report about bug, you can do it here." ), lwidget );
  56. // launcherProjectButton->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed ) );
  57. connect( launcherProjectButton, SIGNAL( clicked() ), this, SLOT( goToINSTEADLauncherPage() ) );
  58. ghvlayout->addWidget( launcherProjectButton );
  59. QCommandLinkButton *insteadProjectButton = new QCommandLinkButton( tr( "INSTEAD project page" ), tr( "Welcome to the INSTEAD project page!" ), lwidget );
  60. // insteadProjectButton->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed ) );
  61. connect( insteadProjectButton, SIGNAL( clicked() ), this, SLOT( goToINSTEADPage() ) );
  62. ghvlayout->addWidget( insteadProjectButton );
  63. QLabel *devs = new QLabel( "<center><b>" + tr( "Developers team" ) + ":</b><br>morkow, rec, <a href=\"mailto:ilja.ryndin@gmail.com\">" + tr( "Ilja Ryndin" ) +"</a></center>", this );
  64. devs->setWordWrap( true );
  65. devs->setScaledContents( false );
  66. ghvlayout->addSpacing( 10 );
  67. // ghlvlayout->addWidget( devs );
  68. ghvlayout->addWidget( devs );
  69. connect( devs, SIGNAL( linkActivated( const QString & ) ), this, SLOT( linkActivated( const QString & ) ) );
  70. QLabel *thanks = new QLabel( "<center><b>" + tr( "Special thanks to" ) + ":</b><br>" +
  71. tr("Peter Kosyh for the smart advices and everybody who was involed in developmnt process! :)") + "</center>",
  72. this );
  73. thanks->setWordWrap( true );
  74. ghvlayout->addSpacing( 10 );
  75. // ghlvlayout->addWidget( thanks );
  76. ghvlayout->addWidget( thanks );
  77. ghvlayout->addStretch();
  78. ghvlayout->addLayout( ghblayout );
  79. ghblayout->addStretch();
  80. QPushButton *checkUpdatesButton = new QPushButton( tr( "Check software updates" ), iwidget );
  81. ghblayout->addWidget( checkUpdatesButton );
  82. ghblayout->addStretch();
  83. ghlvlayout->addStretch();
  84. connect( checkUpdatesButton, SIGNAL( clicked() ), this, SIGNAL( checkUpdatesRequest() ) );
  85. }
  86. AboutWidget::~AboutWidget()
  87. {
  88. }
  89. void AboutWidget::linkActivated( const QString &link ) {
  90. QDesktopServices::openUrl( link );
  91. }
  92. void AboutWidget::goToDevelopersForum() {
  93. QDesktopServices::openUrl( QString( "http://instead.syscall.ru/forum" ) );
  94. }
  95. void AboutWidget::goToINSTEADPage() {
  96. QDesktopServices::openUrl( QString( "http://instead.googlecode.com" ) );
  97. }
  98. void AboutWidget::goToINSTEADLauncherPage() {
  99. QDesktopServices::openUrl( QString( "http://instead-launcher.googlecode.com" ) );
  100. }