diff --git a/CMakeLists.txt b/CMakeLists.txt index 163866b309466c2a1f0dc69b42fd9fa3b12933ac..637e954198a022d240435a7f39a6ca182e00941e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED DBus Network Test Widgets WebEngine WebEngineWidgets) set(LIBGRAVATAR_VERSION "5.15.40") -set(MAILCOMMON_LIB_VERSION "5.15.42") +set(MAILCOMMON_LIB_VERSION "5.15.44") set(MESSAGELIB_LIB_VERSION "5.15.40") set(LIBKLEO_LIB_VERSION "5.15.40") set(PIMCOMMON_LIB_VERSION "5.15.40") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c5a11b0f2d6e966ada08b9c54966a673e1a53773..33f6dfad08214e8b317cc4a8427fb8ca2a2e5cf8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,7 +43,6 @@ set(kmailprivate_folderarchive_LIB_SRCS ) set(kmailprivate_collectionpage_LIB_SRCS collectionpage/collectiontemplatespage.cpp - collectionpage/collectiontemplateswidget.cpp collectionpage/collectionviewpage.cpp collectionpage/collectionquotapage.cpp collectionpage/collectionquotawidget.cpp diff --git a/src/collectionpage/collectiontemplatespage.cpp b/src/collectionpage/collectiontemplatespage.cpp index b8793cca98ffb2c1000cf3fe4088b8a36cdf2593..e60b1979c3e46d3642e9fe1f6d1ce33eaa04feb9 100644 --- a/src/collectionpage/collectiontemplatespage.cpp +++ b/src/collectionpage/collectiontemplatespage.cpp @@ -5,7 +5,7 @@ */ #include "collectiontemplatespage.h" -#include "collectiontemplateswidget.h" +#include #include #include @@ -40,7 +40,7 @@ void CollectionTemplatesPage::init() { QVBoxLayout *topLayout = new QVBoxLayout(this); topLayout->setContentsMargins({}); - mCollectionTemplateWidget = new CollectionTemplatesWidget(this); + mCollectionTemplateWidget = new MailCommon::CollectionTemplatesWidget(this); topLayout->addWidget(mCollectionTemplateWidget); } diff --git a/src/collectionpage/collectiontemplatespage.h b/src/collectionpage/collectiontemplatespage.h index 084c80801d4388a2195fa3ac82d28fc77bf9c424..1d2350c5f030eec2b7acd46b2c66fdbce05c8909 100644 --- a/src/collectionpage/collectiontemplatespage.h +++ b/src/collectionpage/collectiontemplatespage.h @@ -7,8 +7,9 @@ #ifndef COLLECTIONTEMPLATESPAGE_H #define COLLECTIONTEMPLATESPAGE_H #include - +namespace MailCommon { class CollectionTemplatesWidget; +} template class QSharedPointer; class CollectionTemplatesPage : public Akonadi::CollectionPropertiesPage @@ -26,7 +27,7 @@ private: void slotCopyGlobal(); void slotChanged(); void init(); - CollectionTemplatesWidget *mCollectionTemplateWidget = nullptr; + MailCommon::CollectionTemplatesWidget *mCollectionTemplateWidget = nullptr; }; AKONADI_COLLECTION_PROPERTIES_PAGE_FACTORY(CollectionTemplatesPageFactory, CollectionTemplatesPage) diff --git a/src/collectionpage/collectiontemplateswidget.cpp b/src/collectionpage/collectiontemplateswidget.cpp deleted file mode 100644 index 95c7c0b53017a6b3f288ac09bb7902d2254e9d61..0000000000000000000000000000000000000000 --- a/src/collectionpage/collectiontemplateswidget.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* - SPDX-FileCopyrightText: 2020 Laurent Montel - - SPDX-License-Identifier: GPL-2.0-or-later -*/ - -#include "collectiontemplateswidget.h" - -#include -#include "templatesconfiguration_kfg.h" - -#include -#include -#include -#include -#include - -CollectionTemplatesWidget::CollectionTemplatesWidget(QWidget *parent) - : QWidget(parent) -{ - QVBoxLayout *topLayout = new QVBoxLayout(this); - QHBoxLayout *topItems = new QHBoxLayout; - topItems->setContentsMargins(0, 0, 0, 0); - topLayout->addLayout(topItems); - - mCustom = new QCheckBox(i18n("&Use custom message templates in this folder"), this); - connect(mCustom, &QCheckBox::clicked, this, &CollectionTemplatesWidget::slotChanged); - topItems->addWidget(mCustom, Qt::AlignLeft); - - mWidget = new TemplateParser::TemplatesConfiguration(this, QStringLiteral("folder-templates")); - connect(mWidget, &TemplateParser::TemplatesConfiguration::changed, this, &CollectionTemplatesWidget::slotChanged); - mWidget->setEnabled(false); - - // Move the help label outside of the templates configuration widget, - // so that the help can be read even if the widget is not enabled. - topItems->addStretch(9); - topItems->addWidget(mWidget->helpLabel(), Qt::AlignRight); - - topLayout->addWidget(mWidget); - - QHBoxLayout *btns = new QHBoxLayout(); - QPushButton *copyGlobal = new QPushButton(i18n("&Copy Global Templates"), this); - copyGlobal->setEnabled(false); - btns->addWidget(copyGlobal); - topLayout->addLayout(btns); - - connect(mCustom, &QCheckBox::toggled, mWidget, &TemplateParser::TemplatesConfiguration::setEnabled); - connect(mCustom, &QCheckBox::toggled, copyGlobal, &QPushButton::setEnabled); - - connect(copyGlobal, &QPushButton::clicked, this, &CollectionTemplatesWidget::slotCopyGlobal); -} - -CollectionTemplatesWidget::~CollectionTemplatesWidget() -{ - -} - -void CollectionTemplatesWidget::save(const Akonadi::Collection &) -{ - if (mChanged && !mCollectionId.isEmpty()) { - TemplateParser::Templates t(mCollectionId); - //qCDebug(KMAIL_LOG) << "use custom templates for folder" << fid <<":" << mCustom->isChecked(); - t.setUseCustomTemplates(mCustom->isChecked()); - t.save(); - - mWidget->saveToFolder(mCollectionId); - } -} - -void CollectionTemplatesWidget::slotCopyGlobal() -{ - if (mIdentity) { - mWidget->loadFromIdentity(mIdentity); - } else { - mWidget->loadFromGlobal(); - } -} - -void CollectionTemplatesWidget::slotChanged() -{ - mChanged = true; -} - -void CollectionTemplatesWidget::load(const Akonadi::Collection &col) -{ - const QSharedPointer fd = MailCommon::FolderSettings::forCollection(col, false); - if (!fd) { - return; - } - - mCollectionId = QString::number(col.id()); - - TemplateParser::Templates t(mCollectionId); - - mCustom->setChecked(t.useCustomTemplates()); - - mIdentity = fd->identity(); - - mWidget->loadFromFolder(mCollectionId, mIdentity); - mChanged = false; -} diff --git a/src/collectionpage/collectiontemplateswidget.h b/src/collectionpage/collectiontemplateswidget.h deleted file mode 100644 index d4c695d4743ae52371f288188941944dcfc862b6..0000000000000000000000000000000000000000 --- a/src/collectionpage/collectiontemplateswidget.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - SPDX-FileCopyrightText: 2020 Laurent Montel - - SPDX-License-Identifier: GPL-2.0-or-later -*/ - -#ifndef COLLECTIONTEMPLATESWIDGET_H -#define COLLECTIONTEMPLATESWIDGET_H - -#include -#include -class QCheckBox; -namespace TemplateParser { -class TemplatesConfiguration; -} - - -class CollectionTemplatesWidget : public QWidget -{ - Q_OBJECT -public: - explicit CollectionTemplatesWidget(QWidget *parent = nullptr); - ~CollectionTemplatesWidget(); - void save(const Akonadi::Collection &); - void load(const Akonadi::Collection &col); -private: - void slotCopyGlobal(); - void slotChanged(); - QCheckBox *mCustom = nullptr; - TemplateParser::TemplatesConfiguration *mWidget = nullptr; - QString mCollectionId; - uint mIdentity = 0; - bool mChanged = false; -}; - -#endif // COLLECTIONTEMPLATESWIDGET_H