diff options
author | Lukáš Lalinský <lalinsky@gmail.com> | 2008-12-08 15:29:29 +0100 |
---|---|---|
committer | Lukáš Lalinský <lalinsky@gmail.com> | 2008-12-08 15:29:29 +0100 |
commit | ec5ba128e5a4dcb2c231a65f1d224012ecebd341 (patch) | |
tree | 08719feab56f36508732e4240798900e06254118 | |
parent | d3fec0515174d4599dbacc712d4a13429e6bd053 (diff) | |
download | dbmodel-ec5ba128e5a4dcb2c231a65f1d224012ecebd341.tar.gz dbmodel-ec5ba128e5a4dcb2c231a65f1d224012ecebd341.tar.bz2 |
Use Singelton in IconProvider
-rw-r--r-- | src/utils/iconprovider.cpp | 11 | ||||
-rw-r--r-- | src/utils/iconprovider.h | 6 |
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>; }; |