Skip to content

Commit cfa1563

Browse files
authored
Merge branch 'master' into fix-bug-334659
2 parents 2da7b5e + 4f2ce6b commit cfa1563

13 files changed

+42
-30
lines changed

panels/dock/taskmanager/abstracttaskmanagerinterface.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ class AbstractTaskManagerInterface
6262
{
6363
callInterfaceMethod(index, &AbstractTaskManagerInterface::requestClose, force);
6464
}
65-
virtual void requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const
65+
virtual void requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const
6666
{
67-
callInterfaceMethod(index, &AbstractTaskManagerInterface::requestUpdateWindowGeometry, geometry, delegate);
67+
callInterfaceMethod(index, &AbstractTaskManagerInterface::requestUpdateWindowIconGeometry, geometry, delegate);
6868
}
6969
virtual void requestWindowsView(const QModelIndexList &indexes) const
7070
{

panels/dock/taskmanager/abstractwindowmonitor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ void AbstractWindowMonitor::requestClose(const QModelIndex &index, bool force) c
6565
}
6666
}
6767

68-
void AbstractWindowMonitor::requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
68+
void AbstractWindowMonitor::requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
6969
{
7070
}
7171

panels/dock/taskmanager/abstractwindowmonitor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class AbstractWindowMonitor : public QAbstractListModel, public AbstractTaskMana
3939
void requestOpenUrls(const QModelIndex &index, const QList<QUrl> &urls) const override;
4040
void requestNewInstance(const QModelIndex &index, const QString &action) const override;
4141
void requestClose(const QModelIndex &index, bool force = false) const override;
42-
void requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
42+
void requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
4343

4444
virtual void
4545
requestPreview(QAbstractItemModel *sourceModel, QWindow *relativePositionItem, int32_t previewXoffset, int32_t previewYoffset, uint32_t direction) = 0;

panels/dock/taskmanager/dockglobalelementmodel.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,11 +382,17 @@ void DockGlobalElementModel::requestClose(const QModelIndex &index, bool force)
382382
qWarning() << "unable to close app not running";
383383
}
384384

385-
void DockGlobalElementModel::requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
385+
void DockGlobalElementModel::requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
386386
{
387-
Q_UNUSED(index)
388-
Q_UNUSED(geometry)
389-
Q_UNUSED(delegate)
387+
auto data = m_data.value(index.row());
388+
auto id = std::get<0>(data);
389+
auto sourceModel = std::get<1>(data);
390+
auto sourceRow = std::get<2>(data);
391+
392+
if (sourceModel == m_activeAppModel) {
393+
auto sourceIndex = sourceModel->index(sourceRow, 0);
394+
m_activeAppModel->requestUpdateWindowIconGeometry(sourceIndex, geometry, delegate);
395+
}
390396
}
391397

392398
void DockGlobalElementModel::requestWindowsView(const QModelIndexList &indexes) const

panels/dock/taskmanager/dockglobalelementmodel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class DockGlobalElementModel : public QAbstractListModel, public AbstractTaskMan
3131

3232
void requestOpenUrls(const QModelIndex &index, const QList<QUrl> &urls) const override;
3333
void requestClose(const QModelIndex &index, bool force = false) const override;
34-
void requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
34+
void requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
3535

3636
void requestWindowsView(const QModelIndexList &indexes) const override;
3737

panels/dock/taskmanager/dockgroupmodel.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,17 @@ void DockGroupModel::requestClose(const QModelIndex &index, bool force) const
136136
}
137137
}
138138

139-
void DockGroupModel::requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
139+
void DockGroupModel::requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
140140
{
141-
Q_UNUSED(index)
142-
Q_UNUSED(geometry)
143-
Q_UNUSED(delegate)
141+
auto interface = dynamic_cast<AbstractTaskManagerInterface *>(sourceModel());
142+
if (nullptr == interface)
143+
return;
144+
145+
auto indexRowCount = RoleGroupModel::rowCount(index);
146+
for (int i = 0; i < indexRowCount; i++) {
147+
auto cIndex = RoleGroupModel::index(i, 0, index);
148+
callInterfaceMethod(cIndex, &AbstractTaskManagerInterface::requestUpdateWindowIconGeometry, geometry, delegate);
149+
}
144150
}
145151

146152
void DockGroupModel::requestWindowsView(const QModelIndexList &indexes) const

panels/dock/taskmanager/dockgroupmodel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class DockGroupModel : public RoleGroupModel, public AbstractTaskManagerInterfac
2222
void requestActivate(const QModelIndex &index) const override;
2323
void requestNewInstance(const QModelIndex &index, const QString &action) const override;
2424
void requestClose(const QModelIndex &index, bool force = false) const override;
25-
void requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
25+
void requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
2626
void requestWindowsView(const QModelIndexList &indexes) const override;
2727

2828
private:

panels/dock/taskmanager/package/AppItem.qml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,8 @@ Item {
272272
repeat: false
273273
onTriggered: {
274274
var pos = icon.mapToItem(null, 0, 0)
275-
taskmanager.Applet.setAppItemWindowIconGeometry(root.itemId, Panel.rootObject, pos.x, pos.y,
276-
pos.x + icon.width, pos.y + icon.height)
275+
taskmanager.Applet.requestUpdateWindowIconGeometry(root.modelIndex, Qt.rect(pos.x, pos.y,
276+
icon.width, icon.height), Panel.rootObject)
277277
}
278278
}
279279

panels/dock/taskmanager/taskmanager.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,9 @@ void TaskManager::requestClose(const QModelIndex &index, bool force) const
201201
m_itemModel->requestClose(index, force);
202202
}
203203

204-
void TaskManager::requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
204+
void TaskManager::requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate) const
205205
{
206-
m_itemModel->requestUpdateWindowGeometry(index, geometry, delegate);
206+
m_itemModel->requestUpdateWindowIconGeometry(index, geometry, delegate);
207207
}
208208

209209
void TaskManager::requestPreview(const QModelIndex &index, QObject *relativePositionItem, int32_t previewXoffset, int32_t previewYoffset, uint32_t direction)
@@ -312,16 +312,6 @@ void TaskManager::hideItemPreview()
312312
m_windowMonitor->hideItemPreview();
313313
}
314314

315-
void TaskManager::setAppItemWindowIconGeometry(const QString& appid, QObject* relativePositionItem, const int& x1, const int& y1, const int& x2, const int& y2)
316-
{
317-
QPointer<AppItem> item = static_cast<AppItem*>(ItemModel::instance()->getItemById(appid).get());
318-
if (item.isNull()) return;
319-
320-
for (auto window : item->getAppendWindows()) {
321-
window->setWindowIconGeometry(qobject_cast<QWindow*>(relativePositionItem), QRect(QPoint(x1, y1),QPoint(x2, y2)));
322-
}
323-
}
324-
325315
bool TaskManager::allowForceQuit()
326316
{
327317
return Settings->isAllowedForceQuit();

panels/dock/taskmanager/taskmanager.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class TaskManager : public DS_NAMESPACE::DContainment, public AbstractTaskManage
7878

7979
Q_INVOKABLE void requestOpenUrls(const QModelIndex &index, const QList<QUrl> &urls) const override;
8080
Q_INVOKABLE void requestClose(const QModelIndex &index, bool force = false) const override;
81-
Q_INVOKABLE void requestUpdateWindowGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
81+
Q_INVOKABLE void requestUpdateWindowIconGeometry(const QModelIndex &index, const QRect &geometry, QObject *delegate = nullptr) const override;
8282
Q_INVOKABLE void
8383
requestPreview(const QModelIndex &index, QObject *relativePositionItem, int32_t previewXoffset, int32_t previewYoffset, uint32_t direction);
8484
Q_INVOKABLE void requestWindowsView(const QModelIndexList &indexes) const override;
@@ -93,7 +93,6 @@ class TaskManager : public DS_NAMESPACE::DContainment, public AbstractTaskManage
9393
Q_INVOKABLE void dropFilesOnItem(const QString &itemId, const QStringList &urls);
9494
Q_INVOKABLE void hideItemPreview();
9595

96-
Q_INVOKABLE void setAppItemWindowIconGeometry(const QString& appid, QObject* relativePositionItem, const int& x1, const int& y1, const int& x2, const int& y2);
9796
Q_INVOKABLE void activateWindow(uint32_t windowID);
9897
Q_INVOKABLE void saveDockElementsOrder(const QStringList &appIds);
9998

0 commit comments

Comments
 (0)