diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.cpp b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.cpp index 1399d7e921ab31691a5c45d14824bc4cc5b22772..9cffd463c8451a85d55002d39acfff9f6a5434ff 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.cpp +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.cpp @@ -9,15 +9,12 @@ #include FolderConfigureSettingsGeneralWidget::FolderConfigureSettingsGeneralWidget(QWidget *parent) - : QWidget(parent) + : FolderConfigureSettingsPageBase(parent) { - QVBoxLayout *mainLayout = new QVBoxLayout(this); - mainLayout->setObjectName(QStringLiteral("mainLayout")); - mCollectionGeneralWidget = new MailCommon::CollectionGeneralWidget(this); mCollectionGeneralWidget->setObjectName(QStringLiteral("mCollectionGeneralWidget")); - mainLayout->addWidget(mCollectionGeneralWidget); - mainLayout->addStretch(); + addMainWidget(mCollectionGeneralWidget); + mMainLayout->addStretch(); } FolderConfigureSettingsGeneralWidget::~FolderConfigureSettingsGeneralWidget() @@ -26,5 +23,7 @@ FolderConfigureSettingsGeneralWidget::~FolderConfigureSettingsGeneralWidget() void FolderConfigureSettingsGeneralWidget::save(Akonadi::Collection &col) { - mCollectionGeneralWidget->save(col); + if (wasModified()) { + mCollectionGeneralWidget->save(col); + } } diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.h b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.h index 20edc0a684bd262aa3c1dcb6b2254ceb3fe65d6b..235563a25df37873a4be20db62b8220b18636ac7 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.h +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsgeneralwidget.h @@ -9,11 +9,12 @@ #include #include "folderconfiguresettings_private_export.h" +#include "folderconfiguresettingspagebase.h" #include namespace MailCommon { class CollectionGeneralWidget; } -class LIBFOLDERCONFIGURESETTINGS_TESTS_EXPORT FolderConfigureSettingsGeneralWidget : public QWidget +class LIBFOLDERCONFIGURESETTINGS_TESTS_EXPORT FolderConfigureSettingsGeneralWidget : public FolderConfigureSettingsPageBase { Q_OBJECT public: diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingspagebase.cpp b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingspagebase.cpp index 52b41923f48ce857335439667cb8e609a9105ac5..d3e911686800e04104ab1f85be11326f1493ea00 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingspagebase.cpp +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingspagebase.cpp @@ -19,6 +19,7 @@ FolderConfigureSettingsPageBase::FolderConfigureSettingsPageBase(QWidget *parent mModifyCheckBox = new QCheckBox(i18n("Modify Settings"), this); mModifyCheckBox->setObjectName(QStringLiteral("mModifiedCheckBox")); mModifyCheckBox->setChecked(false); + mMainLayout->addWidget(mModifyCheckBox); connect(mModifyCheckBox, &QCheckBox::clicked, this, &FolderConfigureSettingsPageBase::slotModifyClicked); } diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.cpp b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.cpp index 25b5dc7496a92dc159d13b323b3a2b3e38dee03b..3eb653707c9247828e62e6a440aeb01e5b3aa68d 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.cpp +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.cpp @@ -9,14 +9,11 @@ #include FolderConfigureSettingsTemplateWidget::FolderConfigureSettingsTemplateWidget(QWidget *parent) - : QWidget(parent) + : FolderConfigureSettingsPageBase(parent) { - QVBoxLayout *mainLayout = new QVBoxLayout(this); - mainLayout->setObjectName(QStringLiteral("mainLayout")); - mainLayout->setContentsMargins(0, 0, 0, 0); mCollectionTemplateWidget = new MailCommon::CollectionTemplatesWidget(this); mCollectionTemplateWidget->setObjectName(QStringLiteral("mCollectionTemplateWidget")); - mainLayout->addWidget(mCollectionTemplateWidget); + addMainWidget(mCollectionTemplateWidget); } FolderConfigureSettingsTemplateWidget::~FolderConfigureSettingsTemplateWidget() @@ -25,5 +22,7 @@ FolderConfigureSettingsTemplateWidget::~FolderConfigureSettingsTemplateWidget() void FolderConfigureSettingsTemplateWidget::save(Akonadi::Collection &col) { - mCollectionTemplateWidget->save(col); + if (wasModified()) { + mCollectionTemplateWidget->save(col); + } } diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.h b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.h index 7f0b46cd8103a5851ec550f7c2e087c4e86090b9..37146ba3bca5297d55607d1172793d4e29b3a76a 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.h +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingstemplatewidget.h @@ -7,12 +7,14 @@ #ifndef FOLDERCONFIGURESETTINGSTEMPLATEWIDGET_H #define FOLDERCONFIGURESETTINGSTEMPLATEWIDGET_H +#include "folderconfiguresettingspagebase.h" + #include #include namespace MailCommon { class CollectionTemplatesWidget; } -class FolderConfigureSettingsTemplateWidget : public QWidget +class FolderConfigureSettingsTemplateWidget : public FolderConfigureSettingsPageBase { Q_OBJECT public: diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.cpp b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.cpp index ed9bbea1d1500ce7945b67ec9ff7b6f0683c27da..d3b11f4cad14a4b06f0c80ea907d6b4cc64168e1 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.cpp +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.cpp @@ -9,13 +9,11 @@ #include FolderConfigureSettingsViewWidget::FolderConfigureSettingsViewWidget(QWidget *parent) - : QWidget(parent) + : FolderConfigureSettingsPageBase(parent) { - QVBoxLayout *mainLayout = new QVBoxLayout(this); - mainLayout->setObjectName(QStringLiteral("mainLayout")); mCollectionViewWidget = new MailCommon::CollectionViewWidget(this); mCollectionViewWidget->setObjectName(QStringLiteral("mCollectionTemplateWidget")); - mainLayout->addWidget(mCollectionViewWidget); + addMainWidget(mCollectionViewWidget); } FolderConfigureSettingsViewWidget::~FolderConfigureSettingsViewWidget() @@ -24,5 +22,7 @@ FolderConfigureSettingsViewWidget::~FolderConfigureSettingsViewWidget() void FolderConfigureSettingsViewWidget::save(Akonadi::Collection &col) { - mCollectionViewWidget->save(col); + if (wasModified()) { + mCollectionViewWidget->save(col); + } } diff --git a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.h b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.h index 72ed3e85da6b9b08b77de290dab7bd45e68f354e..76f29cbc5b76548a6da3d20a2e374cf1f5b22fc5 100644 --- a/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.h +++ b/plugins/messageviewerconfigureplugins/foldersettings/folderconfiguresettingsviewwidget.h @@ -7,12 +7,14 @@ #ifndef FOLDERCONFIGURESETTINGSVIEWWIDGET_H #define FOLDERCONFIGURESETTINGSVIEWWIDGET_H +#include "folderconfiguresettingspagebase.h" + #include #include namespace MailCommon { class CollectionViewWidget; } -class FolderConfigureSettingsViewWidget : public QWidget +class FolderConfigureSettingsViewWidget : public FolderConfigureSettingsPageBase { Q_OBJECT public: