FileConfigControl::FileConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item,
- QLabel *_label, QLineEdit *_text, bool pwd ):
+ QLabel *_label, QLineEdit *_text,
+ QPushButton *_button, bool pwd ):
VStringConfigControl( _p_this, _p_item )
{
+ browse = _button;
text = _text;
label = _label;
+
+ BUTTONACT( browse, updateField() );
+
finish( );
}
DirectoryConfigControl::DirectoryConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QLabel *_p_label,
- QLineEdit *_p_line, bool _pwd ) :
- FileConfigControl( _p_this, _p_item, _p_label, _p_line, _pwd)
+ QLineEdit *_p_line, QPushButton *_p_button, bool _pwd ):
+ FileConfigControl( _p_this, _p_item, _p_label, _p_line, _p_button, _pwd)
{}
FileConfigControl( vlc_object_t *, module_config_t *, QWidget *,
QGridLayout *, int&, bool pwd );
FileConfigControl( vlc_object_t *, module_config_t *, QLabel *,
- QLineEdit*, bool pwd );
+ QLineEdit *, QPushButton *, bool pwd );
virtual ~FileConfigControl() {};
virtual QString getValue() { return text->text(); };
virtual void show() { text->show(); label->show(); browse->show(); }
DirectoryConfigControl( vlc_object_t *, module_config_t *, QWidget *,
QGridLayout *, int&, bool pwd );
DirectoryConfigControl( vlc_object_t *, module_config_t *, QLabel *,
- QLineEdit*, bool pwd );
+ QLineEdit *, QPushButton *, bool pwd );
virtual ~DirectoryConfigControl() {};
virtual QString getValue() { return text->text(); };
virtual void show() { text->show(); label->show(); browse->show(); }
controls.append( control ); \
}
+#define CONFIG_GENERIC_FILE( option, type, label, qcontrol, qbutton ) \
+ p_config = config_FindConfig( VLC_OBJECT(p_intf), option ); \
+ if( p_config ) \
+ { \
+ control = new type ## ConfigControl( VLC_OBJECT(p_intf), \
+ p_config, label, ui.qcontrol, ui.qbutton, \
+ false ); \
+ controls.append( control ); \
+ }
+
#define START_SPREFS_CAT( name , label ) \
dXdisplayDevice );
#endif
- CONFIG_GENERIC( "snapshot-path", Directory, NULL,
- snapshotsDirectory );
+ CONFIG_GENERIC_FILE( "snapshot-path", Directory, NULL,
+ snapshotsDirectory, snapshotsDirectoryBrowse );
CONFIG_GENERIC( "snapshot-prefix", String, NULL, snapshotsPrefix );
CONFIG_GENERIC( "snapshot-sequential", Bool, NULL,
snapshotsSequentialNumbering );
CONFIG_GENERIC( "aout" , Module , NULL, outputModule );
#ifndef WIN32
CONFIG_GENERIC( "alsadev" , StringList , NULL, alsaDevice );
- CONFIG_GENERIC( "dspdev" , File , NULL, OSSDevice );
+ CONFIG_GENERIC_FILE( "dspdev" , File , NULL, OSSDevice, OSSBrowse );
#else
CONFIG_GENERIC( "directx-audio-device" , IntegerList, NULL,
DirectXDevice );
#endif
- CONFIG_GENERIC( "audiofile-file" , File , NULL, FileName );
+ CONFIG_GENERIC_FILE( "audiofile-file" , File , NULL, FileName,
+ fileBrowseButton );
CONFIG_GENERIC( "headphone-dolby" , Bool , NULL, headphoneEffect );
// CONFIG_GENERIC( "" , Bool, NULL, ); activation of normalizer
ui.skins->setChecked( true );*/
/* CONFIG_GENERIC( "intf", Module, NULL, ??? ); */ //FIXME interface choice
CONFIG_GENERIC( "qt-always-video", Bool, NULL, qtAlwaysVideo );
- CONFIG_GENERIC( "skins2-last", File, NULL, fileSkin);
+ CONFIG_GENERIC_FILE( "skins2-last", File, NULL, fileSkin,
+ skinBrowse );
#if defined( WIN32 ) || defined(HAVE_DBUS_3)
CONFIG_GENERIC( "one-instance", Bool, NULL, OneInterfaceMode );
CONFIG_GENERIC( "playlist-enqueue", Bool, NULL,
CONFIG_GENERIC( "subsdec-encoding", StringList, NULL, encoding );
CONFIG_GENERIC( "sub-language", String, NULL, preferredLanguage );
- CONFIG_GENERIC( "freetype-font", File, NULL, font );
+ CONFIG_GENERIC_FILE( "freetype-font", File, NULL, font,
+ fontBrowse );
CONFIG_GENERIC( "freetype-color", IntegerList, NULL, fontColor );
CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList, NULL,
fontSize );