[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r1922: If we're running on Windows and the WindowsVista style is av (trunk/src/config)



Author: edmanm
Date: 2007-09-13 01:26:54 -0400 (Thu, 13 Sep 2007)
New Revision: 1922

Modified:
   trunk/src/config/vidaliasettings.cpp
Log:
If we're running on Windows and the WindowsVista style is available, use that
as the default. On Windowses without the WindowsVista style or any other
non-Mac platform, default to Cleanlooks if available (Qt >= 4.3.0).
Otherwise, fall back to Plastique.


Modified: trunk/src/config/vidaliasettings.cpp
===================================================================
--- trunk/src/config/vidaliasettings.cpp	2007-09-13 03:53:25 UTC (rev 1921)
+++ trunk/src/config/vidaliasettings.cpp	2007-09-13 05:26:54 UTC (rev 1922)
@@ -27,6 +27,7 @@
 
 #include <QDir>
 #include <QCoreApplication>
+#include <QStyleFactory>
 #include <lang/languagesupport.h>
 #include <vidalia.h>
 
@@ -43,17 +44,6 @@
 #define SETTING_DATA_DIRECTORY      "DataDirectory"
 #define SETTING_SHOW_MAINWINDOW_AT_START  "ShowMainWindowAtStart"
 
-/* Default Vidalia Settings */
-#if defined(Q_WS_MAC)
-#  define DEFAULT_STYLE       "macintosh (aqua)"
-#else
-#  if QT_VERSION >= 0x040300
-#    define DEFAULT_STYLE     "cleanlooks"
-#  else
-#    define DEFAULT_STYLE     "plastique"
-#  endif
-#endif
-
 #if defined(Q_OS_WIN32)
 #define STARTUP_REG_KEY        "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
 #define VIDALIA_REG_KEY        "Vidalia" 
@@ -67,9 +57,25 @@
 VidaliaSettings::VidaliaSettings()
 : QSettings(SETTINGS_FILE, QSettings::IniFormat)
 {
+#if defined(Q_WS_MAC)
+  setDefault(SETTING_STYLE, "macintosh (aqua)");
+#else
+  static QStringList styles = QStyleFactory::keys();
+#if defined(Q_WS_WIN)
+  if (styles.contains("windowsvista", Qt::CaseInsensitive))
+    setDefault(SETTING_STYLE, "windowsvista");
+  else
+#endif
+  {
+    if (styles.contains("cleanlooks", Qt::CaseInsensitive))
+      setDefault(SETTING_STYLE, "cleanlooks");
+    else
+      setDefault(SETTING_STYLE, "plastique");
+  }
+#endif
+
   setDefault(SETTING_LANGUAGE, LanguageSupport::defaultLanguageCode());
   setDefault(SETTING_RUN_TOR_AT_START, true);
-  setDefault(SETTING_STYLE, DEFAULT_STYLE);
   setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
 }