File indexing completed on 2024-05-12 17:08:48

0001 /*
0002     SPDX-FileCopyrightText: 2018 Kai Uwe Broulik <kde@privat.broulik.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QQuickItem>
0010 #include <QWindow>
0011 
0012 #include <Plasma/Applet>
0013 
0014 class QString;
0015 class QRect;
0016 
0017 class NotificationApplet : public Plasma::Applet
0018 {
0019     Q_OBJECT
0020 
0021     Q_PROPERTY(QWindow *focussedPlasmaDialog READ focussedPlasmaDialog NOTIFY focussedPlasmaDialogChanged)
0022     Q_PROPERTY(QQuickItem *systemTrayRepresentation READ systemTrayRepresentation CONSTANT)
0023 
0024 public:
0025     explicit NotificationApplet(QObject *parent, const KPluginMetaData &data, const QVariantList &args);
0026     ~NotificationApplet() override;
0027 
0028     void init() override;
0029     void configChanged() override;
0030 
0031     QWindow *focussedPlasmaDialog() const;
0032     QQuickItem *systemTrayRepresentation() const;
0033 
0034     Q_INVOKABLE bool isPrimaryScreen(const QRect &rect) const;
0035 
0036     Q_INVOKABLE void forceActivateWindow(QWindow *window);
0037 
0038 Q_SIGNALS:
0039     void focussedPlasmaDialogChanged();
0040 };