|
|
|
/* Copyright (C) 2003
|
|
|
|
Mickael Marchand <marchand@kde.org>
|
|
|
|
|
|
|
|
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; see the file COPYING. If not, write to
|
|
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
#ifndef __KDEVPART_SUBVERSION_H__
|
|
|
|
#define __KDEVPART_SUBVERSION_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include <tqguardedptr.h>
|
|
|
|
#include <kdevplugin.h>
|
|
|
|
#include <kurl.h>
|
|
|
|
#include <tqpopupmenu.h>
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
#include "kdevversioncontrol.h"
|
|
|
|
|
|
|
|
class subversionCore;
|
|
|
|
class subversionOptionsWidget;
|
|
|
|
class subversionProjectWidget;
|
|
|
|
class Context;
|
|
|
|
namespace SvnGlobal
|
|
|
|
{
|
|
|
|
class SvnInfoHolder;
|
|
|
|
};
|
|
|
|
|
|
|
|
class subversionPart : public KDevVersionControl
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
subversionPart(TQObject *parent, const char *name, const TQStringList &);
|
|
|
|
virtual ~subversionPart();
|
|
|
|
|
|
|
|
void setupActions();
|
|
|
|
TQWidget* newProjectWidget( TQWidget* parent );
|
|
|
|
void createNewProject( const TQString& dirname );
|
|
|
|
bool fetchFromRepository();
|
|
|
|
KDevVCSFileInfoProvider * fileInfoProvider() const;
|
|
|
|
bool urlFocusedDocument( KURL &url );
|
|
|
|
void restorePartialProjectSession(const TQDomElement* );
|
|
|
|
void savePartialProjectSession(TQDomElement* );
|
|
|
|
void setBaseURL(const KURL& url ) { base = url; }
|
|
|
|
KURL baseURL() { return base; }
|
|
|
|
virtual bool isValidDirectory( const TQString &dirPath ) const;
|
|
|
|
KURL::List urls() { return m_urls; }
|
|
|
|
subversionCore* svncore() { return m_impl; }
|
|
|
|
|
|
|
|
signals:
|
|
|
|
// void finishedFetching( TQString destinationDir );
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void contextMenu( TQPopupMenu *popup, const Context *context );
|
|
|
|
void slotActionUpdate();
|
|
|
|
void slotActionRevert();
|
|
|
|
void slotActionCommit();
|
|
|
|
void slotActionAdd();
|
|
|
|
void slotActionDel();
|
|
|
|
void slotActionDiffHead();
|
|
|
|
void slotActionDiffLocal();
|
|
|
|
void slotActionResolve();
|
|
|
|
void slotUpdate();
|
|
|
|
void slotRevert();
|
|
|
|
void slotCommit();
|
|
|
|
void slotAdd();
|
|
|
|
void slotDel();
|
|
|
|
void slotLog();
|
|
|
|
void slotBlame();
|
|
|
|
void slotDiffLocal();
|
|
|
|
void slotDiffHead();
|
|
|
|
void slotResolve();
|
|
|
|
void slotSwitch();
|
|
|
|
void slotCopy();
|
|
|
|
void slotMerge();
|
|
|
|
void slotProjectClosed();
|
|
|
|
void slotProjectOpened();
|
|
|
|
|
|
|
|
private:
|
|
|
|
TQGuardedPtr<subversionCore> m_impl;
|
|
|
|
KURL::List m_urls;
|
|
|
|
|
|
|
|
KAction *actionCommit,
|
|
|
|
*actionDiffHead,
|
|
|
|
*actionDiffLocal,
|
|
|
|
*actionAdd,
|
|
|
|
*actionLog,
|
|
|
|
*actionBlame,
|
|
|
|
*actionRemove,
|
|
|
|
*actionUpdate,
|
|
|
|
//*actionAddToIgnoreList,
|
|
|
|
//*actionRemoveFromIgnoreList,
|
|
|
|
*actionRevert,
|
|
|
|
*actionResolve,
|
|
|
|
*actionSwitch,
|
|
|
|
*actionCopy,
|
|
|
|
*actionMerge;
|
|
|
|
|
|
|
|
TQGuardedPtr<subversionProjectWidget> m_projWidget;
|
|
|
|
KURL base;
|
|
|
|
|
|
|
|
public:
|
|
|
|
TQMap< KURL, SvnGlobal::SvnInfoHolder > m_prjInfoMap;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|