• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdenetwork
  • Sitemap
  • Contact Us
 

kget

kget.h

Go to the documentation of this file.
00001 /* This file is part of the KDE project
00002 
00003    Copyright (C) 2005 Dario Massarin <nekkar@libero.it>
00004 
00005    Based on:
00006        kmainwidget.{h,cpp}
00007        Copyright (C) 2002 by Patrick Charbonnier <pch@freeshell.org>
00008        that was based On Caitoo v.0.7.3 (c) 1998 - 2000, Matej Koss
00009 
00010    This program is free software; you can redistribute it and/or
00011    modify it under the terms of the GNU General Public
00012    License as published by the Free Software Foundation; either
00013    version 2 of the License, or (at your option) any later version.
00014 */
00015 
00016 #ifndef KGET_H
00017 #define KGET_H
00018 
00019 #include <kservice.h>
00020 #include <kurl.h>
00021 #include <kactioncollection.h>
00022 #include <ktabwidget.h>
00023 
00024 #include "scheduler.h"
00025 #include "kget_export.h"
00026 #include "observer.h"
00027 
00028 class QDomElement;
00029 class QAbstractItemView;
00030 
00031 class KLibrary;
00032 
00033 class Transfer;
00034 class TransferGroup;
00035 class TransferHandler;
00036 class TransferGroupHandler;
00037 class TransferFactory;
00038 class TransferTreeModel;
00039 class TransferTreeSelectionModel;
00040 class ModelObserver;
00041 class KGetPlugin;
00042 class MainWindow;
00043 class NewTransferDialog;
00044 
00055 static const QString KGET_QUIT_MESSAGE_TITLE = i18n("Quit KGet");
00056 static const QString KGET_QUIT_MESSAGE = i18n("KGet quits now because all downloads have been completed.");
00057 
00058 class KGET_EXPORT KGet
00059 {
00060     friend class NewTransferDialog;
00061     friend class TransferFinishedObserver;
00062 
00063     public:
00064         static KGet& self( MainWindow * mainWindow=0 );
00065 
00071         static void addObserver(ModelObserver * observer);
00072 
00078         static void delObserver(ModelObserver * observer);
00079 
00089         static bool addGroup(const QString& groupName);
00090 
00096         static void delGroup(const QString& groupName);
00097 
00104         static void renameGroup(const QString& oldName, const QString& newName);
00105 
00109         static QStringList transferGroupNames();
00110 
00121         static void addTransfer(KUrl srcUrl, QString destDir = QString(),
00122                                 const QString& groupName = QString(), bool start=false);
00123 
00130         static void addTransfer(const QDomElement& e, const QString& groupName = QString());
00131 
00142         static void addTransfer(KUrl::List srcUrls, QString destDir = QString(),
00143                                 const QString& groupName = QString(), bool start=false);
00144 
00150         static void delTransfer(TransferHandler * transfer);
00151 
00158         static void moveTransfer(TransferHandler * transfer, const QString& groupName);
00159 
00163         static QList<TransferHandler *> selectedTransfers();
00164 
00168         static QList<TransferGroupHandler *>
00169         selectedTransferGroups();
00170 
00174         static TransferTreeSelectionModel * selectionModel();
00175 
00181         static void load( QString filename=QString() );
00182 
00188         static void save( QString filename=QString() );
00189 
00195         static TransferFactory * factory(TransferHandler * transfer);
00196 
00200         static KActionCollection * actionCollection();
00201     
00206     static void setSchedulerRunning(bool running=true);
00207 
00211         static bool schedulerRunning();
00212 
00216         static void addTransferView(QAbstractItemView * view);
00217 
00222         static void setPluginsSettingsWidget(KTabWidget * widget);
00223 
00227         static QList<TransferHandler*> allTransfers();
00228 
00233         static void checkSystemTray();
00234 
00235     private:
00236         KGet();
00237         ~KGet();
00238 
00248         static void createTransfer(const KUrl &src, const KUrl &dest, const QString& groupName = QString(), bool start = false, const QDomElement * e = 0);
00249 
00255         static void postAddedTransferGroupEvent(TransferGroup * group, ModelObserver * observer = 0);
00256 
00262         static void postRemovedTransferGroupEvent(TransferGroup * group, ModelObserver * observer = 0);
00263 
00264         static KUrl urlInputDialog();
00265         static QString destInputDialog();
00266         static QString getSaveDirectoryFromExceptions(const KUrl &filename);
00267 
00268         static bool isValidSource(const KUrl &source);
00269         static bool isValidDestDirectory(const QString& destDir);
00270 
00278         static bool isValidDestUrl(const KUrl &destUrl);
00279 
00280         static KUrl getValidDestUrl(const QString& destDir, const KUrl &srcUrl);
00281 
00282         static TransferGroup * findGroup(const QString& groupName);
00283         static Transfer * findTransfer(KUrl url);
00284 
00285         //Plugin-related functions
00286         static void loadPlugins();
00287         static void unloadPlugins();
00288         static KGetPlugin * createPluginFromService( const KService::Ptr service );
00289 
00290 
00300         static bool safeDeleteFile( const KUrl& url );
00301 
00302         static QList<ModelObserver *> m_observers;
00303 
00304         //Interview models
00305         static TransferTreeModel * m_transferTreeModel;
00306         static TransferTreeSelectionModel * m_selectionModel;
00307 
00308         //Lists of available plugins
00309         static QList<TransferFactory *> m_transferFactories;
00310 
00311         //List of KLibrary objects (used to release the plugins from memory)
00312         static QList<KLibrary *> m_pluginKLibraries;
00313 
00314         //pointer to the Main window
00315         static MainWindow * m_mainWindow;
00316 
00317         //Scheduler object
00318         static Scheduler * m_scheduler;
00319 };
00320 
00321 
00322 class TransferFinishedObserver : public TransferObserver
00323 {
00324     public:
00325         TransferFinishedObserver();
00326 
00327         void transferChangedEvent(TransferHandler * transfer);
00328 
00329     private:
00330         void checkAndFinish();
00331         void checkAndUpdateSystemTray();
00332 
00333         QString prevStatus;
00334 };
00335 
00336 #endif

kget

Skip menu "kget"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

kdenetwork

Skip menu "kdenetwork"
  • kget
  • kopete
  •   kopete
  •   libkopete
  •       libpapillon
  • krfb
Generated for kdenetwork by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal