From f558a836b07f622fd949dde73afe5f26782ff2c1 Mon Sep 17 00:00:00 2001 From: nowrep Date: Fri, 7 Mar 2014 18:24:13 +0100 Subject: [PATCH] [Code] Create singletons with Q_GLOBAL_STATIC macro --- src/lib/app/mainapplication.cpp | 1 + src/lib/other/databasewriter.cpp | 11 ++++------- src/lib/other/databasewriter.h | 4 +--- src/lib/tools/iconprovider.cpp | 11 ++++------- src/lib/tools/iconprovider.h | 4 +--- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp index 3a083bfee..6b67a012b 100644 --- a/src/lib/app/mainapplication.cpp +++ b/src/lib/app/mainapplication.cpp @@ -914,6 +914,7 @@ void MainApplication::saveSettings() qzSettings->saveSettings(); AdBlockManager::instance()->save(); + IconProvider::instance()->saveIconsToDatabase(); QFile::remove(currentProfilePath() + "WebpageIcons.db"); Settings::syncSettings(); } diff --git a/src/lib/other/databasewriter.cpp b/src/lib/other/databasewriter.cpp index 609c7fcee..438962fc4 100644 --- a/src/lib/other/databasewriter.cpp +++ b/src/lib/other/databasewriter.cpp @@ -19,10 +19,10 @@ #include -DatabaseWriter* DatabaseWriter::s_instance = 0; +Q_GLOBAL_STATIC(DatabaseWriter, qz_database_writer) -DatabaseWriter::DatabaseWriter(QObject* parent) - : QObject(parent) +DatabaseWriter::DatabaseWriter() + : QObject() { } @@ -34,10 +34,7 @@ void DatabaseWriter::executeQuery(const QSqlQuery &query) DatabaseWriter* DatabaseWriter::instance() { - if (!s_instance) { - s_instance = new DatabaseWriter; - } - return s_instance; + return qz_database_writer(); } void DatabaseWriter::execute() diff --git a/src/lib/other/databasewriter.h b/src/lib/other/databasewriter.h index 1f921fd72..c7a062534 100644 --- a/src/lib/other/databasewriter.h +++ b/src/lib/other/databasewriter.h @@ -28,7 +28,7 @@ class QUPZILLA_EXPORT DatabaseWriter : public QObject { Q_OBJECT public: - explicit DatabaseWriter(QObject* parent = 0); + explicit DatabaseWriter(); // Delayed execution of query void executeQuery(const QSqlQuery &query); @@ -40,8 +40,6 @@ private slots: private: QVector m_queries; - - static DatabaseWriter* s_instance; }; #endif // DATABASEWRITER_H diff --git a/src/lib/tools/iconprovider.cpp b/src/lib/tools/iconprovider.cpp index 5d72afcf1..dad18f8ed 100644 --- a/src/lib/tools/iconprovider.cpp +++ b/src/lib/tools/iconprovider.cpp @@ -24,10 +24,10 @@ #include #include -IconProvider* IconProvider::s_instance = 0; +Q_GLOBAL_STATIC(IconProvider, qz_icon_provider) -IconProvider::IconProvider(QWidget* parent) - : QWidget(parent) +IconProvider::IconProvider() + : QWidget() { m_autoSaver = new AutoSaver(this); connect(m_autoSaver, SIGNAL(save()), this, SLOT(saveIconsToDatabase())); @@ -210,10 +210,7 @@ QIcon IconProvider::iconForDomain(const QUrl &url) IconProvider* IconProvider::instance() { - if (!s_instance) { - s_instance = new IconProvider; - } - return s_instance; + return qz_icon_provider(); } void IconProvider::saveIconsToDatabase() diff --git a/src/lib/tools/iconprovider.h b/src/lib/tools/iconprovider.h index ab3a31ee5..7689cbe35 100644 --- a/src/lib/tools/iconprovider.h +++ b/src/lib/tools/iconprovider.h @@ -38,7 +38,7 @@ class QUPZILLA_EXPORT IconProvider : public QWidget Q_PROPERTY(QPixmap bookmarkIcon READ bookmarkIcon WRITE setBookmarkIcon) public: - explicit IconProvider(QWidget* parent = 0); + explicit IconProvider(); void saveIcon(WebView* view); @@ -74,8 +74,6 @@ private: QVector m_iconBuffer; AutoSaver* m_autoSaver; - - static IconProvider* s_instance; }; #endif // ICONPROVIDER_H