X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Fpreferences_widgets.cpp;h=0760c74a80ad1813cb621fc2d826cebc82130b32;hb=42980ccc071d8a2b6655e3ec857b36af90c67ee3;hp=aea238411db1f92e06f2448ae40fe6e0e65fc1fa;hpb=e14328ac5387d201a7a6973b7cd7a416f55e94da;p=vlc diff --git a/modules/gui/qt4/components/preferences_widgets.cpp b/modules/gui/qt4/components/preferences_widgets.cpp index aea238411d..0760c74a80 100644 --- a/modules/gui/qt4/components/preferences_widgets.cpp +++ b/modules/gui/qt4/components/preferences_widgets.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include @@ -110,6 +111,10 @@ ConfigControl *ConfigControl::createControl( vlc_object_t *p_this, p_control = new DirectoryConfigControl( p_this, p_item, parent, l, line, false ); break; + case CONFIG_ITEM_FONT: + p_control = new FontConfigControl( p_this, p_item, parent, l, + line, false ); + break; case CONFIG_ITEM_KEY: p_control = new KeySelectorControl( p_this, p_item, parent, l, line ); break; @@ -273,7 +278,6 @@ void FileConfigControl::finish() } /********* String / Directory **********/ - DirectoryConfigControl::DirectoryConfigControl( vlc_object_t *_p_this, module_config_t *_p_item, QWidget *_p_widget, QGridLayout *_p_layout, int& _int, bool _pwd ) : @@ -286,7 +290,6 @@ DirectoryConfigControl::DirectoryConfigControl( vlc_object_t *_p_this, FileConfigControl( _p_this, _p_item, _p_label, _p_line, _p_button, _pwd) {} - void DirectoryConfigControl::updateField() { QString dir = QFileDialog::getExistingDirectory( NULL, @@ -297,6 +300,27 @@ void DirectoryConfigControl::updateField() text->setText( dir ); } +/********* String / Font **********/ +FontConfigControl::FontConfigControl( 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) +{} + +FontConfigControl::FontConfigControl( vlc_object_t *_p_this, + module_config_t *_p_item, QLabel *_p_label, + QLineEdit *_p_line, QPushButton *_p_button, bool _pwd ): + FileConfigControl( _p_this, _p_item, _p_label, _p_line, _p_button, _pwd) +{} + +void FontConfigControl::updateField() +{ + bool ok; + QFont font = QFontDialog::getFont( &ok, QFont( text->text() ), NULL ); + if( !ok ) return; + text->setText( font.family() ); +} + /********* String / choice list **********/ StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this, module_config_t *_p_item, QWidget *_parent, bool bycat,