/*****************************************************************************
* preferences_widgets.cpp : Widgets for preferences displays
****************************************************************************
- * Copyright (C) 2006 the VideoLAN team
+ * Copyright (C) 2006-2007 the VideoLAN team
* $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
* Antoine Cellerier <dionoea@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
line, false );
break;
case CONFIG_ITEM_DIRECTORY:
- fprintf( stderr, "Todo (CONFIG_ITEM_DIRECTORY)\n" );
+ p_control = new DirectoryConfigControl( p_this, p_item, parent, l,
+ line, false );
break;
case CONFIG_ITEM_KEY:
p_control = new KeySelectorControl( p_this, p_item, parent, l, line );
label->setToolTip( qfu(p_item->psz_longtext) );
}
+/********* String / Directory **********/
+
+DirectoryConfigControl::DirectoryConfigControl( vlc_object_t *_p_this,
+ module_config_t *_p_item, QWidget *_p_widget,
+ QGridLayout *_p_layout, int& _int, bool _pwd ) :
+ FileConfigControl( _p_this, _p_item, _p_widget, _p_layout, _int, _pwd)
+{}
+
+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)
+{}
+
+
+void DirectoryConfigControl::updateField()
+{
+ text->setText( QFileDialog::getOpenFileName( NULL,
+ qtr( "Select File" ), qfu( p_this->p_libvlc->psz_homedir ),
+ NULL, 0, QFileDialog::ShowDirsOnly ) );
+}
+
/********* String / choice list **********/
StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QWidget *_parent, bool bycat,
*
* Authors: Clément Stenac <zorglub@videolan.org>
* Antoine Cellerier <dionoea@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
#include <QDialog>
#include <QLabel>
#include <QFile>
+#include <QPushButton>
#include "qt4.hpp"
#include <assert.h>
QLineEdit*, bool pwd );
virtual ~FileConfigControl() {};
virtual QString getValue() { return text->text(); };
- virtual void show() { text->show(); label->show(); }
- virtual void hide() { text->hide(); label->hide(); }
-public slots:
+ virtual void show() { text->show(); label->show(); browse->show(); }
+ virtual void hide() { text->hide(); label->hide(); browse->hide(); }
+public slots:
void updateField();
-private:
+protected:
void finish();
+private:
QLineEdit *text;
QLabel *label;
QPushButton *browse;
};
+class DirectoryConfigControl : public FileConfigControl
+{
+ Q_OBJECT;
+public:
+ DirectoryConfigControl( vlc_object_t *, module_config_t *, QWidget *,
+ QGridLayout *, int&, bool pwd );
+ DirectoryConfigControl( vlc_object_t *, module_config_t *, QLabel *,
+ QLineEdit*, 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:
+ void updateField();
+private:
+ QLineEdit *text;
+ QLabel *label;
+ QPushButton *browse;
+};
class ModuleConfigControl : public VStringConfigControl
{
dXdisplayDevice );
#endif
- CONFIG_GENERIC( "snapshot-path", File, NULL,
- snapshotsDirectory ); /* FIXME -> use file instead of string */
+ CONFIG_GENERIC( "snapshot-path", Directory, NULL,
+ snapshotsDirectory );
CONFIG_GENERIC( "snapshot-prefix", String, NULL, snapshotsPrefix );
CONFIG_GENERIC( "snapshot-sequential", Bool, NULL,
snapshotsSequentialNumbering );
#ifndef WIN32
CONFIG_GENERIC( "alsadev" , StringList , NULL, alsaDevice );
CONFIG_GENERIC( "dspdev" , File , NULL, OSSDevice );
- //FIXME File
#else
CONFIG_GENERIC( "directx-audio-device" , IntegerList, NULL,
DirectXDevice );
#endif
CONFIG_GENERIC( "audiofile-file" , File , NULL, FileName );
- //Fixme File
CONFIG_GENERIC( "headphone-dolby" , Bool , NULL, headphoneEffect );
// CONFIG_GENERIC( "" , Bool, NULL, ); activation of normalizer
/* CONFIG_GENERIC( "intf", Module, NULL, ??? ); */ //FIXME interface choice
CONFIG_GENERIC( "qt-always-video", Bool, NULL, qtAlwaysVideo );
CONFIG_GENERIC( "skins2-last", File, NULL, fileSkin);
- //FIXME File
#if defined( WIN32 ) || defined(HAVE_DBUS_3)
CONFIG_GENERIC( "one-instance", Bool, NULL, OneInterfaceMode );
CONFIG_GENERIC( "playlist-enqueue", Bool, NULL,
CONFIG_GENERIC( "sub-language", String, NULL, preferredLanguage );
CONFIG_GENERIC( "freetype-font", File, NULL, font );
- /* FIXME -> use file instead of string */
CONFIG_GENERIC( "freetype-color", IntegerList, NULL, fontColor );
CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList, NULL,
fontSize );