add plugins

Change-Id: Ib35a19191b8169993ca5e04cc9d5654b8519a56e
This commit is contained in:
石博文 2016-06-15 17:44:38 +08:00 committed by Hualet Wang
parent ca52556f5b
commit 3d2a1e76c3
49 changed files with 182 additions and 53 deletions

View File

@ -1,43 +1,4 @@
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
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
TEMPLATE = subdirs
SUBDIRS = frame \
plugins

46
frame/frame.pro Normal file
View 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

View File

@ -1,25 +1,26 @@
#include "dockitem.h"
#include "dbus/dbusmenu.h"
#include "dbus/dbusmenumanager.h"
#include <QMouseEvent>
#include <QJsonObject>
DockItem::DockItem(const ItemType type, QWidget *parent)
: QWidget(parent),
m_side(DockSettings::Top),
// m_side(DockSettings::Top),
m_type(type),
m_menuManagerInter(new DBusMenuManager(this))
{
}
void DockItem::setDockSide(const DockSettings::DockSide side)
{
m_side = side;
//void DockItem::setDockSide(const DockSettings::DockSide side)
//{
// m_side = side;
update();
}
// update();
//}
DockItem::ItemType DockItem::itemType() const
{
@ -76,5 +77,5 @@ void DockItem::invokedMenuItem(const QString &itemId, const bool checked)
const QString DockItem::contextMenu() const
{
return "";
return QString();
}

View File

@ -3,9 +3,9 @@
#include <QFrame>
#include "util/docksettings.h"
#include "dbus/dbusmenumanager.h"
//#include "util/docksettings.h"
class DBusMenuManager;
class DockItem : public QWidget
{
Q_OBJECT
@ -20,7 +20,7 @@ public:
public:
explicit DockItem(const ItemType type, QWidget *parent = nullptr);
void setDockSide(const DockSettings::DockSide side);
// void setDockSide(const DockSettings::DockSide side);
ItemType itemType() const;
@ -33,7 +33,7 @@ protected:
virtual const QString contextMenu() const;
protected:
DockSettings::DockSide m_side;
// DockSettings::DockSide m_side;
ItemType m_type;
DBusMenuManager *m_menuManagerInter;

View File

@ -0,0 +1,7 @@
#include "pluginsitem.h"
PluginsItem::PluginsItem(QWidget *parent)
: DockItem(Plugins, parent)
{
}

14
frame/item/pluginsitem.h Normal file
View 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

View File

@ -0,0 +1,4 @@
HEADERS += \
$$PWD/pluginsiteminterface.h
INCLUDEPATH += $$PWD

View 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

View File

@ -0,0 +1,2 @@
{
}

View 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"

View File

@ -0,0 +1,7 @@
#include "datetimeitem.h"
DateTimeItem::DateTimeItem(QWidget *parent)
: PluginsItem(parent)
{
}

View 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

View File

@ -0,0 +1,12 @@
#include "datetimeplugin.h"
DatetimePlugin::DatetimePlugin(QObject *parent)
: QObject(parent)
{
}
PluginsItem *DatetimePlugin::getPluginsItem()
{
return nullptr;
}

View 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
View File

@ -0,0 +1,3 @@
TEMPLATE = subdirs
SUBDIRS = \
datetime