summaryrefslogtreecommitdiffstats
path: root/src/plugins/platformthemes
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platformthemes')
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp8
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
index ced5fe7086..75549d47c1 100644
--- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
+++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
@@ -483,6 +483,8 @@ QGtk3FontDialogHelper::QGtk3FontDialogHelper()
d.reset(new QGtk3Dialog(gtk_font_chooser_dialog_new("", 0)));
connect(d.data(), SIGNAL(accept()), this, SLOT(onAccepted()));
connect(d.data(), SIGNAL(reject()), this, SIGNAL(reject()));
+
+ g_signal_connect_swapped(d->gtkDialog(), "notify::font", G_CALLBACK(onFontChanged), this);
}
QGtk3FontDialogHelper::~QGtk3FontDialogHelper()
@@ -588,11 +590,15 @@ QFont QGtk3FontDialogHelper::currentFont() const
void QGtk3FontDialogHelper::onAccepted()
{
- emit currentFontChanged(currentFont());
emit accept();
emit fontSelected(currentFont());
}
+void QGtk3FontDialogHelper::onFontChanged(QGtk3FontDialogHelper *dialog)
+{
+ emit dialog->currentFontChanged(dialog->currentFont());
+}
+
void QGtk3FontDialogHelper::applyOptions()
{
GtkDialog *gtkDialog = d->gtkDialog();
diff --git a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h
index c852fd05f6..40961d5201 100644
--- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h
+++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h
@@ -136,6 +136,7 @@ private Q_SLOTS:
void onAccepted();
private:
+ static void onFontChanged(QGtk3FontDialogHelper *helper);
void applyOptions();
QScopedPointer<QGtk3Dialog> d;