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());