]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/errors.cpp
Fix Bookmarks: missing button, missing tooltips, wrong resize on startup.
[vlc] / modules / gui / qt4 / dialogs / errors.cpp
index 177ea230a88a3528c7a45d76362a7ff04d2df9bc..d8c785eb73a2fffe93e915c1780e003a11757e73 100644 (file)
@@ -1,15 +1,16 @@
 /*****************************************************************************
  * errors.cpp : Errors
  ****************************************************************************
- * Copyright (C) 2006 the VideoLAN team
- * $Id: Errors.cpp 16024 2006-07-13 13:51:05Z xtophe $
+ * Copyright ( C ) 2006 the VideoLAN team
+ * $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
  * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * ( at your option ) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * 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( QWidget *parent, intf_thread_t *_p_intf )
+             : QVLCDialog( parent, _p_intf )
 {
     setWindowTitle( qtr( "Errors" ) );
-    resize( 500 , 200 );
+    resize( 500 , 300 );
+
+    setWindowModality( Qt::ApplicationModal );
 
     QGridLayout *layout = new QGridLayout( this );
-    QPushButton *closeButton = new QPushButton(qtr("&Close"));
-    QPushButton *clearButton = new QPushButton(qtr("&Clear"));
+
+    QDialogButtonBox *buttonBox = new QDialogButtonBox;
+    QPushButton *closeButton = new QPushButton( qtr( "&Close" ) );
+    QPushButton *clearButton = new QPushButton( qtr( "&Clear" ) );
+    buttonBox->addButton( closeButton, QDialogButtonBox::AcceptRole );
+    buttonBox->addButton( clearButton, QDialogButtonBox::ActionRole );
+
     messages = new QTextEdit();
     messages->setReadOnly( true );
     messages->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
-    stopShowing = new QCheckBox( qtr( "Don't show further errors") );
+    stopShowing = new QCheckBox( qtr( "Hide future errors" ) );
 
     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, 2, 2 );
 
-    BUTTONACT( closeButton, close() );
+    CONNECT( buttonBox, accepted(), this, close() );
     BUTTONACT( clearButton, clear() );
     BUTTONACT( stopShowing, dontShow() );
 }
@@ -71,7 +82,7 @@ void ErrorsDialog::add( bool error, QString title, QString text )
     if( stopShowing->isChecked() ) return;
     messages->textCursor().movePosition( QTextCursor::End );
     messages->setTextColor( error ? "red" : "yellow" );
-    messages->insertPlainText( title + QString( ":\n" ));
+    messages->insertPlainText( title + QString( ":\n" ) );
     messages->setTextColor( "black" );
     messages->insertPlainText( text + QString( "\n" ) );
     messages->ensureCursorVisible();