[vlc-commits] Qt, sprefs: correctly implement freetype configurations
Jean-Baptiste Kempf
git at videolan.org
Tue Nov 1 02:16:25 CET 2011
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Nov 1 02:13:15 2011 +0100| [9cd51319488d6a2054cfb3f81c6f0a1eebce18eb] | committer: Jean-Baptiste Kempf
Qt, sprefs: correctly implement freetype configurations
Close #5421
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9cd51319488d6a2054cfb3f81c6f0a1eebce18eb
---
modules/gui/qt4/components/simple_preferences.cpp | 33 ++++++-
modules/gui/qt4/components/simple_preferences.hpp | 2 +
modules/gui/qt4/ui/sprefs_subtitles.ui | 120 +++++++++++++-------
3 files changed, 111 insertions(+), 44 deletions(-)
diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index 0735d0a..6a15dc2 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -640,15 +640,25 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
encoding );
CONFIG_GENERIC( "sub-language", String, ui.subLangLabel,
preferredLanguage );
+
+ CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList,
+ ui.fontSizeLabel, fontSize );
+
CONFIG_GENERIC_NO_BOOL( "freetype-font", Font, ui.fontLabel, font );
CONFIG_GENERIC_NO_BOOL( "freetype-color", Color, ui.fontColorLabel,
fontColor );
- CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList,
- ui.fontSizeLabel, fontSize );
CONFIG_GENERIC( "freetype-outline-thickness", IntegerList,
ui.fontEffectLabel, effect );
+ CONFIG_GENERIC_NO_BOOL( "freetype-outline-color", Color, ui.outlineColorLabel,
+ outlineColor );
+
CONFIG_GENERIC_NO_BOOL( "sub-margin", Integer, ui.subsPosLabel, subsPosition );
+ ui.shadowCheck->setChecked( config_GetInt( p_intf, "freetype-shadow-opacity" ) > 0 );
+ ui.backgroundCheck->setChecked( config_GetInt( p_intf, "freetype-background-opacity" ) > 0 );
+ optionWidgets.append( ui.shadowCheck );
+ optionWidgets.append( ui.backgroundCheck );
+
END_SPREFS_CAT;
case SPrefsHotkeys:
@@ -827,6 +837,25 @@ void SPrefsPanel::apply()
config_PutPsz( p_intf, "audio-filter", qtu( qs_filter.join( ":" ) ) );
break;
}
+ case SPrefsSubtitles:
+ {
+ bool b_checked = qobject_cast<QCheckBox *>(optionWidgets[shadowCB])->isChecked();
+ if( b_checked && config_GetInt( p_intf, "freetype-shadow-opacity" ) == 0 ) {
+ config_PutInt( p_intf, "freetype-shadow-opacity", 128 );
+ }
+ else if (!b_checked ) {
+ config_PutInt( p_intf, "freetype-shadow-opacity", 0 );
+ }
+
+ b_checked = qobject_cast<QCheckBox *>(optionWidgets[backgroundCB])->isChecked();
+ if( b_checked && config_GetInt( p_intf, "freetype-background-opacity" ) == 0 ) {
+ config_PutInt( p_intf, "freetype-background-opacity", 128 );
+ }
+ else if (!b_checked ) {
+ config_PutInt( p_intf, "freetype-background-opacity", 0 );
+ }
+
+ }
}
}
diff --git a/modules/gui/qt4/components/simple_preferences.hpp b/modules/gui/qt4/components/simple_preferences.hpp
index e3e7e71..50996fb 100644
--- a/modules/gui/qt4/components/simple_preferences.hpp
+++ b/modules/gui/qt4/components/simple_preferences.hpp
@@ -81,6 +81,7 @@ enum {
};
enum { inputLE, cachingCoB };
enum { skinRB, qtRB, styleCB };
+enum { shadowCB, backgroundCB };
class ConfigControl;
class QComboBox;
@@ -115,6 +116,7 @@ public:
virtual ~SPrefsPanel();
void apply();
void clean();
+
private:
intf_thread_t *p_intf;
QList<ConfigControl *> controls;
diff --git a/modules/gui/qt4/ui/sprefs_subtitles.ui b/modules/gui/qt4/ui/sprefs_subtitles.ui
index 033f4bd..95313dd 100644
--- a/modules/gui/qt4/ui/sprefs_subtitles.ui
+++ b/modules/gui/qt4/ui/sprefs_subtitles.ui
@@ -7,17 +7,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>758</width>
- <height>446</height>
+ <width>778</width>
+ <height>614</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
- <layout class="QVBoxLayout">
- <property name="spacing">
- <number>10</number>
- </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
@@ -125,19 +122,9 @@
<property name="title">
<string>Subtitles effects</string>
</property>
- <layout class="QGridLayout" rowstretch="0,0,0,0,0" columnstretch="0,0">
- <item row="3" column="1">
- <widget class="QComboBox" name="effect">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="fontEffectLabel">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="fontLabel">
<property name="minimumSize">
<size>
<width>250</width>
@@ -145,19 +132,18 @@
</size>
</property>
<property name="text">
- <string>Outline thickness</string>
+ <string>Font</string>
</property>
<property name="buddy">
- <cstring>effect</cstring>
+ <cstring>font</cstring>
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="QPushButton" name="fontColor">
- </widget>
+ <item row="0" column="1" colspan="3">
+ <widget class="QFontComboBox" name="font"/>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="fontColorLabel">
+ <item row="1" column="0">
+ <widget class="QLabel" name="fontSizeLabel">
<property name="minimumSize">
<size>
<width>250</width>
@@ -165,10 +151,10 @@
</size>
</property>
<property name="text">
- <string>Font color</string>
+ <string>Font size</string>
</property>
<property name="buddy">
- <cstring>fontColor</cstring>
+ <cstring>fontSize</cstring>
</property>
</widget>
</item>
@@ -182,24 +168,37 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="fontSizeLabel">
- <property name="minimumSize">
+ <item row="1" column="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Preferred</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
<size>
- <width>250</width>
- <height>0</height>
+ <width>20</width>
+ <height>20</height>
</size>
</property>
+ </spacer>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="fontColorLabel">
<property name="text">
- <string>Font size</string>
+ <string>Font color</string>
</property>
<property name="buddy">
- <cstring>fontSize</cstring>
+ <cstring>fontColor</cstring>
</property>
</widget>
</item>
- <item row="0" column="0">
- <widget class="QLabel" name="fontLabel">
+ <item row="1" column="4">
+ <widget class="QPushButton" name="fontColor"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="fontEffectLabel">
<property name="minimumSize">
<size>
<width>250</width>
@@ -207,10 +206,47 @@
</size>
</property>
<property name="text">
- <string>Font</string>
+ <string>Outline thickness</string>
</property>
<property name="buddy">
- <cstring>font</cstring>
+ <cstring>effect</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="effect">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="outlineColorLabel">
+ <property name="text">
+ <string>Outline color</string>
+ </property>
+ <property name="buddy">
+ <cstring>outlineColor</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QPushButton" name="outlineColor"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="shadowCheck">
+ <property name="text">
+ <string>Add a shadow</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QCheckBox" name="backgroundCheck">
+ <property name="text">
+ <string>Add a background</string>
</property>
</widget>
</item>
@@ -230,9 +266,6 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QFontComboBox" name="font"/>
- </item>
<item row="4" column="1">
<widget class="QSpinBox" name="subsPosition">
<property name="maximumSize">
@@ -270,6 +303,9 @@
<tabstop>fontSize</tabstop>
<tabstop>fontColor</tabstop>
<tabstop>effect</tabstop>
+ <tabstop>outlineColor</tabstop>
+ <tabstop>shadowCheck</tabstop>
+ <tabstop>backgroundCheck</tabstop>
<tabstop>subsPosition</tabstop>
</tabstops>
<resources/>
More information about the vlc-commits
mailing list