All pastes #1751057 Raw Edit

Someone

public text v1 · immutable
#1751057 ·published 2010-01-14 15:32 UTC
rendered paste body
Index: gui/main.cpp
===================================================================
--- gui/main.cpp	(revision 1074640)
+++ gui/main.cpp	(working copy)
@@ -33,10 +33,39 @@
 #include <QLocale>
 #include <QPlastiqueStyle>
 #include <QTranslator>
+#include <QStyleFactory>
 
 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
+    
+    // Override Qt font if KDE4 settings can be used
+    QSettings kdeSettings(qgetenv("APPDATA") + QLatin1String("/.kde/share/config/kdeglobals"), QSettings::IniFormat);
+    if ( kdeSettings.status() == QSettings::NoError )
+    {
+    	QFont font(QApplication::font());
+        QString fontDescription;
+        fontDescription = kdeSettings.value(QLatin1String("font")).toString();
+        if (fontDescription.isEmpty()) {
+            // KDE stores fonts without quotes
+            fontDescription = kdeSettings.value(QLatin1String("font")).toStringList().join(QLatin1String(","));
+        }
+        if (!fontDescription .isEmpty()) {
+            font.fromString(fontDescription );
+            app.setFont(font);
+        }
+        QStringList availableStyles = QStyleFactory::keys();
+        QString stylename;
+        QString kde4Style = kdeSettings.value(QLatin1String("widgetStyle"),
+                                              QLatin1String("Oxygen")).toString();
+        foreach (const QString &style, availableStyles) {
+            if (style.toLower() == kde4Style.toLower())
+            {
+                stylename = kde4Style;
+                QApplication::setStyle(stylename);
+            }
+        }      
+    }
 
 #ifdef BUILD_TRANSLATIONS
     QTranslator translator;