diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2009-06-01 00:58:58 +0200 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2009-06-01 23:59:35 +0200 | 
| commit | 45d8abb15061ffb6a5c2f4b9ec643234eccc452a (patch) | |
| tree | a0a3903419630c41702507c51724860dd38f3659 /src | |
| parent | Merge branch 'review/master' (diff) | |
| download | rekonq-45d8abb15061ffb6a5c2f4b9ec643234eccc452a.tar.xz | |
Removed unuseful download classes
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/application.cpp | 13 | ||||
| -rw-r--r-- | src/application.h | 3 | ||||
| -rw-r--r-- | src/download.cpp | 225 | ||||
| -rw-r--r-- | src/download.h | 141 | ||||
| -rw-r--r-- | src/mainwindow.cpp | 3 | ||||
| -rw-r--r-- | src/webpage.cpp | 1 | ||||
| -rw-r--r-- | src/webview.cpp | 1 | 
8 files changed, 1 insertions, 387 deletions
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 <KCmdLineArgs> @@ -52,7 +51,6 @@  QPointer<HistoryManager> Application::s_historyManager;  QPointer<NetworkAccessManager> Application::s_networkAccessManager; -QPointer<DownloadManager> Application::s_downloadManager;  QPointer<BookmarkProvider> 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<HistoryManager> s_historyManager;      static QPointer<NetworkAccessManager> s_networkAccessManager; -    static QPointer<DownloadManager> s_downloadManager;      static QPointer<BookmarkProvider> s_bookmarkProvider;      QPointer<MainWindow> 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 <l.appelhans@gmx.de> -* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com> -* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com> -* Copyright (C) 2009 by Domrachev Alexandr <alexandr.domrachev@gmail.com> -* -* -* 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 <KDebug> -#include <KFileDialog> -#include <KGlobalSettings> -#include <KMessageBox> -#include <KMimeType> -#include <KStandardDirs> - -// Qt Includes -#include <QFile> -#include <QFileInfo> - -// 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<KMimeType> 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<Download *> &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<Download *>(sender()); -    if (download && m_downloads.contains(download)) -    { -        if (download->type() == Download::Open) -        { -            KSharedPtr<KMimeType> 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 <KJob> -#include <KIO/Job> -#include <KIO/CopyJob> - - -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 <l.appelhans@gmx.de> -* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com> -* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot com> -* Copyright (C) 2009 by Domrachev Alexandr <alexandr.domrachev@gmail.com> -* -* -* 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 <KIO/FileCopyJob> - -// Qt Includes -#include <QtCore/QObject> - -// 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<Download *> &downloads() const; - -public slots: -    void slotDownloadFinished(int errorCode); - -private: -    KUrl downloadDestination(const QString &filename); - -    QList<Download *> 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"  | 
