]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/errors.cpp
Qt: standardbuttons are bad for win32 and translation. Only use custom
[vlc] / modules / gui / qt4 / dialogs / errors.cpp
index 6d1bc8c605b22f59702e6ae0f64ceb264deb3745..698c4c7d91f461a88cabacddd5cb518772104585 100644 (file)
@@ -5,6 +5,7 @@
  * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
+ *          Jean-Baptiste Kempf <jb@videolan.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
 
 #include "dialogs/errors.hpp"
-#include "qt4.hpp"
 
 #include <QTextCursor>
 #include <QTextEdit>
 #include <QCheckBox>
 #include <QGridLayout>
+#include <QDialogButtonBox>
 #include <QPushButton>
 
-ErrorsDialog *ErrorsDialog::instance = NULL;
-
-ErrorsDialog::ErrorsDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
+ErrorsDialog::ErrorsDialog( intf_thread_t *_p_intf )
+             : QVLCDialog( (QWidget*)_p_intf->p_sys->p_mi, _p_intf )
 {
     setWindowTitle( qtr( "Errors" ) );
-    resize( 500 , 200 );
-
-    setWindowModality( Qt::ApplicationModal );
+    setWindowRole( "vlc-errors" );
+    resize( 500 , 300 );
 
     QGridLayout *layout = new QGridLayout( this );
-    QPushButton *closeButton = new QPushButton( qtr( "&Close" ) );
-    QPushButton *clearButton = new QPushButton( qtr( "&Clear" ) );
+
+    QDialogButtonBox *buttonBox = new QDialogButtonBox( Qt::Horizontal, this );
+    QPushButton *clearButton = new QPushButton( qtr( "Cl&ear" ), this );
+    buttonBox->addButton( clearButton, QDialogButtonBox::ActionRole );
+    buttonBox->addButton( new QPushButton( qtr("&Close"), this ), QDialogButtonBox::RejectRole );
+
     messages = new QTextEdit();
     messages->setReadOnly( true );
     messages->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
@@ -49,26 +55,24 @@ ErrorsDialog::ErrorsDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
 
     layout->addWidget( messages, 0, 0, 1, 3 );
     layout->addWidget( stopShowing, 1, 0 );
-    layout->addItem( new QSpacerItem( 200, 20, QSizePolicy::Expanding ), 2,0 );
-    layout->addWidget( clearButton, 2, 1 );
-    layout->addWidget( closeButton, 2, 2 );
+    layout->addWidget( buttonBox, 1, 2 );
 
-    BUTTONACT( closeButton, close() );
+    CONNECT( buttonBox, rejected(), this, close() );
     BUTTONACT( clearButton, clear() );
     BUTTONACT( stopShowing, dontShow() );
 }
 
-void ErrorsDialog::addError( QString title, QString text )
+void ErrorsDialog::addError( const QString& title, const QString& text )
 {
     add( true, title, text );
 }
 
-void ErrorsDialog::addWarning( QString title, QString text )
+/*void ErrorsDialog::addWarning( QString title, QString text )
 {
     add( false, title, text );
-}
+}*/
 
-void ErrorsDialog::add( bool error, QString title, QString text )
+void ErrorsDialog::add( bool error, const QString& title, const QString& text )
 {
     if( stopShowing->isChecked() ) return;
     messages->textCursor().movePosition( QTextCursor::End );