fix: 解决拖动应用移除驻留时图标上方没有'移除'字样问题

根因是m_popupWindow指定父对象后成为类对象AppDragWidget的子控件,显示区域受限,无法浮动与其上方.取消申请内存时指定父对象,使用QScopedPointer类对象自动管理异形‘移除’字样的窗体.

Log: 修复移除驻留应用时没有'移除'字样问题
Bug: https://pms.uniontech.com/zentao/bug-view-93867.html
Change-Id: I76d375b17556c4611f0407a1e44263d7d9e28f36
This commit is contained in:
songwentao 2021-09-08 15:22:04 +08:00
parent d8af6fa758
commit fcdb466208
2 changed files with 3 additions and 3 deletions

View File

@ -35,7 +35,7 @@ AppDragWidget::AppDragWidget(QWidget *parent)
, m_goBackAnim(new QPropertyAnimation(this, "pos", this))
, m_dockPosition(Dock::Position::Bottom)
, m_removeTips(new TipsWidget(this))
, m_popupWindow(new DockPopupWindow(this))
, m_popupWindow(new DockPopupWindow(nullptr))
, m_distanceMultiple(Utils::SettingValue("com.deepin.dde.dock.distancemultiple", "/com/deepin/dde/dock/distancemultiple/", "distance-multiple", 1.5).toDouble())
{
m_removeTips->setText(tr("Remove"));
@ -349,7 +349,7 @@ void AppDragWidget::showRemoveTips()
{
Dock::Position pos = Dock::Position::Bottom;
DockPopupWindow *popup = m_popupWindow;
DockPopupWindow *popup = m_popupWindow.data();
if (isRemoveAble(QCursor::pos())) {
QWidget *lastContent = popup->getContent();
if (lastContent)

View File

@ -129,7 +129,7 @@ private:
QPoint m_originPoint;
QSize m_iconSize;
Dock::TipsWidget *m_removeTips;
QPointer<DockPopupWindow> m_popupWindow;
QScopedPointer<DockPopupWindow> m_popupWindow;
/**
* @brief m_distanceMultiple:
* dock栏上应用区驻留应用被拖拽远离dock的距离除以dock的宽或者高