]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/help.cpp
Qt: standardbuttons are bad for win32 and translation. Only use custom
[vlc] / modules / gui / qt4 / dialogs / help.cpp
index a5d77a9703881c5d42a5059a1ca1d1cdc995c170..3fef481ff20cf6f472cd49e01b3f276406abcc22 100644 (file)
@@ -55,17 +55,19 @@ HelpDialog::HelpDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
     setWindowRole( "vlc-help" );
     setMinimumSize( 350, 300 );
 
-    QGridLayout *layout = new QGridLayout( this );
+    QVBoxLayout *layout = new QVBoxLayout( this );
     QTextBrowser *helpBrowser = new QTextBrowser( this );
     helpBrowser->setOpenExternalLinks( true );
     helpBrowser->setHtml( qtr(I_LONGHELP) );
-    QPushButton *closeButton = new QPushButton( qtr( "&Close" ) );
-    closeButton->setDefault( true );
+    QDialogButtonBox *closeButtonBox = new QDialogButtonBox( Qt::Horizontal, this );
+    closeButtonBox->addButton(
+        new QPushButton( qtr("&Close"), this ), QDialogButtonBox::RejectRole );
+    closeButtonBox->setFocus();
 
-    layout->addWidget( helpBrowser, 0, 0, 1, 0 );
-    layout->addWidget( closeButton, 1, 3 );
+    layout->addWidget( helpBrowser );
+    layout->addWidget( closeButtonBox );
 
-    BUTTONACT( closeButton, close() );
+    CONNECT( closeButtonBox, rejected(), this, close() );
     readSettings( "Help", QSize( 500, 450 ) );
 }
 
@@ -84,6 +86,8 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
 {
     /* Build UI */
     ui.setupUi( this );
+    ui.closeButtonBox->addButton(
+        new QPushButton( qtr("&Close"), this ), QDialogButtonBox::RejectRole );
 
     setWindowTitle( qtr( "About" ) );
     setWindowRole( "vlc-about" );
@@ -160,23 +164,20 @@ UpdateDialog::UpdateDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
 {
     /* build Ui */
     ui.setupUi( this );
+    ui.updateDialogButtonBox->addButton( new QPushButton( qtr("&Close"), this ),
+                                         QDialogButtonBox::RejectRole );
+    QPushButton *recheckButton = new QPushButton( qtr("&Recheck version"), this );
+    ui.updateDialogButtonBox->addButton( recheckButton, QDialogButtonBox::ActionRole );
+
+    ui.updateNotifyButtonBox->addButton( new QPushButton( qtr("&Yes"), this ),
+                                         QDialogButtonBox::AcceptRole );
+    ui.updateNotifyButtonBox->addButton( new QPushButton( qtr("&No"), this ),
+                                         QDialogButtonBox::RejectRole );
+
     setWindowTitle( qtr( "VLC media player updates" ) );
     setWindowRole( "vlc-update" );
 
-    QList<QAbstractButton *> buttonsList = ui.updateDialogButtonBox->buttons();
-    QAbstractButton *currentButton;
-    for ( int i = 0; i < buttonsList.size() ; ++i )
-    {
-        currentButton = buttonsList.at( i );
-        if ( ui.updateDialogButtonBox->standardButton( currentButton )
-            == QDialogButtonBox::Retry )
-        {
-            currentButton->setText( qtr( "&Recheck version" ) );
-            qobject_cast<QPushButton *>(currentButton)->setDefault( true );
-        }
-    }
-
-    CONNECT( ui.updateDialogButtonBox, accepted(), this, UpdateOrDownload() );
+    BUTTONACT( recheckButton, UpdateOrDownload() );
     CONNECT( ui.updateDialogButtonBox, rejected(), this, close() );
 
     CONNECT( ui.updateNotifyButtonBox, accepted(), this, UpdateOrDownload() );