diff --git a/src/kcms/screenedges/kwintouchscreensettings.kcfg b/src/kcms/screenedges/kwintouchscreensettings.kcfg
index c8306ebc25..2102f9c06b 100644
--- a/src/kcms/screenedges/kwintouchscreensettings.kcfg
+++ b/src/kcms/screenedges/kwintouchscreensettings.kcfg
@@ -29,6 +29,11 @@
ElectricNone
+
+
+ ElectricNone
+
+
ElectricNone
diff --git a/src/kcms/screenedges/touch.cpp b/src/kcms/screenedges/touch.cpp
index e266b17bee..5b0e330831 100644
--- a/src/kcms/screenedges/touch.cpp
+++ b/src/kcms/screenedges/touch.cpp
@@ -90,6 +90,7 @@ void KWinScreenEdgesConfig::save()
QStringLiteral("/Effects"),
QDBusConnection::sessionBus());
interface.reconfigureEffect(QStringLiteral("windowview"));
+ interface.reconfigureEffect(QStringLiteral("overview"));
for (const auto &effectId : std::as_const(m_effects)) {
interface.reconfigureEffect(effectId);
}
@@ -128,6 +129,8 @@ void KWinScreenEdgesConfig::monitorInit()
m_form->monitorAddItem(i18n("%1 - Current Desktop", presentWindowsName));
m_form->monitorAddItem(i18n("%1 - Current Application", presentWindowsName));
+ m_form->monitorAddItem(i18n("Overview"));
+
m_form->monitorAddItem(i18n("Toggle window switching"));
m_form->monitorAddItem(i18n("Toggle alternative window switching"));
@@ -183,6 +186,9 @@ void KWinScreenEdgesConfig::monitorLoadSettings()
// PresentWindows BorderActivateClass
m_form->monitorChangeEdge(m_data->settings()->touchBorderActivateClass(), PresentWindowsClass);
+ // Overview
+ m_form->monitorChangeEdge(m_data->settings()->touchBorderActivateOverview(), Overview);
+
// TabBox BorderActivate
m_form->monitorChangeEdge(m_data->settings()->touchBorderActivateTabBox(), TabBox);
// Alternative TabBox
@@ -216,6 +222,9 @@ void KWinScreenEdgesConfig::monitorLoadDefaultSettings()
// PresentWindows BorderActivateClass
m_form->monitorChangeDefaultEdge(m_data->settings()->defaultTouchBorderActivateClassValue(), PresentWindowsClass);
+ // Overview
+ m_form->monitorChangeDefaultEdge(m_data->settings()->defaultTouchBorderActivateOverviewValue(), Overview);
+
// TabBox BorderActivate
m_form->monitorChangeDefaultEdge(m_data->settings()->defaultTouchBorderActivateTabBoxValue(), TabBox);
// Alternative TabBox
@@ -237,6 +246,9 @@ void KWinScreenEdgesConfig::monitorSaveSettings()
m_data->settings()->setTouchBorderActivatePresentWindows(m_form->monitorCheckEffectHasEdge(PresentWindowsCurrent));
m_data->settings()->setTouchBorderActivateClass(m_form->monitorCheckEffectHasEdge(PresentWindowsClass));
+ // Overview
+ m_data->settings()->setTouchBorderActivateOverview(m_form->monitorCheckEffectHasEdge(Overview));
+
// TabBox
m_data->settings()->setTouchBorderActivateTabBox(m_form->monitorCheckEffectHasEdge(TabBox));
m_data->settings()->setTouchBorderAlternativeActivate(m_form->monitorCheckEffectHasEdge(TabBoxAlternative));
@@ -265,6 +277,9 @@ void KWinScreenEdgesConfig::monitorShowEvent()
m_form->monitorItemSetEnabled(PresentWindowsCurrent, enabled);
m_form->monitorItemSetEnabled(PresentWindowsAll, enabled);
+ // Overview
+ m_form->monitorItemSetEnabled(Overview, config.readEntry("overviewEnabled", true));
+
// tabbox, depends on reasonable focus policy.
KConfigGroup config2(m_config, QStringLiteral("Windows"));
QString focusPolicy = config2.readEntry("FocusPolicy", QString());
diff --git a/src/kcms/screenedges/touch.h b/src/kcms/screenedges/touch.h
index 275bb35dae..0b147296c0 100644
--- a/src/kcms/screenedges/touch.h
+++ b/src/kcms/screenedges/touch.h
@@ -50,6 +50,7 @@ private:
PresentWindowsAll = ELECTRIC_ACTION_COUNT, // Start at the end of built in actions
PresentWindowsCurrent,
PresentWindowsClass,
+ Overview,
TabBox,
TabBoxAlternative,
EffectCount