File indexing completed on 2024-06-16 05:00:38

0001 /*
0002    SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "pimdataexporterconfigurewidget.h"
0008 #include "pimdataexporterglobalconfig.h"
0009 #include <KLocalizedString>
0010 #include <QCheckBox>
0011 #include <QGroupBox>
0012 #include <QVBoxLayout>
0013 
0014 PimDataExporterConfigureWidget::PimDataExporterConfigureWidget(QWidget *parent)
0015     : QWidget(parent)
0016     , mAlwaysOverrideFile(new QCheckBox(i18n("Always Override File")))
0017     , mAlwaysOverrideDirectory(new QCheckBox(i18n("Always Override Directory")))
0018     , mAlwaysMergeConfigFile(new QCheckBox(i18n("Always Merge Config File")))
0019 {
0020     auto layout = new QVBoxLayout(this);
0021     layout->setContentsMargins(0, 0, 0, 0);
0022 
0023     auto groupBox = new QGroupBox(i18n("Import"));
0024     groupBox->setObjectName(QLatin1StringView("import_groupbox"));
0025     groupBox->setFlat(true);
0026     layout->addWidget(groupBox);
0027 
0028     auto groupBoxLayout = new QVBoxLayout;
0029     groupBox->setLayout(groupBoxLayout);
0030 
0031     mAlwaysOverrideFile->setObjectName(QLatin1StringView("alwaysoverridefile"));
0032     groupBoxLayout->addWidget(mAlwaysOverrideFile);
0033 
0034     mAlwaysOverrideDirectory->setObjectName(QLatin1StringView("alwaysoverridedirectory"));
0035     groupBoxLayout->addWidget(mAlwaysOverrideDirectory);
0036 
0037     mAlwaysMergeConfigFile->setObjectName(QLatin1StringView("alwaysmergeconfigfile"));
0038     groupBoxLayout->addWidget(mAlwaysMergeConfigFile);
0039     groupBoxLayout->addStretch(1);
0040 
0041     initialize();
0042 }
0043 
0044 PimDataExporterConfigureWidget::~PimDataExporterConfigureWidget() = default;
0045 
0046 void PimDataExporterConfigureWidget::initialize()
0047 {
0048     mAlwaysOverrideFile->setChecked(PimDataExportGlobalConfig::self()->alwaysOverrideFile());
0049     mAlwaysMergeConfigFile->setChecked(PimDataExportGlobalConfig::self()->alwaysMergeConfigFile());
0050     mAlwaysOverrideDirectory->setChecked(PimDataExportGlobalConfig::self()->alwaysOverrideDirectory());
0051 }
0052 
0053 void PimDataExporterConfigureWidget::save()
0054 {
0055     PimDataExportGlobalConfig::self()->setAlwaysOverrideFile(mAlwaysOverrideFile->isChecked());
0056     PimDataExportGlobalConfig::self()->setAlwaysMergeConfigFile(mAlwaysMergeConfigFile->isChecked());
0057     PimDataExportGlobalConfig::self()->setAlwaysOverrideDirectory(mAlwaysOverrideDirectory->isChecked());
0058 }
0059 
0060 void PimDataExporterConfigureWidget::resetToDefault()
0061 {
0062     const bool bUseDefaults = PimDataExportGlobalConfig::self()->useDefaults(true);
0063     initialize();
0064 
0065     PimDataExportGlobalConfig::self()->useDefaults(bUseDefaults);
0066 }
0067 
0068 #include "moc_pimdataexporterconfigurewidget.cpp"