mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
disable drop if item already exists
Change-Id: I5f0b09263b2d66989700d224e0e531bb07280b0f
This commit is contained in:
parent
07bf5bd4df
commit
f55a604c3b
@ -27,6 +27,11 @@ const QList<DockItem *> DockItemController::itemList() const
|
||||
return m_itemList;
|
||||
}
|
||||
|
||||
bool DockItemController::appIsDocked(const QString &appDesktop) const
|
||||
{
|
||||
return m_appInter->IsDocked(appDesktop);
|
||||
}
|
||||
|
||||
void DockItemController::itemMove(DockItem * const moveItem, DockItem * const replaceItem)
|
||||
{
|
||||
Q_ASSERT(moveItem != replaceItem);
|
||||
|
@ -20,6 +20,7 @@ public:
|
||||
~DockItemController();
|
||||
|
||||
const QList<DockItem *> itemList() const;
|
||||
bool appIsDocked(const QString &appDesktop) const;
|
||||
|
||||
signals:
|
||||
void itemInserted(const int index, DockItem *item) const;
|
||||
|
@ -128,12 +128,20 @@ public Q_SLOTS: // METHODS
|
||||
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> RequestUndock(const QString &appDesktop)
|
||||
{
|
||||
QList<QVariant> args;
|
||||
args << appDesktop;
|
||||
|
||||
return asyncCallWithArgumentList(QStringLiteral("RequestDock"), args);
|
||||
return asyncCallWithArgumentList(QStringLiteral("RequestUndock"), args);
|
||||
}
|
||||
|
||||
inline QDBusPendingReply<> SetFrontendWindowRect(const int x, const int y, const quint32 width, const quint32 height)
|
||||
|
@ -141,6 +141,8 @@ void MainPanel::dragEnterEvent(QDragEnterEvent *e)
|
||||
|
||||
if (!e->mimeData()->formats().contains(RequestDockKey))
|
||||
return;
|
||||
if (m_itemController->appIsDocked(e->mimeData()->data(RequestDockKey)))
|
||||
return;
|
||||
|
||||
e->accept();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user