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.
119 lines
3.3 KiB
119 lines
3.3 KiB
15 years ago
|
/***************************************************************************
|
||
|
cvsservice.h - description
|
||
|
------------------------------
|
||
|
begin : Sun May 16 17:50:25 2004
|
||
|
copyright : (C) 2004, 2005 by Andras Mantia <amantia@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; version 2
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
|
||
|
#ifndef CVSSERVICE_H
|
||
|
#define CVSSERVICE_H
|
||
|
|
||
|
//qt includes
|
||
|
#include <qobject.h>
|
||
|
|
||
|
//kde includes
|
||
|
#include <dcopref.h>
|
||
|
|
||
|
//own includes
|
||
|
#include "cvsservicedcopif.h"
|
||
|
|
||
|
class QTimer;
|
||
|
class KPopupMenu;
|
||
|
class KActionCollection;
|
||
|
class CvsJob_stub;
|
||
|
class CvsService_stub;
|
||
|
class Repository_stub;
|
||
|
|
||
|
class CVSCommitDlgS;
|
||
|
class CVSUpdateToDlgS;
|
||
|
|
||
|
/** @short This class manages the CVS repositories from withing Quanta with the help of "cvsservice"
|
||
|
*
|
||
|
*/
|
||
|
class CVSService : public QObject, public CVSServiceDCOPIf
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
|
||
|
/**
|
||
|
* since this class is a singleton you must use this function to access it
|
||
|
* @return the class pointer
|
||
|
*/
|
||
|
static CVSService* ref(KActionCollection *ac = 0L)
|
||
|
{
|
||
|
static CVSService *m_ref;
|
||
|
if (!m_ref) m_ref = new CVSService(ac);
|
||
|
return m_ref;
|
||
|
}
|
||
|
|
||
|
~CVSService();
|
||
|
|
||
|
void setAppId(const QCString& id);
|
||
|
/** Returns true if the cvsservice was found */
|
||
|
bool exists() {return !m_appId.isEmpty();}
|
||
|
void setRepository(const QString &repository);
|
||
|
void setCurrentFile(const QString &file) {m_defaultFile = file;}
|
||
|
KPopupMenu *menu() {return m_menu;}
|
||
|
|
||
|
public slots:
|
||
|
void slotUpdate();
|
||
|
void slotUpdate(const QStringList &files);
|
||
|
void slotUpdateToTag();
|
||
|
void slotUpdateToTag(const QStringList &files);
|
||
|
void slotUpdateToHead();
|
||
|
void slotUpdateToHead(const QStringList &files);
|
||
|
void slotCommit();
|
||
|
void slotCommit(const QStringList &files);
|
||
|
void slotRevert();
|
||
|
void slotRevert(const QStringList &files);
|
||
|
void slotAdd();
|
||
|
void slotAdd(const QStringList &files);
|
||
|
void slotRemove();
|
||
|
void slotRemove(const QStringList &files);
|
||
|
void slotBrowseLog();
|
||
|
void slotAddToCVSIgnore();
|
||
|
void slotRemoveFromCVSIgnore();
|
||
|
|
||
|
virtual void slotJobExited(bool normalExit, int exitStatus);
|
||
|
virtual void slotReceivedStdout(QString output);
|
||
|
virtual void slotReceivedStderr(QString output);
|
||
|
|
||
|
signals:
|
||
|
void clearMessages();
|
||
|
void showMessage(const QString &msg, bool append);
|
||
|
void commandExecuted(const QString& command, const QStringList& files);
|
||
|
|
||
|
private slots:
|
||
|
void slotTimeout();
|
||
|
|
||
|
private:
|
||
|
CVSService(KActionCollection *ac);
|
||
|
void notInRepository();
|
||
|
void startService();
|
||
|
|
||
|
QCString m_appId;
|
||
|
KPopupMenu *m_menu;
|
||
|
Repository_stub *m_repository;
|
||
|
CvsJob_stub *m_cvsJob;
|
||
|
CvsService_stub *m_cvsService;
|
||
|
QString m_defaultFile;
|
||
|
QString m_repositoryPath;
|
||
|
QString m_cvsCommand;
|
||
|
QStringList m_files;
|
||
|
CVSCommitDlgS *m_commitDlg;
|
||
|
CVSUpdateToDlgS *m_updateToDlg;
|
||
|
DCOPRef m_job;
|
||
|
QTimer *m_timer;
|
||
|
};
|
||
|
|
||
|
#endif
|