Переглянути джерело

ENH: Update ctkComboBox::sizehint when font changes

Julien Finet 14 роки тому
батько
коміт
20cc94d6c2
2 змінених файлів з 20 додано та 0 видалено
  1. 19 0
      Libs/Widgets/ctkComboBox.cpp
  2. 1 0
      Libs/Widgets/ctkComboBox.h

+ 19 - 0
Libs/Widgets/ctkComboBox.cpp

@@ -283,3 +283,22 @@ QSize ctkComboBox::sizeHint() const
   Q_D(const ctkComboBox);
   return d->recomputeSizeHint(d->SizeHint);
 }
+
+// -------------------------------------------------------------------------
+void ctkComboBox::changeEvent(QEvent *e)
+{
+  Q_D(const ctkComboBox);
+  switch (e->type())
+    {
+    case QEvent::StyleChange:
+    case QEvent::MacSizeChange:
+    case QEvent::FontChange:
+      d->SizeHint = QSize();
+      d->MinimumSizeHint = QSize();
+      break;
+    default:
+      break;
+    }
+
+  this->QComboBox::changeEvent(e);
+}

+ 1 - 0
Libs/Widgets/ctkComboBox.h

@@ -75,6 +75,7 @@ public:
 protected:
   /// Reimplemented for internal reasons
   virtual void paintEvent(QPaintEvent*);
+  virtual void changeEvent(QEvent *e);
 
 protected:
   QScopedPointer<ctkComboBoxPrivate> d_ptr;