From 3e62e6a542308fb50aab52c68ba0e6f217fffff1 Mon Sep 17 00:00:00 2001
From: Andreas Loibl <andreas@andreas-loibl.de>
Date: Thu, 21 Jun 2012 21:43:47 +0200
Subject: added lxdesupport

---
 CMakeLists.txt   |  4 ++--
 debian/copyright |  7 +++++++
 lxdesupport.cpp  | 41 +++++++++++++++++++++++++++++++++++++++++
 lxdesupport.h    | 34 ++++++++++++++++++++++++++++++++++
 main.cpp         |  4 ++++
 5 files changed, 88 insertions(+), 2 deletions(-)
 create mode 100644 lxdesupport.cpp
 create mode 100644 lxdesupport.h

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e62a468..20567f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,8 +29,8 @@ file(GLOB wizard_HDRS wizard/[a-z]*.h)
 file(GLOB wizard_UIS  wizard/[a-z]*.ui)
 
 configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
-set(acritoxinstaller_SRCS mainwizard.cpp main.cpp backend.cpp listitem.cpp listdelegate.cpp busyappfilter.cpp ${wizard_SRCS})
-set(acritoxinstaller_MOC_HDRS mainwizard.h backend.h listdelegate.h ${wizard_HDRS})
+set(acritoxinstaller_SRCS mainwizard.cpp lxdesupport.cpp main.cpp backend.cpp listitem.cpp listdelegate.cpp busyappfilter.cpp ${wizard_SRCS})
+set(acritoxinstaller_MOC_HDRS mainwizard.h lxdesupport.cpp backend.h listdelegate.h ${wizard_HDRS})
 set(acritoxinstaller_UIS ${wizard_UIS})
 
 set(FILES_TO_TRANSLATE ${acritoxinstaller_SRCS} ${acritoxinstaller_MOC_HDRS} ${acritoxinstaller_UIS})
diff --git a/debian/copyright b/debian/copyright
index b7b3b6b..a276a46 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -32,3 +32,10 @@ libqtermwidget is written by:
 and is licensed under the GPL version 2,
 see "/usr/share/common-licenses/GPL-2".
 
+lxdesupport.{cpp,h} were written by:
+
+    Ilya Kotov <forkotov02@hotmail.ru>
+
+and is licensed under the GPL,
+see "/usr/share/common-licenses/GPL".
+
diff --git a/lxdesupport.cpp b/lxdesupport.cpp
new file mode 100644
index 0000000..859c420
--- /dev/null
+++ b/lxdesupport.cpp
@@ -0,0 +1,41 @@
+/***************************************************************************
+ *   Copyright (C) 2010 by Ilya Kotov                                      *
+ *   forkotov02@hotmail.ru                                                 *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#include <QIcon>
+#include <QSettings>
+#include <QDir>
+#include "lxdesupport.h"
+
+void LXDESupport::load()
+{
+    if(qgetenv("XDG_CURRENT_DESKTOP") != "LXDE")
+        return;
+
+    QString conf_path = qgetenv("XDG_CONFIG_HOME");
+    if(conf_path.isEmpty())
+        conf_path = QDir::homePath() + "/.config";
+    conf_path.append("/lxsession/LXDE/desktop.conf");
+
+    QSettings lxde_settings(conf_path, QSettings::IniFormat);
+    QString themeName = lxde_settings.value("GTK/sNet/IconThemeName").toString();
+    if(!themeName.isEmpty())
+        QIcon::setThemeName(themeName);
+}
+
diff --git a/lxdesupport.h b/lxdesupport.h
new file mode 100644
index 0000000..bf2e0b5
--- /dev/null
+++ b/lxdesupport.h
@@ -0,0 +1,34 @@
+/***************************************************************************
+ *   Copyright (C) 2010 by Ilya Kotov                                      *
+ *   forkotov02@hotmail.ru                                                 *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#ifndef LXDESUPPORT_H
+#define LXDESUPPORT_H
+
+/**
+    @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
+class LXDESupport
+{
+public:
+    static void load();
+};
+
+#endif // LXDESUPPORT_H
+
diff --git a/main.cpp b/main.cpp
index 5667d15..7310c0e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -2,6 +2,8 @@
 #include <QLocale>
 #include <QLibraryInfo>
 #include <QTranslator>
+#include <QIcon>
+#include "lxdesupport.h"
 #include "mainwizard.h"
 
 int main(int argc, char** argv)
@@ -10,6 +12,8 @@ int main(int argc, char** argv)
     QString locale = QLocale::system().name();
     QTranslator *translator;
     
+    LXDESupport::load(); //load lxde icons
+
     translator = new QTranslator(&app);
     translator->load(QString("qt_")+locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
     app.installTranslator(translator);
-- 
cgit v1.0