diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-10-10 19:25:44 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-10-10 19:25:44 +0200 |
commit | 442ba9f09a8ee18609361f3971b5da7f40eb5c35 (patch) | |
tree | fd612714e7df77ff3523a6773b6e9c3e60084809 /src/forms/downloadswidget.cpp | |
parent | Cleaned up WebViewTabBar (diff) | |
download | smolbote-442ba9f09a8ee18609361f3971b5da7f40eb5c35.tar.xz |
Split off DownloadsWidget into library
Fixed bug with BookmarksWidget crashing the program on exit
Diffstat (limited to 'src/forms/downloadswidget.cpp')
-rw-r--r-- | src/forms/downloadswidget.cpp | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/forms/downloadswidget.cpp b/src/forms/downloadswidget.cpp deleted file mode 100644 index 008e371..0000000 --- a/src/forms/downloadswidget.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - ** - ** smolbote: yet another qute browser - ** Copyright (C) 2017 Xian Nox - ** - ** This program is free software: you can redistribute it and/or modify - ** it under the terms of the GNU General Public License as published by - ** the Free Software Foundation, either version 3 of the License, or - ** (at your option) any later version. - ** - ** This program is distributed in the hope that it will be useful, - ** but WITHOUT ANY WARRANTY; without even the implied warranty of - ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ** GNU General Public License for more details. - ** - ** You should have received a copy of the GNU General Public License - ** along with this program. If not, see <http://www.gnu.org/licenses/>. - ** - ******************************************************************************/ - -#include "downloadswidget.h" -#include "ui_downloadsform.h" - -#include <QWebEngineDownloadItem> -#include <QUrl> -#include <QFileDialog> -#include <QListWidget> -#include <QLabel> -#include "widgets/downloaditemwidget.h" -#include "browser.h" - -DownloadsWidget::DownloadsWidget(QWidget *parent) : - DockingWidget(tr("Downloads"), parent), - ui(new Ui::DownloadDialog) -{ - ui->setupUi(this); - ui->filePath->setWordWrap(true); - - connect(ui->listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(showItemDetails(int))); -} - -DownloadsWidget::~DownloadsWidget() -{ - delete ui; -} - -void DownloadsWidget::addDownload(QWebEngineDownloadItem *item) -{ - QString filepath = QFileDialog::getSaveFileName(this, - tr("Save"), - browser->settings()->value("downloads.path").toString() + "/" + QFileInfo(item->path()).fileName()); - - if(filepath.isEmpty()) { - // user cancelled the save dialog - item->cancel(); - return; - } - - item->setPath(filepath); - - QListWidgetItem *listItem = new QListWidgetItem(); - int rowIndex = ui->listWidget->count(); - ui->listWidget->insertItem(rowIndex, listItem); - - DownloadItemWidget *form = new DownloadItemWidget(item, this); - listItem->setSizeHint(form->size()); - ui->listWidget->setItemWidget(listItem, form); - - item->accept(); - this->show(); -} - -void DownloadsWidget::showItemDetails(int index) -{ - DownloadItemWidget *form = qobject_cast<DownloadItemWidget *>(ui->listWidget->itemWidget(ui->listWidget->item(index))); - ui->mimeType_label->setText(form->item()->mimeType()); - ui->filePath_label->setText(form->item()->path()); - ui->fileSize_label->setText(QString("%1 bytes").arg(form->item()->totalBytes())); -} |