QortalOS Brooklyn for Raspberry Pi 4
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

59 lines
1.4 KiB

/*
SPDX-FileCopyrightText: 2020 Marco Martin <[email protected]>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include <Plasma/Applet>
#include <PlasmaQuick/AppletQuickItem>
namespace Plasma
{
class Containment;
}
class PanelSpacer;
class SpacersTracker : public QObject
{
Q_OBJECT
public:
SpacersTracker(QObject *parent = nullptr);
~SpacersTracker() override;
static SpacersTracker *self();
void insertSpacer(Plasma::Containment *containment, PanelSpacer *spacer);
void removeSpacer(Plasma::Containment *containment, PanelSpacer *spacer);
private:
QHash<Plasma::Containment *, QList<PanelSpacer *>> m_spacers;
};
class PanelSpacer : public Plasma::Applet
{
Q_OBJECT
Q_PROPERTY(PlasmaQuick::AppletQuickItem *twinSpacer READ twinSpacer NOTIFY twinSpacerChanged)
Q_PROPERTY(PlasmaQuick::AppletQuickItem *containment READ containmentGraphicObject CONSTANT)
public:
PanelSpacer(QObject *parent, const KPluginMetaData &data, const QVariantList &args);
~PanelSpacer() override;
void init() override;
void constraintsEvent(Plasma::Types::Constraints constraints) override;
void setTwinSpacer(PlasmaQuick::AppletQuickItem *spacer);
PlasmaQuick::AppletQuickItem *twinSpacer() const;
PlasmaQuick::AppletQuickItem *containmentGraphicObject() const;
Q_SIGNALS:
void twinSpacerChanged();
private:
PlasmaQuick::AppletQuickItem *m_twinSpacer = nullptr;
};