mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-28 22:53:09 +00:00
doubletaptolock: Simplify, and use "lock" instead of "sleep"
This MR does several things as a followup to https://invent.kde.org/plasma/plasma-mobile/-/merge_requests/748: - Use the word "lock" instead of "sleep" since we are locking the device, not putting it to sleep - Simplify usage by using existing MouseAreas instead of including our own for this feature (I encountered several focus captures in folio that prevented the SwipeArea from getting events)
This commit is contained in:
parent
f085843957
commit
d4f1c78d61
12 changed files with 83 additions and 120 deletions
21
components/mobileshell/qml/homescreen/DeviceLock.qml
Normal file
21
components/mobileshell/qml/homescreen/DeviceLock.qml
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
// SPDX-FileCopyrightText: 2025 Florian RICHER <florian.richer@protonmail.com>
|
||||||
|
// SPDX-License-Identifier: LGPL-2.0-or-later
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
|
||||||
|
import org.kde.plasma.private.mobileshell.dpmsplugin as DPMS
|
||||||
|
import org.kde.plasma.private.mobileshell.state as MobileShellState
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
function triggerLock() {
|
||||||
|
MobileShellState.LockscreenDBusClient.lockScreen();
|
||||||
|
__dpms.turnDpmsOff();
|
||||||
|
}
|
||||||
|
|
||||||
|
property DPMS.DPMSUtil __dpms: DPMS.DPMSUtil {
|
||||||
|
id: dpms
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: 2025 Florian RICHER <florian.richer@protonmail.com>
|
|
||||||
// SPDX-License-Identifier: LGPL-2.0-or-later
|
|
||||||
|
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
import org.kde.plasma.private.mobileshell.dpmsplugin as DPMS
|
|
||||||
import org.kde.plasma.private.mobileshell.state as MobileShellState
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
property real doubleClickInterval: 400
|
|
||||||
property int tapCount: 0
|
|
||||||
property bool isSwiping: false
|
|
||||||
|
|
||||||
signal doubleTapped()
|
|
||||||
|
|
||||||
onDoubleTapped: {
|
|
||||||
MobileShellState.LockscreenDBusClient.lockScreen()
|
|
||||||
dpms.turnDpmsOff()
|
|
||||||
}
|
|
||||||
|
|
||||||
DPMS.DPMSUtil {
|
|
||||||
id: dpms
|
|
||||||
}
|
|
||||||
|
|
||||||
// Workaround for double tap detection without capture events for HomeScreen
|
|
||||||
Timer {
|
|
||||||
id: doubleClickTimer
|
|
||||||
interval: root.doubleClickInterval
|
|
||||||
onTriggered: {
|
|
||||||
root.tapCount = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
propagateComposedEvents: true
|
|
||||||
|
|
||||||
onReleased: {
|
|
||||||
mouse.accepted = false
|
|
||||||
|
|
||||||
if (root.isSwiping) {
|
|
||||||
// Reset the isSwiping flag to re-enable double tap detection
|
|
||||||
root.isSwiping = false
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
root.tapCount++;
|
|
||||||
if (root.tapCount === 2) {
|
|
||||||
root.doubleTapped()
|
|
||||||
}
|
|
||||||
|
|
||||||
doubleClickTimer.restart()
|
|
||||||
}
|
|
||||||
|
|
||||||
// If is swiping, we don't want to trigger the double tap
|
|
||||||
onPositionChanged: {
|
|
||||||
mouse.accepted = false
|
|
||||||
doubleClickTimer.stop()
|
|
||||||
root.tapCount = 0
|
|
||||||
root.isSwiping = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -19,7 +19,7 @@ const QString CFG_KEY_DELEGATE_ICON_SIZE = QStringLiteral("delegateIconSize");
|
||||||
const QString CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND = QStringLiteral("showFavoritesBarBackground");
|
const QString CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND = QStringLiteral("showFavoritesBarBackground");
|
||||||
const QString CFG_KEY_PAGE_TRANSITION_EFFECT = QStringLiteral("pageTransitionEffect");
|
const QString CFG_KEY_PAGE_TRANSITION_EFFECT = QStringLiteral("pageTransitionEffect");
|
||||||
const QString CFG_KEY_SHOW_WALLPAPER_BLUR = QStringLiteral("showWallpaperBlur");
|
const QString CFG_KEY_SHOW_WALLPAPER_BLUR = QStringLiteral("showWallpaperBlur");
|
||||||
const QString CFG_KEY_DOUBLE_TAP_TO_SLEEP = QStringLiteral("doubleTapToSleep");
|
const QString CFG_KEY_DOUBLE_TAP_TO_LOCK = QStringLiteral("doubleTapToLock");
|
||||||
|
|
||||||
FolioSettings::FolioSettings(HomeScreen *parent)
|
FolioSettings::FolioSettings(HomeScreen *parent)
|
||||||
: QObject{parent}
|
: QObject{parent}
|
||||||
|
|
@ -154,16 +154,16 @@ void FolioSettings::setShowWallpaperBlur(bool showWallpaperBlur)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FolioSettings::doubleTapToSleep() const
|
bool FolioSettings::doubleTapToLock() const
|
||||||
{
|
{
|
||||||
return m_doubleTapToSleep;
|
return m_doubleTapToLock;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FolioSettings::setDoubleTapToSleep(bool doubleTapToSleep)
|
void FolioSettings::setDoubleTapToLock(bool doubleTapToLock)
|
||||||
{
|
{
|
||||||
if (m_doubleTapToSleep != doubleTapToSleep) {
|
if (m_doubleTapToLock != doubleTapToLock) {
|
||||||
m_doubleTapToSleep = doubleTapToSleep;
|
m_doubleTapToLock = doubleTapToLock;
|
||||||
Q_EMIT doubleTapToSleepChanged();
|
Q_EMIT doubleTapToLockChanged();
|
||||||
save();
|
save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -183,7 +183,7 @@ void FolioSettings::save()
|
||||||
m_homeScreen->config().writeEntry(CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND, m_showFavouritesBarBackground);
|
m_homeScreen->config().writeEntry(CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND, m_showFavouritesBarBackground);
|
||||||
m_homeScreen->config().writeEntry(CFG_KEY_PAGE_TRANSITION_EFFECT, (int)m_pageTransitionEffect);
|
m_homeScreen->config().writeEntry(CFG_KEY_PAGE_TRANSITION_EFFECT, (int)m_pageTransitionEffect);
|
||||||
m_homeScreen->config().writeEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, m_showWallpaperBlur);
|
m_homeScreen->config().writeEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, m_showWallpaperBlur);
|
||||||
m_homeScreen->config().writeEntry(CFG_KEY_DOUBLE_TAP_TO_SLEEP, m_doubleTapToSleep);
|
m_homeScreen->config().writeEntry(CFG_KEY_DOUBLE_TAP_TO_LOCK, m_doubleTapToLock);
|
||||||
|
|
||||||
Q_EMIT m_homeScreen->configNeedsSaving();
|
Q_EMIT m_homeScreen->configNeedsSaving();
|
||||||
}
|
}
|
||||||
|
|
@ -203,7 +203,7 @@ void FolioSettings::load()
|
||||||
m_showFavouritesBarBackground = m_homeScreen->config().readEntry(CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND, true);
|
m_showFavouritesBarBackground = m_homeScreen->config().readEntry(CFG_KEY_SHOW_FAVORITES_BAR_BACKGROUND, true);
|
||||||
m_pageTransitionEffect = static_cast<PageTransitionEffect>(m_homeScreen->config().readEntry(CFG_KEY_PAGE_TRANSITION_EFFECT, (int)SlideTransition));
|
m_pageTransitionEffect = static_cast<PageTransitionEffect>(m_homeScreen->config().readEntry(CFG_KEY_PAGE_TRANSITION_EFFECT, (int)SlideTransition));
|
||||||
m_showWallpaperBlur = m_homeScreen->config().readEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, true);
|
m_showWallpaperBlur = m_homeScreen->config().readEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, true);
|
||||||
m_doubleTapToSleep = m_homeScreen->config().readEntry(CFG_KEY_DOUBLE_TAP_TO_SLEEP, true);
|
m_doubleTapToLock = m_homeScreen->config().readEntry(CFG_KEY_DOUBLE_TAP_TO_LOCK, true);
|
||||||
|
|
||||||
Q_EMIT homeScreenRowsChanged();
|
Q_EMIT homeScreenRowsChanged();
|
||||||
Q_EMIT homeScreenColumnsChanged();
|
Q_EMIT homeScreenColumnsChanged();
|
||||||
|
|
@ -212,7 +212,7 @@ void FolioSettings::load()
|
||||||
Q_EMIT lockLayoutChanged();
|
Q_EMIT lockLayoutChanged();
|
||||||
Q_EMIT delegateIconSizeChanged();
|
Q_EMIT delegateIconSizeChanged();
|
||||||
Q_EMIT showWallpaperBlurChanged();
|
Q_EMIT showWallpaperBlurChanged();
|
||||||
Q_EMIT doubleTapToSleepChanged();
|
Q_EMIT doubleTapToLockChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FolioSettings::saveLayoutToFile(QString path)
|
bool FolioSettings::saveLayoutToFile(QString path)
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class FolioSettings : public QObject
|
||||||
Q_PROPERTY(
|
Q_PROPERTY(
|
||||||
FolioSettings::PageTransitionEffect pageTransitionEffect READ pageTransitionEffect WRITE setPageTransitionEffect NOTIFY pageTransitionEffectChanged)
|
FolioSettings::PageTransitionEffect pageTransitionEffect READ pageTransitionEffect WRITE setPageTransitionEffect NOTIFY pageTransitionEffectChanged)
|
||||||
Q_PROPERTY(bool showWallpaperBlur READ showWallpaperBlur WRITE setShowWallpaperBlur NOTIFY showWallpaperBlurChanged)
|
Q_PROPERTY(bool showWallpaperBlur READ showWallpaperBlur WRITE setShowWallpaperBlur NOTIFY showWallpaperBlurChanged)
|
||||||
Q_PROPERTY(bool doubleTapToSleep READ doubleTapToSleep WRITE setDoubleTapToSleep NOTIFY doubleTapToSleepChanged)
|
Q_PROPERTY(bool doubleTapToLock READ doubleTapToLock WRITE setDoubleTapToLock NOTIFY doubleTapToLockChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FolioSettings(HomeScreen *parent = nullptr);
|
FolioSettings(HomeScreen *parent = nullptr);
|
||||||
|
|
@ -69,8 +69,8 @@ public:
|
||||||
bool showWallpaperBlur() const;
|
bool showWallpaperBlur() const;
|
||||||
void setShowWallpaperBlur(bool showWallpaperBlur);
|
void setShowWallpaperBlur(bool showWallpaperBlur);
|
||||||
|
|
||||||
bool doubleTapToSleep() const;
|
bool doubleTapToLock() const;
|
||||||
void setDoubleTapToSleep(bool doubleTapToSleep);
|
void setDoubleTapToLock(bool doubleTapToLock);
|
||||||
|
|
||||||
Q_INVOKABLE void load();
|
Q_INVOKABLE void load();
|
||||||
|
|
||||||
|
|
@ -87,7 +87,7 @@ Q_SIGNALS:
|
||||||
void showFavouritesBarBackgroundChanged();
|
void showFavouritesBarBackgroundChanged();
|
||||||
void pageTransitionEffectChanged();
|
void pageTransitionEffectChanged();
|
||||||
void showWallpaperBlurChanged();
|
void showWallpaperBlurChanged();
|
||||||
void doubleTapToSleepChanged();
|
void doubleTapToLockChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void save();
|
void save();
|
||||||
|
|
@ -103,5 +103,5 @@ private:
|
||||||
bool m_showFavouritesBarBackground{false};
|
bool m_showFavouritesBarBackground{false};
|
||||||
PageTransitionEffect m_pageTransitionEffect{SlideTransition};
|
PageTransitionEffect m_pageTransitionEffect{SlideTransition};
|
||||||
bool m_showWallpaperBlur{false};
|
bool m_showWallpaperBlur{false};
|
||||||
bool m_doubleTapToSleep{false};
|
bool m_doubleTapToLock{false};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -27,14 +27,18 @@ MouseArea {
|
||||||
haptics.buttonVibrate();
|
haptics.buttonVibrate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onDoubleClicked: {
|
||||||
|
if (folio.FolioSettings.doubleTapToLock) {
|
||||||
|
deviceLock.triggerLock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MobileShell.HapticsEffect {
|
MobileShell.HapticsEffect {
|
||||||
id: haptics
|
id: haptics
|
||||||
}
|
}
|
||||||
|
|
||||||
MobileShell.DoubleTapToSleep {
|
MobileShell.DeviceLock {
|
||||||
id: doubleTapToSleep
|
id: deviceLock
|
||||||
enabled: folio.FolioSettings.doubleTapToSleep
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
|
|
|
||||||
|
|
@ -28,12 +28,6 @@ Item {
|
||||||
id: haptics
|
id: haptics
|
||||||
}
|
}
|
||||||
|
|
||||||
MobileShell.DoubleTapToSleep {
|
|
||||||
id: doubleTapToSleep
|
|
||||||
enabled: folio.FolioSettings.doubleTapToSleep
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
|
|
||||||
// background when in settings view (for rearranging pages)
|
// background when in settings view (for rearranging pages)
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: settingsViewBackground
|
id: settingsViewBackground
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,23 @@ MouseArea {
|
||||||
readonly property real verticalMargin: Math.round((folio.HomeScreenState.pageHeight - folio.HomeScreenState.pageContentHeight) / 2)
|
readonly property real verticalMargin: Math.round((folio.HomeScreenState.pageHeight - folio.HomeScreenState.pageContentHeight) / 2)
|
||||||
readonly property real horizontalMargin: Math.round((folio.HomeScreenState.pageWidth - folio.HomeScreenState.pageContentWidth) / 2)
|
readonly property real horizontalMargin: Math.round((folio.HomeScreenState.pageWidth - folio.HomeScreenState.pageContentWidth) / 2)
|
||||||
|
|
||||||
|
onPressAndHold: {
|
||||||
|
folio.HomeScreenState.openSettingsView()
|
||||||
|
haptics.buttonVibrate();
|
||||||
|
}
|
||||||
|
|
||||||
|
onDoubleClicked: {
|
||||||
|
if (folio.FolioSettings.doubleTapToLock) {
|
||||||
|
deviceLock.triggerLock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MobileShell.HapticsEffect {
|
MobileShell.HapticsEffect {
|
||||||
id: haptics
|
id: haptics
|
||||||
}
|
}
|
||||||
|
|
||||||
onPressAndHold: {
|
MobileShell.DeviceLock {
|
||||||
folio.HomeScreenState.openSettingsView()
|
id: deviceLock
|
||||||
haptics.buttonVibrate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
|
|
|
||||||
|
|
@ -234,15 +234,15 @@ Window {
|
||||||
onCurrentValueChanged: folio.FolioSettings.pageTransitionEffect = currentValue
|
onCurrentValueChanged: folio.FolioSettings.pageTransitionEffect = currentValue
|
||||||
}
|
}
|
||||||
|
|
||||||
FormCard.FormDelegateSeparator { above: pageTransitionCombobox; below: doubleTapToSleepSwitch }
|
FormCard.FormDelegateSeparator { above: pageTransitionCombobox; below: doubleTapToLockSwitch }
|
||||||
|
|
||||||
FormCard.FormSwitchDelegate {
|
FormCard.FormSwitchDelegate {
|
||||||
id: doubleTapToSleepSwitch
|
id: doubleTapToLockSwitch
|
||||||
text: i18n("Double tap to lock device")
|
text: i18n("Double tap to lock device")
|
||||||
checked: folio.FolioSettings.doubleTapToSleep
|
checked: folio.FolioSettings.doubleTapToLock
|
||||||
onCheckedChanged: {
|
onCheckedChanged: {
|
||||||
if (checked != folio.FolioSettings.doubleTapToSleep) {
|
if (checked != folio.FolioSettings.doubleTapToLock) {
|
||||||
folio.FolioSettings.doubleTapToSleep = checked;
|
folio.FolioSettings.doubleTapToLock = checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#include "halcyonsettings.h"
|
#include "halcyonsettings.h"
|
||||||
|
|
||||||
const QString CFG_KEY_SHOW_WALLPAPER_BLUR = QStringLiteral("showWallpaperBlur");
|
const QString CFG_KEY_SHOW_WALLPAPER_BLUR = QStringLiteral("showWallpaperBlur");
|
||||||
const QString CFG_KEY_DOUBLE_TAP_TO_SLEEP = QStringLiteral("doubleTapToSleep");
|
const QString CFG_KEY_DOUBLE_TAP_TO_LOCK = QStringLiteral("doubleTapToLock");
|
||||||
|
|
||||||
HalcyonSettings::HalcyonSettings(QObject *parent, KConfigGroup config)
|
HalcyonSettings::HalcyonSettings(QObject *parent, KConfigGroup config)
|
||||||
: QObject{parent}
|
: QObject{parent}
|
||||||
|
|
@ -27,16 +27,16 @@ void HalcyonSettings::setShowWallpaperBlur(bool showWallpaperBlur)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HalcyonSettings::doubleTapToSleep() const
|
bool HalcyonSettings::doubleTapToLock() const
|
||||||
{
|
{
|
||||||
return m_doubleTapToSleep;
|
return m_doubleTapToLock;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HalcyonSettings::setDoubleTapToSleep(bool doubleTapToSleep)
|
void HalcyonSettings::setDoubleTapToLock(bool doubleTapToLock)
|
||||||
{
|
{
|
||||||
if (m_doubleTapToSleep != doubleTapToSleep) {
|
if (m_doubleTapToLock != doubleTapToLock) {
|
||||||
m_doubleTapToSleep = doubleTapToSleep;
|
m_doubleTapToLock = doubleTapToLock;
|
||||||
Q_EMIT doubleTapToSleepChanged();
|
Q_EMIT doubleTapToLockChanged();
|
||||||
save();
|
save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -44,7 +44,7 @@ void HalcyonSettings::setDoubleTapToSleep(bool doubleTapToSleep)
|
||||||
void HalcyonSettings::save()
|
void HalcyonSettings::save()
|
||||||
{
|
{
|
||||||
m_config.writeEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, m_showWallpaperBlur);
|
m_config.writeEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, m_showWallpaperBlur);
|
||||||
m_config.writeEntry(CFG_KEY_DOUBLE_TAP_TO_SLEEP, m_doubleTapToSleep);
|
m_config.writeEntry(CFG_KEY_DOUBLE_TAP_TO_LOCK, m_doubleTapToLock);
|
||||||
|
|
||||||
m_config.sync();
|
m_config.sync();
|
||||||
}
|
}
|
||||||
|
|
@ -52,5 +52,5 @@ void HalcyonSettings::save()
|
||||||
void HalcyonSettings::load()
|
void HalcyonSettings::load()
|
||||||
{
|
{
|
||||||
m_showWallpaperBlur = m_config.readEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, false);
|
m_showWallpaperBlur = m_config.readEntry(CFG_KEY_SHOW_WALLPAPER_BLUR, false);
|
||||||
m_doubleTapToSleep = m_config.readEntry(CFG_KEY_DOUBLE_TAP_TO_SLEEP, true);
|
m_doubleTapToLock = m_config.readEntry(CFG_KEY_DOUBLE_TAP_TO_LOCK, true);
|
||||||
}
|
}
|
||||||
|
|
@ -11,7 +11,7 @@ class HalcyonSettings : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(bool showWallpaperBlur READ showWallpaperBlur WRITE setShowWallpaperBlur NOTIFY showWallpaperBlurChanged)
|
Q_PROPERTY(bool showWallpaperBlur READ showWallpaperBlur WRITE setShowWallpaperBlur NOTIFY showWallpaperBlurChanged)
|
||||||
Q_PROPERTY(bool doubleTapToSleep READ doubleTapToSleep WRITE setDoubleTapToSleep NOTIFY doubleTapToSleepChanged)
|
Q_PROPERTY(bool doubleTapToLock READ doubleTapToLock WRITE setDoubleTapToLock NOTIFY doubleTapToLockChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
HalcyonSettings(QObject *parent = nullptr, KConfigGroup config = {});
|
HalcyonSettings(QObject *parent = nullptr, KConfigGroup config = {});
|
||||||
|
|
@ -19,19 +19,19 @@ public:
|
||||||
bool showWallpaperBlur() const;
|
bool showWallpaperBlur() const;
|
||||||
void setShowWallpaperBlur(bool blurWallpaper);
|
void setShowWallpaperBlur(bool blurWallpaper);
|
||||||
|
|
||||||
bool doubleTapToSleep() const;
|
bool doubleTapToLock() const;
|
||||||
void setDoubleTapToSleep(bool doubleTapToSleep);
|
void setDoubleTapToLock(bool doubleTapToLock);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void showWallpaperBlurChanged();
|
void showWallpaperBlurChanged();
|
||||||
void doubleTapToSleepChanged();
|
void doubleTapToLockChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void save();
|
void save();
|
||||||
void load();
|
void load();
|
||||||
|
|
||||||
bool m_showWallpaperBlur{false};
|
bool m_showWallpaperBlur{false};
|
||||||
bool m_doubleTapToSleep{true};
|
bool m_doubleTapToLock{true};
|
||||||
|
|
||||||
KConfigGroup m_config;
|
KConfigGroup m_config;
|
||||||
};
|
};
|
||||||
|
|
@ -108,14 +108,14 @@ Item {
|
||||||
|
|
||||||
onLongPressed: root.openConfigure()
|
onLongPressed: root.openConfigure()
|
||||||
onDoubleTapped: {
|
onDoubleTapped: {
|
||||||
if (Plasmoid.settings.doubleTapToSleep) {
|
if (Plasmoid.settings.doubleTapToLock) {
|
||||||
doubleTapToSleep.doubleTapped();
|
deviceLock.triggerLock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MobileShell.DoubleTapToSleep {
|
MobileShell.DeviceLock {
|
||||||
id: doubleTapToSleep
|
id: deviceLock
|
||||||
}
|
}
|
||||||
|
|
||||||
FavoritesView {
|
FavoritesView {
|
||||||
|
|
|
||||||
|
|
@ -103,10 +103,10 @@ Window {
|
||||||
FormCard.FormSwitchDelegate {
|
FormCard.FormSwitchDelegate {
|
||||||
id: doubleTapToSleepSwitch
|
id: doubleTapToSleepSwitch
|
||||||
text: i18n("Double tap to lock device")
|
text: i18n("Double tap to lock device")
|
||||||
checked: Plasmoid.settings.doubleTapToSleep
|
checked: Plasmoid.settings.doubleTapToLock
|
||||||
onCheckedChanged: {
|
onCheckedChanged: {
|
||||||
if (checked != Plasmoid.settings.doubleTapToSleep) {
|
if (checked != Plasmoid.settings.doubleTapToLock) {
|
||||||
Plasmoid.settings.doubleTapToSleep = checked;
|
Plasmoid.settings.doubleTapToLock = checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue