From 7c8d4bd0a67c89f5587eecf57efa9e0bf20ba8d2 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 12 Apr 2019 07:12:13 +0200 Subject: [PATCH] refactoring pt. 1 --- .../desktop/com.github.rssguard.appdata.xml | 2 +- src/core/feedsmodel.cpp | 3 +- src/core/messagesmodel.cpp | 4 +- src/core/messagesmodelcache.cpp | 4 +- src/core/messagesmodelcache.h | 2 +- src/core/messagesmodelsqllayer.cpp | 6 +- src/core/messagesproxymodel.cpp | 2 +- src/dynamic-shortcuts/dynamicshortcuts.cpp | 2 - src/dynamic-shortcuts/dynamicshortcuts.h | 2 +- .../dynamicshortcutswidget.cpp | 7 +- src/dynamic-shortcuts/shortcutbutton.cpp | 13 +-- src/dynamic-shortcuts/shortcutbutton.h | 4 +- src/dynamic-shortcuts/shortcutcatcher.cpp | 14 +-- src/dynamic-shortcuts/shortcutcatcher.h | 4 +- src/exceptions/applicationexception.cpp | 4 +- src/exceptions/applicationexception.h | 4 +- src/exceptions/ioexception.cpp | 2 - src/exceptions/ioexception.h | 2 +- src/gui/dialogs/formabout.ui | 2 +- .../dialogs/formbackupdatabasesettings.cpp | 4 +- src/gui/settings/settingsdatabase.cpp | 8 +- src/gui/webbrowser.cpp | 6 +- src/miscellaneous/application.cpp | 14 +-- src/miscellaneous/application.h | 2 +- src/miscellaneous/autosaver.cpp | 6 +- src/miscellaneous/databasecleaner.cpp | 4 +- src/miscellaneous/databasecleaner.h | 2 +- src/miscellaneous/databasefactory.cpp | 91 +++++++++---------- src/miscellaneous/databasefactory.h | 12 +-- src/services/abstract/category.cpp | 2 +- src/services/abstract/feed.cpp | 10 +- src/services/abstract/recyclebin.cpp | 12 +-- src/services/abstract/serviceroot.cpp | 24 ++--- src/services/gmail/gmailentrypoint.cpp | 2 +- src/services/gmail/gmailserviceroot.cpp | 6 +- .../gmail/network/gmailnetworkfactory.cpp | 2 +- .../inoreader/inoreaderentrypoint.cpp | 2 +- .../inoreader/inoreaderserviceroot.cpp | 6 +- .../network/inoreadernetworkfactory.cpp | 2 +- src/services/owncloud/owncloudfeed.cpp | 4 +- .../owncloud/owncloudserviceentrypoint.cpp | 2 +- src/services/owncloud/owncloudserviceroot.cpp | 6 +- src/services/standard/standardcategory.cpp | 6 +- src/services/standard/standardfeed.cpp | 6 +- .../standard/standardserviceentrypoint.cpp | 4 +- src/services/standard/standardserviceroot.cpp | 4 +- src/services/tt-rss/ttrssfeed.cpp | 4 +- .../tt-rss/ttrssserviceentrypoint.cpp | 2 +- src/services/tt-rss/ttrssserviceroot.cpp | 6 +- 49 files changed, 165 insertions(+), 179 deletions(-) diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml index 4010dd183..55c9f723f 100755 --- a/resources/desktop/com.github.rssguard.appdata.xml +++ b/resources/desktop/com.github.rssguard.appdata.xml @@ -30,7 +30,7 @@ https://martinrotter.github.io/donate/ - + none diff --git a/src/core/feedsmodel.cpp b/src/core/feedsmodel.cpp index cd88e90fc..e359153ef 100755 --- a/src/core/feedsmodel.cpp +++ b/src/core/feedsmodel.cpp @@ -25,6 +25,8 @@ #include +using RootItemPtr = RootItem *; + FeedsModel::FeedsModel(QObject* parent) : QAbstractItemModel(parent), m_itemHeight(-1) { setObjectName(QSL("FeedsModel")); @@ -81,7 +83,6 @@ QStringList FeedsModel::mimeTypes() const { return QStringList() << QSL(MIME_TYPE_ITEM_POINTER); } -typedef RootItem* RootItemPtr; bool FeedsModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) { Q_UNUSED(row) diff --git a/src/core/messagesmodel.cpp b/src/core/messagesmodel.cpp index c3618edb6..1fe95d31f 100755 --- a/src/core/messagesmodel.cpp +++ b/src/core/messagesmodel.cpp @@ -16,8 +16,8 @@ #include MessagesModel::MessagesModel(QObject* parent) - : QSqlQueryModel(parent), MessagesModelSqlLayer(), - m_cache(new MessagesModelCache(this)), m_messageHighlighter(NoHighlighting), m_customDateFormat(QString()), m_itemHeight(-1) { + : QSqlQueryModel(parent), m_cache(new MessagesModelCache(this)), m_messageHighlighter(NoHighlighting), + m_customDateFormat(QString()), m_selectedItem(nullptr), m_itemHeight(-1) { setupFonts(); setupIcons(); setupHeaderData(); diff --git a/src/core/messagesmodelcache.cpp b/src/core/messagesmodelcache.cpp index e890ea0dd..fbc4a7312 100755 --- a/src/core/messagesmodelcache.cpp +++ b/src/core/messagesmodelcache.cpp @@ -4,9 +4,7 @@ #include "miscellaneous/textfactory.h" -MessagesModelCache::MessagesModelCache(QObject* parent) : QObject(parent), m_msgCache(QHash()) {} - -MessagesModelCache::~MessagesModelCache() {} +MessagesModelCache::MessagesModelCache(QObject* parent) : QObject(parent) {} void MessagesModelCache::setData(const QModelIndex& index, const QVariant& value, const QSqlRecord& record) { if (!m_msgCache.contains(index.row())) { diff --git a/src/core/messagesmodelcache.h b/src/core/messagesmodelcache.h index 8c446489b..5d37fda83 100755 --- a/src/core/messagesmodelcache.h +++ b/src/core/messagesmodelcache.h @@ -15,7 +15,7 @@ class MessagesModelCache : public QObject { public: explicit MessagesModelCache(QObject* parent = nullptr); - virtual ~MessagesModelCache(); + virtual ~MessagesModelCache() = default; inline bool containsData(int row_idx) const { return m_msgCache.contains(row_idx); diff --git a/src/core/messagesmodelsqllayer.cpp b/src/core/messagesmodelsqllayer.cpp index 8d655b45d..3f6f7db19 100755 --- a/src/core/messagesmodelsqllayer.cpp +++ b/src/core/messagesmodelsqllayer.cpp @@ -5,10 +5,8 @@ #include "definitions/definitions.h" #include "miscellaneous/application.h" -MessagesModelSqlLayer::MessagesModelSqlLayer() - : m_filter(QSL(DEFAULT_SQL_MESSAGES_FILTER)), m_fieldNames(QMap()), - m_sortColumns(QList()), m_sortOrders(QList()) { - m_db = qApp->database()->connection(QSL("MessagesModel"), DatabaseFactory::FromSettings); +MessagesModelSqlLayer::MessagesModelSqlLayer() : m_filter(QSL(DEFAULT_SQL_MESSAGES_FILTER)) { + m_db = qApp->database()->connection(QSL("MessagesModel")); // Used in : SELECT , FROM ....; m_fieldNames[MSG_DB_ID_INDEX] = "Messages.id"; diff --git a/src/core/messagesproxymodel.cpp b/src/core/messagesproxymodel.cpp index 3d521debf..20937e69c 100755 --- a/src/core/messagesproxymodel.cpp +++ b/src/core/messagesproxymodel.cpp @@ -80,7 +80,7 @@ QModelIndexList MessagesProxyModel::match(const QModelIndex& start, int role, QModelIndexList result; const int match_type = flags & 0x0F; const Qt::CaseSensitivity case_sensitivity = Qt::CaseInsensitive; - const bool wrap = flags & Qt::MatchWrap; + const bool wrap = (flags& Qt::MatchWrap) > 0; const bool all_hits = (hits == -1); QString entered_text; int from = start.row(); diff --git a/src/dynamic-shortcuts/dynamicshortcuts.cpp b/src/dynamic-shortcuts/dynamicshortcuts.cpp index ca892a390..f52eabd66 100755 --- a/src/dynamic-shortcuts/dynamicshortcuts.cpp +++ b/src/dynamic-shortcuts/dynamicshortcuts.cpp @@ -8,8 +8,6 @@ #include -DynamicShortcuts::DynamicShortcuts() {} - void DynamicShortcuts::save(const QList& actions) { Settings* settings = qApp->settings(); diff --git a/src/dynamic-shortcuts/dynamicshortcuts.h b/src/dynamic-shortcuts/dynamicshortcuts.h index 5d356c821..7c76c007d 100755 --- a/src/dynamic-shortcuts/dynamicshortcuts.h +++ b/src/dynamic-shortcuts/dynamicshortcuts.h @@ -21,7 +21,7 @@ class DynamicShortcuts { private: // Constructor. - explicit DynamicShortcuts(); + explicit DynamicShortcuts() = default; }; #endif // DYNAMICSHORTCUTS_H diff --git a/src/dynamic-shortcuts/dynamicshortcutswidget.cpp b/src/dynamic-shortcuts/dynamicshortcutswidget.cpp index 7f86b1d5d..7734905a7 100755 --- a/src/dynamic-shortcuts/dynamicshortcutswidget.cpp +++ b/src/dynamic-shortcuts/dynamicshortcutswidget.cpp @@ -60,7 +60,7 @@ void DynamicShortcutsWidget::populate(QList actions) { foreach (QAction* action, actions) { // Create shortcut catcher for this action and set default shortcut. - ShortcutCatcher* catcher = new ShortcutCatcher(this); + auto* catcher = new ShortcutCatcher(this); catcher->setDefaultShortcut(action->shortcut()); @@ -72,12 +72,13 @@ void DynamicShortcutsWidget::populate(QList actions) { m_actionBindings << new_binding; // Add new catcher to our control. - QLabel* action_label = new QLabel(this); + auto* action_label = new QLabel(this); action_label->setText(action->text().remove(QSL("&"))); action_label->setToolTip(action->toolTip()); action_label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); - QLabel* action_icon = new QLabel(this); + + auto* action_icon = new QLabel(this); action_icon->setPixmap(action->icon().pixmap(ICON_SIZE_SETTINGS, ICON_SIZE_SETTINGS)); action_icon->setToolTip(action->toolTip()); diff --git a/src/dynamic-shortcuts/shortcutbutton.cpp b/src/dynamic-shortcuts/shortcutbutton.cpp index 3eb261833..89b4dafc3 100755 --- a/src/dynamic-shortcuts/shortcutbutton.cpp +++ b/src/dynamic-shortcuts/shortcutbutton.cpp @@ -39,8 +39,6 @@ ShortcutButton::ShortcutButton(ShortcutCatcher* catcher, QWidget* parent) setMinimumWidth(100); } -ShortcutButton::~ShortcutButton() {} - void ShortcutButton::keyPressEvent(QKeyEvent* event) { int pressed_key = event->key(); @@ -48,7 +46,7 @@ void ShortcutButton::keyPressEvent(QKeyEvent* event) { m_catcher->doneRecording(); } - const Qt::KeyboardModifiers new_modifiers = event->modifiers() & (Qt::SHIFT | Qt::CTRL | Qt::ALT | Qt::META); + const int new_modifiers = event->modifiers() & (Qt::SHIFT | Qt::CTRL | Qt::ALT | Qt::META); if (!m_catcher->m_isRecording && (pressed_key == Qt::Key_Return || pressed_key == Qt::Key_Space)) { return; @@ -78,8 +76,8 @@ void ShortcutButton::keyPressEvent(QKeyEvent* event) { default: // We now have a valid key press. - if (pressed_key) { - if ((pressed_key == Qt::Key_Backtab) && (m_catcher->m_modifierKeys & Qt::SHIFT)) { + if (pressed_key != 0) { + if ((pressed_key == Qt::Key_Backtab) && (m_catcher->m_modifierKeys & Qt::SHIFT) > 0) { pressed_key = Qt::Key_Tab | m_catcher->m_modifierKeys; } else { @@ -114,10 +112,9 @@ void ShortcutButton::keyReleaseEvent(QKeyEvent* event) { } event->accept(); - const Qt::KeyboardModifiers new_modifiers = event->modifiers() & - (Qt::SHIFT | Qt::CTRL | Qt::ALT | Qt::META); + const int new_modifiers = event->modifiers() & (Qt::SHIFT | Qt::CTRL | Qt::ALT | Qt::META); - if (((uint) new_modifiers & m_catcher->m_modifierKeys) < m_catcher->m_modifierKeys) { + if ((new_modifiers & m_catcher->m_modifierKeys) < m_catcher->m_modifierKeys) { m_catcher->m_modifierKeys = new_modifiers; m_catcher->controlModifierlessTimout(); m_catcher->updateDisplayShortcut(); diff --git a/src/dynamic-shortcuts/shortcutbutton.h b/src/dynamic-shortcuts/shortcutbutton.h index c11afdc86..9c65777fb 100755 --- a/src/dynamic-shortcuts/shortcutbutton.h +++ b/src/dynamic-shortcuts/shortcutbutton.h @@ -41,8 +41,8 @@ class ShortcutButton : public QPushButton { public: // Constructors and destructors. - explicit ShortcutButton(ShortcutCatcher* catcher, QWidget* parent = 0); - virtual ~ShortcutButton(); + explicit ShortcutButton(ShortcutCatcher* catcher, QWidget* parent = nullptr); + virtual ~ShortcutButton() = default; protected: void keyPressEvent(QKeyEvent* event); diff --git a/src/dynamic-shortcuts/shortcutcatcher.cpp b/src/dynamic-shortcuts/shortcutcatcher.cpp index 8d2cdd8cf..e6511c959 100755 --- a/src/dynamic-shortcuts/shortcutcatcher.cpp +++ b/src/dynamic-shortcuts/shortcutcatcher.cpp @@ -37,7 +37,7 @@ #include ShortcutCatcher::ShortcutCatcher(QWidget* parent) - : QWidget(parent) { + : QWidget(parent), m_isRecording(false), m_numKey(0), m_modifierKeys(0U) { // Setup layout of the control m_layout = new QHBoxLayout(this); m_layout->setMargin(0); @@ -100,7 +100,7 @@ void ShortcutCatcher::doneRecording() { } void ShortcutCatcher::controlModifierlessTimout() { - if (m_numKey && !m_modifierKeys) { + if (m_numKey != 0 && m_modifierKeys == 0) { doneRecording(); } } @@ -111,24 +111,24 @@ void ShortcutCatcher::updateDisplayShortcut() { str.replace(QL1S("&"), QL1S("&&")); if (m_isRecording) { - if (m_modifierKeys) { + if (m_modifierKeys != 0) { if (!str.isEmpty()) { str.append(QSL(",")); } - if (m_modifierKeys & Qt::META) { + if ((m_modifierKeys& Qt::META) > 0) { str += QL1S("Meta + "); } - if (m_modifierKeys & Qt::CTRL) { + if ((m_modifierKeys& Qt::CTRL) > 0) { str += QL1S("Ctrl + "); } - if (m_modifierKeys & Qt::ALT) { + if ((m_modifierKeys& Qt::ALT) > 0) { str += QL1S("Alt + "); } - if (m_modifierKeys & Qt::SHIFT) { + if ((m_modifierKeys& Qt::SHIFT) > 0) { str += QL1S("Shift + "); } } diff --git a/src/dynamic-shortcuts/shortcutcatcher.h b/src/dynamic-shortcuts/shortcutcatcher.h index da79d9872..d05ea2f27 100755 --- a/src/dynamic-shortcuts/shortcutcatcher.h +++ b/src/dynamic-shortcuts/shortcutcatcher.h @@ -45,7 +45,7 @@ class ShortcutCatcher : public QWidget { public: // Constructors and destructors. - explicit ShortcutCatcher(QWidget* parent = 0); + explicit ShortcutCatcher(QWidget* parent = nullptr); virtual ~ShortcutCatcher(); void controlModifierlessTimout(); @@ -75,7 +75,7 @@ class ShortcutCatcher : public QWidget { QKeySequence m_defaultSequence; bool m_isRecording; int m_numKey; - uint m_modifierKeys; + int m_modifierKeys; }; #endif // KEYSEQUENCECATCHER_H diff --git a/src/exceptions/applicationexception.cpp b/src/exceptions/applicationexception.cpp index 45a4949e4..b6eed7c7d 100755 --- a/src/exceptions/applicationexception.cpp +++ b/src/exceptions/applicationexception.cpp @@ -2,9 +2,7 @@ #include "exceptions/applicationexception.h" -ApplicationException::ApplicationException(const QString& message) : m_message(message) {} - -ApplicationException::~ApplicationException() {} +ApplicationException::ApplicationException(QString message) : m_message(std::move(message)) {} QString ApplicationException::message() const { return m_message; diff --git a/src/exceptions/applicationexception.h b/src/exceptions/applicationexception.h index 0266ac639..982f606fa 100755 --- a/src/exceptions/applicationexception.h +++ b/src/exceptions/applicationexception.h @@ -7,8 +7,8 @@ class ApplicationException { public: - explicit ApplicationException(const QString& message = QString()); - virtual ~ApplicationException(); + explicit ApplicationException(QString message = QString()); + virtual ~ApplicationException() = default; QString message() const; diff --git a/src/exceptions/ioexception.cpp b/src/exceptions/ioexception.cpp index db13ef04f..6f8801550 100755 --- a/src/exceptions/ioexception.cpp +++ b/src/exceptions/ioexception.cpp @@ -3,5 +3,3 @@ #include "exceptions/ioexception.h" IOException::IOException(const QString& message) : ApplicationException(message) {} - -IOException::~IOException() {} diff --git a/src/exceptions/ioexception.h b/src/exceptions/ioexception.h index f0a44578a..4d3bf1a2a 100755 --- a/src/exceptions/ioexception.h +++ b/src/exceptions/ioexception.h @@ -8,7 +8,7 @@ class IOException : public ApplicationException { public: explicit IOException(const QString& message = QString()); - virtual ~IOException(); + virtual ~IOException() = default; }; #endif // IOEXCEPTION_H diff --git a/src/gui/dialogs/formabout.ui b/src/gui/dialogs/formabout.ui index 8b894c589..a011b0dfa 100755 --- a/src/gui/dialogs/formabout.ui +++ b/src/gui/dialogs/formabout.ui @@ -92,7 +92,7 @@ - 3 + 2 diff --git a/src/gui/dialogs/formbackupdatabasesettings.cpp b/src/gui/dialogs/formbackupdatabasesettings.cpp index 7e1d39f10..0e46dde25 100755 --- a/src/gui/dialogs/formbackupdatabasesettings.cpp +++ b/src/gui/dialogs/formbackupdatabasesettings.cpp @@ -28,8 +28,8 @@ FormBackupDatabaseSettings::FormBackupDatabaseSettings(QWidget* parent) : QDialo QDateTime::currentDateTime().toString(QSL("yyyyMMddHHmm"))); m_ui->m_lblResult->setStatus(WidgetWithStatus::Warning, tr("No operation executed yet."), tr("No operation executed yet.")); - if (qApp->database()->activeDatabaseDriver() != DatabaseFactory::SQLITE && - qApp->database()->activeDatabaseDriver() != DatabaseFactory::SQLITE_MEMORY) { + if (qApp->database()->activeDatabaseDriver() != DatabaseFactory::UsedDriver::SQLITE && + qApp->database()->activeDatabaseDriver() != DatabaseFactory::UsedDriver::SQLITE_MEMORY) { m_ui->m_checkBackupDatabase->setDisabled(true); } } diff --git a/src/gui/settings/settingsdatabase.cpp b/src/gui/settings/settingsdatabase.cpp index 243e74a8b..38b5bbeeb 100755 --- a/src/gui/settings/settingsdatabase.cpp +++ b/src/gui/settings/settingsdatabase.cpp @@ -52,8 +52,8 @@ void SettingsDatabase::mysqlTestConnection() { const QString interpretation = qApp->database()->mysqlInterpretErrorCode(error_code); switch (error_code) { - case DatabaseFactory::MySQLOk: - case DatabaseFactory::MySQLUnknownDatabase: + case DatabaseFactory::MySQLError::MySQLOk: + case DatabaseFactory::MySQLError::MySQLUnknownDatabase: m_ui->m_lblMysqlTestResult->setStatus(WidgetWithStatus::Ok, interpretation, interpretation); break; @@ -124,7 +124,7 @@ void SettingsDatabase::loadSettings() { tr("You did not executed any connection test yet.")); // Load SQLite. - m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::SQLITE), APP_DB_SQLITE_DRIVER); + m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::UsedDriver::SQLITE), APP_DB_SQLITE_DRIVER); // Load in-memory database status. m_ui->m_checkSqliteUseInMemoryDatabase->setChecked(settings()->value(GROUP(Database), SETTING(Database::UseInMemory)).toBool()); @@ -136,7 +136,7 @@ void SettingsDatabase::loadSettings() { onMysqlDatabaseChanged(QString()); // Load MySQL. - m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::MYSQL), APP_DB_MYSQL_DRIVER); + m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::UsedDriver::MYSQL), APP_DB_MYSQL_DRIVER); // Setup placeholders. m_ui->m_txtMysqlHostname->lineEdit()->setPlaceholderText(tr("Hostname of your MySQL server")); diff --git a/src/gui/webbrowser.cpp b/src/gui/webbrowser.cpp index 8d75777aa..3a0ddb7df 100755 --- a/src/gui/webbrowser.cpp +++ b/src/gui/webbrowser.cpp @@ -13,12 +13,12 @@ #include "network-web/webfactory.h" #include "services/abstract/serviceroot.h" +#include #include #include #include #include #include -#include WebBrowser::WebBrowser(QWidget* parent) : TabContent(parent), m_layout(new QVBoxLayout(this)), @@ -266,7 +266,7 @@ void WebBrowser::markMessageAsRead(int id, bool read) { if (msg != nullptr && m_root->getParentServiceRoot()->onBeforeSetMessagesRead(m_root.data(), QList() << *msg, read ? RootItem::Read : RootItem::Unread)) { - DatabaseQueries::markMessagesReadUnread(qApp->database()->connection(objectName(), DatabaseFactory::FromSettings), + DatabaseQueries::markMessagesReadUnread(qApp->database()->connection(objectName()), QStringList() << QString::number(msg->m_id), read ? RootItem::Read : RootItem::Unread); m_root->getParentServiceRoot()->onAfterSetMessagesRead(m_root.data(), @@ -292,7 +292,7 @@ void WebBrowser::switchMessageImportance(int id, bool checked) { ::NotImportant : RootItem ::Important))) { - DatabaseQueries::switchMessagesImportance(qApp->database()->connection(objectName(), DatabaseFactory::FromSettings), + DatabaseQueries::switchMessagesImportance(qApp->database()->connection(objectName()), QStringList() << QString::number(msg->m_id)); m_root->getParentServiceRoot()->onAfterSwitchMessageImportance(m_root.data(), QList() << ImportanceChange(*msg, diff --git a/src/miscellaneous/application.cpp b/src/miscellaneous/application.cpp index 7bf356139..39124cd73 100755 --- a/src/miscellaneous/application.cpp +++ b/src/miscellaneous/application.cpp @@ -44,7 +44,7 @@ Application::Application(const QString& id, int& argc, char** argv) #endif m_feedReader(nullptr), - m_updateFeedsLock(new Mutex()), m_userActions(QList()), m_mainForm(nullptr), + m_updateFeedsLock(new Mutex()), m_mainForm(nullptr), m_trayIcon(nullptr), m_settings(Settings::setupSettings(this)), m_webFactory(new WebFactory(this)), m_system(new SystemFactory(this)), m_skins(new SkinFactory(this)), m_localization(new Localization(this)), m_icons(new IconFactory(this)), @@ -238,8 +238,8 @@ void Application::backupDatabaseSettings(bool backup_database, bool backup_setti } if (backup_database && - (database()->activeDatabaseDriver() == DatabaseFactory::SQLITE || - database()->activeDatabaseDriver() == DatabaseFactory::SQLITE_MEMORY)) { + (database()->activeDatabaseDriver() == DatabaseFactory::UsedDriver::SQLITE || + database()->activeDatabaseDriver() == DatabaseFactory::UsedDriver::SQLITE_MEMORY)) { // We need to save the database first. database()->saveDatabase(); @@ -334,11 +334,11 @@ void Application::showGuiMessage(const QString& title, const QString& message, QSystemTrayIcon::MessageIcon message_type, QWidget* parent, bool show_at_least_msgbox, std::function functor) { if (SystemTrayIcon::areNotificationsEnabled() && SystemTrayIcon::isSystemTrayActivated()) { - trayIcon()->showMessage(title, message, message_type, TRAY_ICON_BUBBLE_TIMEOUT, functor); + trayIcon()->showMessage(title, message, message_type, TRAY_ICON_BUBBLE_TIMEOUT, std::move(functor)); } else if (show_at_least_msgbox) { // Tray icon or OSD is not available, display simple text box. - MessageBox::show(parent, (QMessageBox::Icon) message_type, title, message); + MessageBox::show(parent, QMessageBox::Icon(message_type), title, message); } else { qDebug("Silencing GUI message: '%s'.", qPrintable(message)); @@ -433,9 +433,9 @@ void Application::onFeedUpdatesProgress(const Feed* feed, int current, int total Q_UNUSED(total) } -void Application::onFeedUpdatesFinished(FeedDownloadResults results) { +void Application::onFeedUpdatesFinished(const FeedDownloadResults& results) { if (!results.updatedFeeds().isEmpty()) { // Now, inform about results via GUI message/notification. - qApp->showGuiMessage(tr("New messages downloaded"), results.overview(10), QSystemTrayIcon::NoIcon, 0, false); + qApp->showGuiMessage(tr("New messages downloaded"), results.overview(10), QSystemTrayIcon::NoIcon, nullptr, false); } } diff --git a/src/miscellaneous/application.h b/src/miscellaneous/application.h index f463caf5a..822d4a065 100755 --- a/src/miscellaneous/application.h +++ b/src/miscellaneous/application.h @@ -136,7 +136,7 @@ class Application : public QtSingleApplication { void onFeedUpdatesStarted(); void onFeedUpdatesProgress(const Feed* feed, int current, int total); - void onFeedUpdatesFinished(FeedDownloadResults results); + void onFeedUpdatesFinished(const FeedDownloadResults& results); private: void eliminateFirstRun(); diff --git a/src/miscellaneous/autosaver.cpp b/src/miscellaneous/autosaver.cpp index 70b868da2..2e94bb250 100755 --- a/src/miscellaneous/autosaver.cpp +++ b/src/miscellaneous/autosaver.cpp @@ -6,8 +6,8 @@ #include #include -#define AUTOSAVE_IN 1000 * 3 // seconds -#define MAXWAIT 1000 * 15 // seconds +#define AUTOSAVE_IN (1000 * 3) // seconds +#define MAXWAIT (1000 * 15) // seconds AutoSaver::AutoSaver(QObject* parent) : QObject(parent) { Q_ASSERT(parent); @@ -17,7 +17,7 @@ AutoSaver::~AutoSaver() { if (m_timer.isActive()) { qWarning("AutoSaver: still active when destroyed, changes not saved."); - if (parent() && parent()->metaObject()) { + if (parent() != nullptr && parent()->metaObject() != nullptr) { qWarning("Should call saveIfNeccessary."); } } diff --git a/src/miscellaneous/databasecleaner.cpp b/src/miscellaneous/databasecleaner.cpp index cb3b0573e..df5198acb 100755 --- a/src/miscellaneous/databasecleaner.cpp +++ b/src/miscellaneous/databasecleaner.cpp @@ -10,8 +10,6 @@ DatabaseCleaner::DatabaseCleaner(QObject* parent) : QObject(parent) {} -DatabaseCleaner::~DatabaseCleaner() {} - void DatabaseCleaner::purgeDatabaseData(const CleanerOrders& which_data) { qDebug().nospace() << "Performing database cleanup in thread: \'" << QThread::currentThreadId() << "\'."; @@ -20,7 +18,7 @@ void DatabaseCleaner::purgeDatabaseData(const CleanerOrders& which_data) { bool result = true; const int difference = 99 / 8; int progress = 0; - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (which_data.m_removeReadMessages) { progress += difference; diff --git a/src/miscellaneous/databasecleaner.h b/src/miscellaneous/databasecleaner.h index e7464e5d1..64774232f 100755 --- a/src/miscellaneous/databasecleaner.h +++ b/src/miscellaneous/databasecleaner.h @@ -23,7 +23,7 @@ class DatabaseCleaner : public QObject { // Constructors. explicit DatabaseCleaner(QObject* parent = nullptr); - virtual ~DatabaseCleaner(); + virtual ~DatabaseCleaner() = default; signals: void purgeStarted(); diff --git a/src/miscellaneous/databasefactory.cpp b/src/miscellaneous/databasefactory.cpp index ddb7aa9c9..4e1b5da6b 100755 --- a/src/miscellaneous/databasefactory.cpp +++ b/src/miscellaneous/databasefactory.cpp @@ -14,6 +14,7 @@ DatabaseFactory::DatabaseFactory(QObject* parent) : QObject(parent), + m_activeDatabaseDriver(UsedDriver::SQLITE), m_mysqlDatabaseInitialized(false), m_sqliteFileBasedDatabaseinitialized(false), m_sqliteInMemoryDatabaseInitialized(false) { @@ -21,10 +22,8 @@ DatabaseFactory::DatabaseFactory(QObject* parent) determineDriver(); } -DatabaseFactory::~DatabaseFactory() {} - qint64 DatabaseFactory::getDatabaseFileSize() const { - if (m_activeDatabaseDriver == SQLITE || m_activeDatabaseDriver == SQLITE_MEMORY) { + if (m_activeDatabaseDriver == UsedDriver::SQLITE || m_activeDatabaseDriver == UsedDriver::SQLITE_MEMORY) { return QFileInfo(sqliteDatabaseFilePath()).size(); } else { @@ -33,8 +32,8 @@ qint64 DatabaseFactory::getDatabaseFileSize() const { } qint64 DatabaseFactory::getDatabaseDataSize() const { - if (m_activeDatabaseDriver == SQLITE || m_activeDatabaseDriver == SQLITE_MEMORY) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + if (m_activeDatabaseDriver == UsedDriver::SQLITE || m_activeDatabaseDriver == UsedDriver::SQLITE_MEMORY) { + QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DesiredType::FromSettings); qint64 result = 1; QSqlQuery query(database); @@ -56,8 +55,8 @@ qint64 DatabaseFactory::getDatabaseDataSize() const { return result; } - else if (m_activeDatabaseDriver == MYSQL) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + else if (m_activeDatabaseDriver == UsedDriver::MYSQL) { + QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DesiredType::FromSettings); qint64 result = 1; QSqlQuery query(database); @@ -97,11 +96,11 @@ DatabaseFactory::MySQLError DatabaseFactory::mysqlTestConnection(const QString& // Connection succeeded, clean up the mess and return OK status. database.close(); - return MySQLOk; + return MySQLError::MySQLOk; } else { database.close(); - return MySQLUnknownError; + return MySQLError::MySQLUnknownError; } } else if (database.lastError().isValid()) { @@ -109,24 +108,24 @@ DatabaseFactory::MySQLError DatabaseFactory::mysqlTestConnection(const QString& return static_cast(database.lastError().number()); } else { - return MySQLUnknownError; + return MySQLError::MySQLUnknownError; } } QString DatabaseFactory::mysqlInterpretErrorCode(MySQLError error_code) const { switch (error_code) { - case MySQLOk: + case MySQLError::MySQLOk: return tr("MySQL server works as expected."); - case MySQLUnknownDatabase: + case MySQLError::MySQLUnknownDatabase: return tr("Selected database does not exist (yet). It will be created. It's okay."); - case MySQLCantConnect: - case MySQLConnectionError: - case MySQLUnknownHost: + case MySQLError::MySQLCantConnect: + case MySQLError::MySQLConnectionError: + case MySQLError::MySQLUnknownHost: return tr("No MySQL server is running in the target destination."); - case MySQLAccessDenied: + case MySQLError::MySQLAccessDenied: //: Access to MySQL server was denied. return tr("Access denied. Invalid username or password used."); @@ -140,8 +139,8 @@ QString DatabaseFactory::mysqlInterpretErrorCode(MySQLError error_code) const { bool DatabaseFactory::initiateRestoration(const QString& database_backup_file_path) { switch (m_activeDatabaseDriver) { - case SQLITE: - case SQLITE_MEMORY: + case UsedDriver::SQLITE: + case UsedDriver::SQLITE_MEMORY: return IOFactory::copyFile(database_backup_file_path, m_sqliteDatabaseFilePath + QDir::separator() + BACKUP_NAME_DATABASE + BACKUP_SUFFIX_DATABASE); @@ -152,7 +151,7 @@ bool DatabaseFactory::initiateRestoration(const QString& database_backup_file_pa } void DatabaseFactory::finishRestoration() { - if (m_activeDatabaseDriver != SQLITE && m_activeDatabaseDriver != SQLITE_MEMORY) { + if (m_activeDatabaseDriver != UsedDriver::SQLITE && m_activeDatabaseDriver != UsedDriver::SQLITE_MEMORY) { return; } @@ -231,7 +230,7 @@ QSqlDatabase DatabaseFactory::sqliteInitializeInMemoryDatabase() { } // Loading messages from file-based database. - QSqlDatabase file_database = sqliteConnection(objectName(), StrictlyFileBased); + QSqlDatabase file_database = sqliteConnection(objectName(), DesiredType::StrictlyFileBased); QSqlQuery copy_contents(database); // Attach database. @@ -456,11 +455,11 @@ bool DatabaseFactory::mysqlUpdateDatabaseSchema(QSqlDatabase database, const QSt QSqlDatabase DatabaseFactory::connection(const QString& connection_name, DesiredType desired_type) { switch (m_activeDatabaseDriver) { - case MYSQL: + case UsedDriver::MYSQL: return mysqlConnection(connection_name); - case SQLITE: - case SQLITE_MEMORY: + case UsedDriver::SQLITE: + case UsedDriver::SQLITE_MEMORY: default: return sqliteConnection(connection_name, desired_type); } @@ -468,11 +467,11 @@ QSqlDatabase DatabaseFactory::connection(const QString& connection_name, Desired QString DatabaseFactory::humanDriverName(DatabaseFactory::UsedDriver driver) const { switch (driver) { - case MYSQL: + case UsedDriver::MYSQL: return tr("MySQL/MariaDB (dedicated database)"); - case SQLITE: - case SQLITE_MEMORY: + case UsedDriver::SQLITE: + case UsedDriver::SQLITE_MEMORY: default: return tr("SQLite (embedded database)"); } @@ -480,13 +479,13 @@ QString DatabaseFactory::humanDriverName(DatabaseFactory::UsedDriver driver) con QString DatabaseFactory::humanDriverName(const QString& driver_code) const { if (driver_code == APP_DB_SQLITE_DRIVER) { - return humanDriverName(SQLITE); + return humanDriverName(UsedDriver::SQLITE); } else if (driver_code == APP_DB_MYSQL_DRIVER) { - return humanDriverName(MYSQL); + return humanDriverName(UsedDriver::MYSQL); } else { - return humanDriverName(SQLITE); + return humanDriverName(UsedDriver::SQLITE); } } @@ -496,7 +495,7 @@ void DatabaseFactory::removeConnection(const QString& connection_name) { } QString DatabaseFactory::obtainBeginTransactionSql() const { - if (m_activeDatabaseDriver == DatabaseFactory::SQLITE || m_activeDatabaseDriver == DatabaseFactory::SQLITE_MEMORY) { + if (m_activeDatabaseDriver == UsedDriver::SQLITE || m_activeDatabaseDriver == UsedDriver::SQLITE_MEMORY) { return QSL("BEGIN IMMEDIATE TRANSACTION;"); } else { @@ -506,8 +505,8 @@ QString DatabaseFactory::obtainBeginTransactionSql() const { void DatabaseFactory::sqliteSaveMemoryDatabase() { qDebug("Saving in-memory working database back to persistent file-based storage."); - QSqlDatabase database = sqliteConnection(objectName(), StrictlyInMemory); - QSqlDatabase file_database = sqliteConnection(objectName(), StrictlyFileBased); + QSqlDatabase database = sqliteConnection(objectName(), DesiredType::StrictlyInMemory); + QSqlDatabase file_database = sqliteConnection(objectName(), DesiredType::StrictlyFileBased); QSqlQuery copy_contents(database); // Attach database. @@ -540,7 +539,7 @@ void DatabaseFactory::determineDriver() { if (db_driver == APP_DB_MYSQL_DRIVER && QSqlDatabase::isDriverAvailable(APP_DB_SQLITE_DRIVER)) { // User wants to use MySQL and MySQL is actually available. Use it. - m_activeDatabaseDriver = MYSQL; + m_activeDatabaseDriver = UsedDriver::MYSQL; qDebug("Working database source was as MySQL database."); } else { @@ -548,12 +547,12 @@ void DatabaseFactory::determineDriver() { // or in-memory database will be used. if (qApp->settings()->value(GROUP(Database), SETTING(Database::UseInMemory)).toBool()) { // Use in-memory SQLite database. - m_activeDatabaseDriver = SQLITE_MEMORY; + m_activeDatabaseDriver = UsedDriver::SQLITE_MEMORY; qDebug("Working database source was determined as SQLite in-memory database."); } else { // Use strictly file-base SQLite database. - m_activeDatabaseDriver = SQLITE; + m_activeDatabaseDriver = UsedDriver::SQLITE; qDebug("Working database source was determined as SQLite file-based database."); } @@ -625,7 +624,7 @@ QSqlDatabase DatabaseFactory::mysqlInitializeDatabase(const QString& connection_ MessageBox::show(nullptr, QMessageBox::Critical, tr("MySQL database not available"), tr("%1 cannot use MySQL storage, it is not available. %1 is now switching to SQLite database. Start your MySQL server " "and make adjustments in application settings.").arg(APP_NAME)); - return connection(objectName(), FromSettings); + return connection(objectName(), DesiredType::FromSettings); } else { QSqlQuery query_db(database); @@ -697,8 +696,8 @@ bool DatabaseFactory::mysqlVacuumDatabase() { } QSqlDatabase DatabaseFactory::sqliteConnection(const QString& connection_name, DatabaseFactory::DesiredType desired_type) { - if (desired_type == DatabaseFactory::StrictlyInMemory || - (desired_type == DatabaseFactory::FromSettings && m_activeDatabaseDriver == SQLITE_MEMORY)) { + if (desired_type == DesiredType::StrictlyInMemory || + (desired_type == DesiredType::FromSettings && m_activeDatabaseDriver == UsedDriver::SQLITE_MEMORY)) { // We request in-memory database (either user explicitly // needs in-memory database or it was enabled in the settings). if (!m_sqliteInMemoryDatabaseInitialized) { @@ -768,12 +767,12 @@ QSqlDatabase DatabaseFactory::sqliteConnection(const QString& connection_name, D bool DatabaseFactory::sqliteVacuumDatabase() { QSqlDatabase database; - if (m_activeDatabaseDriver == SQLITE) { - database = sqliteConnection(objectName(), StrictlyFileBased); + if (m_activeDatabaseDriver == UsedDriver::SQLITE) { + database = sqliteConnection(objectName(), DesiredType::StrictlyFileBased); } - else if (m_activeDatabaseDriver == SQLITE_MEMORY) { + else if (m_activeDatabaseDriver == UsedDriver::SQLITE_MEMORY) { sqliteSaveMemoryDatabase(); - database = sqliteConnection(objectName(), StrictlyFileBased); + database = sqliteConnection(objectName(), DesiredType::StrictlyFileBased); } else { return false; @@ -786,7 +785,7 @@ bool DatabaseFactory::sqliteVacuumDatabase() { void DatabaseFactory::saveDatabase() { switch (m_activeDatabaseDriver) { - case SQLITE_MEMORY: + case UsedDriver::SQLITE_MEMORY: sqliteSaveMemoryDatabase(); break; @@ -797,11 +796,11 @@ void DatabaseFactory::saveDatabase() { bool DatabaseFactory::vacuumDatabase() { switch (m_activeDatabaseDriver) { - case SQLITE_MEMORY: - case SQLITE: + case UsedDriver::SQLITE_MEMORY: + case UsedDriver::SQLITE: return sqliteVacuumDatabase(); - case MYSQL: + case UsedDriver::MYSQL: return mysqlVacuumDatabase(); default: diff --git a/src/miscellaneous/databasefactory.h b/src/miscellaneous/databasefactory.h index 37050d60f..1f5546f75 100755 --- a/src/miscellaneous/databasefactory.h +++ b/src/miscellaneous/databasefactory.h @@ -12,21 +12,21 @@ class DatabaseFactory : public QObject { public: // Describes available typos of database backend. - enum UsedDriver { + enum class UsedDriver { SQLITE, SQLITE_MEMORY, MYSQL }; // Describes what type of database user wants. - enum DesiredType { + enum class DesiredType { StrictlyFileBased, StrictlyInMemory, FromSettings }; // Describes possible MySQL-specific errors. - enum MySQLError { + enum class MySQLError { MySQLOk = 0, MySQLUnknownError = 1, MySQLAccessDenied = 1045, @@ -41,10 +41,10 @@ class DatabaseFactory : public QObject { // // Constructor. - explicit DatabaseFactory(QObject* parent = 0); + explicit DatabaseFactory(QObject* parent = nullptr); // Destructor. - virtual ~DatabaseFactory(); + virtual ~DatabaseFactory() = default; // Returns size of DB file. qint64 getDatabaseFileSize() const; @@ -55,7 +55,7 @@ class DatabaseFactory : public QObject { // If in-memory is true, then :memory: database is returned // In-memory database is DEFAULT database. // NOTE: This always returns OPENED database. - QSqlDatabase connection(const QString& connection_name, DesiredType desired_type = FromSettings); + QSqlDatabase connection(const QString& connection_name, DesiredType desired_type = DesiredType::FromSettings); QString humanDriverName(UsedDriver driver) const; QString humanDriverName(const QString& driver_code) const; diff --git a/src/services/abstract/category.cpp b/src/services/abstract/category.cpp index 3677754bb..47dd96641 100755 --- a/src/services/abstract/category.cpp +++ b/src/services/abstract/category.cpp @@ -50,7 +50,7 @@ void Category::updateCounts(bool including_total_count) { return; } - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); bool ok; QMap> counts = DatabaseQueries::getMessageCountsForCategory(database, diff --git a/src/services/abstract/feed.cpp b/src/services/abstract/feed.cpp index 6c37abd05..7990b031f 100755 --- a/src/services/abstract/feed.cpp +++ b/src/services/abstract/feed.cpp @@ -58,7 +58,7 @@ Feed::Feed(const Feed& other) : RootItem(other) { Feed::~Feed() {} QList Feed::undeletedMessages() const { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::getUndeletedMessagesForFeed(database, customId(), getParentServiceRoot()->accountId()); } @@ -151,8 +151,8 @@ void Feed::setUrl(const QString& url) { void Feed::updateCounts(bool including_total_count) { bool is_main_thread = QThread::currentThread() == qApp->thread(); QSqlDatabase database = is_main_thread ? - qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings) : - qApp->database()->connection(QSL("feed_upd"), DatabaseFactory::FromSettings); + qApp->database()->connection(metaObject()->className()) : + qApp->database()->connection(QSL("feed_upd")); int account_id = getParentServiceRoot()->accountId(); if (including_total_count) { @@ -227,8 +227,8 @@ int Feed::updateMessages(const QList& messages, bool error_during_obtai QString custom_id = customId(); int account_id = getParentServiceRoot()->accountId(); QSqlDatabase database = is_main_thread ? - qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings) : - qApp->database()->connection(QSL("feed_upd"), DatabaseFactory::FromSettings); + qApp->database()->connection(metaObject()->className()) : + qApp->database()->connection(QSL("feed_upd")); updated_messages = DatabaseQueries::updateMessages(database, messages, custom_id, account_id, url(), &anything_updated, &ok); } diff --git a/src/services/abstract/recyclebin.cpp b/src/services/abstract/recyclebin.cpp index 9fea8b8f6..a568ae06b 100755 --- a/src/services/abstract/recyclebin.cpp +++ b/src/services/abstract/recyclebin.cpp @@ -38,8 +38,8 @@ int RecycleBin::countOfAllMessages() const { void RecycleBin::updateCounts(bool update_total_count) { bool is_main_thread = QThread::currentThread() == qApp->thread(); QSqlDatabase database = is_main_thread ? - qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings) : - qApp->database()->connection(QSL("feed_upd"), DatabaseFactory::FromSettings); + qApp->database()->connection(metaObject()->className()) : + qApp->database()->connection(QSL("feed_upd")); m_unreadCount = DatabaseQueries::getMessageCountsForBin(database, getParentServiceRoot()->accountId(), false); @@ -69,13 +69,13 @@ QList RecycleBin::contextMenu() { QList RecycleBin::undeletedMessages() const { const int account_id = getParentServiceRoot()->accountId(); - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::getUndeletedMessagesForBin(database, account_id); } bool RecycleBin::markAsReadUnread(RootItem::ReadStatus status) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); ServiceRoot* parent_root = getParentServiceRoot(); CacheForServiceRoot* cache = dynamic_cast(parent_root); @@ -95,7 +95,7 @@ bool RecycleBin::markAsReadUnread(RootItem::ReadStatus status) { } bool RecycleBin::cleanMessages(bool clear_only_read) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); ServiceRoot* parent_root = getParentServiceRoot(); if (DatabaseQueries::purgeMessagesFromBin(database, clear_only_read, parent_root->accountId())) { @@ -114,7 +114,7 @@ bool RecycleBin::empty() { } bool RecycleBin::restore() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); ServiceRoot* parent_root = getParentServiceRoot(); if (DatabaseQueries::restoreBin(database, parent_root->accountId())) { diff --git a/src/services/abstract/serviceroot.cpp b/src/services/abstract/serviceroot.cpp index 78faf7f7b..e947bea7d 100755 --- a/src/services/abstract/serviceroot.cpp +++ b/src/services/abstract/serviceroot.cpp @@ -21,7 +21,7 @@ ServiceRoot::ServiceRoot(RootItem* parent) : RootItem(parent), m_recycleBin(new ServiceRoot::~ServiceRoot() {} bool ServiceRoot::deleteViaGui() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::deleteAccount(database, accountId())) { stop(); @@ -40,7 +40,7 @@ bool ServiceRoot::markAsReadUnread(RootItem::ReadStatus status) { cache->addMessageStatesToCache(customIDSOfMessagesForItem(this), status); } - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::markAccountReadUnread(database, accountId(), status)) { updateCounts(false); @@ -96,7 +96,7 @@ void ServiceRoot::updateCounts(bool including_total_count) { return; } - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); bool ok; QMap> counts = DatabaseQueries::getMessageCountsForAccount(database, accountId(), including_total_count, &ok); @@ -131,7 +131,7 @@ void ServiceRoot::completelyRemoveAllData() { } void ServiceRoot::removeOldFeedTree(bool including_messages) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); DatabaseQueries::deleteAccountData(database, accountId(), including_messages); } @@ -145,7 +145,7 @@ void ServiceRoot::cleanAllItems() { } bool ServiceRoot::cleanFeeds(QList items, bool clean_read_only) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::cleanFeeds(database, textualFeedIds(items), clean_read_only, accountId())) { // Messages are cleared, now inform model about need to reload data. @@ -173,7 +173,7 @@ bool ServiceRoot::cleanFeeds(QList items, bool clean_read_only) { } void ServiceRoot::storeNewFeedTree(RootItem* root) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::storeAccountTree(database, root, accountId())) { RecycleBin* bin = recycleBin(); @@ -187,13 +187,13 @@ void ServiceRoot::storeNewFeedTree(RootItem* root) { } void ServiceRoot::removeLeftOverMessages() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); DatabaseQueries::purgeLeftoverMessages(database, accountId()); } QList ServiceRoot::undeletedMessages() const { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::getUndeletedMessagesForAccount(database, accountId()); } @@ -348,21 +348,21 @@ QStringList ServiceRoot::customIDSOfMessagesForItem(RootItem* item) { } case RootItemKind::ServiceRoot: { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); list = DatabaseQueries::customIdsOfMessagesFromAccount(database, accountId()); break; } case RootItemKind::Bin: { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); list = DatabaseQueries::customIdsOfMessagesFromBin(database, accountId()); break; } case RootItemKind::Feed: { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); list = DatabaseQueries::customIdsOfMessagesFromFeed(database, item->customId(), accountId()); break; @@ -378,7 +378,7 @@ QStringList ServiceRoot::customIDSOfMessagesForItem(RootItem* item) { } bool ServiceRoot::markFeedsReadUnread(QList items, RootItem::ReadStatus read) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::markFeedsReadUnread(database, textualFeedIds(items), accountId(), read)) { QList itemss; diff --git a/src/services/gmail/gmailentrypoint.cpp b/src/services/gmail/gmailentrypoint.cpp index ac1182c57..d876b1b70 100755 --- a/src/services/gmail/gmailentrypoint.cpp +++ b/src/services/gmail/gmailentrypoint.cpp @@ -19,7 +19,7 @@ ServiceRoot* GmailEntryPoint::createNewRoot() const { } QList GmailEntryPoint::initializeSubtree() const { - QSqlDatabase database = qApp->database()->connection(QSL("GmailEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("GmailEntryPoint")); return DatabaseQueries::getGmailAccounts(database); } diff --git a/src/services/gmail/gmailserviceroot.cpp b/src/services/gmail/gmailserviceroot.cpp index a882bbaa5..268ff24a4 100755 --- a/src/services/gmail/gmailserviceroot.cpp +++ b/src/services/gmail/gmailserviceroot.cpp @@ -58,7 +58,7 @@ void GmailServiceRoot::writeNewEmail() { } void GmailServiceRoot::loadFromDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); Assignment categories = DatabaseQueries::getCategories(database, accountId()); Assignment feeds = DatabaseQueries::getGmailFeeds(database, accountId()); @@ -77,7 +77,7 @@ void GmailServiceRoot::loadFromDatabase() { } void GmailServiceRoot::saveAccountDataToDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (accountId() != NO_PARENT_CATEGORY) { if (DatabaseQueries::overwriteGmailAccount(database, m_network->userName(), @@ -229,7 +229,7 @@ bool GmailServiceRoot::canBeDeleted() const { } bool GmailServiceRoot::deleteViaGui() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::deleteGmailAccount(database, accountId())) { return ServiceRoot::deleteViaGui(); diff --git a/src/services/gmail/network/gmailnetworkfactory.cpp b/src/services/gmail/network/gmailnetworkfactory.cpp index 90f08a797..df24e8d0e 100755 --- a/src/services/gmail/network/gmailnetworkfactory.cpp +++ b/src/services/gmail/network/gmailnetworkfactory.cpp @@ -58,7 +58,7 @@ void GmailNetworkFactory::initializeOauth() { Q_UNUSED(expires_in) if (m_service != nullptr && !access_token.isEmpty() && !refresh_token.isEmpty()) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); DatabaseQueries::storeNewInoreaderTokens(database, refresh_token, m_service->accountId()); qApp->showGuiMessage(tr("Logged in successfully"), diff --git a/src/services/inoreader/inoreaderentrypoint.cpp b/src/services/inoreader/inoreaderentrypoint.cpp index 578e8fb32..8701b1fb1 100755 --- a/src/services/inoreader/inoreaderentrypoint.cpp +++ b/src/services/inoreader/inoreaderentrypoint.cpp @@ -20,7 +20,7 @@ ServiceRoot* InoreaderEntryPoint::createNewRoot() const { } QList InoreaderEntryPoint::initializeSubtree() const { - QSqlDatabase database = qApp->database()->connection(QSL("InoreaderEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("InoreaderEntryPoint")); return DatabaseQueries::getInoreaderAccounts(database); } diff --git a/src/services/inoreader/inoreaderserviceroot.cpp b/src/services/inoreader/inoreaderserviceroot.cpp index 764b572d4..73827c63f 100755 --- a/src/services/inoreader/inoreaderserviceroot.cpp +++ b/src/services/inoreader/inoreaderserviceroot.cpp @@ -49,7 +49,7 @@ void InoreaderServiceRoot::updateTitle() { } void InoreaderServiceRoot::loadFromDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); Assignment categories = DatabaseQueries::getCategories(database, accountId()); Assignment feeds = DatabaseQueries::getInoreaderFeeds(database, accountId()); @@ -63,7 +63,7 @@ void InoreaderServiceRoot::loadFromDatabase() { } void InoreaderServiceRoot::saveAccountDataToDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (accountId() != NO_PARENT_CATEGORY) { if (DatabaseQueries::overwriteInoreaderAccount(database, m_network->userName(), @@ -207,7 +207,7 @@ bool InoreaderServiceRoot::canBeDeleted() const { } bool InoreaderServiceRoot::deleteViaGui() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::deleteInoreaderAccount(database, accountId())) { return ServiceRoot::deleteViaGui(); diff --git a/src/services/inoreader/network/inoreadernetworkfactory.cpp b/src/services/inoreader/network/inoreadernetworkfactory.cpp index f6e0917f4..7ad1c7784 100755 --- a/src/services/inoreader/network/inoreadernetworkfactory.cpp +++ b/src/services/inoreader/network/inoreadernetworkfactory.cpp @@ -56,7 +56,7 @@ void InoreaderNetworkFactory::initializeOauth() { Q_UNUSED(expires_in) if (m_service != nullptr && !access_token.isEmpty() && !refresh_token.isEmpty()) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); DatabaseQueries::storeNewInoreaderTokens(database, refresh_token, m_service->accountId()); qApp->showGuiMessage(tr("Logged in successfully"), diff --git a/src/services/owncloud/owncloudfeed.cpp b/src/services/owncloud/owncloudfeed.cpp index 84631fee1..0f4117526 100755 --- a/src/services/owncloud/owncloudfeed.cpp +++ b/src/services/owncloud/owncloudfeed.cpp @@ -42,7 +42,7 @@ bool OwnCloudFeed::deleteViaGui() { } bool OwnCloudFeed::editItself(OwnCloudFeed* new_feed_data) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (!DatabaseQueries::editBaseFeed(database, id(), new_feed_data->autoUpdateType(), new_feed_data->autoUpdateInitialInterval())) { @@ -57,7 +57,7 @@ bool OwnCloudFeed::editItself(OwnCloudFeed* new_feed_data) { } bool OwnCloudFeed::removeItself() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::deleteFeed(database, customId().toInt(), serviceRoot()->accountId()); } diff --git a/src/services/owncloud/owncloudserviceentrypoint.cpp b/src/services/owncloud/owncloudserviceentrypoint.cpp index e0de446f4..2602825f9 100755 --- a/src/services/owncloud/owncloudserviceentrypoint.cpp +++ b/src/services/owncloud/owncloudserviceentrypoint.cpp @@ -17,7 +17,7 @@ ServiceRoot* OwnCloudServiceEntryPoint::createNewRoot() const { } QList OwnCloudServiceEntryPoint::initializeSubtree() const { - QSqlDatabase database = qApp->database()->connection(QSL("OwnCloudServiceEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("OwnCloudServiceEntryPoint")); return DatabaseQueries::getOwnCloudAccounts(database); } diff --git a/src/services/owncloud/owncloudserviceroot.cpp b/src/services/owncloud/owncloudserviceroot.cpp index 8450a3b50..2874c66bf 100755 --- a/src/services/owncloud/owncloudserviceroot.cpp +++ b/src/services/owncloud/owncloudserviceroot.cpp @@ -40,7 +40,7 @@ bool OwnCloudServiceRoot::editViaGui() { } bool OwnCloudServiceRoot::deleteViaGui() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::deleteOwnCloudAccount(database, accountId())) { return ServiceRoot::deleteViaGui(); @@ -132,7 +132,7 @@ void OwnCloudServiceRoot::updateTitle() { } void OwnCloudServiceRoot::saveAccountDataToDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (accountId() != NO_PARENT_CATEGORY) { if (DatabaseQueries::overwriteOwnCloudAccount(database, m_network->authUsername(), @@ -192,7 +192,7 @@ RootItem* OwnCloudServiceRoot::obtainNewTreeForSyncIn() const { } void OwnCloudServiceRoot::loadFromDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); Assignment categories = DatabaseQueries::getCategories(database, accountId()); Assignment feeds = DatabaseQueries::getOwnCloudFeeds(database, accountId()); diff --git a/src/services/standard/standardcategory.cpp b/src/services/standard/standardcategory.cpp index c11d1177a..4f9ea3abb 100755 --- a/src/services/standard/standardcategory.cpp +++ b/src/services/standard/standardcategory.cpp @@ -87,7 +87,7 @@ bool StandardCategory::removeItself() { if (children_removed) { // Children are removed, remove this standard category too. - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::deleteCategory(database, id()); } @@ -98,7 +98,7 @@ bool StandardCategory::removeItself() { bool StandardCategory::addItself(RootItem* parent) { // Now, add category to persistent storage. - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); int new_id = DatabaseQueries::addCategory(database, parent->id(), parent->getParentServiceRoot()->accountId(), title(), description(), creationDate(), icon()); @@ -113,7 +113,7 @@ bool StandardCategory::addItself(RootItem* parent) { } bool StandardCategory::editItself(StandardCategory* new_category_data) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); StandardCategory* original_category = this; RootItem* new_parent = new_category_data->parent(); diff --git a/src/services/standard/standardfeed.cpp b/src/services/standard/standardfeed.cpp index ffb0c84f2..bc41e9f5a 100755 --- a/src/services/standard/standardfeed.cpp +++ b/src/services/standard/standardfeed.cpp @@ -298,14 +298,14 @@ bool StandardFeed::performDragDropChange(RootItem* target_item) { } bool StandardFeed::removeItself() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::deleteFeed(database, customId().toInt(), getParentServiceRoot()->accountId()); } bool StandardFeed::addItself(RootItem* parent) { // Now, add feed to persistent storage. - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); bool ok; int new_id = DatabaseQueries::addFeed(database, parent->id(), parent->getParentServiceRoot()->accountId(), title(), description(), creationDate(), icon(), encoding(), url(), passwordProtected(), @@ -324,7 +324,7 @@ bool StandardFeed::addItself(RootItem* parent) { } bool StandardFeed::editItself(StandardFeed* new_feed_data) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); StandardFeed* original_feed = this; RootItem* new_parent = new_feed_data->parent(); diff --git a/src/services/standard/standardserviceentrypoint.cpp b/src/services/standard/standardserviceentrypoint.cpp index 3b87f8e3a..0973d69f6 100755 --- a/src/services/standard/standardserviceentrypoint.cpp +++ b/src/services/standard/standardserviceentrypoint.cpp @@ -33,7 +33,7 @@ QString StandardServiceEntryPoint::code() const { ServiceRoot* StandardServiceEntryPoint::createNewRoot() const { // Switch DB. - QSqlDatabase database = qApp->database()->connection(QSL("StandardServiceEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("StandardServiceEntryPoint")); bool ok; int new_id = DatabaseQueries::createAccount(database, code(), &ok); @@ -50,7 +50,7 @@ ServiceRoot* StandardServiceEntryPoint::createNewRoot() const { QList StandardServiceEntryPoint::initializeSubtree() const { // Check DB if standard account is enabled. - QSqlDatabase database = qApp->database()->connection(QSL("StandardServiceEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("StandardServiceEntryPoint")); return DatabaseQueries::getAccounts(database); } diff --git a/src/services/standard/standardserviceroot.cpp b/src/services/standard/standardserviceroot.cpp index 75b00987c..f2ff1724c 100755 --- a/src/services/standard/standardserviceroot.cpp +++ b/src/services/standard/standardserviceroot.cpp @@ -130,7 +130,7 @@ Qt::ItemFlags StandardServiceRoot::additionalFlags() const { } void StandardServiceRoot::loadFromDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); Assignment categories = DatabaseQueries::getStandardCategories(database, accountId()); Assignment feeds = DatabaseQueries::getStandardFeeds(database, accountId()); @@ -179,7 +179,7 @@ QList StandardServiceRoot::getContextMenuForFeed(StandardFeed* feed) { } // Make connections. - disconnect(m_actionFeedFetchMetadata, &QAction::triggered, 0, 0); + disconnect(m_actionFeedFetchMetadata, &QAction::triggered, nullptr, nullptr); connect(m_actionFeedFetchMetadata, &QAction::triggered, feed, &StandardFeed::fetchMetadataForItself); return m_feedContextMenu; } diff --git a/src/services/tt-rss/ttrssfeed.cpp b/src/services/tt-rss/ttrssfeed.cpp index 0546bad48..b9812e52e 100755 --- a/src/services/tt-rss/ttrssfeed.cpp +++ b/src/services/tt-rss/ttrssfeed.cpp @@ -54,7 +54,7 @@ bool TtRssFeed::deleteViaGui() { } bool TtRssFeed::editItself(TtRssFeed* new_feed_data) { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (DatabaseQueries::editBaseFeed(database, id(), new_feed_data->autoUpdateType(), new_feed_data->autoUpdateInitialInterval())) { @@ -97,7 +97,7 @@ QList TtRssFeed::obtainNewMessages(bool* error_during_obtaining) { } bool TtRssFeed::removeItself() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); return DatabaseQueries::deleteFeed(database, customId().toInt(), serviceRoot()->accountId()); } diff --git a/src/services/tt-rss/ttrssserviceentrypoint.cpp b/src/services/tt-rss/ttrssserviceentrypoint.cpp index 66ff250e1..3c512be3f 100755 --- a/src/services/tt-rss/ttrssserviceentrypoint.cpp +++ b/src/services/tt-rss/ttrssserviceentrypoint.cpp @@ -44,7 +44,7 @@ ServiceRoot* TtRssServiceEntryPoint::createNewRoot() const { QList TtRssServiceEntryPoint::initializeSubtree() const { // Check DB if standard account is enabled. - QSqlDatabase database = qApp->database()->connection(QSL("TtRssServiceEntryPoint"), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(QSL("TtRssServiceEntryPoint")); return DatabaseQueries::getTtRssAccounts(database); } diff --git a/src/services/tt-rss/ttrssserviceroot.cpp b/src/services/tt-rss/ttrssserviceroot.cpp index 56a243615..da31cfba9 100755 --- a/src/services/tt-rss/ttrssserviceroot.cpp +++ b/src/services/tt-rss/ttrssserviceroot.cpp @@ -59,7 +59,7 @@ bool TtRssServiceRoot::editViaGui() { } bool TtRssServiceRoot::deleteViaGui() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); // Remove extra entry in "Tiny Tiny RSS accounts list" and then delete // all the categories/feeds and messages. @@ -172,7 +172,7 @@ TtRssNetworkFactory* TtRssServiceRoot::network() const { } void TtRssServiceRoot::saveAccountDataToDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); if (accountId() != NO_PARENT_CATEGORY) { // We are overwritting previously saved data. @@ -202,7 +202,7 @@ void TtRssServiceRoot::saveAccountDataToDatabase() { } void TtRssServiceRoot::loadFromDatabase() { - QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlDatabase database = qApp->database()->connection(metaObject()->className()); Assignment categories = DatabaseQueries::getCategories(database, accountId()); Assignment feeds = DatabaseQueries::getTtRssFeeds(database, accountId());