summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-10-19 21:19:49 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2018-10-19 21:20:11 +0200
commit65807b8c2383023f7db69dea885c2f25a5abfeab (patch)
tree1d789b81bf679709836f01f5d80162d5611bcb9c /kde-apps/kmail/files
parenteclass/rust-toolchain: switch back to tar.xz for sources (diff)
downloadgentoo-65807b8c2383023f7db69dea885c2f25a5abfeab.tar.gz
gentoo-65807b8c2383023f7db69dea885c2f25a5abfeab.tar.bz2
gentoo-65807b8c2383023f7db69dea885c2f25a5abfeab.zip
kde-apps/kmail: Fix main/status toolbar option persistence
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=396339 KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=395988 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'kde-apps/kmail/files')
-rw-r--r--kde-apps/kmail/files/kmail-18.04.3-no-sync-after-save.patch90
-rw-r--r--kde-apps/kmail/files/kmail-18.04.3-setAutoSaveSettings.patch52
2 files changed, 142 insertions, 0 deletions
diff --git a/kde-apps/kmail/files/kmail-18.04.3-no-sync-after-save.patch b/kde-apps/kmail/files/kmail-18.04.3-no-sync-after-save.patch
new file mode 100644
index 000000000000..c770dac239b4
--- /dev/null
+++ b/kde-apps/kmail/files/kmail-18.04.3-no-sync-after-save.patch
@@ -0,0 +1,90 @@
+From fcd21f9712143afb956dca2f67fb930fffc074fd Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Tue, 31 Jul 2018 11:59:24 +0200
+Subject: KMail: don't sync after save, don't reload after last sync
+
+Summary:
+* save() takes care of sync() already, if anything changed.
+* When quitting there's no reason to reload the configuration.
+
+Test Plan: None yet
+
+Reviewers: mlaurent
+
+Reviewed By: mlaurent
+
+Subscribers: kde-pim
+
+Tags: #kde_pim
+
+Differential Revision: https://phabricator.kde.org/D14509
+---
+ src/kmkernel.cpp | 26 +++++++++++++++-----------
+ src/kmkernel.h | 1 +
+ 2 files changed, 16 insertions(+), 11 deletions(-)
+
+diff --git a/src/kmkernel.cpp b/src/kmkernel.cpp
+index aafb9ee..7af593d 100644
+--- a/src/kmkernel.cpp
++++ b/src/kmkernel.cpp
+@@ -231,7 +231,7 @@ KMKernel::~KMKernel()
+ mMailService = nullptr;
+
+ stopAgentInstance();
+- slotSyncConfig();
++ saveConfig();
+
+ delete mAutoCorrection;
+ delete mMailCommonSettings;
+@@ -1172,16 +1172,7 @@ void KMKernel::slotRequestConfigSync()
+
+ void KMKernel::slotSyncConfig()
+ {
+- PimCommon::PimCommonSettings::self()->save();
+- MessageCore::MessageCoreSettings::self()->save();
+- MessageViewer::MessageViewerSettings::self()->save();
+- MessageComposer::MessageComposerSettings::self()->save();
+- TemplateParser::TemplateParserSettings::self()->save();
+- MessageList::MessageListSettings::self()->save();
+- mMailCommonSettings->save();
+- Gravatar::GravatarSettings::self()->save();
+- KMailSettings::self()->save();
+- KMKernel::config()->sync();
++ saveConfig();
+ //Laurent investigate why we need to reload them.
+ PimCommon::PimCommonSettings::self()->load();
+ MessageCore::MessageCoreSettings::self()->load();
+@@ -1195,6 +1186,19 @@ void KMKernel::slotSyncConfig()
+ KMKernel::config()->reparseConfiguration();
+ }
+
++void KMKernel::saveConfig()
++{
++ PimCommon::PimCommonSettings::self()->save();
++ MessageCore::MessageCoreSettings::self()->save();
++ MessageViewer::MessageViewerSettings::self()->save();
++ MessageComposer::MessageComposerSettings::self()->save();
++ TemplateParser::TemplateParserSettings::self()->save();
++ MessageList::MessageListSettings::self()->save();
++ mMailCommonSettings->save();
++ Gravatar::GravatarSettings::self()->save();
++ KMailSettings::self()->save();
++}
++
+ void KMKernel::updateConfig()
+ {
+ slotConfigChanged();
+diff --git a/src/kmkernel.h b/src/kmkernel.h
+index e7fc071..f5da22d 100644
+--- a/src/kmkernel.h
++++ b/src/kmkernel.h
+@@ -487,6 +487,7 @@ private:
+ void resourceGoOnLine();
+ void openReader(bool onlyCheck);
+ QSharedPointer<MailCommon::FolderSettings> currentFolderCollection();
++ void saveConfig();
+
+ KMail::UndoStack *the_undoStack = nullptr;
+ MessageComposer::AkonadiSender *the_msgSender = nullptr;
+--
+cgit v0.11.2
diff --git a/kde-apps/kmail/files/kmail-18.04.3-setAutoSaveSettings.patch b/kde-apps/kmail/files/kmail-18.04.3-setAutoSaveSettings.patch
new file mode 100644
index 000000000000..a7377b61f190
--- /dev/null
+++ b/kde-apps/kmail/files/kmail-18.04.3-setAutoSaveSettings.patch
@@ -0,0 +1,52 @@
+From 814f0db2a1ae5b15bf91909ce80a5d6792f9aeed Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 29 Jul 2018 13:05:38 +0200
+Subject: Port to setAutoSaveSettings so that saving happens before hiding.
+
+Summary:
+See d35a882895 in kxmlgui for more complete explanation.
+
+BUG: 396339
+CCBUG: 395988
+
+Test Plan: kmail ; Alt+F4 ; kmail -> now the statusbar and toolbar are visible again
+
+Reviewers: ngraham, elvisangelaccio, broulik, cfeck, mlaurent
+
+Reviewed By: mlaurent
+
+Subscribers: kde-pim
+
+Tags: #kde_pim
+
+Differential Revision: https://phabricator.kde.org/D14454
+---
+ src/kmmainwin.cpp | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/src/kmmainwin.cpp b/src/kmmainwin.cpp
+index ce3b042..f3550ba 100644
+--- a/src/kmmainwin.cpp
++++ b/src/kmmainwin.cpp
+@@ -76,7 +76,7 @@ KMMainWin::KMMainWin(QWidget *)
+ createGUI(QStringLiteral("kmmainwin.rc"));
+
+ //must be after createGUI, otherwise e.g toolbar settings are not loaded
+- applyMainWindowSettings(KMKernel::self()->config()->group("Main Window"));
++ setAutoSaveSettings(KMKernel::self()->config()->group("Main Window"));
+
+ connect(KPIM::BroadcastStatus::instance(), &KPIM::BroadcastStatus::statusMsg,
+ this, &KMMainWin::displayStatusMessage);
+@@ -94,10 +94,6 @@ KMMainWin::~KMMainWin()
+ // Avoids a crash if there are any Akonadi jobs running, which may
+ // attempt to display a status message when they are killed.
+ disconnect(KPIM::BroadcastStatus::instance(), &KPIM::BroadcastStatus::statusMsg, this, nullptr);
+-
+- KConfigGroup grp(KMKernel::self()->config()->group("Main Window"));
+- saveMainWindowSettings(grp);
+- KMKernel::self()->config()->sync();
+ }
+
+ KMMainWidget *KMMainWin::mainKMWidget() const
+--
+cgit v0.11.2