Working loading of new settings and appearance of "Apply" btn.
This commit is contained in:
parent
444c65221a
commit
a6a8ca1e40
@ -106,6 +106,8 @@ void DynamicShortcutsWidget::populate(QList<QAction*> actions) {
|
|||||||
m_layout->addWidget(catcher, row_id, 2);
|
m_layout->addWidget(catcher, row_id, 2);
|
||||||
|
|
||||||
row_id++;
|
row_id++;
|
||||||
|
|
||||||
|
connect(catcher, &ShortcutCatcher::shortcutChanged, this, &DynamicShortcutsWidget::setupChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure that "spacer" is added.
|
// Make sure that "spacer" is added.
|
||||||
|
@ -50,6 +50,9 @@ class DynamicShortcutsWidget : public QWidget {
|
|||||||
// assigned to actions before calling this method.
|
// assigned to actions before calling this method.
|
||||||
void populate(QList<QAction*> actions);
|
void populate(QList<QAction*> actions);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void setupChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool lessThan(QAction *lhs, QAction *rhs);
|
static bool lessThan(QAction *lhs, QAction *rhs);
|
||||||
|
|
||||||
|
@ -43,6 +43,15 @@
|
|||||||
#include "gui/dialogs/formmain.h"
|
#include "gui/dialogs/formmain.h"
|
||||||
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
||||||
|
|
||||||
|
#include "gui/settings/settingsbrowsermail.h"
|
||||||
|
#include "gui/settings/settingsdatabase.h"
|
||||||
|
#include "gui/settings/settingsdownloads.h"
|
||||||
|
#include "gui/settings/settingsfeedsmessages.h"
|
||||||
|
#include "gui/settings/settingsgeneral.h"
|
||||||
|
#include "gui/settings/settingsgui.h"
|
||||||
|
#include "gui/settings/settingslocalization.h"
|
||||||
|
#include "gui/settings/settingsshortcuts.h"
|
||||||
|
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
#include <QColorDialog>
|
#include <QColorDialog>
|
||||||
@ -52,15 +61,29 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
||||||
|
|
||||||
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings), m_settings(qApp->settings()) {
|
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_panels(QList<SettingsPanel*>()), m_ui(new Ui::FormSettings), m_settings(qApp->settings()) {
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
// Set flags and attributes.
|
// Set flags and attributes.
|
||||||
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
|
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
|
||||||
setWindowIcon(qApp->icons()->fromTheme(QSL("emblem-system")));
|
setWindowIcon(qApp->icons()->fromTheme(QSL("emblem-system")));
|
||||||
|
|
||||||
|
m_btnApply = m_ui->m_buttonBox->button(QDialogButtonBox::Apply);
|
||||||
|
m_btnApply->setEnabled(false);
|
||||||
|
|
||||||
// Establish needed connections.
|
// Establish needed connections.
|
||||||
connect(m_ui->m_buttonBox, SIGNAL(accepted()), this, SLOT(saveSettings()));
|
connect(m_ui->m_buttonBox, SIGNAL(accepted()), this, SLOT(saveSettings()));
|
||||||
|
|
||||||
|
addSettingsPanel(new SettingsGeneral(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsDatabase(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsGui(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsLocalization(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsShortcuts(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsBrowserMail(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsDownloads(m_settings, this));
|
||||||
|
addSettingsPanel(new SettingsFeedsMessages(m_settings, this));
|
||||||
|
|
||||||
|
m_ui->m_listSettings->setCurrentRow(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
FormSettings::~FormSettings() {
|
FormSettings::~FormSettings() {
|
||||||
@ -87,3 +110,14 @@ void FormSettings::saveSettings() {
|
|||||||
promptForRestart();
|
promptForRestart();
|
||||||
accept();
|
accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FormSettings::addSettingsPanel(SettingsPanel *panel) {
|
||||||
|
m_ui->m_listSettings->addItem(panel->title());
|
||||||
|
m_panels.append(panel);
|
||||||
|
m_ui->m_stackedSettings->addWidget(panel);
|
||||||
|
panel->loadSettings();
|
||||||
|
|
||||||
|
connect(panel, &SettingsPanel::settingsChanged, [this]() {
|
||||||
|
m_btnApply->setEnabled(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
|
|
||||||
class Settings;
|
class Settings;
|
||||||
|
class SettingsPanel;
|
||||||
|
|
||||||
class FormSettings : public QDialog {
|
class FormSettings : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -41,7 +42,11 @@ class FormSettings : public QDialog {
|
|||||||
void saveSettings();
|
void saveSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void addSettingsPanel(SettingsPanel *panel);
|
||||||
|
|
||||||
|
QList<SettingsPanel*> m_panels;
|
||||||
QScopedPointer<Ui::FormSettings> m_ui;
|
QScopedPointer<Ui::FormSettings> m_ui;
|
||||||
|
QPushButton *m_btnApply;
|
||||||
Settings *m_settings;
|
Settings *m_settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="standardButtons">
|
<property name="standardButtons">
|
||||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -29,6 +29,18 @@ SettingsBrowserMail::SettingsBrowserMail(Settings *settings, QWidget *parent)
|
|||||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsBrowserMail) {
|
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsBrowserMail) {
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(m_ui->m_cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtProxyHost, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtProxyPassword, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtProxyUsername, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_spinProxyPort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_grpCustomExternalBrowser, &QGroupBox::toggled, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_grpCustomExternalEmail, &QGroupBox::toggled, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtExternalBrowserArguments, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtExternalBrowserExecutable, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtExternalEmailArguments, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtExternalEmailExecutable, &QLineEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings);
|
||||||
|
|
||||||
connect(m_ui->m_cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsBrowserMail::onProxyTypeChanged);
|
connect(m_ui->m_cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsBrowserMail::onProxyTypeChanged);
|
||||||
connect(m_ui->m_checkShowPassword, &QCheckBox::stateChanged, this, &SettingsBrowserMail::displayProxyPassword);
|
connect(m_ui->m_checkShowPassword, &QCheckBox::stateChanged, this, &SettingsBrowserMail::displayProxyPassword);
|
||||||
connect(m_ui->m_cmbExternalBrowserPreset, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsBrowserMail::changeDefaultBrowserArguments);
|
connect(m_ui->m_cmbExternalBrowserPreset, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsBrowserMail::changeDefaultBrowserArguments);
|
||||||
@ -113,6 +125,8 @@ void SettingsBrowserMail::selectEmailExecutable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SettingsBrowserMail::loadSettings() {
|
void SettingsBrowserMail::loadSettings() {
|
||||||
|
onBeginLoadSettings();
|
||||||
|
|
||||||
// Load settings of web browser GUI.
|
// Load settings of web browser GUI.
|
||||||
m_ui->m_cmbExternalBrowserPreset->addItem(tr("Opera 12 or older"), QSL("-nosession %1"));
|
m_ui->m_cmbExternalBrowserPreset->addItem(tr("Opera 12 or older"), QSL("-nosession %1"));
|
||||||
m_ui->m_txtExternalBrowserExecutable->setText(settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserExecutable)).toString());
|
m_ui->m_txtExternalBrowserExecutable->setText(settings()->value(GROUP(Browser), SETTING(Browser::CustomExternalBrowserExecutable)).toString());
|
||||||
@ -139,10 +153,12 @@ void SettingsBrowserMail::loadSettings() {
|
|||||||
m_ui->m_txtProxyPassword->setText(TextFactory::decrypt(settings()->value(GROUP(Proxy), SETTING(Proxy::Password)).toString()));
|
m_ui->m_txtProxyPassword->setText(TextFactory::decrypt(settings()->value(GROUP(Proxy), SETTING(Proxy::Password)).toString()));
|
||||||
m_ui->m_spinProxyPort->setValue(settings()->value(GROUP(Proxy), SETTING(Proxy::Port)).toInt());
|
m_ui->m_spinProxyPort->setValue(settings()->value(GROUP(Proxy), SETTING(Proxy::Port)).toInt());
|
||||||
|
|
||||||
|
onEndLoadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsBrowserMail::saveSettings() {
|
void SettingsBrowserMail::saveSettings() {
|
||||||
|
onBeginSaveSettings();
|
||||||
|
|
||||||
// Save settings of GUI of web browser.
|
// Save settings of GUI of web browser.
|
||||||
settings()->setValue(GROUP(Browser), Browser::CustomExternalBrowserEnabled, m_ui->m_grpCustomExternalBrowser->isChecked());
|
settings()->setValue(GROUP(Browser), Browser::CustomExternalBrowserEnabled, m_ui->m_grpCustomExternalBrowser->isChecked());
|
||||||
settings()->setValue(GROUP(Browser), Browser::CustomExternalBrowserExecutable, m_ui->m_txtExternalBrowserExecutable->text());
|
settings()->setValue(GROUP(Browser), Browser::CustomExternalBrowserExecutable, m_ui->m_txtExternalBrowserExecutable->text());
|
||||||
@ -161,4 +177,6 @@ void SettingsBrowserMail::saveSettings() {
|
|||||||
|
|
||||||
// Reload settings for all network access managers.
|
// Reload settings for all network access managers.
|
||||||
SilentNetworkAccessManager::instance()->loadSettings();
|
SilentNetworkAccessManager::instance()->loadSettings();
|
||||||
|
|
||||||
|
onEndSaveSettings();
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,14 @@ SettingsDatabase::SettingsDatabase(Settings *settings, QWidget *parent)
|
|||||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDatabase) {
|
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDatabase) {
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(m_ui->m_cmbDatabaseDriver, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkSqliteUseInMemoryDatabase, &QCheckBox::toggled, this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtMysqlDatabase->lineEdit(), &QLineEdit::textChanged, this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtMysqlHostname->lineEdit(), &QLineEdit::textChanged, this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtMysqlPassword->lineEdit(), &QLineEdit::textChanged, this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtMysqlUsername->lineEdit(), &QLineEdit::textChanged, this, &SettingsDatabase::dirtifySettings);
|
||||||
|
connect(m_ui->m_spinMysqlPort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SettingsDatabase::dirtifySettings);
|
||||||
|
|
||||||
connect(m_ui->m_cmbDatabaseDriver, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsDatabase::selectSqlBackend);
|
connect(m_ui->m_cmbDatabaseDriver, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsDatabase::selectSqlBackend);
|
||||||
connect(m_ui->m_checkMysqlShowPassword, &QCheckBox::toggled, this, &SettingsDatabase::switchMysqlPasswordVisiblity);
|
connect(m_ui->m_checkMysqlShowPassword, &QCheckBox::toggled, this, &SettingsDatabase::switchMysqlPasswordVisiblity);
|
||||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlUsernameChanged);
|
connect(m_ui->m_txtMysqlUsername->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlUsernameChanged);
|
||||||
|
@ -27,6 +27,11 @@
|
|||||||
SettingsDownloads::SettingsDownloads(Settings *settings, QWidget *parent)
|
SettingsDownloads::SettingsDownloads(Settings *settings, QWidget *parent)
|
||||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDownloads) {
|
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDownloads) {
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(m_ui->m_checkOpenManagerWhenDownloadStarts, &QCheckBox::toggled, this, &SettingsDownloads::dirtifySettings);
|
||||||
|
connect(m_ui->m_txtDownloadsTargetDirectory, &QLineEdit::textChanged, this, &SettingsDownloads::dirtifySettings);
|
||||||
|
connect(m_ui->m_rbDownloadsAskEachFile, &QRadioButton::toggled, this, &SettingsDownloads::dirtifySettings);
|
||||||
|
|
||||||
connect(m_ui->m_btnDownloadsTargetDirectory, &QPushButton::clicked, this, &SettingsDownloads::selectDownloadsDirectory);
|
connect(m_ui->m_btnDownloadsTargetDirectory, &QPushButton::clicked, this, &SettingsDownloads::selectDownloadsDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,17 +51,25 @@ void SettingsDownloads::selectDownloadsDirectory() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDownloads::loadSettings() {
|
void SettingsDownloads::loadSettings() {
|
||||||
|
onBeginLoadSettings();
|
||||||
|
|
||||||
m_ui->m_checkOpenManagerWhenDownloadStarts->setChecked(settings()->value(GROUP(Downloads),
|
m_ui->m_checkOpenManagerWhenDownloadStarts->setChecked(settings()->value(GROUP(Downloads),
|
||||||
SETTING(Downloads::ShowDownloadsWhenNewDownloadStarts)).toBool());
|
SETTING(Downloads::ShowDownloadsWhenNewDownloadStarts)).toBool());
|
||||||
m_ui->m_txtDownloadsTargetDirectory->setText(QDir::toNativeSeparators(settings()->value(GROUP(Downloads),
|
m_ui->m_txtDownloadsTargetDirectory->setText(QDir::toNativeSeparators(settings()->value(GROUP(Downloads),
|
||||||
SETTING(Downloads::TargetDirectory)).toString()));
|
SETTING(Downloads::TargetDirectory)).toString()));
|
||||||
m_ui->m_rbDownloadsAskEachFile->setChecked(settings()->value(GROUP(Downloads),
|
m_ui->m_rbDownloadsAskEachFile->setChecked(settings()->value(GROUP(Downloads),
|
||||||
SETTING(Downloads::AlwaysPromptForFilename)).toBool());
|
SETTING(Downloads::AlwaysPromptForFilename)).toBool());
|
||||||
|
|
||||||
|
onEndLoadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDownloads::saveSettings() {
|
void SettingsDownloads::saveSettings() {
|
||||||
|
onBeginSaveSettings();
|
||||||
|
|
||||||
settings()->setValue(GROUP(Downloads), Downloads::ShowDownloadsWhenNewDownloadStarts, m_ui->m_checkOpenManagerWhenDownloadStarts->isChecked());
|
settings()->setValue(GROUP(Downloads), Downloads::ShowDownloadsWhenNewDownloadStarts, m_ui->m_checkOpenManagerWhenDownloadStarts->isChecked());
|
||||||
settings()->setValue(GROUP(Downloads), Downloads::TargetDirectory, m_ui->m_txtDownloadsTargetDirectory->text());
|
settings()->setValue(GROUP(Downloads), Downloads::TargetDirectory, m_ui->m_txtDownloadsTargetDirectory->text());
|
||||||
settings()->setValue(GROUP(Downloads), Downloads::AlwaysPromptForFilename, m_ui->m_rbDownloadsAskEachFile->isChecked());
|
settings()->setValue(GROUP(Downloads), Downloads::AlwaysPromptForFilename, m_ui->m_rbDownloadsAskEachFile->isChecked());
|
||||||
qApp->downloadManager()->setDownloadDirectory(m_ui->m_txtDownloadsTargetDirectory->text());
|
qApp->downloadManager()->setDownloadDirectory(m_ui->m_txtDownloadsTargetDirectory->text());
|
||||||
|
|
||||||
|
onEndSaveSettings();
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "gui/feedmessageviewer.h"
|
#include "gui/feedmessageviewer.h"
|
||||||
#include "gui/feedsview.h"
|
#include "gui/feedsview.h"
|
||||||
#include "gui/messagesview.h"
|
#include "gui/messagesview.h"
|
||||||
|
#include "gui/timespinbox.h"
|
||||||
|
|
||||||
#include <QFontDialog>
|
#include <QFontDialog>
|
||||||
|
|
||||||
@ -31,6 +32,19 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings *settings, QWidget *parent
|
|||||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsFeedsMessages){
|
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsFeedsMessages){
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
initializeMessageDateFormats();
|
initializeMessageDateFormats();
|
||||||
|
|
||||||
|
connect(m_ui->m_checkAutoUpdate, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkKeppMessagesInTheMiddle, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkMessagesDateTimeFormat, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkRemoveReadMessagesOnExit, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkUpdateAllFeedsOnStartup, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_spinAutoUpdateInterval, static_cast<void (QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged),
|
||||||
|
this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_spinFeedUpdateTimeout, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_cmbMessagesDateTimeFormat, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_cmbCountsFeedList, &QComboBox::currentTextChanged, this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
connect(m_ui->m_cmbCountsFeedList, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsFeedsMessages::dirtifySettings);
|
||||||
|
|
||||||
connect(m_ui->m_btnChangeMessagesFont, &QPushButton::clicked, this, &SettingsFeedsMessages::changeMessagesFont);
|
connect(m_ui->m_btnChangeMessagesFont, &QPushButton::clicked, this, &SettingsFeedsMessages::changeMessagesFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +52,6 @@ SettingsFeedsMessages::~SettingsFeedsMessages() {
|
|||||||
delete m_ui;
|
delete m_ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SettingsFeedsMessages::initializeMessageDateFormats() {
|
void SettingsFeedsMessages::initializeMessageDateFormats() {
|
||||||
QStringList best_formats; best_formats << QSL("d/M/yyyy hh:mm:ss") << QSL("ddd, d. M. yy hh:mm:ss") <<
|
QStringList best_formats; best_formats << QSL("d/M/yyyy hh:mm:ss") << QSL("ddd, d. M. yy hh:mm:ss") <<
|
||||||
QSL("yyyy-MM-dd HH:mm:ss.z") << QSL("yyyy-MM-ddThh:mm:ss") <<
|
QSL("yyyy-MM-dd HH:mm:ss.z") << QSL("yyyy-MM-ddThh:mm:ss") <<
|
||||||
@ -59,10 +72,13 @@ void SettingsFeedsMessages::changeMessagesFont() {
|
|||||||
|
|
||||||
if (ok) {
|
if (ok) {
|
||||||
m_ui->m_lblMessagesFont->setFont(new_font);
|
m_ui->m_lblMessagesFont->setFont(new_font);
|
||||||
|
dirtifySettings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsFeedsMessages::loadSettings() {
|
void SettingsFeedsMessages::loadSettings() {
|
||||||
|
onBeginLoadSettings();
|
||||||
|
|
||||||
m_ui->m_checkKeppMessagesInTheMiddle->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::KeepCursorInCenter)).toBool());
|
m_ui->m_checkKeppMessagesInTheMiddle->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::KeepCursorInCenter)).toBool());
|
||||||
m_ui->m_checkRemoveReadMessagesOnExit->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::ClearReadOnExit)).toBool());
|
m_ui->m_checkRemoveReadMessagesOnExit->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::ClearReadOnExit)).toBool());
|
||||||
m_ui->m_checkAutoUpdate->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::AutoUpdateEnabled)).toBool());
|
m_ui->m_checkAutoUpdate->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::AutoUpdateEnabled)).toBool());
|
||||||
@ -86,9 +102,13 @@ void SettingsFeedsMessages::loadSettings() {
|
|||||||
fon.fromString(settings()->value(GROUP(Messages),
|
fon.fromString(settings()->value(GROUP(Messages),
|
||||||
SETTING(Messages::PreviewerFontStandard)).toString());
|
SETTING(Messages::PreviewerFontStandard)).toString());
|
||||||
m_ui->m_lblMessagesFont->setFont(fon);
|
m_ui->m_lblMessagesFont->setFont(fon);
|
||||||
|
|
||||||
|
onEndLoadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsFeedsMessages::saveSettings() {
|
void SettingsFeedsMessages::saveSettings() {
|
||||||
|
onBeginSaveSettings();
|
||||||
|
|
||||||
settings()->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->isChecked());
|
settings()->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->isChecked());
|
||||||
settings()->setValue(GROUP(Messages), Messages::ClearReadOnExit, m_ui->m_checkRemoveReadMessagesOnExit->isChecked());
|
settings()->setValue(GROUP(Messages), Messages::ClearReadOnExit, m_ui->m_checkRemoveReadMessagesOnExit->isChecked());
|
||||||
settings()->setValue(GROUP(Feeds), Feeds::AutoUpdateEnabled, m_ui->m_checkAutoUpdate->isChecked());
|
settings()->setValue(GROUP(Feeds), Feeds::AutoUpdateEnabled, m_ui->m_checkAutoUpdate->isChecked());
|
||||||
@ -108,4 +128,6 @@ void SettingsFeedsMessages::saveSettings() {
|
|||||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->reloadWholeLayout();
|
qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->reloadWholeLayout();
|
||||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesView()->sourceModel()->updateDateFormat();
|
qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesView()->sourceModel()->updateDateFormat();
|
||||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesView()->sourceModel()->reloadWholeLayout();
|
qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesView()->sourceModel()->reloadWholeLayout();
|
||||||
|
|
||||||
|
onEndSaveSettings();
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,22 @@ SettingsGui::SettingsGui(Settings *settings, QWidget *parent) : SettingsPanel(se
|
|||||||
m_ui->m_treeSkins->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
m_ui->m_treeSkins->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||||
m_ui->m_treeSkins->header()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
|
m_ui->m_treeSkins->header()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
|
||||||
|
|
||||||
|
connect(m_ui->m_cmbIconTheme, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_treeSkins, &QTreeWidget::currentItemChanged, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_grpTray, &QGroupBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkEnableNotifications, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkHidden, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkHideWhenMinimized, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkHideTabBarIfOneTabVisible, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkCloseTabsDoubleClick, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkCloseTabsMiddleClick, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_checkNewTabDoubleClick, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_grbCloseTabs, &QGroupBox::toggled, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_cmbToolbarButtonStyle, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_editorFeedsToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_editorMessagesToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||||
|
connect(m_ui->m_editorStatusbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings);
|
||||||
|
|
||||||
connect(m_ui->m_treeSkins, &QTreeWidget::currentItemChanged, this, &SettingsGui::onSkinSelected);
|
connect(m_ui->m_treeSkins, &QTreeWidget::currentItemChanged, this, &SettingsGui::onSkinSelected);
|
||||||
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars, &QStackedWidget::setCurrentIndex);
|
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars, &QStackedWidget::setCurrentIndex);
|
||||||
}
|
}
|
||||||
@ -149,7 +165,7 @@ void SettingsGui::loadSettings() {
|
|||||||
m_ui->m_checkCloseTabsMiddleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseMiddleClick)).toBool());
|
m_ui->m_checkCloseTabsMiddleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseMiddleClick)).toBool());
|
||||||
m_ui->m_checkCloseTabsDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseDoubleClick)).toBool());
|
m_ui->m_checkCloseTabsDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseDoubleClick)).toBool());
|
||||||
m_ui->m_checkNewTabDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabNewDoubleClick)).toBool());
|
m_ui->m_checkNewTabDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabNewDoubleClick)).toBool());
|
||||||
m_ui->m_hideTabBarIfOneTabVisible->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::HideTabBarIfOnlyOneTab)).toBool());
|
m_ui->m_checkHideTabBarIfOneTabVisible->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::HideTabBarIfOnlyOneTab)).toBool());
|
||||||
|
|
||||||
// Load toolbar button style.
|
// Load toolbar button style.
|
||||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Icon only"), Qt::ToolButtonIconOnly);
|
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Icon only"), Qt::ToolButtonIconOnly);
|
||||||
@ -217,7 +233,7 @@ void SettingsGui::saveSettings() {
|
|||||||
settings()->setValue(GROUP(GUI), GUI::TabCloseMiddleClick, m_ui->m_checkCloseTabsMiddleClick->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::TabCloseDoubleClick, m_ui->m_checkCloseTabsDoubleClick->isChecked());
|
||||||
settings()->setValue(GROUP(GUI), GUI::TabNewDoubleClick, m_ui->m_checkNewTabDoubleClick->isChecked());
|
settings()->setValue(GROUP(GUI), GUI::TabNewDoubleClick, m_ui->m_checkNewTabDoubleClick->isChecked());
|
||||||
settings()->setValue(GROUP(GUI), GUI::HideTabBarIfOnlyOneTab, m_ui->m_hideTabBarIfOneTabVisible->isChecked());
|
settings()->setValue(GROUP(GUI), GUI::HideTabBarIfOnlyOneTab, m_ui->m_checkHideTabBarIfOneTabVisible->isChecked());
|
||||||
|
|
||||||
m_ui->m_editorFeedsToolbar->saveToolBar();
|
m_ui->m_editorFeedsToolbar->saveToolBar();
|
||||||
m_ui->m_editorMessagesToolbar->saveToolBar();
|
m_ui->m_editorMessagesToolbar->saveToolBar();
|
||||||
|
@ -229,7 +229,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="2" column="0" colspan="2">
|
||||||
<widget class="QCheckBox" name="m_hideTabBarIfOneTabVisible">
|
<widget class="QCheckBox" name="m_checkHideTabBarIfOneTabVisible">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hide tab bar if just one tab is visible</string>
|
<string>Hide tab bar if just one tab is visible</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -38,6 +38,8 @@ SettingsLocalization::SettingsLocalization(Settings *settings, QWidget *parent)
|
|||||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
m_ui->m_treeLanguages->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
m_ui->m_treeLanguages->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
m_ui->m_treeLanguages->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||||
|
|
||||||
|
connect(m_ui->m_treeLanguages, &QTreeWidget::currentItemChanged, this, &SettingsLocalization::dirtifySettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsLocalization::~SettingsLocalization() {
|
SettingsLocalization::~SettingsLocalization() {
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
SettingsShortcuts::SettingsShortcuts(Settings *settings, QWidget *parent)
|
SettingsShortcuts::SettingsShortcuts(Settings *settings, QWidget *parent)
|
||||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsShortcuts) {
|
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsShortcuts) {
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
|
connect(m_ui->m_shortcuts, &DynamicShortcutsWidget::setupChanged, this, &SettingsShortcuts::dirtifySettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsShortcuts::~SettingsShortcuts() {
|
SettingsShortcuts::~SettingsShortcuts() {
|
||||||
@ -33,13 +35,17 @@ SettingsShortcuts::~SettingsShortcuts() {
|
|||||||
|
|
||||||
void SettingsShortcuts::loadSettings() {
|
void SettingsShortcuts::loadSettings() {
|
||||||
onBeginLoadSettings();
|
onBeginLoadSettings();
|
||||||
|
|
||||||
m_ui->m_shortcuts->populate(qApp->mainForm()->allActions());
|
m_ui->m_shortcuts->populate(qApp->mainForm()->allActions());
|
||||||
|
|
||||||
onEndLoadSettings();
|
onEndLoadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsShortcuts::saveSettings() {
|
void SettingsShortcuts::saveSettings() {
|
||||||
onBeginSaveSettings();
|
onBeginSaveSettings();
|
||||||
|
|
||||||
m_ui->m_shortcuts->updateShortcuts();
|
m_ui->m_shortcuts->updateShortcuts();
|
||||||
DynamicShortcuts::save(qApp->mainForm()->allActions());
|
DynamicShortcuts::save(qApp->mainForm()->allActions());
|
||||||
|
|
||||||
onEndSaveSettings();
|
onEndSaveSettings();
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,8 @@ void ToolBarEditor::insertSpacer() {
|
|||||||
|
|
||||||
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
||||||
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolBarEditor::insertSeparator() {
|
void ToolBarEditor::insertSeparator() {
|
||||||
@ -166,6 +168,8 @@ void ToolBarEditor::insertSeparator() {
|
|||||||
|
|
||||||
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
||||||
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolBarEditor::moveActionDown() {
|
void ToolBarEditor::moveActionDown() {
|
||||||
@ -178,6 +182,8 @@ void ToolBarEditor::moveActionDown() {
|
|||||||
m_ui->m_listActivatedActions->takeItem(row++);
|
m_ui->m_listActivatedActions->takeItem(row++);
|
||||||
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
||||||
m_ui->m_listActivatedActions->setCurrentRow(row);
|
m_ui->m_listActivatedActions->setCurrentRow(row);
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,6 +197,8 @@ void ToolBarEditor::moveActionUp() {
|
|||||||
m_ui->m_listActivatedActions->takeItem(row--);
|
m_ui->m_listActivatedActions->takeItem(row--);
|
||||||
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
||||||
m_ui->m_listActivatedActions->setCurrentRow(row);
|
m_ui->m_listActivatedActions->setCurrentRow(row);
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,6 +212,8 @@ void ToolBarEditor::addSelectedAction() {
|
|||||||
m_ui->m_listActivatedActions->currentRow() + 1,
|
m_ui->m_listActivatedActions->currentRow() + 1,
|
||||||
m_ui->m_listAvailableActions->takeItem(m_ui->m_listAvailableActions->row(selected_item)));
|
m_ui->m_listAvailableActions->takeItem(m_ui->m_listAvailableActions->row(selected_item)));
|
||||||
m_ui->m_listActivatedActions->setCurrentRow(m_ui->m_listActivatedActions->currentRow() + 1);
|
m_ui->m_listActivatedActions->setCurrentRow(m_ui->m_listActivatedActions->currentRow() + 1);
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,6 +236,8 @@ void ToolBarEditor::deleteSelectedAction() {
|
|||||||
m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder);
|
m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder);
|
||||||
m_ui->m_listAvailableActions->setCurrentRow(m_ui->m_listAvailableActions->currentRow() + 1);
|
m_ui->m_listAvailableActions->setCurrentRow(m_ui->m_listAvailableActions->currentRow() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,4 +255,5 @@ void ToolBarEditor::deleteAllActions() {
|
|||||||
|
|
||||||
m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder);
|
m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder);
|
||||||
updateActionsAvailability();
|
updateActionsAvailability();
|
||||||
|
emit setupChanged();
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,9 @@ class ToolBarEditor : public QWidget {
|
|||||||
void deleteSelectedAction();
|
void deleteSelectedAction();
|
||||||
void deleteAllActions();
|
void deleteAllActions();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void setupChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::ToolBarEditor> m_ui;
|
QScopedPointer<Ui::ToolBarEditor> m_ui;
|
||||||
BaseBar *m_toolBar;
|
BaseBar *m_toolBar;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user