From 45d8abb15061ffb6a5c2f4b9ec643234eccc452a Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 1 Jun 2009 00:58:58 +0200 Subject: Removed unuseful download classes --- TODO | 1 + src/CMakeLists.txt | 1 - src/application.cpp | 13 --- src/application.h | 3 - src/download.cpp | 225 ---------------------------------------------------- src/download.h | 141 -------------------------------- src/mainwindow.cpp | 3 +- src/webpage.cpp | 1 - src/webview.cpp | 1 - 9 files changed, 2 insertions(+), 387 deletions(-) delete mode 100644 src/download.cpp delete mode 100644 src/download.h diff --git a/TODO b/TODO index a7055fea..40ccda35 100644 --- a/TODO +++ b/TODO @@ -20,4 +20,5 @@ TO 0.2 release - bookmarks panel - MimeType Manager - BETTER KDE INTEGRATION (What else to be done??) +- error pages diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 064fc0e6..d271cb6e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,7 +8,6 @@ SET( rekonq_SRCS edittableview.cpp edittreeview.cpp history.cpp - download.cpp bookmarks.cpp modelmenu.cpp networkaccessmanager.cpp diff --git a/src/application.cpp b/src/application.cpp index 5f7892c4..06947e22 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -34,7 +34,6 @@ #include "networkaccessmanager.h" #include "mainview.h" #include "webview.h" -#include "download.h" // KDE Includes #include @@ -52,7 +51,6 @@ QPointer Application::s_historyManager; QPointer Application::s_networkAccessManager; -QPointer Application::s_downloadManager; QPointer Application::s_bookmarkProvider; @@ -176,16 +174,6 @@ HistoryManager *Application::historyManager() } -DownloadManager *Application::downloadManager() -{ - if (!s_downloadManager) - { - s_downloadManager = new DownloadManager(); - } - return s_downloadManager; -} - - BookmarkProvider *Application::bookmarkProvider() { if (!s_bookmarkProvider) @@ -205,4 +193,3 @@ KIcon Application::icon(const KUrl &url) const } return icon; } - diff --git a/src/application.h b/src/application.h index e0c7a21c..dd26ef9c 100644 --- a/src/application.h +++ b/src/application.h @@ -40,7 +40,6 @@ class KIcon; class KUrl; class BookmarkProvider; class CookieJar; -class DownloadManager; class HistoryManager; class MainWindow; class NetworkAccessManager; @@ -83,7 +82,6 @@ public: static HistoryManager *historyManager(); static CookieJar *cookieJar(); static NetworkAccessManager *networkAccessManager(); - static DownloadManager *downloadManager(); static BookmarkProvider *bookmarkProvider(); public slots: @@ -105,7 +103,6 @@ private slots: private: static QPointer s_historyManager; static QPointer s_networkAccessManager; - static QPointer s_downloadManager; static QPointer s_bookmarkProvider; QPointer m_mainWindow; diff --git a/src/download.cpp b/src/download.cpp deleted file mode 100644 index c365d3c5..00000000 --- a/src/download.cpp +++ /dev/null @@ -1,225 +0,0 @@ -/* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2007 Lukas Appelhans -* Copyright (C) 2008-2009 by Andrea Diamantini -* Copyright (C) 2009 by Paweł Prażak -* Copyright (C) 2009 by Domrachev Alexandr -* -* -* 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 2, 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. -* -* ============================================================ */ - - -// local Includes -#include "download.h" -#include "download.moc" - -// KDE Includes -#include -#include -#include -#include -#include -#include - -// Qt Includes -#include -#include - -// Local Includes -#include "application.h" -#include "mainwindow.h" - - -DownloadManager::DownloadManager() - : QObject() -{ -} - - -DownloadManager::~DownloadManager() -{ - foreach(Download *download, m_downloads) - { - // cancel all unfinished downloads - download->cancel(); - delete download; - } -} - - -void DownloadManager::newDownload(const KUrl &srcUrl, const KUrl &destUrl) -{ - KUrl destination = destUrl; - Download::DownloadType type; - - KSharedPtr mimeType = KMimeType::findByPath(srcUrl.prettyUrl()); - - QString typeText = KMimeType::extractKnownExtension(srcUrl.fileName()); - typeText += " (" + mimeType->name() + ')'; - - int answer = KMessageBox::questionYesNoCancel( - NULL, - i18n("Download '%1'?\n""Type: %2", srcUrl.prettyUrl(), typeText), - i18n("Download '%1'...", srcUrl.fileName()), - KStandardGuiItem::save(), - KStandardGuiItem::open(), - KStandardGuiItem::cancel() - ); - - switch (answer) - { - case KMessageBox::Cancel: - return; - break; - - case KMessageBox::Yes: // ----- SAVE - // if destination is empty than ask for download path (if showOpenSaveDownloadDialog setting enabled) - if (destination.isEmpty()) - { - destination = downloadDestination(srcUrl.fileName()); - } - type = Download::Save; - break; - - case KMessageBox::No: // ----- OPEN - // Download file to tmp dir - destination.setDirectory(KStandardDirs::locateLocal("tmp", "", true)); - destination.addPath(srcUrl.fileName()); - type = Download::Open; - break; - - default: - // impossible - break; - }; - - // if user canceled download than abort - if (destination.isEmpty()) - return; - - Download *download = new Download(srcUrl, destination, type); - connect(download, SIGNAL(downloadFinished(int)), this, SLOT(slotDownloadFinished(int))); - m_downloads.append(download); -} - - -const QList &DownloadManager::downloads() const -{ - return m_downloads; -} - - -KUrl DownloadManager::downloadDestination(const QString &filename) -{ - KUrl destination = ReKonfig::downloadDir(); - if (destination.isEmpty()) - destination = KGlobalSettings::downloadPath(); - destination.addPath(filename); - - if (!ReKonfig::downloadToDefaultDir()) - { - destination = KFileDialog::getSaveUrl(destination); - // if user canceled the download return empty url - if (destination.isEmpty()) - return KUrl(); - } - return destination; -} - - -void DownloadManager::slotDownloadFinished(int errorCode) -{ - Q_UNUSED(errorCode) - - // if sender exists and list contains it - (open and) delete it - Download *download = qobject_cast(sender()); - if (download && m_downloads.contains(download)) - { - if (download->type() == Download::Open) - { - KSharedPtr mimeType = KMimeType::findByPath(download->destUrl().prettyUrl()); - KRun::runUrl(download->destUrl(), mimeType->name(), NULL, true); - } - disconnect(download, SIGNAL(downloadFinished(int)), this, SLOT(slotDownloadFinished(int))); - int index = m_downloads.indexOf(download); - delete m_downloads.takeAt(index); - return; - } - kWarning() << "Could not find download or invalid sender. Sender:" << sender(); -} - - -//---- - -#include -#include -#include - - -Download::Download(const KUrl &srcUrl, const KUrl &destUrl, DownloadType type) - : QObject() - , m_srcUrl(srcUrl) - , m_destUrl(destUrl) - , m_type(type) -{ - Q_ASSERT(!m_srcUrl.isEmpty()); - Q_ASSERT(!m_destUrl.isEmpty()); - kDebug() << "DownloadFile: " << m_srcUrl.url() << " to dest: " << m_destUrl.url(); - - m_copyJob = KIO::file_copy(m_srcUrl, m_destUrl); - connect(m_copyJob, SIGNAL(result(KJob *)), SLOT(slotResult(KJob *))); -} - - -Download::~Download() -{ -} - - -void Download::cancel() -{ - bool result = m_copyJob->kill(KJob::EmitResult); - Q_ASSERT(result); -} - - -void Download::slotResult(KJob *job) -{ - switch (job->error()) - { - case 0: //The download has finished - { - kDebug() << "Downloading successfully finished: " << m_destUrl.url(); - break; - } - case KIO::ERR_FILE_ALREADY_EXIST: - { - kWarning() << "ERROR - File already exists"; - break; - } - case KIO::ERR_USER_CANCELED: - { - kWarning() << "ERROR - User canceled the downlaod"; - break; - } - default: - kWarning() << "We are sorry to say you, that there were errors while downloading :("; - break; - } - - // inform the world - emit downloadFinished(job->error()); -} - diff --git a/src/download.h b/src/download.h deleted file mode 100644 index 0502d500..00000000 --- a/src/download.h +++ /dev/null @@ -1,141 +0,0 @@ -/* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2007 Lukas Appelhans -* Copyright (C) 2008-2009 by Andrea Diamantini -* Copyright (C) 2009 by Paweł Prażak -* Copyright (C) 2009 by Domrachev Alexandr -* -* -* 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 2, 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. -* -* ============================================================ */ - - -#ifndef DOWNLOAD_H -#define DOWNLOAD_H - -// Auto Includes -#include "rekonq.h" - -// KDE Includes -#include - -// Qt Includes -#include - -// Forward Declarations -class KJob; - -namespace KIO -{ -class Job; -} - - -/** - * This class lets rekonq to download an object from the network. - * Creating a new object, you can continue downloading a file also - * when rekonq is closed. - * - */ -class Download : public QObject -{ - Q_OBJECT - -public: - enum DownloadType { Save, Open }; - - /** - * Class constructor. This is the unique method we need to - * use this class. In fact Download class needs to know just - * "where" catch the file to download and where it has to put it - * - * @param srcUrl the source url - * @param destUrl the destination url - * - */ - Download(const KUrl &srcUrl, const KUrl &destUrl, DownloadType type); - - /** - * class destructor - */ - ~Download(); - - KUrl srcUrl() const - { - return m_srcUrl; - } - KUrl destUrl() const - { - return m_destUrl; - } - DownloadType type() const - { - return m_type; - } - void cancel(); - -signals: - void downloadFinished(int errorCode); - -private slots: - void slotResult(KJob *job); - -private: - KIO::FileCopyJob *m_copyJob; - KUrl m_srcUrl; - KUrl m_destUrl; - KUrl m_destFile; - QByteArray m_data; - DownloadType m_type; -}; - - -// ---------------------- - - -class DownloadManager : public QObject -{ - Q_OBJECT - -public: - DownloadManager(); - ~DownloadManager(); - - /** - * @short Creates new download job. - * This method lets you to download a file from a remote source url - * to a local destination url. - * - * @param srcUrl the source url - * @param destUrl the destination url (default value is your default download destination setting) - * - */ - void newDownload(const KUrl &srcUrl, const KUrl &destUrl = KUrl()); - - const QList &downloads() const; - -public slots: - void slotDownloadFinished(int errorCode); - -private: - KUrl downloadDestination(const QString &filename); - - QList m_downloads; -}; - - -//-- - - -#endif diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 73ec3d6d..f47c6677 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -37,7 +37,6 @@ #include "webview.h" #include "mainview.h" #include "bookmarks.h" -#include "download.h" #include "findbar.h" #include "sidepanel.h" #include "urlbar.h" @@ -485,7 +484,7 @@ void MainWindow::slotOpenLocation() void MainWindow::slotFileSaveAs() { KUrl srcUrl = currentTab()->url(); - Application::downloadManager()->newDownload(srcUrl); + // FIXME implement download file } diff --git a/src/webpage.cpp b/src/webpage.cpp index cfbc32cf..193f2a82 100644 --- a/src/webpage.cpp +++ b/src/webpage.cpp @@ -32,7 +32,6 @@ #include "mainview.h" #include "cookiejar.h" #include "networkaccessmanager.h" -#include "download.h" #include "history.h" #include "webview.h" diff --git a/src/webview.cpp b/src/webview.cpp index 216c2bd1..0ba33682 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -34,7 +34,6 @@ #include "mainview.h" #include "cookiejar.h" #include "networkaccessmanager.h" -#include "download.h" #include "history.h" #include "webpage.h" -- cgit v1.2.1