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