freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] master 3be7449 2/7: [ftinspect] Refine signal for Hint


From: Werner LEMBERG
Subject: [freetype2-demos] master 3be7449 2/7: [ftinspect] Refine signal for HintingModeComboBox.
Date: Sun, 01 May 2016 08:05:41 +0000

branch: master
commit 3be74494a28c211c7b000d6cba8ef17f82720c8b
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [ftinspect] Refine signal for HintingModeComboBox.
    
    * src/ftinspect.cpp (MainGUI::checkHintingMode): Grey out `slight'
    hinting item in antiAliasingComboBox if not in auto-hinting mode.
    Also set a different anti aliasing value for this case if `slight'
    was the current value.
    
    * src/ftinspect.h: Updated.
---
 ChangeLog         |   11 +++++++++++
 src/ftinspect.cpp |   20 ++++++++++++++++++++
 src/ftinspect.h   |    3 +++
 3 files changed, 34 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 97272c2..be15e0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2016-05-01  Werner Lemberg  <address@hidden>
 
+       [ftinspect] Refine signal for HintingModeComboBox.
+
+       * src/ftinspect.cpp (MainGUI::checkHintingMode): Grey out `slight'
+       hinting item in antiAliasingComboBox if not in auto-hinting mode.
+       Also set a different anti aliasing value for this case if `slight'
+       was the current value.
+
+       * src/ftinspect.h: Updated.
+
+2016-05-01  Werner Lemberg  <address@hidden>
+
        [ftinspect] Add signal for HintingModeComboBox.
 
        Also fix typo `hortizontal' -> `horizontal'.
diff --git a/src/ftinspect.cpp b/src/ftinspect.cpp
index 68937cd..2151014 100644
--- a/src/ftinspect.cpp
+++ b/src/ftinspect.cpp
@@ -65,6 +65,11 @@ MainGUI::about()
 void
 MainGUI::checkHintingMode(int index)
 {
+  const QStandardItemModel* model = qobject_cast<const QStandardItemModel*>
+                                      (antiAliasingComboBox->model());
+  QStandardItem* AAslightItem = model->item(AntiAliasing_Slight);
+  int AAcurrIndex = antiAliasingComboBox->currentIndex();
+
   if (index == HintingMode_AutoHinting)
   {
     horizontalHintingCheckBox->setEnabled(true);
@@ -72,6 +77,10 @@ MainGUI::checkHintingMode(int index)
     blueZoneHintingCheckBox->setEnabled(true);
     segmentDrawingCheckBox->setEnabled(true);
     warpingCheckBox->setEnabled(true);
+
+    AAslightItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+    AAslightItem->setData(QVariant(),
+                          Qt::TextColorRole);
   }
   else
   {
@@ -80,6 +89,17 @@ MainGUI::checkHintingMode(int index)
     blueZoneHintingCheckBox->setEnabled(false);
     segmentDrawingCheckBox->setEnabled(false);
     warpingCheckBox->setEnabled(false);
+
+    AAslightItem->setFlags(AAslightItem->flags()
+                           & ~(Qt::ItemIsSelectable | Qt::ItemIsEnabled));
+    // clear item data in order to use default color;
+    // this visually greys out the item
+    AAslightItem->setData(antiAliasingComboBox->palette().color(
+                            QPalette::Disabled, QPalette::Text),
+                          Qt::TextColorRole);
+
+    if (AAcurrIndex == AntiAliasing_Slight)
+      antiAliasingComboBox->setCurrentIndex(AntiAliasing_Normal);
   }
 }
 
diff --git a/src/ftinspect.h b/src/ftinspect.h
index 339f59e..71eb392 100644
--- a/src/ftinspect.h
+++ b/src/ftinspect.h
@@ -23,8 +23,11 @@
 #include <QSizePolicy>
 #include <QSlider>
 #include <QSpinBox>
+#include <QStandardItem>
+#include <QStandardItemModel>
 #include <QStatusBar>
 #include <QTabWidget>
+#include <QVariant>
 #include <QVBoxLayout>
 #include <QWidget>
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]