mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
add plugins
Change-Id: Ib35a19191b8169993ca5e04cc9d5654b8519a56e
This commit is contained in:
parent
ca52556f5b
commit
3d2a1e76c3
45
dde-dock.pro
45
dde-dock.pro
@ -1,43 +1,4 @@
|
|||||||
QT += core gui widgets dbus x11extras svg
|
|
||||||
|
|
||||||
TARGET = dde-dock
|
TEMPLATE = subdirs
|
||||||
TEMPLATE = app
|
SUBDIRS = frame \
|
||||||
CONFIG += c++11 link_pkgconfig
|
plugins
|
||||||
|
|
||||||
PKGCONFIG += xcb-ewmh gtk+-2.0 dtkwidget dtkbase
|
|
||||||
|
|
||||||
SOURCES += main.cpp \
|
|
||||||
window/mainwindow.cpp \
|
|
||||||
xcb/xcb_misc.cpp \
|
|
||||||
item/dockitem.cpp \
|
|
||||||
panel/mainpanel.cpp \
|
|
||||||
controller/dockitemcontroller.cpp \
|
|
||||||
dbus/dbusdockentry.cpp \
|
|
||||||
dbus/dbusdisplay.cpp \
|
|
||||||
item/appitem.cpp \
|
|
||||||
util/docksettings.cpp \
|
|
||||||
item/placeholderitem.cpp \
|
|
||||||
dbus/dbusclientmanager.cpp \
|
|
||||||
dbus/dbusdock.cpp \
|
|
||||||
util/themeappicon.cpp \
|
|
||||||
item/launcheritem.cpp \
|
|
||||||
dbus/dbusmenumanager.cpp \
|
|
||||||
dbus/dbusmenu.cpp
|
|
||||||
|
|
||||||
HEADERS += \
|
|
||||||
window/mainwindow.h \
|
|
||||||
xcb/xcb_misc.h \
|
|
||||||
item/dockitem.h \
|
|
||||||
panel/mainpanel.h \
|
|
||||||
controller/dockitemcontroller.h \
|
|
||||||
dbus/dbusdockentry.h \
|
|
||||||
dbus/dbusdisplay.h \
|
|
||||||
item/appitem.h \
|
|
||||||
util/docksettings.h \
|
|
||||||
item/placeholderitem.h \
|
|
||||||
dbus/dbusclientmanager.h \
|
|
||||||
dbus/dbusdock.h \
|
|
||||||
util/themeappicon.h \
|
|
||||||
item/launcheritem.h \
|
|
||||||
dbus/dbusmenumanager.h \
|
|
||||||
dbus/dbusmenu.h
|
|
||||||
|
46
frame/frame.pro
Normal file
46
frame/frame.pro
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
QT += core gui widgets dbus x11extras svg
|
||||||
|
|
||||||
|
TARGET = dde-dock
|
||||||
|
TEMPLATE = app
|
||||||
|
CONFIG += c++11 link_pkgconfig
|
||||||
|
|
||||||
|
PKGCONFIG += xcb-ewmh gtk+-2.0 dtkwidget dtkbase
|
||||||
|
|
||||||
|
SOURCES += main.cpp \
|
||||||
|
window/mainwindow.cpp \
|
||||||
|
xcb/xcb_misc.cpp \
|
||||||
|
item/dockitem.cpp \
|
||||||
|
panel/mainpanel.cpp \
|
||||||
|
controller/dockitemcontroller.cpp \
|
||||||
|
dbus/dbusdockentry.cpp \
|
||||||
|
dbus/dbusdisplay.cpp \
|
||||||
|
item/appitem.cpp \
|
||||||
|
util/docksettings.cpp \
|
||||||
|
item/placeholderitem.cpp \
|
||||||
|
dbus/dbusclientmanager.cpp \
|
||||||
|
dbus/dbusdock.cpp \
|
||||||
|
util/themeappicon.cpp \
|
||||||
|
item/launcheritem.cpp \
|
||||||
|
dbus/dbusmenumanager.cpp \
|
||||||
|
dbus/dbusmenu.cpp \
|
||||||
|
item/pluginsitem.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
window/mainwindow.h \
|
||||||
|
xcb/xcb_misc.h \
|
||||||
|
item/dockitem.h \
|
||||||
|
panel/mainpanel.h \
|
||||||
|
controller/dockitemcontroller.h \
|
||||||
|
dbus/dbusdockentry.h \
|
||||||
|
dbus/dbusdisplay.h \
|
||||||
|
item/appitem.h \
|
||||||
|
util/docksettings.h \
|
||||||
|
item/placeholderitem.h \
|
||||||
|
dbus/dbusclientmanager.h \
|
||||||
|
dbus/dbusdock.h \
|
||||||
|
util/themeappicon.h \
|
||||||
|
item/launcheritem.h \
|
||||||
|
dbus/dbusmenumanager.h \
|
||||||
|
dbus/dbusmenu.h \
|
||||||
|
item/pluginsiteminterface.h \
|
||||||
|
item/pluginsitem.h
|
@ -1,25 +1,26 @@
|
|||||||
|
|
||||||
#include "dockitem.h"
|
#include "dockitem.h"
|
||||||
#include "dbus/dbusmenu.h"
|
#include "dbus/dbusmenu.h"
|
||||||
|
#include "dbus/dbusmenumanager.h"
|
||||||
|
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
|
|
||||||
DockItem::DockItem(const ItemType type, QWidget *parent)
|
DockItem::DockItem(const ItemType type, QWidget *parent)
|
||||||
: QWidget(parent),
|
: QWidget(parent),
|
||||||
m_side(DockSettings::Top),
|
// m_side(DockSettings::Top),
|
||||||
m_type(type),
|
m_type(type),
|
||||||
|
|
||||||
m_menuManagerInter(new DBusMenuManager(this))
|
m_menuManagerInter(new DBusMenuManager(this))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void DockItem::setDockSide(const DockSettings::DockSide side)
|
//void DockItem::setDockSide(const DockSettings::DockSide side)
|
||||||
{
|
//{
|
||||||
m_side = side;
|
// m_side = side;
|
||||||
|
|
||||||
update();
|
// update();
|
||||||
}
|
//}
|
||||||
|
|
||||||
DockItem::ItemType DockItem::itemType() const
|
DockItem::ItemType DockItem::itemType() const
|
||||||
{
|
{
|
||||||
@ -76,5 +77,5 @@ void DockItem::invokedMenuItem(const QString &itemId, const bool checked)
|
|||||||
|
|
||||||
const QString DockItem::contextMenu() const
|
const QString DockItem::contextMenu() const
|
||||||
{
|
{
|
||||||
return "";
|
return QString();
|
||||||
}
|
}
|
@ -3,9 +3,9 @@
|
|||||||
|
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
|
|
||||||
#include "util/docksettings.h"
|
//#include "util/docksettings.h"
|
||||||
#include "dbus/dbusmenumanager.h"
|
|
||||||
|
|
||||||
|
class DBusMenuManager;
|
||||||
class DockItem : public QWidget
|
class DockItem : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -20,7 +20,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DockItem(const ItemType type, QWidget *parent = nullptr);
|
explicit DockItem(const ItemType type, QWidget *parent = nullptr);
|
||||||
void setDockSide(const DockSettings::DockSide side);
|
// void setDockSide(const DockSettings::DockSide side);
|
||||||
|
|
||||||
ItemType itemType() const;
|
ItemType itemType() const;
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ protected:
|
|||||||
virtual const QString contextMenu() const;
|
virtual const QString contextMenu() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
DockSettings::DockSide m_side;
|
// DockSettings::DockSide m_side;
|
||||||
ItemType m_type;
|
ItemType m_type;
|
||||||
|
|
||||||
DBusMenuManager *m_menuManagerInter;
|
DBusMenuManager *m_menuManagerInter;
|
7
frame/item/pluginsitem.cpp
Normal file
7
frame/item/pluginsitem.cpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#include "pluginsitem.h"
|
||||||
|
|
||||||
|
PluginsItem::PluginsItem(QWidget *parent)
|
||||||
|
: DockItem(Plugins, parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
14
frame/item/pluginsitem.h
Normal file
14
frame/item/pluginsitem.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef PLUGINSITEM_H
|
||||||
|
#define PLUGINSITEM_H
|
||||||
|
|
||||||
|
#include "dockitem.h"
|
||||||
|
|
||||||
|
class PluginsItem : public DockItem
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit PluginsItem(QWidget *parent = 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // PLUGINSITEM_H
|
4
interfaces/interfaces.pri
Normal file
4
interfaces/interfaces.pri
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
HEADERS += \
|
||||||
|
$$PWD/pluginsiteminterface.h
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD
|
19
interfaces/pluginsiteminterface.h
Normal file
19
interfaces/pluginsiteminterface.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef PLUGINSITEMINTERFACE_H
|
||||||
|
#define PLUGINSITEMINTERFACE_H
|
||||||
|
|
||||||
|
class PluginsItem;
|
||||||
|
class PluginsItemInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~PluginsItemInterface() {}
|
||||||
|
virtual PluginsItem *getPluginsItem() = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
#define ModuleInterface_iid "com.deepin.dock.PluginsItemInterface"
|
||||||
|
|
||||||
|
Q_DECLARE_INTERFACE(PluginsItemInterface, ModuleInterface_iid)
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
#endif // PLUGINSITEMINTERFACE_H
|
2
plugins/datetime/datetime.json
Normal file
2
plugins/datetime/datetime.json
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
20
plugins/datetime/datetime.pro
Normal file
20
plugins/datetime/datetime.pro
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
QT += widgets
|
||||||
|
TEMPLATE = lib
|
||||||
|
CONFIG += plugin c++11 link_pkgconfig
|
||||||
|
PKGCONFIG +=
|
||||||
|
|
||||||
|
TARGET = $$qtLibraryTarget(datetime)
|
||||||
|
DESTDIR = $$_PRO_FILE_PWD_/../
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
datetimeplugin.h \
|
||||||
|
datetimeitem.h
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
datetimeplugin.cpp \
|
||||||
|
datetimeitem.cpp
|
||||||
|
|
||||||
|
include(../../interfaces/interfaces.pri)
|
||||||
|
|
||||||
|
INCLUDEPATH += "../../frame/item"
|
7
plugins/datetime/datetimeitem.cpp
Normal file
7
plugins/datetime/datetimeitem.cpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#include "datetimeitem.h"
|
||||||
|
|
||||||
|
DateTimeItem::DateTimeItem(QWidget *parent)
|
||||||
|
: PluginsItem(parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
14
plugins/datetime/datetimeitem.h
Normal file
14
plugins/datetime/datetimeitem.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef DATETIMEITEM_H
|
||||||
|
#define DATETIMEITEM_H
|
||||||
|
|
||||||
|
#include "pluginsitem.h"
|
||||||
|
|
||||||
|
class DateTimeItem : public PluginsItem
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit DateTimeItem(QWidget *parent = 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DATETIMEITEM_H
|
12
plugins/datetime/datetimeplugin.cpp
Normal file
12
plugins/datetime/datetimeplugin.cpp
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#include "datetimeplugin.h"
|
||||||
|
|
||||||
|
DatetimePlugin::DatetimePlugin(QObject *parent)
|
||||||
|
: QObject(parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
PluginsItem *DatetimePlugin::getPluginsItem()
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
19
plugins/datetime/datetimeplugin.h
Normal file
19
plugins/datetime/datetimeplugin.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef DATETIMEPLUGIN_H
|
||||||
|
#define DATETIMEPLUGIN_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include "pluginsiteminterface.h"
|
||||||
|
|
||||||
|
class DatetimePlugin : public QObject, PluginsItemInterface
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_INTERFACES(PluginsItemInterface)
|
||||||
|
Q_PLUGIN_METADATA(IID "com.deepin.dock.PluginsItemInterface" FILE "datetime.json")
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit DatetimePlugin(QObject *parent = 0);
|
||||||
|
PluginsItem *getPluginsItem();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DATETIMEPLUGIN_H
|
3
plugins/plugins.pro
Normal file
3
plugins/plugins.pro
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TEMPLATE = subdirs
|
||||||
|
SUBDIRS = \
|
||||||
|
datetime
|
Loading…
x
Reference in New Issue
Block a user