mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-01-20 11:00:44 -06:00
Use our Settings class everywhere
Don't use the QSettings class directly. This keeps the code more consistent and makes it a bit easier to read. It also means that all parts of the code profit from the settings cache that we have implemented in the Settings class.
This commit is contained in:
@@ -2,15 +2,10 @@
|
||||
#include "ui_ExportSqlDialog.h"
|
||||
#include "sqlitedb.h"
|
||||
#include "FileDialog.h"
|
||||
#include "Settings.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <QSettings>
|
||||
|
||||
static QString sSettingsGroup("exportsql");
|
||||
static QString sSettingsInsertColNames("insertcolnames");
|
||||
static QString sSettingsInsertMultiple("insertmultiple");
|
||||
static QString sSettingsOldSchema("oldschema");
|
||||
|
||||
enum WhatComboEntries
|
||||
{
|
||||
@@ -27,11 +22,10 @@ ExportSqlDialog::ExportSqlDialog(DBBrowserDB* db, QWidget* parent, const QString
|
||||
// Create UI
|
||||
ui->setupUi(this);
|
||||
|
||||
QSettings settings(QApplication::organizationName(), QApplication::organizationName());
|
||||
settings.beginGroup(sSettingsGroup);
|
||||
ui->checkColNames->setChecked(settings.value(sSettingsInsertColNames, false).toBool());
|
||||
ui->checkMultiple->setChecked(settings.value(sSettingsInsertMultiple, false).toBool());
|
||||
ui->comboOldSchema->setCurrentIndex(settings.value(sSettingsOldSchema, 0).toInt());
|
||||
// Load settings
|
||||
ui->checkColNames->setChecked(Settings::getValue("exportsql", "insertcolnames").toBool());
|
||||
ui->checkColNames->setChecked(Settings::getValue("exportsql", "insertmultiple").toBool());
|
||||
ui->comboOldSchema->setCurrentIndex(Settings::getValue("exportsql", "oldschema").toInt());
|
||||
|
||||
// Get list of tables to export
|
||||
objectMap objects = pdb->getBrowsableObjects("main");
|
||||
@@ -96,13 +90,10 @@ void ExportSqlDialog::accept()
|
||||
if(fileName.isEmpty())
|
||||
return;
|
||||
|
||||
// save settings
|
||||
QSettings settings(QApplication::organizationName(), QApplication::organizationName());
|
||||
settings.beginGroup(sSettingsGroup);
|
||||
settings.setValue(sSettingsInsertColNames, ui->checkColNames->isChecked());
|
||||
settings.setValue(sSettingsInsertMultiple, ui->checkMultiple->isChecked());
|
||||
settings.setValue(sSettingsOldSchema, ui->comboOldSchema->currentIndex());
|
||||
settings.endGroup();
|
||||
// Save settings
|
||||
Settings::setValue("exportsql", "insertcolnames", ui->checkColNames->isChecked());
|
||||
Settings::setValue("exportsql", "insertmultiple", ui->checkMultiple->isChecked());
|
||||
Settings::setValue("exportsql", "oldschema", ui->comboOldSchema->currentIndex());
|
||||
|
||||
QStringList tables;
|
||||
for(const QListWidgetItem* item : ui->listTables->selectedItems())
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "sqlitedb.h"
|
||||
#include "csvparser.h"
|
||||
#include "sqlite.h"
|
||||
#include "Settings.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <QProgressDialog>
|
||||
@@ -13,7 +14,6 @@
|
||||
#include <QComboBox>
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
#include <QSettings>
|
||||
#include <QFileInfo>
|
||||
#include <memory>
|
||||
|
||||
@@ -54,13 +54,12 @@ ImportCsvDialog::ImportCsvDialog(const QStringList &filenames, DBBrowserDB* db,
|
||||
ui->comboQuote->blockSignals(true);
|
||||
ui->comboEncoding->blockSignals(true);
|
||||
|
||||
QSettings settings(QApplication::organizationName(), QApplication::organizationName());
|
||||
ui->checkboxHeader->setChecked(settings.value("importcsv/firstrowheader", false).toBool());
|
||||
ui->checkBoxTrimFields->setChecked(settings.value("importcsv/trimfields", true).toBool());
|
||||
ui->checkBoxSeparateTables->setChecked(settings.value("importcsv/separatetables", false).toBool());
|
||||
setSeparatorChar(QChar(settings.value("importcsv/separator", ',').toInt()));
|
||||
setQuoteChar(QChar(settings.value("importcsv/quotecharacter", '"').toInt()));
|
||||
setEncoding(settings.value("importcsv/encoding", "UTF-8").toString());
|
||||
ui->checkboxHeader->setChecked(Settings::getValue("importcsv", "firstrowheader").toBool());
|
||||
ui->checkBoxTrimFields->setChecked(Settings::getValue("importcsv", "trimfields").toBool());
|
||||
ui->checkBoxSeparateTables->setChecked(Settings::getValue("importcsv", "separatetables").toBool());
|
||||
setSeparatorChar(Settings::getValue("importcsv", "separator").toChar());
|
||||
setQuoteChar(Settings::getValue("importcsv", "quotecharacter").toChar());
|
||||
setEncoding(Settings::getValue("importcsv", "encoding").toString());
|
||||
|
||||
ui->checkboxHeader->blockSignals(false);
|
||||
ui->checkBoxTrimFields->blockSignals(false);
|
||||
@@ -157,16 +156,13 @@ private:
|
||||
|
||||
void ImportCsvDialog::accept()
|
||||
{
|
||||
// save settings
|
||||
QSettings settings(QApplication::organizationName(), QApplication::organizationName());
|
||||
settings.beginGroup("importcsv");
|
||||
settings.setValue("firstrowheader", ui->checkboxHeader->isChecked());
|
||||
settings.setValue("separator", currentSeparatorChar());
|
||||
settings.setValue("quotecharacter", currentQuoteChar());
|
||||
settings.setValue("trimfields", ui->checkBoxTrimFields->isChecked());
|
||||
settings.setValue("separatetables", ui->checkBoxSeparateTables->isChecked());
|
||||
settings.setValue("encoding", currentEncoding());
|
||||
settings.endGroup();
|
||||
// Save settings
|
||||
Settings::setValue("importcsv", "firstrowheader", ui->checkboxHeader->isChecked());
|
||||
Settings::setValue("importcsv", "separator", currentSeparatorChar());
|
||||
Settings::setValue("importcsv", "quotecharacter", currentQuoteChar());
|
||||
Settings::setValue("importcsv", "trimfields", ui->checkBoxTrimFields->isChecked());
|
||||
Settings::setValue("importcsv", "separatetables", ui->checkBoxSeparateTables->isChecked());
|
||||
Settings::setValue("importcsv", "encoding", currentEncoding());
|
||||
|
||||
// Get all the selected files and start the import
|
||||
if (ui->filePickerBlock->isVisible())
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
#include <QScrollBar>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QElapsedTimer>
|
||||
#include <QSettings>
|
||||
#include <QMimeData>
|
||||
#include <QColorDialog>
|
||||
#include <QDesktopServices>
|
||||
@@ -1909,10 +1908,9 @@ void MainWindow::checkNewVersion(const QString& versionstring, const QString& ur
|
||||
|
||||
if(newversion)
|
||||
{
|
||||
QSettings settings(QApplication::organizationName(), QApplication::organizationName());
|
||||
int ignmajor = settings.value("checkversion/ignmajor", 999).toInt();
|
||||
int ignminor = settings.value("checkversion/ignminor", 0).toInt();
|
||||
int ignpatch = settings.value("checkversion/ignpatch", 0).toInt();
|
||||
int ignmajor = Settings::getValue("checkversion", "ignmajor").toInt();
|
||||
int ignminor = Settings::getValue("checkversion", "ignminor").toInt();
|
||||
int ignpatch = Settings::getValue("checkversion", "ignpatch").toInt();
|
||||
|
||||
// check if the user doesn't care about the current update
|
||||
if(!(ignmajor == major && ignminor == minor && ignpatch == patch))
|
||||
@@ -1930,11 +1928,9 @@ void MainWindow::checkNewVersion(const QString& versionstring, const QString& ur
|
||||
if(msgBox.clickedButton() == idontcarebutton)
|
||||
{
|
||||
// save that the user don't want to get bothered about this update
|
||||
settings.beginGroup("checkversion");
|
||||
settings.setValue("ignmajor", major);
|
||||
settings.setValue("ignminor", minor);
|
||||
settings.setValue("ignpatch", patch);
|
||||
settings.endGroup();
|
||||
Settings::setValue("checkversion", "ignmajor", major);
|
||||
Settings::setValue("checkversion", "ignminor", minor);
|
||||
Settings::setValue("checkversion", "ignpatch", patch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +90,32 @@ QVariant Settings::getDefaultValue(const QString& group, const QString& name)
|
||||
if(group == "exportcsv" && name == "quotecharacter")
|
||||
return '"';
|
||||
|
||||
// importcsv group?
|
||||
if(group == "importcsv")
|
||||
{
|
||||
if(name == "firstrowheader")
|
||||
return false;
|
||||
if(name == "trimfields")
|
||||
return true;
|
||||
if(name == "separatetables")
|
||||
return false;
|
||||
if(name == "separator")
|
||||
return ',';
|
||||
if(name == "quotecharacter")
|
||||
return '"';
|
||||
if(name == "encoding")
|
||||
return "UTF-8";
|
||||
}
|
||||
|
||||
// exportsql group?
|
||||
if(group == "exportsql")
|
||||
{
|
||||
if(name == "insertcolnames" || name == "insertmultiple")
|
||||
return false;
|
||||
if(name == "oldschema")
|
||||
return 0;
|
||||
}
|
||||
|
||||
// newline character
|
||||
if (group == "exportcsv" && name == "newlinecharacters")
|
||||
#ifdef Q_OS_WIN
|
||||
@@ -122,9 +148,16 @@ QVariant Settings::getDefaultValue(const QString& group, const QString& name)
|
||||
if(group == "General" && name == "language")
|
||||
return QLocale::system().name();
|
||||
|
||||
// checkversion/enabled
|
||||
if(group == "checkversion" && name == "enabled")
|
||||
return true;
|
||||
// checkversion group?
|
||||
if(group == "checkversion")
|
||||
{
|
||||
if(name == "enabled")
|
||||
return true;
|
||||
if(name == "ignmajor")
|
||||
return 999;
|
||||
if(name == "ignminor" || name == "ignpatch")
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Data Browser/NULL Fields
|
||||
if(group == "databrowser")
|
||||
|
||||
Reference in New Issue
Block a user