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);
|
||||
|
||||
row_id++;
|
||||
|
||||
connect(catcher, &ShortcutCatcher::shortcutChanged, this, &DynamicShortcutsWidget::setupChanged);
|
||||
}
|
||||
|
||||
// Make sure that "spacer" is added.
|
||||
|
@ -50,6 +50,9 @@ class DynamicShortcutsWidget : public QWidget {
|
||||
// assigned to actions before calling this method.
|
||||
void populate(QList<QAction*> actions);
|
||||
|
||||
signals:
|
||||
void setupChanged();
|
||||
|
||||
private:
|
||||
static bool lessThan(QAction *lhs, QAction *rhs);
|
||||
|
||||
|
@ -43,6 +43,15 @@
|
||||
#include "gui/dialogs/formmain.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 <QNetworkProxy>
|
||||
#include <QColorDialog>
|
||||
@ -52,15 +61,29 @@
|
||||
#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);
|
||||
|
||||
// Set flags and attributes.
|
||||
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
|
||||
setWindowIcon(qApp->icons()->fromTheme(QSL("emblem-system")));
|
||||
|
||||
m_btnApply = m_ui->m_buttonBox->button(QDialogButtonBox::Apply);
|
||||
m_btnApply->setEnabled(false);
|
||||
|
||||
// Establish needed connections.
|
||||
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() {
|
||||
@ -87,3 +110,14 @@ void FormSettings::saveSettings() {
|
||||
promptForRestart();
|
||||
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 SettingsPanel;
|
||||
|
||||
class FormSettings : public QDialog {
|
||||
Q_OBJECT
|
||||
@ -41,7 +42,11 @@ class FormSettings : public QDialog {
|
||||
void saveSettings();
|
||||
|
||||
private:
|
||||
void addSettingsPanel(SettingsPanel *panel);
|
||||
|
||||
QList<SettingsPanel*> m_panels;
|
||||
QScopedPointer<Ui::FormSettings> m_ui;
|
||||
QPushButton *m_btnApply;
|
||||
Settings *m_settings;
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -29,6 +29,18 @@ SettingsBrowserMail::SettingsBrowserMail(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsBrowserMail) {
|
||||
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_checkShowPassword, &QCheckBox::stateChanged, this, &SettingsBrowserMail::displayProxyPassword);
|
||||
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() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
// Load settings of web browser GUI.
|
||||
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());
|
||||
@ -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_spinProxyPort->setValue(settings()->value(GROUP(Proxy), SETTING(Proxy::Port)).toInt());
|
||||
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsBrowserMail::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
// Save settings of GUI of web browser.
|
||||
settings()->setValue(GROUP(Browser), Browser::CustomExternalBrowserEnabled, m_ui->m_grpCustomExternalBrowser->isChecked());
|
||||
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.
|
||||
SilentNetworkAccessManager::instance()->loadSettings();
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -27,6 +27,14 @@ SettingsDatabase::SettingsDatabase(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDatabase) {
|
||||
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_checkMysqlShowPassword, &QCheckBox::toggled, this, &SettingsDatabase::switchMysqlPasswordVisiblity);
|
||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlUsernameChanged);
|
||||
|
@ -27,6 +27,11 @@
|
||||
SettingsDownloads::SettingsDownloads(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDownloads) {
|
||||
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);
|
||||
}
|
||||
|
||||
@ -46,17 +51,25 @@ void SettingsDownloads::selectDownloadsDirectory() {
|
||||
}
|
||||
|
||||
void SettingsDownloads::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
m_ui->m_checkOpenManagerWhenDownloadStarts->setChecked(settings()->value(GROUP(Downloads),
|
||||
SETTING(Downloads::ShowDownloadsWhenNewDownloadStarts)).toBool());
|
||||
m_ui->m_txtDownloadsTargetDirectory->setText(QDir::toNativeSeparators(settings()->value(GROUP(Downloads),
|
||||
SETTING(Downloads::TargetDirectory)).toString()));
|
||||
m_ui->m_rbDownloadsAskEachFile->setChecked(settings()->value(GROUP(Downloads),
|
||||
SETTING(Downloads::AlwaysPromptForFilename)).toBool());
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsDownloads::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
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::AlwaysPromptForFilename, m_ui->m_rbDownloadsAskEachFile->isChecked());
|
||||
qApp->downloadManager()->setDownloadDirectory(m_ui->m_txtDownloadsTargetDirectory->text());
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "gui/feedmessageviewer.h"
|
||||
#include "gui/feedsview.h"
|
||||
#include "gui/messagesview.h"
|
||||
#include "gui/timespinbox.h"
|
||||
|
||||
#include <QFontDialog>
|
||||
|
||||
@ -31,6 +32,19 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings *settings, QWidget *parent
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsFeedsMessages){
|
||||
m_ui->setupUi(this);
|
||||
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);
|
||||
}
|
||||
|
||||
@ -38,7 +52,6 @@ SettingsFeedsMessages::~SettingsFeedsMessages() {
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
|
||||
void SettingsFeedsMessages::initializeMessageDateFormats() {
|
||||
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") <<
|
||||
@ -59,10 +72,13 @@ void SettingsFeedsMessages::changeMessagesFont() {
|
||||
|
||||
if (ok) {
|
||||
m_ui->m_lblMessagesFont->setFont(new_font);
|
||||
dirtifySettings();
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsFeedsMessages::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
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_checkAutoUpdate->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::AutoUpdateEnabled)).toBool());
|
||||
@ -86,9 +102,13 @@ void SettingsFeedsMessages::loadSettings() {
|
||||
fon.fromString(settings()->value(GROUP(Messages),
|
||||
SETTING(Messages::PreviewerFontStandard)).toString());
|
||||
m_ui->m_lblMessagesFont->setFont(fon);
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsFeedsMessages::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
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(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()->messagesView()->sourceModel()->updateDateFormat();
|
||||
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(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_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_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_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.
|
||||
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::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());
|
||||
settings()->setValue(GROUP(GUI), GUI::HideTabBarIfOnlyOneTab, m_ui->m_checkHideTabBarIfOneTabVisible->isChecked());
|
||||
|
||||
m_ui->m_editorFeedsToolbar->saveToolBar();
|
||||
m_ui->m_editorMessagesToolbar->saveToolBar();
|
||||
|
@ -229,7 +229,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_hideTabBarIfOneTabVisible">
|
||||
<widget class="QCheckBox" name="m_checkHideTabBarIfOneTabVisible">
|
||||
<property name="text">
|
||||
<string>Hide tab bar if just one tab is visible</string>
|
||||
</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(1, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||
|
||||
connect(m_ui->m_treeLanguages, &QTreeWidget::currentItemChanged, this, &SettingsLocalization::dirtifySettings);
|
||||
}
|
||||
|
||||
SettingsLocalization::~SettingsLocalization() {
|
||||
|
@ -25,6 +25,8 @@
|
||||
SettingsShortcuts::SettingsShortcuts(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsShortcuts) {
|
||||
m_ui->setupUi(this);
|
||||
|
||||
connect(m_ui->m_shortcuts, &DynamicShortcutsWidget::setupChanged, this, &SettingsShortcuts::dirtifySettings);
|
||||
}
|
||||
|
||||
SettingsShortcuts::~SettingsShortcuts() {
|
||||
@ -33,13 +35,17 @@ SettingsShortcuts::~SettingsShortcuts() {
|
||||
|
||||
void SettingsShortcuts::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
m_ui->m_shortcuts->populate(qApp->mainForm()->allActions());
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsShortcuts::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
m_ui->m_shortcuts->updateShortcuts();
|
||||
DynamicShortcuts::save(qApp->mainForm()->allActions());
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -154,6 +154,8 @@ void ToolBarEditor::insertSpacer() {
|
||||
|
||||
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
||||
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
||||
|
||||
emit setupChanged();
|
||||
}
|
||||
|
||||
void ToolBarEditor::insertSeparator() {
|
||||
@ -166,6 +168,8 @@ void ToolBarEditor::insertSeparator() {
|
||||
|
||||
m_ui->m_listActivatedActions->insertItem(current_row + 1, item);
|
||||
m_ui->m_listActivatedActions->setCurrentRow(current_row + 1);
|
||||
|
||||
emit setupChanged();
|
||||
}
|
||||
|
||||
void ToolBarEditor::moveActionDown() {
|
||||
@ -178,6 +182,8 @@ void ToolBarEditor::moveActionDown() {
|
||||
m_ui->m_listActivatedActions->takeItem(row++);
|
||||
m_ui->m_listActivatedActions->insertItem(row, selected_item);
|
||||
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->insertItem(row, selected_item);
|
||||
m_ui->m_listActivatedActions->setCurrentRow(row);
|
||||
|
||||
emit setupChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@ -204,6 +212,8 @@ void ToolBarEditor::addSelectedAction() {
|
||||
m_ui->m_listActivatedActions->currentRow() + 1,
|
||||
m_ui->m_listAvailableActions->takeItem(m_ui->m_listAvailableActions->row(selected_item)));
|
||||
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->setCurrentRow(m_ui->m_listAvailableActions->currentRow() + 1);
|
||||
}
|
||||
|
||||
emit setupChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@ -243,4 +255,5 @@ void ToolBarEditor::deleteAllActions() {
|
||||
|
||||
m_ui->m_listAvailableActions->sortItems(Qt::AscendingOrder);
|
||||
updateActionsAvailability();
|
||||
emit setupChanged();
|
||||
}
|
||||
|
@ -66,6 +66,9 @@ class ToolBarEditor : public QWidget {
|
||||
void deleteSelectedAction();
|
||||
void deleteAllActions();
|
||||
|
||||
signals:
|
||||
void setupChanged();
|
||||
|
||||
private:
|
||||
QScopedPointer<Ui::ToolBarEditor> m_ui;
|
||||
BaseBar *m_toolBar;
|
||||
|
Loading…
x
Reference in New Issue
Block a user