[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master cf79199: [ftinspect] Improve combo box setup.
From: |
Werner LEMBERG |
Subject: |
[freetype2-demos] master cf79199: [ftinspect] Improve combo box setup. |
Date: |
Sun, 01 May 2016 04:58:16 +0000 |
branch: master
commit cf79199ddae120fb52056a155377abe14c063fb4
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[ftinspect] Improve combo box setup.
* src/ftinspect.h (MainGUI): New enums `AntiAliasing',
`HintingModes', and `LCDFilter'.
* src/ftinspect.cpp (MainGUI::createLayout): Use new enums to set
items in combo boxes.
Also simplify computation of maximum width.
---
ChangeLog | 11 +++++++++
src/ftinspect.cpp | 66 ++++++++++++++++++++++++++++-------------------------
src/ftinspect.h | 27 ++++++++++++++++++++++
3 files changed, 73 insertions(+), 31 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7dee389..920a3ac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2016-05-01 Werner Lemberg <address@hidden>
+
+ [ftinspect] Improve combo box setup.
+
+ * src/ftinspect.h (MainGUI): New enums `AntiAliasing',
+ `HintingModes', and `LCDFilter'.
+
+ * src/ftinspect.cpp (MainGUI::createLayout): Use new enums to set
+ items in combo boxes.
+ Also simplify computation of maximum width.
+
2016-04-30 Werner Lemberg <address@hidden>
* src/ftinspect.cpp (MainGUI::createLayout): Fix memory leak.
diff --git a/src/ftinspect.cpp b/src/ftinspect.cpp
index 4b97056..853162a 100644
--- a/src/ftinspect.cpp
+++ b/src/ftinspect.cpp
@@ -70,13 +70,19 @@ MainGUI::createLayout()
// left side
hintingModeLabel = new QLabel(tr("Hinting Mode"));
hintingModeLabel->setAlignment(Qt::AlignRight);
- QStringList hintingModeStringList;
- hintingModeStringList << tr("TrueType v35")
- << tr("TrueType v38")
- << tr("TrueType v40")
- << tr("Auto-Hinting");
hintingModeComboBox = new QComboBox;
- hintingModeComboBox->insertItems(0, hintingModeStringList);
+ hintingModeComboBox->insertItem(HintingMode_TrueType_v35,
+ tr("TrueType v35"));
+ hintingModeComboBox->insertItem(HintingMode_TrueType_v38,
+ tr("TrueType v38"));
+ hintingModeComboBox->insertItem(HintingMode_TrueType_v40,
+ tr("TrueType v40"));
+ hintingModeComboBox->insertItem(HintingMode_CFF_FreeType,
+ tr("CFF (FreeType)"));
+ hintingModeComboBox->insertItem(HintingMode_CFF_Adobe,
+ tr("CFF(Adobe)"));
+ hintingModeComboBox->insertItem(HintingMode_AutoHinting,
+ tr("Auto-Hinting"));
hintingModeLabel->setBuddy(hintingModeComboBox);
hortizontalHintingCheckBox = new QCheckBox(tr("Horizontal Hinting"));
@@ -87,32 +93,35 @@ MainGUI::createLayout()
antiAliasingLabel = new QLabel(tr("Anti-Aliasing"));
antiAliasingLabel->setAlignment(Qt::AlignRight);
- QStringList antiAliasingStringList;
- antiAliasingStringList << tr("None")
- << tr("Normal")
- << tr("Slight")
- << tr("LCD (horiz. RGB)")
- << tr("LCD (horiz. BGR)")
- << tr("LCD (vert. RGB)")
- << tr("LCD (vert. BGR)");
antiAliasingComboBox = new QComboBox;
- antiAliasingComboBox->insertItems(0, antiAliasingStringList);
+ antiAliasingComboBox->insertItem(AntiAliasing_None,
+ tr("None"));
+ antiAliasingComboBox->insertItem(AntiAliasing_Normal,
+ tr("Normal"));
+ antiAliasingComboBox->insertItem(AntiAliasing_Slight,
+ tr("Slight"));
+ antiAliasingComboBox->insertItem(AntiAliasing_LCD_RGB,
+ tr("LCD (RGB)"));
+ antiAliasingComboBox->insertItem(AntiAliasing_LCD_BGR,
+ tr("LCD (BGR)"));
+ antiAliasingComboBox->insertItem(AntiAliasing_LCD_Vertical_RGB,
+ tr("LCD (vert. RGB)"));
+ antiAliasingComboBox->insertItem(AntiAliasing_LCD_Vertical_BGR,
+ tr("LCD (vert. BGR)"));
antiAliasingLabel->setBuddy(antiAliasingComboBox);
lcdFilterLabel = new QLabel(tr("LCD Filter"));
lcdFilterLabel->setAlignment(Qt::AlignRight);
- QStringList lcdFilterStringList;
- lcdFilterStringList << tr("Default")
- << tr("Light")
- << tr("None")
- << tr("Legacy");
lcdFilterComboBox = new QComboBox;
- lcdFilterComboBox->insertItems(0, lcdFilterStringList);
+ lcdFilterComboBox->insertItem(LCD_Default, tr("Default"));
+ lcdFilterComboBox->insertItem(LCD_Light, tr("Light"));
+ lcdFilterComboBox->insertItem(LCD_None, tr("None"));
+ lcdFilterComboBox->insertItem(LCD_Legacy, tr("Legacy"));
lcdFilterLabel->setBuddy(lcdFilterComboBox);
- int width = 0;
+ int width;
// make all labels have the same width
- width = qMax(hintingModeLabel->minimumSizeHint().width(), width);
+ width = hintingModeLabel->minimumSizeHint().width();
width = qMax(antiAliasingLabel->minimumSizeHint().width(), width);
width = qMax(lcdFilterLabel->minimumSizeHint().width(), width);
hintingModeLabel->setMinimumWidth(width);
@@ -121,14 +130,9 @@ MainGUI::createLayout()
// ensure that all items in combo boxes fit completely;
// also make all combo boxes have the same width
- QStringList dummyComboStringList;
- dummyComboStringList << hintingModeStringList
- << antiAliasingStringList
- << lcdFilterStringList;
- QComboBox *dummyComboBox = new QComboBox;
- dummyComboBox->insertItems(0, dummyComboStringList);
- width = dummyComboBox->minimumSizeHint().width();
- delete dummyComboBox;
+ width = hintingModeComboBox->minimumSizeHint().width();
+ width = qMax(antiAliasingComboBox->minimumSizeHint().width(), width);
+ width = qMax(lcdFilterComboBox->minimumSizeHint().width(), width);
hintingModeComboBox->setMinimumWidth(width);
antiAliasingComboBox->setMinimumWidth(width);
lcdFilterComboBox->setMinimumWidth(width);
diff --git a/src/ftinspect.h b/src/ftinspect.h
index 5ab0ed6..e109fe9 100644
--- a/src/ftinspect.h
+++ b/src/ftinspect.h
@@ -118,6 +118,33 @@ private:
QWidget *rightWidget;
QWidget *mmgxTabWidget;
+ enum AntiAliasing
+ {
+ AntiAliasing_None,
+ AntiAliasing_Normal,
+ AntiAliasing_Slight,
+ AntiAliasing_LCD_RGB,
+ AntiAliasing_LCD_BGR,
+ AntiAliasing_LCD_Vertical_RGB,
+ AntiAliasing_LCD_Vertical_BGR
+ };
+ enum HintingModes
+ {
+ HintingMode_TrueType_v35,
+ HintingMode_TrueType_v38,
+ HintingMode_TrueType_v40,
+ HintingMode_CFF_FreeType,
+ HintingMode_CFF_Adobe,
+ HintingMode_AutoHinting
+ };
+ enum LCDFilter
+ {
+ LCD_Default,
+ LCD_Light,
+ LCD_None,
+ LCD_Legacy
+ };
+
void createActions();
void createConnections();
void createLayout();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master cf79199: [ftinspect] Improve combo box setup.,
Werner LEMBERG <=