Refactoring of settings finished, men.

This commit is contained in:
Martin Rotter 2014-11-12 17:56:05 +01:00
parent 45385fe551
commit 2404a9ed08
16 changed files with 91 additions and 67 deletions

View File

@ -80,8 +80,8 @@ void FeedMessageViewer::saveSize() {
m_feedsView->saveExpandedStates();
// Store offsets of splitters.
settings->setValue(GROUP(GUI), "splitter_feeds", QString(m_feedSplitter->saveState().toBase64()));
settings->setValue(GROUP(GUI), "splitter_messages", QString(m_messageSplitter->saveState().toBase64()));
settings->setValue(GROUP(GUI), GUI::SplitterFeeds, QString(m_feedSplitter->saveState().toBase64()));
settings->setValue(GROUP(GUI), GUI::SplitterMessages, QString(m_messageSplitter->saveState().toBase64()));
// States of splitters are stored, let's store
// widths of columns.
@ -94,8 +94,8 @@ void FeedMessageViewer::saveSize() {
}
// Store "visibility" of toolbars and list headers.
settings->setValue(GROUP(GUI), "enable_toolbars", m_toolBarsEnabled);
settings->setValue(GROUP(GUI), "enable_list_headers", m_listHeadersEnabled);
settings->setValue(GROUP(GUI), GUI::ToolbarsVisible, m_toolBarsEnabled);
settings->setValue(GROUP(GUI), GUI::ListHeadersVisible, m_listHeadersEnabled);
}
void FeedMessageViewer::loadSize() {

View File

@ -48,7 +48,7 @@ QList<QAction*> FeedsToolBar::changeableActions() const {
}
void FeedsToolBar::saveChangeableActions(const QStringList &actions) {
qApp->settings()->setValue(GROUP(GUI), "feeds_toolbar", actions.join(","));
qApp->settings()->setValue(GROUP(GUI), GUI::FeedsToolbarActions, actions.join(","));
loadChangeableActions(actions);
}

View File

@ -423,7 +423,7 @@ void FormSettings::saveLanguage() {
// Save prompt for restart if language has changed.
if (new_lang != actual_lang) {
m_changedDataTexts.append(tr("language changed"));
settings->setValue(GROUP(General), "language", new_lang);
settings->setValue(GROUP(General), General::Language, new_lang);
}
}
@ -748,10 +748,10 @@ void FormSettings::saveInterface() {
}
// Save tab settings.
settings->setValue(GROUP(GUI), "tab_close_mid_button", m_ui->m_checkCloseTabsMiddleClick->isChecked());
settings->setValue(GROUP(GUI), "tab_close_double_button", m_ui->m_checkCloseTabsDoubleClick->isChecked());
settings->setValue(GROUP(GUI), "tab_new_double_button", m_ui->m_checkNewTabDoubleClick->isChecked());
settings->setValue(GROUP(GUI), "hide_tabbar_one_tab", m_ui->m_hideTabBarIfOneTabVisible->isChecked());
settings->setValue(GROUP(GUI), GUI::TabCloseMiddleClick, m_ui->m_checkCloseTabsMiddleClick->isChecked());
settings->setValue(GROUP(GUI), GUI::TabCloseDoubleClick, m_ui->m_checkCloseTabsDoubleClick->isChecked());
settings->setValue(GROUP(GUI), GUI::TabNewDoubleClick, m_ui->m_checkNewTabDoubleClick->isChecked());
settings->setValue(GROUP(GUI), GUI::HideTabBarIfOnlyOneTab, m_ui->m_hideTabBarIfOneTabVisible->isChecked());
m_ui->m_editorFeedsToolbar->saveToolBar();
m_ui->m_editorMessagesToolbar->saveToolBar();

View File

@ -57,7 +57,7 @@ QList<QAction*> MessagesToolBar::changeableActions() const {
}
void MessagesToolBar::saveChangeableActions(const QStringList& actions) {
qApp->settings()->setValue(GROUP(GUI), "messages_toolbar", actions.join(","));
qApp->settings()->setValue(GROUP(GUI), GUI::MessagesToolbarDefaultButtons, actions.join(","));
loadChangeableActions(actions);
// If user hidden search messages box, then remove the filter.
@ -152,9 +152,8 @@ void MessagesToolBar::initializeHighlighter() {
void MessagesToolBar::loadChangeableActions() {
QStringList action_names = qApp->settings()->value(GROUP(GUI),
"messages_toolbar",
"m_actionMarkSelectedMessagesAsRead,m_actionMarkSelectedMessagesAsUnread,m_actionSwitchImportanceOfSelectedMessages,separator,highlighter,spacer,search").toString().split(',',
QString::SkipEmptyParts);
SETTING(GUI::MessagesToolbarDefaultButtons)).toString().split(',',
QString::SkipEmptyParts);
loadChangeableActions(action_names);
}

View File

@ -221,7 +221,7 @@ void MessagesView::selectionChanged(const QItemSelection &selected, const QItemS
emit currentMessagesRemoved();
}
if (qApp->settings()->value(GROUP(Messages), "keep_cursor_center", false).toBool()) {
if (qApp->settings()->value(GROUP(Messages), SETTING(Messages::KeepCursorInCenter)).toBool()) {
scrollTo(currentIndex(), QAbstractItemView::PositionAtCenter);
}
@ -231,9 +231,8 @@ void MessagesView::selectionChanged(const QItemSelection &selected, const QItemS
void MessagesView::loadFeeds(const QList<int> &feed_ids) {
m_sourceModel->loadMessages(feed_ids);
int col = qApp->settings()->value(GROUP(GUI), "default_sort_column_messages", MSG_DB_DCREATED_INDEX).toInt();
Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI),
"default_sort_order_messages", Qt::DescendingOrder).toInt());
int col = qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortColumnMessages)).toInt();
Qt::SortOrder ord = static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderMessages)).toInt());
sortByColumn(col, ord);
@ -503,6 +502,6 @@ void MessagesView::adjustColumns() {
}
void MessagesView::saveSortState(int column, Qt::SortOrder order) {
qApp->settings()->setValue(GROUP(GUI), "default_sort_column_messages", column);
qApp->settings()->setValue(GROUP(GUI), "default_sort_order_messages", order);
qApp->settings()->setValue(GROUP(GUI), GUI::DefaultSortColumnMessages, column);
qApp->settings()->setValue(GROUP(GUI), GUI::DefaultSortOrderMessages, order);
}

View File

@ -89,7 +89,7 @@ bool SystemTrayIcon::isSystemTrayAvailable() {
}
bool SystemTrayIcon::isSystemTrayActivated() {
return SystemTrayIcon::isSystemTrayAvailable() && qApp->settings()->value(GROUP(GUI), "use_tray_icon", true).toBool();
return SystemTrayIcon::isSystemTrayAvailable() && qApp->settings()->value(GROUP(GUI), SETTING(GUI::UseTrayIcon)).toBool();
}
void SystemTrayIcon::showPrivate() {

View File

@ -112,7 +112,7 @@ void TabBar::mousePressEvent(QMouseEvent *event) {
// Check if user clicked tab with middle button.
// NOTE: This needs to be done here because
// destination does not know the original event.
if (event->button() & Qt::MiddleButton && qApp->settings()->value(GROUP(GUI), "tab_close_mid_button", true).toBool()) {
if (event->button() & Qt::MiddleButton && qApp->settings()->value(GROUP(GUI), SETTING(GUI::TabCloseMiddleClick)).toBool()) {
if (tabType(tab_index) == TabBar::Closable) {
// This tab is closable, so we can close it.
emit tabCloseRequested(tab_index);
@ -131,9 +131,7 @@ void TabBar::mouseDoubleClickEvent(QMouseEvent *event) {
// Check if user clicked tab with middle button.
// NOTE: This needs to be done here because
// destination does not know the original event.
if (event->button() & Qt::LeftButton && qApp->settings()->value(GROUP(GUI),
"tab_close_double_button",
true).toBool()) {
if (event->button() & Qt::LeftButton && qApp->settings()->value(GROUP(GUI), SETTING(GUI::TabCloseDoubleClick)).toBool()) {
if (tabType(tab_index) == TabBar::Closable) {
// This tab is closable, so we can close it.
emit tabCloseRequested(tab_index);
@ -143,9 +141,7 @@ void TabBar::mouseDoubleClickEvent(QMouseEvent *event) {
// Check if new tab should be opened with initial web browser.
// NOTE: This check could be unnecesary here and should be done in
// destination object but we keep it here for consistency.
else if (qApp->settings()->value(GROUP(GUI),
"tab_new_double_button",
true).toBool()) {
else if (qApp->settings()->value(GROUP(GUI), SETTING(GUI::TabNewDoubleClick)).toBool()) {
emit emptySpaceDoubleClicked();
}
}

View File

@ -87,9 +87,7 @@ void TabWidget::openMainMenu() {
}
void TabWidget::checkTabBarVisibility() {
bool should_be_visible = count() > 1 || !qApp->settings()->value(GROUP(GUI),
"hide_tabbar_one_tab",
true).toBool();
bool should_be_visible = count() > 1 || !qApp->settings()->value(GROUP(GUI), SETTING(GUI::HideTabBarIfOnlyOneTab)).toBool();
if (should_be_visible) {
setCornerWidget(m_btnMainMenu, Qt::TopLeftCorner);
@ -273,9 +271,7 @@ int TabWidget::addLinkedBrowser(const QString &initial_url) {
}
int TabWidget::addLinkedBrowser(const QUrl &initial_url) {
return addBrowser(qApp->settings()->value(GROUP(Browser),
"queue_tabs",
true).toBool(),
return addBrowser(qApp->settings()->value(GROUP(Browser), SETTING(Browser::QueueTabs)).toBool(),
false,
initial_url);
}

View File

@ -100,7 +100,7 @@ int main(int argc, char *argv[]) {
DynamicShortcuts::load(qApp->userActions());
// Display main window.
if (qApp->settings()->value(GROUP(GUI), "start_hidden", false).toBool() && SystemTrayIcon::isSystemTrayActivated()) {
if (qApp->settings()->value(GROUP(GUI), SETTING(GUI::MainWindowStartsHidden)).toBool() && SystemTrayIcon::isSystemTrayActivated()) {
qDebug("Hiding the main window when the application is starting.");
main_window.switchVisibility(true);
}
@ -113,7 +113,7 @@ int main(int argc, char *argv[]) {
if (SystemTrayIcon::isSystemTrayActivated()) {
qApp->showTrayIcon();
if (qApp->settings()->value(GROUP(General), "update_on_start", true).toBool()) {
if (qApp->settings()->value(GROUP(General), SETTING(General::UpdateOnStartup)).toBool()) {
QTimer::singleShot(STARTUP_UPDATE_DELAY, application.system(), SLOT(checkForUpdatesAsynchronously()));
}
}

View File

@ -447,7 +447,7 @@ void DatabaseFactory::sqliteSaveMemoryDatabase() {
}
void DatabaseFactory::determineDriver() {
QString db_driver = qApp->settings()->value(GROUP(Database), "database_driver", APP_DB_SQLITE_DRIVER).toString();
QString db_driver = qApp->settings()->value(GROUP(Database), SETTING(Database::ActiveDriver)).toString();
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.
@ -458,7 +458,7 @@ void DatabaseFactory::determineDriver() {
else {
// User wants to use SQLite, which is always available. Check if file-based
// or in-memory database will be used.
if (qApp->settings()->value(GROUP(Database), "use_in_memory_db", false).toBool()) {
if (qApp->settings()->value(GROUP(Database), SETTING(Database::UseInMemory)).toBool()) {
// Use in-memory SQLite database.
m_activeDatabaseDriver = SQLITE_MEMORY;
@ -499,10 +499,10 @@ QSqlDatabase DatabaseFactory::mysqlConnection(const QString &connection_name) {
// yet, add it and set it up.
database = QSqlDatabase::addDatabase(APP_DB_MYSQL_DRIVER, connection_name);
database.setHostName(qApp->settings()->value(GROUP(Database), "mysql_hostname").toString());
database.setPort(qApp->settings()->value(GROUP(Database), "mysql_port", APP_DB_MYSQL_PORT).toInt());
database.setUserName(qApp->settings()->value(GROUP(Database), "mysql_username").toString());
database.setPassword(qApp->settings()->value(GROUP(Database), "mysql_password").toString());
database.setHostName(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLHostname)).toString());
database.setPort(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLPort)).toInt());
database.setUserName(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLUsername)).toString());
database.setPassword(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLPassword)).toString());
database.setDatabaseName(APP_LOW_NAME);
}
@ -524,10 +524,10 @@ QSqlDatabase DatabaseFactory::mysqlInitializeDatabase(const QString &connection_
// Folders are created. Create new QSQLDatabase object.
QSqlDatabase database = QSqlDatabase::addDatabase(APP_DB_MYSQL_DRIVER, connection_name);
database.setHostName(qApp->settings()->value(GROUP(Database), "mysql_hostname").toString());
database.setPort(qApp->settings()->value(GROUP(Database), "mysql_port", APP_DB_MYSQL_PORT).toInt());
database.setUserName(qApp->settings()->value(GROUP(Database), "mysql_username").toString());
database.setPassword(qApp->settings()->value(GROUP(Database), "mysql_password").toString());
database.setHostName(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLHostname)).toString());
database.setPort(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLPort)).toInt());
database.setUserName(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLUsername)).toString());
database.setPassword(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLPassword)).toString());
if (!database.open()) {
qFatal("MySQL database was NOT opened. Delivered error message: '%s'",

View File

@ -64,14 +64,12 @@ void IconFactory::setupSearchPaths() {
}
void IconFactory::setCurrentIconTheme(const QString &theme_name) {
qApp->settings()->setValue(GROUP(GUI), "icon_theme", theme_name);
qApp->settings()->setValue(GROUP(GUI), GUI::IconTheme, theme_name);
}
void IconFactory::loadCurrentIconTheme() {
QStringList installed_themes = installedIconThemes();
QString theme_name_from_settings = qApp->settings()->value(GROUP(GUI),
"icon_theme",
APP_THEME_DEFAULT).toString();
QString theme_name_from_settings = qApp->settings()->value(GROUP(GUI), SETTING(GUI::IconTheme)).toString();
if (m_currentIconTheme == theme_name_from_settings) {
qDebug("Icon theme '%s' already loaded.", qPrintable(theme_name_from_settings));

View File

@ -34,7 +34,7 @@ Localization::~Localization() {
}
QString Localization::desiredLanguage() {
return qApp->settings()->value(GROUP(General), "language", QLocale::system().name()).toString();
return qApp->settings()->value(GROUP(General), SETTING(General::Language)).toString();
}
void Localization::loadActiveLanguage() {

View File

@ -24,6 +24,7 @@
#include <QDir>
#include <QPointer>
#include <QWebSettings>
#include <QLocale>
// Feeds.
@ -101,17 +102,32 @@ DVALUE(bool) GUI::HideMainWindowWhenMinimizedDef = false;
DKEY GUI::UseTrayIcon = "use_tray_icon";
DVALUE(bool) GUI::UseTrayIconDef = true;
KEY GUI::TabCloseMiddleClick = "tab_close_mid_button";
VALUE(bool) GUI::TabCloseMiddleClickDef = true;
DKEY GUI::TabCloseMiddleClick = "tab_close_mid_button";
DVALUE(bool) GUI::TabCloseMiddleClickDef = true;
KEY GUI::TabCloseDoubleClick = "tab_close_double_button";
VALUE(bool) GUI::TabCloseDoubleClickDef = true;
DKEY GUI::TabCloseDoubleClick = "tab_close_double_button";
DVALUE(bool) GUI::TabCloseDoubleClickDef = true;
KEY GUI::TabNewDoubleClick = "tab_new_double_button";
VALUE(bool) GUI::TabNewDoubleClickDef = true;
DKEY GUI::TabNewDoubleClick = "tab_new_double_button";
DVALUE(bool) GUI::TabNewDoubleClickDef = true;
KEY GUI::HideTabBarIfOnlyOneTab = "hide_tabbar_one_tab";
VALUE(bool) GUI::HideTabBarIfOnlyOneTabDef = true;
DKEY GUI::HideTabBarIfOnlyOneTab = "hide_tabbar_one_tab";
DVALUE(bool) GUI::HideTabBarIfOnlyOneTabDef = true;
DKEY GUI::MessagesToolbarDefaultButtons = "messages_toolbar";
DVALUE(char*) GUI::MessagesToolbarDefaultButtonsDef = "m_actionMarkSelectedMessagesAsRead,m_actionMarkSelectedMessagesAsUnread,m_actionSwitchImportanceOfSelectedMessages,separator,highlighter,spacer,search";
DKEY GUI::DefaultSortColumnMessages = "default_sort_column_messages";
DVALUE(int) GUI::DefaultSortColumnMessagesDef = MSG_DB_DCREATED_INDEX;
DKEY GUI::DefaultSortOrderMessages = "default_sort_order_messages";
DVALUE(Qt::SortOrder) GUI::DefaultSortOrderMessagesDef = Qt::DescendingOrder;
DKEY GUI::IconTheme = "icon_theme";
DVALUE(char*) GUI::IconThemeDef = APP_THEME_DEFAULT;
DKEY GUI::Skin = "skin";
DVALUE(char*) GUI::SkinDef = APP_SKIN_DEFAULT;
// General.
DKEY General::ID = "main";
@ -122,6 +138,9 @@ DVALUE(bool) General::UpdateOnStartupDef = true;
DKEY General::RemoveTrolltechJunk = "remove_trolltech_junk";
DVALUE(bool) General::RemoveTrolltechJunkDef = false;
DKEY General::Language = "language";
DVALUE(QString) General::LanguageDef = QLocale::system().name();
// Proxy.
DKEY Proxy::ID = "proxy";

View File

@ -124,6 +124,21 @@ namespace GUI {
KEY HideTabBarIfOnlyOneTab;
VALUE(bool) HideTabBarIfOnlyOneTabDef;
KEY MessagesToolbarDefaultButtons;
VALUE(char*) MessagesToolbarDefaultButtonsDef;
KEY DefaultSortColumnMessages;
VALUE(int) DefaultSortColumnMessagesDef;
KEY DefaultSortOrderMessages;
VALUE(Qt::SortOrder) DefaultSortOrderMessagesDef;
KEY IconTheme;
VALUE(char*) IconThemeDef;
KEY Skin;
VALUE(char*) SkinDef;
}
// General.
@ -135,6 +150,9 @@ namespace General {
KEY RemoveTrolltechJunk;
VALUE(bool) RemoveTrolltechJunkDef;
KEY Language;
VALUE(QString) LanguageDef;
}
// Proxy.

View File

@ -94,11 +94,11 @@ bool SkinFactory::loadSkinFromData(const Skin &skin) {
}
void SkinFactory::setCurrentSkinName(const QString &skin_name) {
qApp->settings()->setValue(GROUP(GUI), "skin", skin_name);
qApp->settings()->setValue(GROUP(GUI), GUI::Skin, skin_name);
}
QString SkinFactory::selectedSkinName() {
return qApp->settings()->value(GROUP(GUI), "skin", APP_SKIN_DEFAULT).toString();
return qApp->settings()->value(GROUP(GUI), SETTING(GUI::Skin)).toString();
}
Skin SkinFactory::skinInfo(const QString &skin_name, bool *ok) {

View File

@ -37,8 +37,7 @@ BaseNetworkAccessManager::~BaseNetworkAccessManager() {
void BaseNetworkAccessManager::loadSettings() {
QNetworkProxy new_proxy;
QNetworkProxy::ProxyType selected_proxy_type = static_cast<QNetworkProxy::ProxyType>(qApp->settings()->value(GROUP(Proxy),
"proxy_type",
QNetworkProxy::NoProxy).toInt());
SETTING(Proxy::Type)).toInt());
if (selected_proxy_type == QNetworkProxy::NoProxy) {
// No extra setting is needed, set new proxy and exit this method.
@ -54,10 +53,10 @@ void BaseNetworkAccessManager::loadSettings() {
// Custom proxy is selected, set it up.
new_proxy.setType(selected_proxy_type);
new_proxy.setHostName(settings->value(GROUP(Proxy), "host").toString());
new_proxy.setPort(settings->value(GROUP(Proxy), "port", 80).toInt());
new_proxy.setUser(settings->value(GROUP(Proxy), "username").toString());
new_proxy.setPassword(settings->value(GROUP(Proxy), "password").toString());
new_proxy.setHostName(settings->value(GROUP(Proxy), SETTING(Proxy::Host)).toString());
new_proxy.setPort(settings->value(GROUP(Proxy), SETTING(Proxy::Port)).toInt());
new_proxy.setUser(settings->value(GROUP(Proxy), SETTING(Proxy::Username)).toString());
new_proxy.setPassword(settings->value(GROUP(Proxy), SETTING(Proxy::Password)).toString());
setProxy(new_proxy);
qDebug("Settings of BaseNetworkAccessManager loaded.");