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 **********/
virtual void updateField();
protected:
void finish();
-private:
QLineEdit *text;
QLabel *label;
QPushButton *browse;
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