fix: 修复下载按钮点击/双击/拖动时,主窗口动作与下载管理对话框动作同时触发问题

下载按钮未屏蔽双击事件,导致触发主窗口最大化动作,同时下载对话框显示在原始位置;拖动时触发下载对话框显示,移动时又隐藏下载对话框,造成闪烁现象;重复点击下载按钮,对话框闪烁

Log: 修改下载按钮和下载对话框焦点策略对象,保证对话框焦点状态与下载按钮同步;对话框显示操作移入下载按钮鼠标事件中处理,隐藏操作移入主窗口事件循环中判断,当主窗口/下载对话框均不是活动窗口时隐藏对话框

* 可能修复 ISSUE #I6FNOW,目前修改后,连续点击下载按钮,对话框将按顺序显示/隐藏
This commit is contained in:
zty199
2023-02-17 02:03:06 +08:00
parent 4114b51d87
commit 8dfb1fbe2f
8 changed files with 230 additions and 149 deletions

View File

@@ -27,7 +27,10 @@ public:
QList<QUrl> getUrlList();
void m_move(int x, int y);
explicit DownloadListWidget(QWidget *parent = nullptr);
~DownloadListWidget();
~DownloadListWidget() override;
protected:
void mouseMoveEvent(QMouseEvent *event) override;
private:
int isdownload = false;
@@ -48,13 +51,13 @@ private:
void clearItem();
QRect m_rect;
Ui::DownloadListWidget *ui;
private slots:
bool eventFilter(QObject *, QEvent *);
void mouseMoveEvent(QMouseEvent *event);
void on_pushButton_clicked();
signals:
void downloadFinished();
void downloadProgress(int i);
private slots:
void on_pushButton_clicked();
};
#endif // DOWNLOADLISTWIDGET_H