diff --git a/src/app/tape/dialogs/dialogexporttocsv.cpp b/src/app/tape/dialogs/dialogexporttocsv.cpp index d1058598c..eb11edb7c 100644 --- a/src/app/tape/dialogs/dialogexporttocsv.cpp +++ b/src/app/tape/dialogs/dialogexporttocsv.cpp @@ -32,6 +32,7 @@ #include "../vmisc/vtapesettings.h" #include "../mapplication.h" +#include #include #include @@ -53,6 +54,10 @@ DialogExportToCSV::DialogExportToCSV(QWidget *parent) ui->comboBoxCodec->setCurrentIndex(ui->comboBoxCodec->findData(qApp->TapeSettings()->GetCSVCodec())); SetSeparator(qApp->TapeSettings()->GetCSVSeparator()); + + QPushButton *bDefaults = ui->buttonBox->button(QDialogButtonBox::RestoreDefaults); + SCASSERT(bDefaults != nullptr); + connect(bDefaults, &QPushButton::clicked, this, &DialogExportToCSV::RestoreDefaults); } //--------------------------------------------------------------------------------------------------------------------- @@ -132,6 +137,15 @@ void DialogExportToCSV::showEvent(QShowEvent *event) isInitialized = true;//first show windows are held } +//--------------------------------------------------------------------------------------------------------------------- +void DialogExportToCSV::RestoreDefaults() +{ + ui->checkBoxWithHeader->setChecked(qApp->TapeSettings()->GetDefCSVWithHeader()); + ui->comboBoxCodec->setCurrentIndex(ui->comboBoxCodec->findData(qApp->TapeSettings()->GetDefCSVCodec())); + + SetSeparator(qApp->TapeSettings()->GetDefCSVSeparator()); +} + //--------------------------------------------------------------------------------------------------------------------- void DialogExportToCSV::SetSeparator(const QChar &separator) { diff --git a/src/app/tape/dialogs/dialogexporttocsv.h b/src/app/tape/dialogs/dialogexporttocsv.h index 5c684d934..3630ab57f 100644 --- a/src/app/tape/dialogs/dialogexporttocsv.h +++ b/src/app/tape/dialogs/dialogexporttocsv.h @@ -51,6 +51,9 @@ protected: virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE; virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE; +private slots: + void RestoreDefaults(); + private: Q_DISABLE_COPY(DialogExportToCSV) Ui::DialogExportToCSV *ui; diff --git a/src/app/tape/dialogs/dialogexporttocsv.ui b/src/app/tape/dialogs/dialogexporttocsv.ui index 786270467..c91663e38 100644 --- a/src/app/tape/dialogs/dialogexporttocsv.ui +++ b/src/app/tape/dialogs/dialogexporttocsv.ui @@ -9,7 +9,7 @@ 0 0 - 298 + 333 292 @@ -17,7 +17,7 @@ Export options - + :/tapeicon/64x64/logo.png:/tapeicon/64x64/logo.png @@ -118,13 +118,15 @@ Qt::Horizontal - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults - + + + buttonBox diff --git a/src/libs/vmisc/vtapesettings.cpp b/src/libs/vmisc/vtapesettings.cpp index e98a5ed3c..5dfc482ee 100644 --- a/src/libs/vmisc/vtapesettings.cpp +++ b/src/libs/vmisc/vtapesettings.cpp @@ -93,7 +93,13 @@ void VTapeSettings::SetCSVWithHeader(bool withHeader) //--------------------------------------------------------------------------------------------------------------------- bool VTapeSettings::GetCSVWithHeader() const { - return value(SettingCSVWithHeader, false).toBool(); + return value(SettingCSVWithHeader, GetDefCSVWithHeader()).toBool(); +} + +//--------------------------------------------------------------------------------------------------------------------- +bool VTapeSettings::GetDefCSVWithHeader() const +{ + return false; } //--------------------------------------------------------------------------------------------------------------------- @@ -105,7 +111,13 @@ void VTapeSettings::SetCSVCodec(int mib) //--------------------------------------------------------------------------------------------------------------------- int VTapeSettings::GetCSVCodec() const { - return value(SettingCSVCodec, QTextCodec::codecForLocale()->mibEnum()).toInt(); + return value(SettingCSVCodec, GetDefCSVCodec()).toInt(); +} + +//--------------------------------------------------------------------------------------------------------------------- +int VTapeSettings::GetDefCSVCodec() const +{ + return QTextCodec::codecForLocale()->mibEnum(); } //--------------------------------------------------------------------------------------------------------------------- @@ -150,3 +162,9 @@ QChar VTapeSettings::GetCSVSeparator() const break; } } + +//--------------------------------------------------------------------------------------------------------------------- +QChar VTapeSettings::GetDefCSVSeparator() const +{ + return QChar(','); +} diff --git a/src/libs/vmisc/vtapesettings.h b/src/libs/vmisc/vtapesettings.h index aea93a15f..51afe5cae 100644 --- a/src/libs/vmisc/vtapesettings.h +++ b/src/libs/vmisc/vtapesettings.h @@ -49,12 +49,15 @@ public: void SetCSVWithHeader(bool withHeader); bool GetCSVWithHeader() const; + bool GetDefCSVWithHeader() const; void SetCSVCodec(int mib); int GetCSVCodec() const; + int GetDefCSVCodec() const; void SetCSVSeparator(const QChar &separator); QChar GetCSVSeparator() const; + QChar GetDefCSVSeparator() const; private: Q_DISABLE_COPY(VTapeSettings)