File indexing completed on 2024-05-12 16:59:34

0001 /*
0002  *   SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
0003  *   SPDX-FileCopyrightText: 2016 David Edmundson <davidedmundson@kde.org>
0004  *
0005  *   SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef GROUPEDAPPLETSCONTAINER_H
0009 #define GROUPEDAPPLETSCONTAINER_H
0010 
0011 #include <Plasma/Applet>
0012 #include <QQuickItem>
0013 
0014 class GroupedAppletsContainer : public Plasma::Applet
0015 {
0016     Q_OBJECT
0017     Q_PROPERTY(QQuickItem *internalContainmentItem READ internalContainmentItem NOTIFY internalContainmentItemChanged)
0018 
0019 public:
0020     explicit GroupedAppletsContainer(QObject *parent, const KPluginMetaData &data, const QVariantList &args);
0021     ~GroupedAppletsContainer() override;
0022 
0023     void init() override;
0024 
0025     QQuickItem *internalContainmentItem();
0026 
0027 protected:
0028     void constraintsEvent(Plasma::Types::Constraints constraints) override;
0029     void ensureSystrayExists();
0030 
0031 Q_SIGNALS:
0032     void internalContainmentItemChanged();
0033 
0034 private:
0035     QPointer<Plasma::Containment> m_innerContainment;
0036     QPointer<QQuickItem> m_internalContainmentItem;
0037 };
0038 
0039 #endif