summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukáš Lalinský <lalinsky@gmail.com>2008-12-08 15:29:29 +0100
committerLukáš Lalinský <lalinsky@gmail.com>2008-12-08 15:29:29 +0100
commitec5ba128e5a4dcb2c231a65f1d224012ecebd341 (patch)
tree08719feab56f36508732e4240798900e06254118
parentd3fec0515174d4599dbacc712d4a13429e6bd053 (diff)
downloaddbmodel-ec5ba128e5a4dcb2c231a65f1d224012ecebd341.tar.gz
dbmodel-ec5ba128e5a4dcb2c231a65f1d224012ecebd341.tar.bz2
Use Singelton in IconProvider
-rw-r--r--src/utils/iconprovider.cpp11
-rw-r--r--src/utils/iconprovider.h6
2 files changed, 6 insertions, 11 deletions
diff --git a/src/utils/iconprovider.cpp b/src/utils/iconprovider.cpp
index 54e466c..9830fa2 100644
--- a/src/utils/iconprovider.cpp
+++ b/src/utils/iconprovider.cpp
@@ -46,7 +46,6 @@ static Ptr_g_error_free p_g_error_free = 0;
static Ptr_g_free p_g_free = 0;
#endif
-
void IconProvider::gnomeLookupIconTheme()
{
#ifdef Q_WS_X11
@@ -84,8 +83,7 @@ void IconProvider::gnomeLookupIconTheme()
#endif
}
-void
-IconProvider::lookupIconTheme()
+IconProvider::IconProvider()
{
#ifdef Q_WS_X11
if (getenv("GNOME_DESKTOP_SESSION_ID")) {
@@ -105,12 +103,7 @@ QIcon
IconProvider::findIcon(int size, const QString &name)
{
#ifdef Q_WS_X11
- IconProvider *iconProvider = static_cast<IconProvider *>(qApp->property("__IconProvider_instance").value<void *>());
- if (iconProvider == NULL) {
- iconProvider = new IconProvider();
- iconProvider->lookupIconTheme();
- qApp->setProperty("__IconProvider_instance", qVariantFromValue(static_cast<void *>(iconProvider)));
- }
+ IconProvider *iconProvider = instance();
QString sizeString = QString("/%1x%2/").arg(size).arg(size);
foreach(QString path, iconProvider->iconDirs) {
QString fullPath = path + iconProvider->themeName + sizeString + "actions/" + name;
diff --git a/src/utils/iconprovider.h b/src/utils/iconprovider.h
index 07a9d32..862c880 100644
--- a/src/utils/iconprovider.h
+++ b/src/utils/iconprovider.h
@@ -16,8 +16,9 @@
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#include <QString>
+#include "singelton.h"
-class IconProvider
+class IconProvider : public Singelton<IconProvider>
{
public:
static QIcon findIcon(int size, const QString &name);
@@ -28,5 +29,6 @@ protected:
private:
void gnomeLookupIconTheme();
- void lookupIconTheme();
+ IconProvider();
+ friend class Singelton<IconProvider>;
};