3#include <QLoggingCategory>
6#include "FrmDownloadManager.h"
8static Q_LOGGING_CATEGORY(log,
"WebBrowser.Download.Manager")
13 setWindowTitle(tr(
"Download manager"));
14 auto layout =
new QVBoxLayout(
this);
16 auto scroll =
new QScrollArea(
this);
17 scroll->setWidgetResizable(
true);
18 layout->addWidget(scroll);
19 QWidget *pWin =
new QWidget(
this);
20 scroll->setWidget(pWin);
21 m_pItems =
new QVBoxLayout(
this);
22 pWin->setLayout (m_pItems);
23 m_pItems->addSpacerItem(
new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding));
27CFrmDownloadManager::~CFrmDownloadManager()
29 qDebug(log) << Q_FUNC_INFO;
32void CFrmDownloadManager::slotDownloadRequested(QWebEngineDownloadRequest *download)
34 Q_ASSERT(download && download->state() == QWebEngineDownloadRequest::DownloadRequested);
35#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
36 qDebug(log) <<
"slotDownloadRequested:" << download->downloadDirectory() << download->downloadFileName() << download->url();
38 qDebug(log) <<
"slotDownloadRequested:" << download->path() << download->url();
47 if(!item || !m_pItems)
return;
48 bool check = connect(item, &CFrmDownload::sigRemoveClicked,
this, &CFrmDownloadManager::Remove);
50 check = connect(item, &CFrmDownload::sigSelected,
this, &CFrmDownloadManager::slotSelected);
52 m_pItems->insertWidget(0, item, 0, Qt::AlignTop);
58 if(!item || !m_pItems)
return;
59 m_pItems->removeWidget(item);
64void CFrmDownloadManager::slotSelected(
CFrmDownload *item)
66 for(
int i = 0; i < m_pItems->count(); i++)
68 auto it = m_pItems->itemAt(i);
70 auto w = it->widget();
73 item->setFrameShadow(QFrame::Sunken);
76 item->setFrameShadow(QFrame::Raised);
79void CFrmDownloadManager::showEvent(QShowEvent *event)
81 emit sigVisible(
true);
84void CFrmDownloadManager::hideEvent(QHideEvent *event)
86 emit sigVisible(
false);