KWin
Loading...
Searching...
No Matches
screenedgehandler.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2013 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10
11#include "effect/globals.h"
12#include <QObject>
13
14class QAction;
15
16namespace KWin
17{
18
34class ScreenEdgeHandler : public QObject
35{
36 Q_OBJECT
40 Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
44 Q_PROPERTY(Edge edge READ edge WRITE setEdge NOTIFY edgeChanged)
48 Q_PROPERTY(Mode mode READ mode WRITE setMode NOTIFY modeChanged)
49public:
62 Q_ENUM(Edge)
66 enum class Mode {
67 Pointer,
68 Touch
69 };
70 Q_ENUM(Mode)
71 explicit ScreenEdgeHandler(QObject *parent = nullptr);
72 ~ScreenEdgeHandler() override;
73 bool isEnabled() const;
74 Edge edge() const;
75 Mode mode() const
76 {
77 return m_mode;
78 }
79
80public Q_SLOTS:
81 void setEnabled(bool enabled);
82 void setEdge(Edge edge);
83 void setMode(Mode mode);
84
85Q_SIGNALS:
89
90 void activated();
91
92private Q_SLOTS:
93 bool borderActivated(ElectricBorder edge);
94
95private:
96 void enableEdge();
97 void disableEdge();
98 bool m_enabled;
99 Edge m_edge;
100 Mode m_mode = Mode::Pointer;
101 QAction *m_action;
102};
103
105{
106 return m_enabled;
107}
108
110{
111 return m_edge;
112}
113
114} // namespace KWin
Qml export for reserving a Screen Edge.
bool enabled
Whether the edge is currently enabled, that is reserved. Default value is true.
void setEnabled(bool enabled)
ScreenEdgeHandler(QObject *parent=nullptr)
Edge edge
Which of the screen edges is to be reserved. Default value is NoEdge.
Mode mode
The operation mode for this edge. Default value is Mode::Pointer.
ElectricBorder
Definition globals.h:60