mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +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)
|
||||
: 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)
|
||||
|
@ -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
|
||||
|
@ -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_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))
|
||||
{
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user