* qt: don't hide the file browser on double click
authorYoann Peronneau <yoann@videolan.org>
Thu, 29 Mar 2007 20:08:25 +0000 (20:08 +0000)
committerYoann Peronneau <yoann@videolan.org>
Thu, 29 Mar 2007 20:08:25 +0000 (20:08 +0000)
modules/gui/qt4/components/open.cpp
modules/gui/qt4/components/open.hpp

index 12ab0e3..849675b 100644 (file)
@@ -55,7 +55,7 @@ FileOpenPanel::FileOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
     fileTypes.replace(QString(";*"), QString(" *"));
 
     // Make this QFileDialog a child of tempWidget from the ui.
-    dialogBox = new QFileDialog( ui.tempWidget, NULL,
+    dialogBox = new FileOpenBox( ui.tempWidget, NULL,
             qfu( p_intf->p_libvlc->psz_homedir ), fileTypes );
     dialogBox->setFileMode( QFileDialog::ExistingFiles );
     /* We don't want to see a grip in the middle of the window, do we? */
@@ -196,8 +196,8 @@ bool FileOpenPanel::eventFilter(QObject *object, QEvent *event)
 {
     if ( ( object == dialogBox ) && ( event->type() == QEvent::Hide ) )
     {
-         event->ignore();
-         return true;
+        event->ignore();
+        return true;
     }
     // standard event processing
     else
index 45a3c34..b063a42 100644 (file)
 #include <vlc/vlc.h>
 #include <QWidget>
 #include <QString>
+#include <QFileDialog>
 #include "ui/open_file.h"
 #include "ui/open_disk.h"
 #include "ui/open_net.h"
 #include "ui/open_capture.h"
 
-class QFileDialog;
 class QLineEdit;
 
 class OpenPanel: public QWidget
@@ -55,6 +55,17 @@ signals:
     void methodChanged( QString method );
 };
 
+class FileOpenBox: public QFileDialog
+{
+    Q_OBJECT;
+public:
+    FileOpenBox( QWidget *parent, const QString &caption,
+        const QString &directory, const QString &filter ):
+        QFileDialog( parent, caption, directory, filter ) {}
+public slots:
+    void accept() {}
+};
+
 class FileOpenPanel: public OpenPanel
 {
     Q_OBJECT;
@@ -66,7 +77,7 @@ public:
 private:
     Ui::OpenFile ui;
     QStringList browse( QString );
-    QFileDialog *dialogBox;
+    FileOpenBox *dialogBox;
     QLineEdit *lineFileEdit;
     bool eventFilter(QObject *, QEvent *);
 public slots:
@@ -75,7 +86,6 @@ private slots:
     void browseFile();
     void browseFileSub();
     void toggleSubtitleFrame();
-
 };
 
 class NetOpenPanel: public OpenPanel