mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
dock plugin interface changes
1, init method invocation time 2, use rightLayout instead of testLayout 3, item reiszed signal
This commit is contained in:
parent
65b95b99f9
commit
4162ee7790
@ -28,11 +28,6 @@ Panel::Panel(QWidget *parent)
|
||||
connect(dockCons, SIGNAL(dockModeChanged(Dock::DockMode,Dock::DockMode)),
|
||||
this, SLOT(slotDockModeChanged(Dock::DockMode,Dock::DockMode)));
|
||||
|
||||
|
||||
// QHBoxLayout * testLayout = new QHBoxLayout;
|
||||
// testLayout->addStretch();
|
||||
// this->setLayout(testLayout);
|
||||
|
||||
DockPluginManager *pluginManager = new DockPluginManager(this);
|
||||
connect(DockModeData::instance(), &DockModeData::dockModeChanged,
|
||||
pluginManager, &DockPluginManager::onDockModeChanged);
|
||||
@ -44,8 +39,12 @@ Panel::Panel(QWidget *parent)
|
||||
});
|
||||
connect(proxy, &DockPluginProxy::itemRemoved, [=](AbstractDockItem* item) {
|
||||
int index = rightLayout->indexOf(item);
|
||||
rightLayout->removeItem(index);
|
||||
if (index != -1) {
|
||||
rightLayout->removeItem(index);
|
||||
}
|
||||
});
|
||||
|
||||
proxy->plugin()->init(proxy);
|
||||
}
|
||||
|
||||
panelMenu = new PanelMenu();
|
||||
|
@ -50,7 +50,6 @@ DockPluginProxy* DockPluginManager::loadPlugin(QString &path)
|
||||
qDebug() << "Plugin loaded: " << path;
|
||||
|
||||
DockPluginProxy *proxy = new DockPluginProxy(interface);
|
||||
interface->init(proxy);
|
||||
|
||||
return proxy;
|
||||
} else {
|
||||
|
@ -19,8 +19,6 @@ void DockPluginProxy::itemAddedEvent(QString uuid)
|
||||
AbstractDockItem * item = new PluginItemWrapper(m_plugin, uuid);
|
||||
m_items << item;
|
||||
|
||||
qDebug() << item->geometry();
|
||||
|
||||
emit itemAdded(item);
|
||||
}
|
||||
|
||||
@ -36,6 +34,16 @@ void DockPluginProxy::itemRemovedEvent(QString uuid)
|
||||
}
|
||||
}
|
||||
|
||||
void DockPluginProxy::itemSizeChangedEvent(QString uuid)
|
||||
{
|
||||
qDebug() << "Item size changed on plugin " << m_plugin->name() << uuid;
|
||||
|
||||
AbstractDockItem * item = getItem(uuid);
|
||||
if (item) {
|
||||
emit item->widthChanged();
|
||||
}
|
||||
}
|
||||
|
||||
AbstractDockItem * DockPluginProxy::getItem(QString uuid)
|
||||
{
|
||||
foreach (AbstractDockItem * item, m_items) {
|
||||
|
@ -15,6 +15,7 @@ public:
|
||||
|
||||
void itemAddedEvent(QString uuid) Q_DECL_OVERRIDE;
|
||||
void itemRemovedEvent(QString uuid) Q_DECL_OVERRIDE;
|
||||
void itemSizeChangedEvent(QString uuid) Q_DECL_OVERRIDE;
|
||||
|
||||
signals:
|
||||
void itemAdded(AbstractDockItem * item);
|
||||
|
@ -8,6 +8,8 @@ class DockPluginProxyInterface
|
||||
public:
|
||||
virtual void itemAddedEvent(QString uuid) = 0;
|
||||
virtual void itemRemovedEvent(QString uuid) = 0;
|
||||
|
||||
virtual void itemSizeChangedEvent(QString uuid) = 0;
|
||||
};
|
||||
|
||||
#endif // DOCKPLUGINPROXYINTERFACE_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user