mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
refactor: using libdframeworkdbus for dock dbus daemon
Change-Id: I62531c101075ec9b37d3840be97bbba25c9faab4
This commit is contained in:
parent
8bc429af27
commit
945d58a4b5
Notes:
gerrit
2019-01-07 14:14:39 +08:00
Verified+1: <jenkins@deepin.com> Code-Review+2: listenerri <listenerri@gmail.com> Submitted-by: listenerri <listenerri@gmail.com> Submitted-at: Mon, 07 Jan 2019 14:14:39 +0800 Reviewed-on: https://cr.deepin.io/41136 Project: dde/dde-dock Branch: refs/heads/master
@ -214,10 +214,8 @@ void DockItemController::refreshFSTItemSpliterVisible()
|
|||||||
|
|
||||||
DockItemController::DockItemController(QObject *parent)
|
DockItemController::DockItemController(QObject *parent)
|
||||||
: QObject(parent),
|
: QObject(parent),
|
||||||
|
|
||||||
m_updatePluginsOrderTimer(new QTimer(this)),
|
m_updatePluginsOrderTimer(new QTimer(this)),
|
||||||
|
m_appInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this)),
|
||||||
m_appInter(new DBusDock(this)),
|
|
||||||
m_pluginsInter(new DockPluginsController(this)),
|
m_pluginsInter(new DockPluginsController(this)),
|
||||||
m_placeholderItem(new StretchItem),
|
m_placeholderItem(new StretchItem),
|
||||||
m_containerItem(new ContainerItem)
|
m_containerItem(new ContainerItem)
|
||||||
|
@ -24,15 +24,18 @@
|
|||||||
|
|
||||||
#include "dockpluginscontroller.h"
|
#include "dockpluginscontroller.h"
|
||||||
#include "pluginsiteminterface.h"
|
#include "pluginsiteminterface.h"
|
||||||
#include "dbus/dbusdock.h"
|
|
||||||
#include "item/dockitem.h"
|
#include "item/dockitem.h"
|
||||||
#include "item/stretchitem.h"
|
#include "item/stretchitem.h"
|
||||||
#include "item/appitem.h"
|
#include "item/appitem.h"
|
||||||
#include "item/placeholderitem.h"
|
#include "item/placeholderitem.h"
|
||||||
#include "item/containeritem.h"
|
#include "item/containeritem.h"
|
||||||
|
|
||||||
|
#include <com_deepin_dde_daemon_dock.h>
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
|
using DBusDock = com::deepin::dde::daemon::Dock;
|
||||||
|
|
||||||
class DockItemController : public QObject
|
class DockItemController : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -77,16 +80,15 @@ private:
|
|||||||
void reloadAppItems();
|
void reloadAppItems();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<QPointer<DockItem>> m_itemList;
|
|
||||||
|
|
||||||
QTimer *m_updatePluginsOrderTimer;
|
QTimer *m_updatePluginsOrderTimer;
|
||||||
|
|
||||||
DBusDock *m_appInter;
|
DBusDock *m_appInter;
|
||||||
DockPluginsController *m_pluginsInter;
|
DockPluginsController *m_pluginsInter;
|
||||||
StretchItem *m_placeholderItem;
|
StretchItem *m_placeholderItem;
|
||||||
ContainerItem *m_containerItem;
|
ContainerItem *m_containerItem;
|
||||||
|
|
||||||
static DockItemController *INSTANCE;
|
static DockItemController *INSTANCE;
|
||||||
|
|
||||||
|
QList<QPointer<DockItem>> m_itemList;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DOCKITEMCONTROLLER_H
|
#endif // DOCKITEMCONTROLLER_H
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file was generated by qdbusxml2cpp version 0.8
|
|
||||||
* Command line was: qdbusxml2cpp -c DBusDock -p dbusdock com.deepin.dde.daemon.Dock.xml
|
|
||||||
*
|
|
||||||
* qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies).
|
|
||||||
*
|
|
||||||
* This is an auto-generated file.
|
|
||||||
* This file may have been hand-edited. Look for HAND-EDIT comments
|
|
||||||
* before re-generating it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "dbusdock.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Implementation of interface class DBusDock
|
|
||||||
*/
|
|
||||||
|
|
||||||
DBusDock::DBusDock(QObject *parent)
|
|
||||||
: QDBusAbstractInterface("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", staticInterfaceName(), QDBusConnection::sessionBus(), parent)
|
|
||||||
{
|
|
||||||
QDBusConnection::sessionBus().connect(this->service(), this->path(), "org.freedesktop.DBus.Properties", "PropertiesChanged","sa{sv}as", this, SLOT(__propertyChanged__(QDBusMessage)));
|
|
||||||
}
|
|
||||||
|
|
||||||
DBusDock::~DBusDock()
|
|
||||||
{
|
|
||||||
QDBusConnection::sessionBus().disconnect(service(), path(), "org.freedesktop.DBus.Properties", "PropertiesChanged", "sa{sv}as", this, SLOT(propertyChanged(QDBusMessage)));
|
|
||||||
}
|
|
||||||
|
|
@ -1,203 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file was generated by qdbusxml2cpp version 0.8
|
|
||||||
* Command line was: qdbusxml2cpp -c DBusDock -p dbusdock com.deepin.dde.daemon.Dock.xml
|
|
||||||
*
|
|
||||||
* qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies).
|
|
||||||
*
|
|
||||||
* This is an auto-generated file.
|
|
||||||
* Do not edit! All changes made to it will be lost.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DBUSDOCK_H_1465782143
|
|
||||||
#define DBUSDOCK_H_1465782143
|
|
||||||
|
|
||||||
#include <QtCore/QObject>
|
|
||||||
#include <QtCore/QByteArray>
|
|
||||||
#include <QtCore/QList>
|
|
||||||
#include <QtCore/QMap>
|
|
||||||
#include <QtCore/QString>
|
|
||||||
#include <QtCore/QStringList>
|
|
||||||
#include <QtCore/QVariant>
|
|
||||||
#include <QtDBus/QtDBus>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Proxy class for interface com.deepin.dde.daemon.Dock
|
|
||||||
*/
|
|
||||||
class DBusDock: public QDBusAbstractInterface
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
Q_SLOT void __propertyChanged__(const QDBusMessage& msg)
|
|
||||||
{
|
|
||||||
QList<QVariant> arguments = msg.arguments();
|
|
||||||
if (3 != arguments.count())
|
|
||||||
return;
|
|
||||||
QString interfaceName = msg.arguments().at(0).toString();
|
|
||||||
if (interfaceName !="com.deepin.dde.daemon.Dock")
|
|
||||||
return;
|
|
||||||
QVariantMap changedProps = qdbus_cast<QVariantMap>(arguments.at(1).value<QDBusArgument>());
|
|
||||||
foreach(const QString &prop, changedProps.keys()) {
|
|
||||||
const QMetaObject* self = metaObject();
|
|
||||||
for (int i=self->propertyOffset(); i < self->propertyCount(); ++i) {
|
|
||||||
QMetaProperty p = self->property(i);
|
|
||||||
if (p.name() == prop) {
|
|
||||||
Q_EMIT p.notifySignal().invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public:
|
|
||||||
static inline const char *staticInterfaceName()
|
|
||||||
{ return "com.deepin.dde.daemon.Dock"; }
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit DBusDock(QObject *parent = 0);
|
|
||||||
|
|
||||||
~DBusDock();
|
|
||||||
|
|
||||||
Q_PROPERTY(uint ActiveWindow READ activeWindow NOTIFY ActiveWindowChanged)
|
|
||||||
inline uint activeWindow() const
|
|
||||||
{ return qvariant_cast< uint >(property("ActiveWindow")); }
|
|
||||||
|
|
||||||
Q_PROPERTY(QList<QDBusObjectPath> Entries READ entries NOTIFY EntriesChanged)
|
|
||||||
inline QList<QDBusObjectPath> entries() const
|
|
||||||
{ return qvariant_cast< QList<QDBusObjectPath> >(property("Entries")); }
|
|
||||||
|
|
||||||
Q_PROPERTY(int DisplayMode READ displayMode WRITE setDisplayMode NOTIFY DisplayModeChanged)
|
|
||||||
inline int displayMode() const
|
|
||||||
{ return int(qvariant_cast< int >(property("DisplayMode"))); }
|
|
||||||
inline void setDisplayMode(int value)
|
|
||||||
{ setProperty("DisplayMode", QVariant::fromValue(int(value))); }
|
|
||||||
|
|
||||||
Q_PROPERTY(int HideMode READ hideMode WRITE setHideMode NOTIFY HideModeChanged)
|
|
||||||
inline int hideMode() const
|
|
||||||
{ return qvariant_cast< int >(property("HideMode")); }
|
|
||||||
inline void setHideMode(int value)
|
|
||||||
{ setProperty("HideMode", QVariant::fromValue(value)); }
|
|
||||||
|
|
||||||
Q_PROPERTY(int HideState READ hideState NOTIFY HideStateChanged)
|
|
||||||
inline int hideState() const
|
|
||||||
{ return int(qvariant_cast< int >(property("HideState"))); }
|
|
||||||
|
|
||||||
Q_PROPERTY(int Position READ position WRITE setPosition NOTIFY PositionChanged)
|
|
||||||
inline int position() const
|
|
||||||
{ return int(qvariant_cast< int >(property("Position"))); }
|
|
||||||
inline void setPosition(int value)
|
|
||||||
{ setProperty("Position", QVariant::fromValue(int(value))); }
|
|
||||||
|
|
||||||
Q_PROPERTY(quint32 IconSize READ iconSize WRITE setIconSize NOTIFY IconSizeChanged)
|
|
||||||
inline quint32 iconSize() const
|
|
||||||
{ return qvariant_cast< quint32 >(property("IconSize")); }
|
|
||||||
inline void setIconSize(quint32 value)
|
|
||||||
{ setProperty("IconSize", QVariant::fromValue(value)); }
|
|
||||||
|
|
||||||
Q_PROPERTY(quint32 ShowTimeout READ showTimeout NOTIFY ShowTimeoutChanged)
|
|
||||||
inline quint32 showTimeout() const
|
|
||||||
{ return qvariant_cast< quint32 >(property("ShowTimeout")); }
|
|
||||||
|
|
||||||
public Q_SLOTS: // METHODS
|
|
||||||
inline QDBusPendingReply<> ActivateWindow(uint in0)
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
argumentList << QVariant::fromValue(in0);
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("ActivateWindow"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<> CloseWindow(uint in0)
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
argumentList << QVariant::fromValue(in0);
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("CloseWindow"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<> PreviewWindow(uint in0)
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
argumentList << QVariant::fromValue(in0);
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("PreviewWindow"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<QStringList> GetEntryIDs()
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("GetEntryIDs"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<QStringList> CancelPreviewWindow()
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("CancelPreviewWindow"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<> MoveEntry(const int oldIndex, const int newIndex)
|
|
||||||
{
|
|
||||||
QList<QVariant> args;
|
|
||||||
args << oldIndex << newIndex;
|
|
||||||
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("MoveEntry"), args);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> RequestDock(const QString &appDesktop, const int index = -1)
|
|
||||||
{
|
|
||||||
QList<QVariant> args;
|
|
||||||
args << appDesktop << index;
|
|
||||||
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("RequestDock"), args);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> IsDocked(const QString &appDesktop)
|
|
||||||
{
|
|
||||||
QList<QVariant> args;
|
|
||||||
args << appDesktop;
|
|
||||||
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("IsDocked"), args);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> IsOnDock(const QString &appDesktop)
|
|
||||||
{
|
|
||||||
QList<QVariant> args;
|
|
||||||
args << appDesktop;
|
|
||||||
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("IsOnDock"), args);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> RequestUndock(const QString &appDesktop)
|
|
||||||
{
|
|
||||||
QList<QVariant> args;
|
|
||||||
args << appDesktop;
|
|
||||||
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("RequestUndock"), args);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetFrontendWindowRect(const int x, const int y, const quint32 width, const quint32 height)
|
|
||||||
{
|
|
||||||
QList<QVariant> argumentList;
|
|
||||||
argumentList << QVariant::fromValue(x) << QVariant::fromValue(y) << QVariant::fromValue(width) << QVariant::fromValue(height);
|
|
||||||
return asyncCallWithArgumentList(QStringLiteral("SetFrontendWindowRect"), argumentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
Q_SIGNALS: // SIGNALS
|
|
||||||
void EntryAdded(const QDBusObjectPath &entryPath, const int index);
|
|
||||||
void EntryRemoved(const QString &entryId);
|
|
||||||
void ServiceRestarted();
|
|
||||||
// begin property changed signals
|
|
||||||
void ActiveWindowChanged();
|
|
||||||
void DisplayModeChanged();
|
|
||||||
void EntriesChanged();
|
|
||||||
void HideModeChanged();
|
|
||||||
void HideStateChanged();
|
|
||||||
void PositionChanged();
|
|
||||||
void IconSizeChanged();
|
|
||||||
void ShowTimeoutChanged();
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace com {
|
|
||||||
namespace deepin {
|
|
||||||
namespace dde {
|
|
||||||
namespace daemon {
|
|
||||||
typedef ::DBusDock Dock;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -57,7 +57,7 @@ DockSettings::DockSettings(QWidget *parent)
|
|||||||
, m_keepHiddenAct(tr("Keep Hidden"), this)
|
, m_keepHiddenAct(tr("Keep Hidden"), this)
|
||||||
, m_smartHideAct(tr("Smart Hide"), this)
|
, m_smartHideAct(tr("Smart Hide"), this)
|
||||||
, m_displayInter(new DBusDisplay(this))
|
, m_displayInter(new DBusDisplay(this))
|
||||||
, m_dockInter(new DBusDock(this))
|
, m_dockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this))
|
||||||
, m_itemController(DockItemController::instance(this))
|
, m_itemController(DockItemController::instance(this))
|
||||||
, m_appearanceInter(new Appearance("com.deepin.daemon.Appearance", "/com/deepin/daemon/Appearance", QDBusConnection::sessionBus(), this))
|
, m_appearanceInter(new Appearance("com.deepin.daemon.Appearance", "/com/deepin/daemon/Appearance", QDBusConnection::sessionBus(), this))
|
||||||
{
|
{
|
||||||
|
@ -23,11 +23,12 @@
|
|||||||
#define DOCKSETTINGS_H
|
#define DOCKSETTINGS_H
|
||||||
|
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "dbus/dbusdock.h"
|
|
||||||
#include "dbus/dbusmenumanager.h"
|
#include "dbus/dbusmenumanager.h"
|
||||||
#include "dbus/dbusdisplay.h"
|
#include "dbus/dbusdisplay.h"
|
||||||
#include "controller/dockitemcontroller.h"
|
#include "controller/dockitemcontroller.h"
|
||||||
|
|
||||||
#include <com_deepin_daemon_appearance.h>
|
#include <com_deepin_daemon_appearance.h>
|
||||||
|
#include <com_deepin_dde_daemon_dock.h>
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
@ -41,6 +42,7 @@ DWIDGET_USE_NAMESPACE
|
|||||||
|
|
||||||
using namespace Dock;
|
using namespace Dock;
|
||||||
using Appearance = com::deepin::daemon::Appearance;
|
using Appearance = com::deepin::daemon::Appearance;
|
||||||
|
using DBusDock = com::deepin::dde::daemon::Dock;
|
||||||
|
|
||||||
class WhiteMenu : public QMenu
|
class WhiteMenu : public QMenu
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user