knewstuff.h
00001 /* 00002 This file is part of KOrganizer. 00003 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 */ 00020 #ifndef KNEWSTUFF_H 00021 #define KNEWSTUFF_H 00022 00023 #include <tqstring.h> 00024 00025 #include <kdemacros.h> 00026 00027 class TQObject; 00028 class TQWidget; 00029 class KAction; 00030 class KActionCollection; 00031 00032 namespace KNS { 00033 class Engine; 00034 class Entry; 00035 00036 KDE_EXPORT KAction* standardAction(const TQString& what, 00037 const TQObject *recvr, 00038 const char *slot, 00039 KActionCollection* parent, 00040 const char *name = 0); 00041 } 00042 00069 class KDE_EXPORT KNewStuff 00070 { 00071 public: 00080 KNewStuff( const TQString &type, TQWidget *parentWidget = 0 ); 00081 00091 KNewStuff( const TQString &type, const TQString &providerList, TQWidget *parentWidget = 0 ); 00092 virtual ~KNewStuff(); 00093 00097 TQString type() const; 00098 00102 TQWidget *parentWidget() const; 00103 00107 void download(); 00108 00112 void upload(); 00113 00117 void upload( const TQString &fileName, const TQString previewName ); 00118 00130 virtual bool install( const TQString &fileName ) = 0; 00140 virtual bool createUploadFile( const TQString &fileName ) = 0; 00141 00147 virtual TQString downloadDestination( KNS::Entry *entry ); 00148 00149 00150 protected: 00154 KNS::Engine *engine() { return mEngine; } 00155 00156 00157 private: 00158 KNS::Engine *mEngine; 00159 }; 00160 00161 #endif