From 442ba9f09a8ee18609361f3971b5da7f40eb5c35 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 10 Oct 2017 19:25:44 +0200 Subject: Split off DownloadsWidget into library Fixed bug with BookmarksWidget crashing the program on exit --- src/forms/downloadsform.ui | 81 ------------------------------------------- src/forms/downloadswidget.cpp | 79 ----------------------------------------- src/forms/downloadswidget.h | 49 -------------------------- 3 files changed, 209 deletions(-) delete mode 100644 src/forms/downloadsform.ui delete mode 100644 src/forms/downloadswidget.cpp delete mode 100644 src/forms/downloadswidget.h (limited to 'src/forms') diff --git a/src/forms/downloadsform.ui b/src/forms/downloadsform.ui deleted file mode 100644 index 5ab770f..0000000 --- a/src/forms/downloadsform.ui +++ /dev/null @@ -1,81 +0,0 @@ - - - DownloadDialog - - - - 0 - 0 - 420 - 600 - - - - - 420 - 600 - - - - Downloads - - - - - - - - - Details - - - - - - Type - - - - - - - - - - - - - - Path - - - - - - - Size - - - - - - - - - - - - - - - - - - - - - - - - - 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 . - ** - ******************************************************************************/ - -#include "downloadswidget.h" -#include "ui_downloadsform.h" - -#include -#include -#include -#include -#include -#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(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())); -} diff --git a/src/forms/downloadswidget.h b/src/forms/downloadswidget.h deleted file mode 100644 index fed3833..0000000 --- a/src/forms/downloadswidget.h +++ /dev/null @@ -1,49 +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 . - ** - ******************************************************************************/ - -#ifndef DOWNLOADDIALOG_H -#define DOWNLOADDIALOG_H - -#include "widgets/dockingwidget.h" - -namespace Ui { -class DownloadDialog; -} - -class QWebEngineDownloadItem; -class DownloadsWidget : public DockingWidget -{ - Q_OBJECT - -public: - explicit DownloadsWidget(QWidget *parent = 0); - ~DownloadsWidget(); - -public slots: - void addDownload(QWebEngineDownloadItem *item); - -private slots: - void showItemDetails(int index); - -private: - Ui::DownloadDialog *ui; -}; - -#endif // DOWNLOADDIALOG_H -- cgit v1.2.1