File fix-saving-adblock-settings.patch of Package kdepim-addons.8020

From 45191cfc8875ba4433ea6f35cbe85db89e703a67 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <wbauer@tmo.at>
Date: Sun, 30 Jul 2017 10:57:50 +0200
Subject: Create ~/.local/share/adblock/ if it doesn't exist

Otherwise saving manual filters will fail, which will also result in the
general settings (Enable Ad Block, Hide filtered elements, Update
interval) not getting written at all.

Differential Revision: https://phabricator.kde.org/D6980
---
 .../adblock/lib/widgets/adblocksettingwidget.cpp                      | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/plugins/webengineurlinterceptor/adblock/lib/widgets/adblocksettingwidget.cpp b/plugins/webengineurlinterceptor/adblock/lib/widgets/adblocksettingwidget.cpp
index 3e9abf2..8e90aae 100644
--- a/plugins/webengineurlinterceptor/adblock/lib/widgets/adblocksettingwidget.cpp
+++ b/plugins/webengineurlinterceptor/adblock/lib/widgets/adblocksettingwidget.cpp
@@ -57,6 +57,7 @@ using namespace PimCommon::ConfigureImmutableWidgetUtils;
 #include <QTextStream>
 #include <QStandardPaths>
 #include <QRegularExpression>
+#include <QDir>
 #include <KRun>
 
 using namespace AdBlock;
@@ -289,6 +290,9 @@ void AdBlockSettingWidget::save()
         config.deleteGroup(group);
     }
 
+    // make sure the directory exists, otherwise saving the filters will fail
+    QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/adblock"));
+
     const int numberItem(mUi->automaticFiltersListWidget->count());
     for (int i = 0; i < numberItem; ++i) {
         QListWidgetItem *subItem = mUi->automaticFiltersListWidget->item(i);
-- 
cgit v0.11.2

openSUSE Build Service is sponsored by