diff --git a/manifest b/manifest index 5ffec4f..719ebe0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Wrapped\s"stash"\sand\sall\sremaining\scalls\nWe\snow\suse\sexplicit\scalls\sfor\snon-setting\sbased\sfossil\soptions\s(eg\sremote-url) -D 2015-04-27T18:12:04.670 +C Completed\swrapping +D 2015-04-27T18:23:00.528 F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b @@ -184,8 +184,8 @@ F rsrc/icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038 F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342 F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f -F src/Bridge.cpp c7e897ffb89a3cb6ff60931426378dbb60b0432d -F src/Bridge.h 4222ac4d1e899516ed62df0e0575d98d10ebac40 +F src/Bridge.cpp e10c71b97f2010427c51588933776a5047a57b2b +F src/Bridge.h 339260808e1f77d8c8c786554296b3c5adb8fe60 F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539 @@ -200,8 +200,8 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 -F src/MainWindow.cpp e4136c247097be4bfb38aff1e21e39b96af503e9 -F src/MainWindow.h a727aea9b2b453c79682f61157b38a76a873060a +F src/MainWindow.cpp cc89324e8e5e134a3503d0a9488a647424a6fa36 +F src/MainWindow.h 85fd2ccc544c1873c38651463a81c6978a2d9eac F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4 F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43 F src/Utils.cpp f78728e0817b1db23007ba0d2c5c26980ee7ebca @@ -215,7 +215,7 @@ F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7 F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b -P 2b7585554eaec0b930d78171ee9c6855637cd7ab -R 9c542f6043c5ab3e327b2d8ba71458b7 +P bbbd2f42e643fbd912b6b3a5cc0b744f14cd56b0 +R aefaf10d20a007fec085027b062f8453 U kostas -Z af9c2eb95a699b2e5bce089794310af1 +Z 45b903712c271e0c77bb149a9b43a601 diff --git a/manifest.uuid b/manifest.uuid index d44d018..e0f7362 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bbbd2f42e643fbd912b6b3a5cc0b744f14cd56b0 \ No newline at end of file +de84b1fda5b215f404dfafb1d5b95a694707573b \ No newline at end of file diff --git a/src/Bridge.cpp b/src/Bridge.cpp index a3af4a3..119d077 100644 --- a/src/Bridge.cpp +++ b/src/Bridge.cpp @@ -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); } //------------------------------------------------------------------------------ diff --git a/src/Bridge.h b/src/Bridge.h index 2b654c7..e606b6f 100644 --- a/src/Bridge.h +++ b/src/Bridge.h @@ -9,6 +9,15 @@ class QStringList; typedef QMap 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); diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index f87ea77..d15fca8 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -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()) diff --git a/src/MainWindow.h b/src/MainWindow.h index ae67b0d..6528e6e 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -127,21 +127,13 @@ public: private: typedef QSet 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();