refactor: using libdframeworkdbus for dock dbus daemon

Change-Id: I62531c101075ec9b37d3840be97bbba25c9faab4
This commit is contained in:
listenerri 2019-01-07 14:09:25 +08:00
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
6 changed files with 11 additions and 240 deletions

View File

@ -214,10 +214,8 @@ void DockItemController::refreshFSTItemSpliterVisible()
DockItemController::DockItemController(QObject *parent)
: QObject(parent),
m_updatePluginsOrderTimer(new QTimer(this)),
m_appInter(new DBusDock(this)),
m_appInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this)),
m_pluginsInter(new DockPluginsController(this)),
m_placeholderItem(new StretchItem),
m_containerItem(new ContainerItem)

View File

@ -24,15 +24,18 @@
#include "dockpluginscontroller.h"
#include "pluginsiteminterface.h"
#include "dbus/dbusdock.h"
#include "item/dockitem.h"
#include "item/stretchitem.h"
#include "item/appitem.h"
#include "item/placeholderitem.h"
#include "item/containeritem.h"
#include <com_deepin_dde_daemon_dock.h>
#include <QObject>
using DBusDock = com::deepin::dde::daemon::Dock;
class DockItemController : public QObject
{
Q_OBJECT
@ -77,16 +80,15 @@ private:
void reloadAppItems();
private:
QList<QPointer<DockItem>> m_itemList;
QTimer *m_updatePluginsOrderTimer;
DBusDock *m_appInter;
DockPluginsController *m_pluginsInter;
StretchItem *m_placeholderItem;
ContainerItem *m_containerItem;
static DockItemController *INSTANCE;
QList<QPointer<DockItem>> m_itemList;
};
#endif // DOCKITEMCONTROLLER_H

View File

@ -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)));
}

View File

@ -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

View File

@ -57,7 +57,7 @@ DockSettings::DockSettings(QWidget *parent)
, m_keepHiddenAct(tr("Keep Hidden"), this)
, m_smartHideAct(tr("Smart Hide"), 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_appearanceInter(new Appearance("com.deepin.daemon.Appearance", "/com/deepin/daemon/Appearance", QDBusConnection::sessionBus(), this))
{

View File

@ -23,11 +23,12 @@
#define DOCKSETTINGS_H
#include "constants.h"
#include "dbus/dbusdock.h"
#include "dbus/dbusmenumanager.h"
#include "dbus/dbusdisplay.h"
#include "controller/dockitemcontroller.h"
#include <com_deepin_daemon_appearance.h>
#include <com_deepin_dde_daemon_dock.h>
#include <QAction>
#include <QMenu>
@ -41,6 +42,7 @@ DWIDGET_USE_NAMESPACE
using namespace Dock;
using Appearance = com::deepin::daemon::Appearance;
using DBusDock = com::deepin::dde::daemon::Dock;
class WhiteMenu : public QMenu
{