feat:trash plugin can uninstall app

支持在启动器全屏的时候,拖动app到任务栏的垃圾桶插件图标上提示卸载应用(修复插件不能移动位置的问题)
This commit is contained in:
fanpengcheng_cm 2020-03-09 11:06:03 +08:00
parent 0bd6a5a6d3
commit b10d849939

View File

@ -27,6 +27,7 @@
#include "../item/appitem.h"
#include "../item/pluginsitem.h"
#include "../item/traypluginitem.h"
#include "../controller/dockitemmanager.h"
#include <QDrag>
#include <QTimer>
@ -34,6 +35,7 @@
#include <QString>
#include <QApplication>
#include <QGSettings>
#include <QPointer>
#include <DGuiApplicationHelper>
#include <DWindowManagerHelper>
@ -365,7 +367,16 @@ void MainPanelControl::moveItem(DockItem *sourceItem, DockItem *targetItem)
void MainPanelControl::dragEnterEvent(QDragEnterEvent *e)
{
if(!m_pluginAreaWidget->geometry().contains(e->pos()))
QRect rect = QRect();
foreach (auto item, DockItemManager::instance()->itemList()) {
DockItem *dockItem = item.data();
PluginsItem *pluginItem = qobject_cast<PluginsItem *>(dockItem);
if (pluginItem && pluginItem->pluginName() == "trash") {
rect = pluginItem->geometry();
}
}
if (!rect.contains(e->pos()))
e->accept();
}
@ -783,7 +794,8 @@ void MainPanelControl::itemUpdated(DockItem *item)
resizeDockIcon();
}
void MainPanelControl::showEvent(QShowEvent* event) {
void MainPanelControl::showEvent(QShowEvent *event)
{
QTimer::singleShot(0, this, [ = ] {
onGSettingsChanged("enable");
});