Changeset View
Changeset View
Standalone View
Standalone View
applets/notifications/notificationapplet.cpp
Show All 17 Lines | |||||
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
19 | * | 19 | * | ||
20 | */ | 20 | */ | ||
21 | 21 | | |||
22 | #include "notificationapplet.h" | 22 | #include "notificationapplet.h" | ||
23 | 23 | | |||
24 | #include <QClipboard> | 24 | #include <QClipboard> | ||
25 | #include <QDrag> | 25 | #include <QDrag> | ||
26 | #include <QGuiApplication> | ||||
26 | #include <QMimeData> | 27 | #include <QMimeData> | ||
27 | #include <QQuickItem> | 28 | #include <QQuickItem> | ||
28 | #include <QQuickWindow> | 29 | #include <QQuickWindow> | ||
29 | #include <QScreen> | 30 | #include <QScreen> | ||
30 | #include <QStyleHints> | 31 | #include <QStyleHints> | ||
31 | 32 | | |||
33 | #include <PlasmaQuick/Dialog> | ||||
34 | | ||||
32 | #include "filemenu.h" | 35 | #include "filemenu.h" | ||
33 | #include "thumbnailer.h" | 36 | #include "thumbnailer.h" | ||
34 | 37 | | |||
35 | NotificationApplet::NotificationApplet(QObject *parent, const QVariantList &data) | 38 | NotificationApplet::NotificationApplet(QObject *parent, const QVariantList &data) | ||
36 | : Plasma::Applet(parent, data) | 39 | : Plasma::Applet(parent, data) | ||
37 | { | 40 | { | ||
38 | static bool s_typesRegistered = false; | 41 | static bool s_typesRegistered = false; | ||
39 | if (!s_typesRegistered) { | 42 | if (!s_typesRegistered) { | ||
40 | const char uri[] = "org.kde.plasma.private.notifications"; | 43 | const char uri[] = "org.kde.plasma.private.notifications"; | ||
41 | qmlRegisterType<FileMenu>(uri, 2, 0, "FileMenu"); | 44 | qmlRegisterType<FileMenu>(uri, 2, 0, "FileMenu"); | ||
42 | qmlRegisterType<Thumbnailer>(uri, 2, 0, "Thumbnailer"); | 45 | qmlRegisterType<Thumbnailer>(uri, 2, 0, "Thumbnailer"); | ||
43 | qmlProtectModule(uri, 2); | 46 | qmlProtectModule(uri, 2); | ||
44 | s_typesRegistered = true; | 47 | s_typesRegistered = true; | ||
45 | } | 48 | } | ||
49 | | ||||
50 | connect(qApp, &QGuiApplication::focusWindowChanged, this, &NotificationApplet::focussedPlasmaDialogChanged); | ||||
46 | } | 51 | } | ||
47 | 52 | | |||
48 | NotificationApplet::~NotificationApplet() = default; | 53 | NotificationApplet::~NotificationApplet() = default; | ||
49 | 54 | | |||
50 | void NotificationApplet::init() | 55 | void NotificationApplet::init() | ||
51 | { | 56 | { | ||
52 | 57 | | |||
53 | } | 58 | } | ||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Line(s) | 85 | { | |||
100 | emit dragActiveChanged(); | 105 | emit dragActiveChanged(); | ||
101 | 106 | | |||
102 | drag->exec(); | 107 | drag->exec(); | ||
103 | 108 | | |||
104 | m_dragActive = false; | 109 | m_dragActive = false; | ||
105 | emit dragActiveChanged(); | 110 | emit dragActiveChanged(); | ||
106 | } | 111 | } | ||
107 | 112 | | |||
113 | QWindow *NotificationApplet::focussedPlasmaDialog() const | ||||
114 | { | ||||
115 | return qobject_cast<PlasmaQuick::Dialog *>(qApp->focusWindow()); | ||||
116 | } | ||||
117 | | ||||
108 | void NotificationApplet::setSelectionClipboardText(const QString &text) | 118 | void NotificationApplet::setSelectionClipboardText(const QString &text) | ||
109 | { | 119 | { | ||
110 | // FIXME KDeclarative Clipboard item uses QClipboard::Mode for "mode" | 120 | // FIXME KDeclarative Clipboard item uses QClipboard::Mode for "mode" | ||
111 | // which is an enum inaccessible from QML | 121 | // which is an enum inaccessible from QML | ||
112 | QGuiApplication::clipboard()->setText(text, QClipboard::Selection); | 122 | QGuiApplication::clipboard()->setText(text, QClipboard::Selection); | ||
113 | } | 123 | } | ||
114 | 124 | | |||
115 | bool NotificationApplet::isPrimaryScreen(const QRect &rect) const | 125 | bool NotificationApplet::isPrimaryScreen(const QRect &rect) const | ||
Show All 13 Lines |