/*************************************************************************** * Copyright (C) 2005-2007 by Rajko Albrecht * * ral@alwins-world.de * * * * 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 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, write to the * * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef _TDESVNPART_H_ #define _TDESVNPART_H_ #include "tdesvn-config.h" #include #include #include #include #include class tdesvnView; class TQPainter; class KURL; class KdesvnBrowserExtension; class KAboutApplication; /** * This is a "Part". It that does all the real work in a KPart * application. * * @short Main Part * @author Rajko Albrecht * @version 0.1 */ class KDESVN_EXPORT tdesvnPart : public KParts::ReadOnlyPart { Q_OBJECT TQ_OBJECT public: /** * Default constructor */ tdesvnPart(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const TQStringList&); tdesvnPart(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name,bool ownapp, const TQStringList&); /** * Destructor */ virtual ~tdesvnPart(); virtual bool closeURL(); static KAboutData* createAboutData(); signals: void refreshTree(); void settingsChanged(); public slots: virtual void slotDispPopup(const TQString&,TQWidget**target); virtual void slotFileProperties(); virtual bool openURL(const KURL&); virtual void slotSshAdd(); protected: /** * This must be implemented by each part */ virtual bool openFile(); virtual void setupActions(); KAboutApplication* m_aboutDlg; void init(TQWidget *parentWidget, const char *widgetName,bool full); protected slots: virtual void slotLogFollowNodes(bool); virtual void slotDisplayIgnored(bool); virtual void slotDisplayUnkown(bool); virtual void slotUrlChanged(const TQString&); void reportBug(); void showAboutApplication(); void appHelpActivated(); virtual void slotShowSettings(); private: tdesvnView *m_view; KdesvnBrowserExtension*m_browserExt; static TQString m_Extratext; protected slots: void slotSettingsChanged(); protected slots: virtual void slotHideUnchanged(bool); virtual void slotEnableNetwork(bool); }; class commandline_part; class KCmdLineArgs; /* we make it ourself 'cause we will enhance a little bit! */ class KDESVN_EXPORT cFactory : public KParts::Factory { Q_OBJECT TQ_OBJECT public: cFactory():KParts::Factory(){} virtual ~cFactory(); virtual KParts::Part* createPartObject( TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const char *classname, const TQStringList &args ); virtual KParts::Part* createAppPart( TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const char *classname, const TQStringList &args ); virtual commandline_part*createCommandIf(TQObject*parent,const char*name, KCmdLineArgs *args); static KInstance* instance(); private: static KInstance* s_instance; static KAboutData* s_about; static commandline_part*s_cline; }; typedef cFactory tdesvnPartFactory; class KPARTS_EXPORT KdesvnBrowserExtension : public KParts::BrowserExtension { Q_OBJECT TQ_OBJECT public: KdesvnBrowserExtension( tdesvnPart * ); virtual ~KdesvnBrowserExtension(); void setPropertiesActionEnabled(bool enabled); public slots: void properties(); }; #endif // _TDESVNPART_H_