// SPDX-FileCopyrightText: 2016 - 2022 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later #ifndef DBUSDOCKADAPTORS_H #define DBUSDOCKADAPTORS_H #include #include "mainwindow.h" /* * Adaptor class for interface com.deepin.dde.Dock */ class QGSettings; class DBusDockAdaptors: public QDBusAbstractAdaptor { Q_OBJECT Q_CLASSINFO("D-Bus Interface", "com.deepin.dde.Dock") Q_CLASSINFO("D-Bus Introspection", "" " \n" " \n" " \n" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " \n" "") Q_PROPERTY(QRect geometry READ geometry NOTIFY geometryChanged) Q_PROPERTY(bool showInPrimary READ showInPrimary WRITE setShowInPrimary NOTIFY showInPrimaryChanged) public: explicit DBusDockAdaptors(MainWindow *parent); virtual ~DBusDockAdaptors(); MainWindow *parent() const; public Q_SLOTS: // METHODS void callShow(); void ReloadPlugins(); QStringList GetLoadedPlugins(); void resizeDock(int offset, bool dragging); QString getPluginKey(const QString &pluginName); bool getPluginVisible(const QString &pluginName); void setPluginVisible(const QString &pluginName, bool visible); public: // PROPERTIES QRect geometry() const; bool showInPrimary() const; void setShowInPrimary(bool showInPrimary); signals: void geometryChanged(QRect geometry); void showInPrimaryChanged(bool); void pluginVisibleChanged(const QString &pluginName, bool visible); private: bool isPluginValid(const QString &name); private: QGSettings *m_gsettings; }; #endif //DBUSDOCKADAPTORS