Completed wrapping

FossilOrigin-Name: de84b1fda5b215f404dfafb1d5b95a694707573b
This commit is contained in:
kostas
2015-04-27 18:23:00 +00:00
parent be2856d060
commit 906873e7f9
6 changed files with 45 additions and 33 deletions

View File

@ -338,6 +338,20 @@ bool Bridge::setRemoteUrl(const QString& url)
return runFossil(QStringList() << "remote-url" << u, 0, RUNFLAGS_SILENT_INPUT);
}
//------------------------------------------------------------------------------
bool Bridge::getRemoteUrl(QString& url)
{
url.clear();
QStringList out;
if(!runFossil(QStringList() << "remote-url", &out, RUNFLAGS_SILENT_ALL))
return false;
if(out.length()>0)
url = out[0].trimmed();
return true;
}
//------------------------------------------------------------------------------
bool Bridge::stashNew(const QStringList& fileList, const QString& name, bool revert)
{
@ -399,7 +413,7 @@ bool Bridge::stashApply(const QString& name)
//------------------------------------------------------------------------------
bool Bridge::stashDrop(const QString& name)
{
return runFossil(QStringList() << "stash" << "apply" << name);
return runFossil(QStringList() << "stash" << "drop" << name);
}
//------------------------------------------------------------------------------

View File

@ -9,6 +9,15 @@ class QStringList;
typedef QMap<QString, QString> stashmap_t;
enum RunFlags
{
RUNFLAGS_NONE = 0<<0,
RUNFLAGS_SILENT_INPUT = 1<<0,
RUNFLAGS_SILENT_OUTPUT = 1<<1,
RUNFLAGS_SILENT_ALL = RUNFLAGS_SILENT_INPUT | RUNFLAGS_SILENT_OUTPUT,
RUNFLAGS_DETACHED = 1<<2
};
class Bridge : public QObject
{
public:
@ -20,16 +29,6 @@ public:
{
}
enum RunFlags
{
RUNFLAGS_NONE = 0<<0,
RUNFLAGS_SILENT_INPUT = 1<<0,
RUNFLAGS_SILENT_OUTPUT = 1<<1,
RUNFLAGS_SILENT_ALL = RUNFLAGS_SILENT_INPUT | RUNFLAGS_SILENT_OUTPUT,
RUNFLAGS_DETACHED = 1<<2
};
typedef void(*log_callback_t)(QTextBrowser *textBrowser, const QString &text, bool isHTML);
@ -108,6 +107,7 @@ public:
bool getFossilSettings(QStringList& result);
bool setFossilSetting(const QString &name, const QString &value, bool global);
bool setRemoteUrl(const QString &url);
bool getRemoteUrl(QString &url);
bool stashNew(const QStringList& fileList, const QString& name, bool revert);
bool stashList(stashmap_t &stashes);

View File

@ -1441,7 +1441,7 @@ QString MainWindow::getFossilPath()
return fossil_exe;
}
#else
#if 1
#if 0
bool MainWindow::runFossil(const QStringList &args, QStringList *output, int runFlags)
{
// Make StatusBar message
@ -2320,9 +2320,15 @@ void MainWindow::loadFossilSettings()
if(name == FOSSIL_SETTING_REMOTE_URL)
{
// Retrieve existing url
#ifndef BRIDGE_ENABLED
QStringList out;
if(runFossil(QStringList() << name, &out, RUNFLAGS_SILENT_ALL) && out.length()==1)
it.value().Value = out[0].trimmed();
#else
QString url;
if(bridge.getRemoteUrl(url))
it.value().Value = url;
#endif
continue;
}
@ -2370,7 +2376,7 @@ void MainWindow::on_actionSettings_triggered()
if(name == FOSSIL_SETTING_REMOTE_URL)
{
// Run as silent to avoid displaying credentials in the log
#ifndef BRIDGE_H
#ifndef BRIDGE_ENABLED
runFossil(QStringList() << "remote-url" << QuotePath(it.value().Value.toString()), 0, RUNFLAGS_SILENT_INPUT);
#else
bridge.setRemoteUrl(it.value().Value.toString());
@ -2381,7 +2387,7 @@ void MainWindow::on_actionSettings_triggered()
Q_ASSERT(type == Settings::Setting::TYPE_FOSSIL_GLOBAL || type == Settings::Setting::TYPE_FOSSIL_LOCAL);
QString value = it.value().Value.toString();
#ifndef BRIDGE_H
#ifndef BRIDGE_ENABLED
QStringList params;
if(value.isEmpty())

View File

@ -127,21 +127,13 @@ public:
private:
typedef QSet<QString> stringset_t;
enum RunFlags
{
RUNFLAGS_NONE = 0<<0,
RUNFLAGS_SILENT_INPUT = 1<<0,
RUNFLAGS_SILENT_OUTPUT = 1<<1,
RUNFLAGS_SILENT_ALL = RUNFLAGS_SILENT_INPUT | RUNFLAGS_SILENT_OUTPUT,
RUNFLAGS_DETACHED = 1<<2
};
private:
bool refresh();
void scanWorkspace();
bool runFossil(const QStringList &args, QStringList *output=0, int runFlags=RUNFLAGS_NONE);
#ifndef BRIDGE_ENABLED
bool runFossilRaw(const QStringList &args, QStringList *output=0, int *exitCode=0, int runFlags=RUNFLAGS_NONE);
bool runFossil(const QStringList &args, QStringList *output=0, int runFlags=RUNFLAGS_NONE);
#endif
void applySettings();
void updateSettings();