You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesvn/src/tdesvn_part.h

149 lines
4.9 KiB

/***************************************************************************
* 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 <tdeparts/part.h>
#include <tdeparts/genericfactory.h>
#include <tdeparts/factory.h>
#include <tdeparts/statusbarextension.h>
#include <tdeparts/browserextension.h>
class tdesvnView;
class TQPainter;
class KURL;
class KdesvnBrowserExtension;
class TDEAboutApplication;
/**
* This is a "Part". It that does all the real work in a KPart
* application.
*
* @short Main Part
* @author Rajko Albrecht <rajko.albrecht@tecways.com>
* @version 0.1
*/
class KDESVN_EXPORT tdesvnPart : public KParts::ReadOnlyPart
{
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 TDEAboutData* 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();
TDEAboutApplication* 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;
protected slots:
void slotSettingsChanged();
protected slots:
virtual void slotHideUnchanged(bool);
virtual void slotEnableNetwork(bool);
};
class commandline_part;
class TDECmdLineArgs;
/* we make it ourself 'cause we will enhance a little bit! */
class KDESVN_EXPORT cFactory : public KParts::Factory
{
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, TDECmdLineArgs *args);
static TDEInstance* instance();
private:
static TDEInstance* s_instance;
static TDEAboutData* s_about;
static commandline_part*s_cline;
};
typedef cFactory tdesvnPartFactory;
class TDEPARTS_EXPORT KdesvnBrowserExtension : public KParts::BrowserExtension
{
TQ_OBJECT
public:
KdesvnBrowserExtension( tdesvnPart * );
virtual ~KdesvnBrowserExtension();
void setPropertiesActionEnabled(bool enabled);
public slots:
void properties();
};
#endif // _TDESVNPART_H_