mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-18 18:11:37 +08:00
fix: 修复下载按钮点击/双击/拖动时,主窗口动作与下载管理对话框动作同时触发问题
下载按钮未屏蔽双击事件,导致触发主窗口最大化动作,同时下载对话框显示在原始位置;拖动时触发下载对话框显示,移动时又隐藏下载对话框,造成闪烁现象;重复点击下载按钮,对话框闪烁 Log: 修改下载按钮和下载对话框焦点策略对象,保证对话框焦点状态与下载按钮同步;对话框显示操作移入下载按钮鼠标事件中处理,隐藏操作移入主窗口事件循环中判断,当主窗口/下载对话框均不是活动窗口时隐藏对话框 * 可能修复 ISSUE #I6FNOW,目前修改后,连续点击下载按钮,对话框将按顺序显示/隐藏
This commit is contained in:
@@ -81,6 +81,7 @@ void DownloadListWidget::clearItem()
|
||||
// ui->listWidget->vScrollBar->scrollTop();
|
||||
ui->listWidget->clear();
|
||||
}
|
||||
|
||||
DownloadItem* DownloadListWidget::addItem(QString name, QString fileName, QString pkgName, const QPixmap icon, QString downloadurl)
|
||||
{
|
||||
if (fileName.isEmpty())
|
||||
@@ -195,21 +196,7 @@ void DownloadListWidget::m_move(int x, int y)
|
||||
move(x, y);
|
||||
return;
|
||||
}
|
||||
bool DownloadListWidget::eventFilter(QObject *watched, QEvent *event)
|
||||
{
|
||||
if (Q_NULLPTR == watched)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (QEvent::ActivationChange == event->type())
|
||||
{
|
||||
if (QApplication::activeWindow() != this)
|
||||
{
|
||||
this->close();
|
||||
}
|
||||
}
|
||||
return QWidget::eventFilter(watched, event);
|
||||
}
|
||||
|
||||
void DownloadListWidget::mouseMoveEvent(QMouseEvent *event)
|
||||
{
|
||||
setGeometry(m_rect);
|
||||
|
||||
Reference in New Issue
Block a user