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 | |
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')
-rw-r--r-- | src/forms/downloadsform.ui | 81 | ||||
-rw-r--r-- | src/forms/downloadswidget.cpp | 79 | ||||
-rw-r--r-- | src/forms/downloadswidget.h | 49 |
3 files changed, 0 insertions, 209 deletions
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 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>DownloadDialog</class> - <widget class="QWidget" name="DownloadDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>420</width> - <height>600</height> - </rect> - </property> - <property name="minimumSize"> - <size> - <width>420</width> - <height>600</height> - </size> - </property> - <property name="windowTitle"> - <string>Downloads</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QListWidget" name="listWidget"/> - </item> - <item> - <widget class="QGroupBox" name="groupBox"> - <property name="title"> - <string>Details</string> - </property> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="mimeType"> - <property name="text"> - <string>Type</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLabel" name="mimeType_label"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="filePath"> - <property name="text"> - <string>Path</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="fileSize"> - <property name="text"> - <string>Size</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QLabel" name="fileSize_label"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLabel" name="filePath_label"> - <property name="text"> - <string/> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> 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())); -} 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 <http://www.gnu.org/licenses/>. - ** - ******************************************************************************/ - -#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 |