summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
index 1ff053f..627e2c1 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/configdialog.cpp
@@ -38,6 +38,7 @@
#include <QtUiTools/QUiLoader>
#include <QKeySequenceEdit>
#include <plugins/uiconfiguredplugin.h>
+#include <dbtree/dbtree.h>
#define GET_FILTER_STRING(Widget, WidgetType, Method) \
if (qobject_cast<WidgetType*>(Widget))\
@@ -195,13 +196,24 @@ void ConfigDialog::init()
connect(ui->buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
connect(ui->hideBuiltInPluginsCheck, SIGNAL(toggled(bool)), this, SLOT(updateBuiltInPluginsVisibility()));
+ QList<CfgEntry*> entries;
+ entries << CFG_UI.General.SortObjects
+ << CFG_UI.General.SortColumns
+ << CFG_UI.General.ShowDbTreeLabels
+ << CFG_UI.General.ShowRegularTableLabels
+ << CFG_UI.General.ShowSystemObjects
+ << CFG_UI.General.ShowVirtualTableLabels;
+
+ for (CfgEntry* cfg : entries)
+ connect(cfg, &CfgEntry::changed, this, &ConfigDialog::markRequiresSchemasRefresh);
+
ui->activeStyleCombo->addItems(QStyleFactory::keys());
connect(ui->stackedWidget, SIGNAL(currentChanged(int)), this, SLOT(pageSwitched()));
ui->hideBuiltInPluginsCheck->setChecked(true);
-#ifdef NO_AUTO_UPDATES
+#ifndef PORTABLE_CONFIG
ui->updatesGroup->setVisible(false);
#endif
@@ -219,7 +231,8 @@ void ConfigDialog::load()
void ConfigDialog::save()
{
- MainWindow::getInstance()->setStyle(ui->activeStyleCombo->currentText());
+ if (MainWindow::getInstance()->currentStyle().compare(ui->activeStyleCombo->currentText(), Qt::CaseInsensitive) != 0)
+ MainWindow::getInstance()->setStyle(ui->activeStyleCombo->currentText());
QString loadedPlugins = collectLoadedPlugins();
storeSelectedFormatters();
@@ -228,6 +241,13 @@ void ConfigDialog::save()
configMapper->saveFromWidget(ui->stackedWidget, true);
commitPluginConfigs();
CFG->commitMassSave();
+
+ if (requiresSchemasRefresh)
+ {
+ requiresSchemasRefresh = false;
+ DBTREE->refreshSchemas();
+ }
+ MainWindow::getInstance()->updateCornerDocking();
}
void ConfigDialog::storeSelectedFormatters()
@@ -927,6 +947,11 @@ void ConfigDialog::applyShortcutsFilter(const QString &filter)
}
}
+void ConfigDialog::markRequiresSchemasRefresh()
+{
+ requiresSchemasRefresh = true;
+}
+
void ConfigDialog::updatePluginCategoriesVisibility(QTreeWidgetItem* categoryItem)
{
categoryItem->setHidden(categoryItem->childCount() == 0);