aboutsummaryrefslogtreecommitdiff
path: root/src/lib/downloads/downloadswidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/downloads/downloadswidget.cpp')
-rw-r--r--src/lib/downloads/downloadswidget.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/downloads/downloadswidget.cpp b/src/lib/downloads/downloadswidget.cpp
index dc7d5e2..f9a8f34 100644
--- a/src/lib/downloads/downloadswidget.cpp
+++ b/src/lib/downloads/downloadswidget.cpp
@@ -31,12 +31,14 @@ DownloadsWidget::DownloadsWidget(const QString &downloadPath, QWidget *parent) :
connect(ui->listWidget, &QListWidget::currentItemChanged, this, [this](QListWidgetItem *current, QListWidgetItem *previous) {
DownloadItemWidget *currentWidget = qobject_cast<DownloadItemWidget*>(ui->listWidget->itemWidget(current));
currentWidget->showDetails();
+ currentWidget->setFixedWidth(ui->listWidget->viewport()->width());
currentWidget->adjustSize();
current->setSizeHint(currentWidget->size());
DownloadItemWidget *previousWidget = qobject_cast<DownloadItemWidget*>(ui->listWidget->itemWidget(previous));
if(previousWidget != nullptr) {
previousWidget->hideDetails();
+ previousWidget->setFixedWidth(ui->listWidget->viewport()->width());
previousWidget->adjustSize();
previous->setSizeHint(previousWidget->size());
}
@@ -50,6 +52,8 @@ DownloadsWidget::~DownloadsWidget()
void DownloadsWidget::addDownload(QWebEngineDownloadItem *item)
{
+ this->show();
+
QString filepath = QFileDialog::getSaveFileName(this,
tr("Save"),
m_downloadPath + "/" + QFileInfo(item->path()).fileName());
@@ -67,12 +71,21 @@ void DownloadsWidget::addDownload(QWebEngineDownloadItem *item)
ui->listWidget->insertItem(rowIndex, listItem);
DownloadItemWidget *form = new DownloadItemWidget(item, this);
- listItem->setSizeHint(form->size());
ui->listWidget->setItemWidget(listItem, form);
item->accept();
ui->listWidget->setCurrentRow(rowIndex);
+}
- this->show();
+void DownloadsWidget::resizeEvent(QResizeEvent *event)
+{
+ QWidget::resizeEvent(event);
+
+ for(int i = 0; i < ui->listWidget->count(); ++i) {
+ QWidget *w = ui->listWidget->itemWidget(ui->listWidget->item(i));
+ w->setFixedWidth(ui->listWidget->viewport()->width());
+ w->adjustSize();
+ ui->listWidget->item(i)->setSizeHint(w->size());
+ }
}