Moved UICallback and ScopedCallback to Utils
FossilOrigin-Name: 717fb7a390f81af33ad40913960a30ff9c1c7a75
This commit is contained in:
@ -14,29 +14,7 @@ static const unsigned char UTF8_BOM[] = { 0xEF, 0xBB, 0xBF };
|
||||
// 19: [5c46757d4b9765] on 2012-04-22 04:41:15
|
||||
static const QRegExp REGEX_STASH("\\s*(\\d+):\\s+\\[(.*)\\] on (\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)", Qt::CaseInsensitive);
|
||||
|
||||
#define FOSSIL_CHECKOUT1 "_FOSSIL_"
|
||||
#define FOSSIL_CHECKOUT2 ".fslckout"
|
||||
#define FOSSIL_EXT "fossil"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class ScopedFossilStatus
|
||||
{
|
||||
public:
|
||||
ScopedFossilStatus(Bridge::UICallback *callback, const QString &text) : uiCallback(callback)
|
||||
{
|
||||
uiCallback->beginProcess(text);
|
||||
}
|
||||
|
||||
~ScopedFossilStatus()
|
||||
{
|
||||
uiCallback->endProcess();
|
||||
}
|
||||
private:
|
||||
Bridge::UICallback *uiCallback;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
RepoStatus Bridge::getRepoStatus()
|
||||
{
|
||||
QStringList res;
|
||||
@ -499,7 +477,7 @@ bool Bridge::runFossilRaw(const QStringList &args, QStringList *output, int *exi
|
||||
QString status_msg = QObject::tr("Running Fossil");
|
||||
if(args.length() > 0)
|
||||
status_msg = QString("Fossil %0").arg(args[0].toCaseFolded());
|
||||
ScopedFossilStatus status(uiCallback, status_msg);
|
||||
ScopedStatus status(uiCallback, status_msg);
|
||||
|
||||
// Generate args file
|
||||
const QStringList *final_args = &args;
|
||||
|
13
src/Bridge.h
13
src/Bridge.h
@ -5,7 +5,7 @@ class QStringList;
|
||||
#include <QString>
|
||||
#include <QObject>
|
||||
#include <QProcess>
|
||||
#include <QMessageBox>
|
||||
#include "Utils.h"
|
||||
|
||||
typedef QMap<QString, QString> stashmap_t;
|
||||
|
||||
@ -30,17 +30,6 @@ enum RepoStatus
|
||||
class Bridge
|
||||
{
|
||||
public:
|
||||
class UICallback
|
||||
{
|
||||
public:
|
||||
virtual void logText(const QString &text, bool isHTML)=0;
|
||||
virtual void beginProcess(const QString &text)=0;
|
||||
virtual void updateProcess(const QString &text)=0;
|
||||
virtual void endProcess()=0;
|
||||
virtual QMessageBox::StandardButton Query(const QString &title, const QString &query, QMessageBox::StandardButtons buttons)=0;
|
||||
};
|
||||
|
||||
|
||||
Bridge()
|
||||
: operationAborted(false)
|
||||
, uiCallback(0)
|
||||
|
@ -116,7 +116,7 @@ private slots:
|
||||
void on_tableView_customContextMenuRequested(const QPoint &pos);
|
||||
|
||||
private:
|
||||
class MainWinUICallback : public Bridge::UICallback
|
||||
class MainWinUICallback : public UICallback
|
||||
{
|
||||
public:
|
||||
MainWinUICallback() : mainWindow(0)
|
||||
|
27
src/Utils.h
27
src/Utils.h
@ -18,5 +18,32 @@ QStringList QuotePaths(const QStringList &paths);
|
||||
bool ShowExplorerMenu(HWND hwnd, const QString &path, const QPoint &qpoint);
|
||||
#endif
|
||||
|
||||
class UICallback
|
||||
{
|
||||
public:
|
||||
virtual void logText(const QString &text, bool isHTML)=0;
|
||||
virtual void beginProcess(const QString &text)=0;
|
||||
virtual void updateProcess(const QString &text)=0;
|
||||
virtual void endProcess()=0;
|
||||
virtual QMessageBox::StandardButton Query(const QString &title, const QString &query, QMessageBox::StandardButtons buttons)=0;
|
||||
};
|
||||
|
||||
|
||||
class ScopedStatus
|
||||
{
|
||||
public:
|
||||
ScopedStatus(UICallback *callback, const QString &text) : uiCallback(callback)
|
||||
{
|
||||
uiCallback->beginProcess(text);
|
||||
}
|
||||
|
||||
~ScopedStatus()
|
||||
{
|
||||
uiCallback->endProcess();
|
||||
}
|
||||
|
||||
private:
|
||||
UICallback *uiCallback;
|
||||
};
|
||||
|
||||
#endif // UTILS_H
|
||||
|
@ -20,7 +20,7 @@ void Workspace::clearState()
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool &abort, Bridge::UICallback &uiCallback)
|
||||
bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool &abort, UICallback &uiCallback)
|
||||
{
|
||||
QDir dir(dirPath);
|
||||
|
||||
@ -53,7 +53,7 @@ bool Workspace::scanDirectory(QFileInfoList &entries, const QString& dirPath, co
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, Bridge::UICallback &uiCallback, bool &operationAborted)
|
||||
void Workspace::scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, UICallback &uiCallback, bool &operationAborted)
|
||||
{
|
||||
// Scan all workspace files
|
||||
QFileInfoList all_files;
|
||||
|
@ -6,11 +6,10 @@
|
||||
#include <QDir>
|
||||
#include <QSet>
|
||||
#include <QMap>
|
||||
|
||||
#include "Bridge.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// RepoFile
|
||||
// WorkspaceFile
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
struct WorkspaceFile
|
||||
{
|
||||
@ -111,8 +110,8 @@ public:
|
||||
Bridge & fossil() { return bridge; }
|
||||
const Bridge & fossil() const { return bridge; }
|
||||
|
||||
static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort, Bridge::UICallback &uiCallback);
|
||||
void scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, Bridge::UICallback &uiCallback, bool &operationAborted);
|
||||
static bool scanDirectory(QFileInfoList &entries, const QString& dirPath, const QString &baseDir, const QString ignoreSpec, const bool& abort, UICallback &uiCallback);
|
||||
void scanWorkspace(bool scanLocal, bool scanIgnored, bool scanModified, bool scanUnchanged, const QString &ignoreGlob, UICallback &uiCallback, bool &operationAborted);
|
||||
|
||||
QStandardItemModel &getFileModel() { return repoFileModel; }
|
||||
QStandardItemModel &getDirModel() { return repoDirModel; }
|
||||
|
Reference in New Issue
Block a user