From 76aeba07651d5c9dc9dba29a9e009c83fd1e30d2 Mon Sep 17 00:00:00 2001 From: Justin Clift Date: Wed, 25 May 2016 17:33:19 +0100 Subject: [PATCH] Update the CSV export dialog to use the PreferencesDialog methods --- src/ExportCsvDialog.cpp | 27 +++++++++++++++------------ src/PreferencesDialog.cpp | 12 ++++++++++++ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/ExportCsvDialog.cpp b/src/ExportCsvDialog.cpp index a4cf533c..0114a6e8 100644 --- a/src/ExportCsvDialog.cpp +++ b/src/ExportCsvDialog.cpp @@ -20,11 +20,17 @@ ExportCsvDialog::ExportCsvDialog(DBBrowserDB* db, QWidget* parent, const QString // Create UI ui->setupUi(this); - QSettings settings(QApplication::organizationName(), QApplication::organizationName()); - ui->checkHeader->setChecked(settings.value("exportcsv/firstrowheader", true).toBool()); - setSeparatorChar(QChar(settings.value("exportcsv/separator", ',').toInt())); - setQuoteChar(QChar(settings.value("exportcsv/quotecharacter", '"').toInt())); + // Retrieve the saved dialog preferences + bool firstRow = PreferencesDialog::getSettingsValue("exportcsv", "firstrowheader").toBool(); + int separatorChar = PreferencesDialog::getSettingsValue("exportcsv", "separator").toInt(); + int quoteChar = PreferencesDialog::getSettingsValue("exportcsv", "quotecharacter").toInt(); + // Set the widget values using the retrieved preferences + ui->checkHeader->setChecked(firstRow); + setSeparatorChar(separatorChar); + setQuoteChar(quoteChar); + + // Update the visible/hidden status of the "Other" line edit fields showCustomCharEdits(); // If a SQL query was specified hide the table combo box. If not fill it with tables to export @@ -223,15 +229,12 @@ void ExportCsvDialog::accept() } } - // save settings - QSettings settings(QApplication::organizationName(), QApplication::organizationName()); - settings.beginGroup("exportcsv"); - settings.setValue("firstrowheader", ui->checkHeader->isChecked()); - settings.setValue("separator", currentSeparatorChar()); - settings.setValue("quotecharacter", currentQuoteChar()); - settings.endGroup(); - + // Save the dialog preferences for future use + PreferencesDialog::setSettingsValue("exportcsv", "firstrowheader", ui->checkHeader->isChecked(), false); + PreferencesDialog::setSettingsValue("exportcsv", "separator", currentSeparatorChar(), false); + PreferencesDialog::setSettingsValue("exportcsv", "quotecharacter", currentQuoteChar(), false); + // Notify the user the export has completed QMessageBox::information(this, QApplication::applicationName(), tr("Export completed.")); QDialog::accept(); } diff --git a/src/PreferencesDialog.cpp b/src/PreferencesDialog.cpp index 62230250..ae956e4d 100644 --- a/src/PreferencesDialog.cpp +++ b/src/PreferencesDialog.cpp @@ -231,6 +231,18 @@ QVariant PreferencesDialog::getSettingsDefaultValue(const QString& group, const if(group == "db" && name == "defaultsqltext") return ""; + // exportcsv/firstrowheader? + if(group == "exportcsv" && name == "firstrowheader") + return true; + + // exportcsv/separator? + if(group == "exportcsv" && name == "separator") + return ','; + + // exportcsv/quotecharacter? + if(group == "exportcsv" && name == "quotecharacter") + return '"'; + // MainWindow/geometry? if(group == "MainWindow" && name == "geometry") return "";