[vlc-devel] commit: Qt: Use a QFontComboBox instead of a QFontDialog. ( Jean-Baptiste Kempf )
git version control
git at videolan.org
Mon Aug 3 21:08:54 CEST 2009
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Mon Aug 3 21:07:43 2009 +0200| [c8986a40d495702b6ef9b43e818dcbd626fa2220] | committer: Jean-Baptiste Kempf
Qt: Use a QFontComboBox instead of a QFontDialog.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c8986a40d495702b6ef9b43e818dcbd626fa2220
---
modules/gui/qt4/components/preferences_widgets.cpp | 38 ++++++++++++-------
modules/gui/qt4/components/preferences_widgets.hpp | 11 ++++--
modules/gui/qt4/components/simple_preferences.cpp | 3 +-
modules/gui/qt4/ui/sprefs_subtitles.ui | 12 +-----
4 files changed, 34 insertions(+), 30 deletions(-)
diff --git a/modules/gui/qt4/components/preferences_widgets.cpp b/modules/gui/qt4/components/preferences_widgets.cpp
index 24968a4..8c6f26c 100644
--- a/modules/gui/qt4/components/preferences_widgets.cpp
+++ b/modules/gui/qt4/components/preferences_widgets.cpp
@@ -368,27 +368,37 @@ void DirectoryConfigControl::updateField()
text->setText( toNativeSepNoSlash( dir ) );
}
-#include <QFontDialog>
+#include <QFontComboBox>
/********* String / Font **********/
FontConfigControl::FontConfigControl( vlc_object_t *_p_this,
- module_config_t *_p_item, QWidget *_p_widget,
- QGridLayout *_p_layout, int& _int) :
- FileConfigControl( _p_this, _p_item, _p_widget, _p_layout, _int)
-{}
+ module_config_t *_p_item, QWidget *_parent,
+ QGridLayout *_p_layout, int& line) :
+ VStringConfigControl( _p_this, _p_item, _parent )
+{
+ label = new QLabel( qtr(p_item->psz_text) );
+ font = new QFontComboBox( _parent );
+ if( !_p_layout )
+ {
+ QHBoxLayout *layout = new QHBoxLayout();
+ layout->addWidget( label, 0 );
+ layout->addWidget( font, 1 );
+ widget->setLayout( layout );
+ }
+ else
+ {
+ _p_layout->addWidget( label, line, 0 );
+ _p_layout->addWidget( font, line, 1 );
+ }
+}
FontConfigControl::FontConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QLabel *_p_label,
- QLineEdit *_p_line, QPushButton *_p_button):
- FileConfigControl( _p_this, _p_item, _p_label, _p_line, _p_button)
-{}
-
-void FontConfigControl::updateField()
+ QFontComboBox *_p_font):
+ VStringConfigControl( _p_this, _p_item)
{
- bool ok;
- QFont font = QFontDialog::getFont( &ok, QFont( text->text() ), NULL );
- if( !ok ) return;
- text->setText( font.family() );
+ label = _p_label;
+ font = _p_font;
}
/********* String / choice list **********/
diff --git a/modules/gui/qt4/components/preferences_widgets.hpp b/modules/gui/qt4/components/preferences_widgets.hpp
index f6e4ba0..fca9457 100644
--- a/modules/gui/qt4/components/preferences_widgets.hpp
+++ b/modules/gui/qt4/components/preferences_widgets.hpp
@@ -45,6 +45,7 @@
#include <QPushButton>
#include <QVector>
#include <QDialog>
+#include <QFontComboBox>
class QTreeWidget;
class QTreeWidgetItem;
@@ -329,17 +330,19 @@ public slots:
virtual void updateField();
};
-class FontConfigControl : public FileConfigControl
+class FontConfigControl : public VStringConfigControl
{
Q_OBJECT;
public:
FontConfigControl( vlc_object_t *, module_config_t *, QWidget *,
QGridLayout *, int&);
FontConfigControl( vlc_object_t *, module_config_t *, QLabel *,
- QLineEdit *, QPushButton *);
+ QFontComboBox *);
virtual ~FontConfigControl() {};
-public slots:
- virtual void updateField();
+ virtual QString getValue(){ return font->currentFont().toString(); }
+protected:
+ QLabel *label;
+ QFontComboBox *font;
};
class ModuleConfigControl : public VStringConfigControl
diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index 52d1e26..02a80ba 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -576,8 +576,7 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
encoding );
CONFIG_GENERIC( "sub-language", String, ui.subLangLabel,
preferredLanguage );
- CONFIG_GENERIC_FILE( "freetype-font", Font, ui.fontLabel, ui.font,
- ui.fontBrowse );
+ CONFIG_GENERIC_NO_BOOL( "freetype-font", Font, ui.fontLabel, font );
CONFIG_GENERIC( "freetype-color", IntegerList, ui.fontColorLabel,
fontColor );
CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList,
diff --git a/modules/gui/qt4/ui/sprefs_subtitles.ui b/modules/gui/qt4/ui/sprefs_subtitles.ui
index 25bff1d..8963784 100644
--- a/modules/gui/qt4/ui/sprefs_subtitles.ui
+++ b/modules/gui/qt4/ui/sprefs_subtitles.ui
@@ -8,7 +8,7 @@
<x>0</x>
<y>0</y>
<width>772</width>
- <height>444</height>
+ <height>446</height>
</rect>
</property>
<property name="windowTitle">
@@ -131,15 +131,8 @@
</property>
</widget>
</item>
- <item row="0" column="2">
- <widget class="QPushButton" name="fontBrowse">
- <property name="text">
- <string>Browse...</string>
- </property>
- </widget>
- </item>
<item row="0" column="1">
- <widget class="QLineEdit" name="font"/>
+ <widget class="QFontComboBox" name="font"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="fontLabel">
@@ -187,7 +180,6 @@
<tabstop>preferredLanguage</tabstop>
<tabstop>encoding</tabstop>
<tabstop>font</tabstop>
- <tabstop>fontBrowse</tabstop>
<tabstop>fontSize</tabstop>
<tabstop>fontColor</tabstop>
<tabstop>effect</tabstop>
More information about the vlc-devel
mailing list