]> git.sesse.net Git - vlc/commitdiff
* qt: really implement DirectoryConfigControl
authorYoann Peronneau <yoann@videolan.org>
Tue, 27 Mar 2007 19:33:50 +0000 (19:33 +0000)
committerYoann Peronneau <yoann@videolan.org>
Tue, 27 Mar 2007 19:33:50 +0000 (19:33 +0000)
modules/gui/qt4/components/preferences_widgets.cpp
modules/gui/qt4/components/preferences_widgets.hpp

index 7531c77fe5864a9675ea22fd6d1e5005c4d0b7ca..aea238411db1f92e06f2448ae40fe6e0e65fc1fa 100644 (file)
@@ -289,9 +289,12 @@ DirectoryConfigControl::DirectoryConfigControl( vlc_object_t *_p_this,
 
 void DirectoryConfigControl::updateField()
 {
-    text->setText( QFileDialog::getOpenFileName( NULL,
-                qtr( "Select File" ), qfu( p_this->p_libvlc->psz_homedir ),
-                NULL, 0,  QFileDialog::ShowDirsOnly ) );
+    QString dir = QFileDialog::getExistingDirectory( NULL,
+                      qtr( "Select Directory" ),
+                      qfu( p_this->p_libvlc->psz_homedir ),
+                      QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks );
+    if( dir.isNull() ) return;
+    text->setText( dir );
 }
 
 /********* String / choice list **********/
index 41b6177a199fe418dbe6fa6fa80ba6e819e01ec0..d27d7f16fc1e5883d0c13b3fc22d7805995cb0c2 100644 (file)
@@ -277,7 +277,6 @@ public slots:
     virtual void updateField();
 protected:
     void finish();
-private:
     QLineEdit *text;
     QLabel *label;
     QPushButton *browse;
@@ -292,15 +291,8 @@ public:
     DirectoryConfigControl( vlc_object_t *, module_config_t *, QLabel *,
                         QLineEdit *, QPushButton *, bool pwd );
     virtual ~DirectoryConfigControl() {};
-    virtual QString getValue() { return text->text(); };
-    virtual void show() { text->show(); label->show(); browse->show(); }
-    virtual void hide() { text->hide(); label->hide(); browse->hide(); }
 public slots:
     virtual void updateField();
-private:
-    QLineEdit *text;
-    QLabel *label;
-    QPushButton *browse;
 };
 
 class ModuleConfigControl : public VStringConfigControl