@@ -72,23 +72,12 @@ TaskManager::TaskManager(QObject *parent)
7272 , AbstractTaskManagerInterface(nullptr )
7373 , m_windowFullscreen(false )
7474{
75- qRegisterMetaType<ObjectInterfaceMap>();
76- qDBusRegisterMetaType<ObjectInterfaceMap>();
77- qRegisterMetaType<ObjectMap>();
78- qDBusRegisterMetaType<ObjectMap>();
79- qDBusRegisterMetaType<QStringMap>();
80- qRegisterMetaType<QStringMap>();
81- qRegisterMetaType<PropMap>();
82- qDBusRegisterMetaType<PropMap>();
83- qDBusRegisterMetaType<QDBusObjectPath>();
84-
8575 connect (Settings, &TaskManagerSettings::allowedForceQuitChanged, this , &TaskManager::allowedForceQuitChanged);
8676 connect (Settings, &TaskManagerSettings::windowSplitChanged, this , &TaskManager::windowSplitChanged);
8777}
8878
8979bool TaskManager::load ()
9080{
91- loadDockedAppItems ();
9281 auto platformName = QGuiApplication::platformName ();
9382 if (QStringLiteral (" wayland" ) == platformName) {
9483 m_windowMonitor.reset (new TreeLandWindowMonitor ());
@@ -145,9 +134,6 @@ bool TaskManager::init()
145134 m_itemModel = new DockItemModel (m_dockGlobalElementModel, this );
146135 }
147136
148- if (m_windowMonitor)
149- m_windowMonitor->start ();
150-
151137 connect (m_windowMonitor.data (), &AbstractWindowMonitor::windowFullscreenChanged, this , [this ] (bool isFullscreen) {
152138 m_windowFullscreen = isFullscreen;
153139 emit windowFullscreenChanged (isFullscreen);
@@ -160,12 +146,17 @@ bool TaskManager::init()
160146 modifyOpacityChanged ();
161147 connect (appearanceApplet, SIGNAL (opacityChanged ()), this , SLOT (modifyOpacityChanged ()));
162148 }
149+ QTimer::singleShot (500 , [this ]() {
150+ if (m_windowMonitor)
151+ m_windowMonitor->start ();
152+ });
153+
163154 return true ;
164155}
165156
166- ItemModel *TaskManager::dataModel ()
157+ DockItemModel *TaskManager::dataModel () const
167158{
168- return ItemModel::instance () ;
159+ return m_itemModel ;
169160}
170161
171162void TaskManager::requestActivate (const QModelIndex &index) const
@@ -249,46 +240,13 @@ void TaskManager::handleWindowAdded(QPointer<AbstractWindow> window)
249240 ItemModel::instance ()->addItem (appitem);
250241}
251242
252- void TaskManager::clickItem (const QString& itemId, const QString& menuId)
253- {
254- auto item = ItemModel::instance ()->getItemById (itemId);
255- if (!item) return ;
256-
257- if (menuId == DOCK_ACTION_ALLWINDOW) {
258- QList<uint32_t > windowIds;
259- auto windows = item->data ().toStringList ();
260- std::transform (windows.begin (), windows.end (), std::back_inserter (windowIds), [](const QString &windowId) {
261- return windowId.toUInt ();
262- });
263-
264- m_windowMonitor->presentWindows (windowIds);
265- return ;
266- }
267-
268- item->handleClick (menuId);
269- }
270-
271243void TaskManager::dropFilesOnItem (const QString& itemId, const QStringList& urls)
272244{
273- auto item = ItemModel::instance ()->getItemById (itemId);
274- if (!item) return ;
245+ qWarning () << " TODO: this is legacy code from rebasing, this need to be implemented elsewhere" ;
246+ // auto item = ItemModel::instance()->getItemById(itemId);
247+ // if(!item) return;
275248
276- item->handleFileDrop (urls);
277- }
278-
279- void TaskManager::showItemPreview (const QString &itemId, QObject *relativePositionItem, int32_t previewXoffset, int32_t previewYoffset, uint32_t direction)
280- {
281- auto item = ItemModel::instance ()->getItemById (itemId).get ();
282- if (!item) {
283- return ;
284- }
285-
286- QPointer<AppItem> pItem = reinterpret_cast <AppItem *>(item);
287- if (pItem.isNull ()) {
288- return ;
289- }
290-
291- m_windowMonitor->showItemPreview (pItem, relativePositionItem, previewXoffset, previewYoffset, direction);
249+ // item->handleFileDrop(urls);
292250}
293251
294252void TaskManager::hideItemPreview ()
@@ -306,30 +264,6 @@ void TaskManager::setAppItemWindowIconGeometry(const QString& appid, QObject* re
306264 }
307265}
308266
309- void TaskManager::loadDockedAppItems ()
310- {
311- // TODO: remove this function once migrated to DockItemModel (when dataModel() returns m_itemModel instead of ItemModel::instance())
312- for (const auto &apps : TaskManagerSettings::instance ()->dockedElements ()) {
313- // app names in dockedElements are in format of "desktop/<appid>"
314- auto appid = apps.split (' /' ).last ();
315- auto desktopfile = DESKTOPFILEFACTORY::createById (appid, " amAPP" );
316- auto valid = desktopfile->isValied ();
317-
318- if (!valid.first ) {
319- qInfo (taskManagerLog ()) << " failed to load " << appid << " beacause " << valid.second ;
320- continue ;
321- }
322-
323- auto appitem = desktopfile->getAppItem ();
324- if (appitem.isNull ()) {
325- appitem = new AppItem (appid);
326- }
327-
328- appitem->setDesktopFileParser (desktopfile);
329- ItemModel::instance ()->addItem (appitem);
330- }
331- }
332-
333267bool TaskManager::allowForceQuit ()
334268{
335269 return Settings->isAllowedForceQuit ();
0 commit comments