diff --git a/manifest b/manifest index 75557e8..0dacab4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Wrapped\sfossil\sversion -D 2015-04-27T15:25:13.463 +C Wrapped\sfossil\s"update" +D 2015-04-27T15:32:28.640 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 380baa815d78c21efa1e634df66e1a9efd2938ec -F src/Bridge.h 6ac7659bd5924aa7b571f8fce974a2b67650bd55 +F src/Bridge.cpp 9112bd819e4a012eb050c25a4e790aefe1082cd5 +F src/Bridge.h 25b22bbaf5c34f529095921f3f8fb367185d9750 F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539 @@ -200,7 +200,7 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 -F src/MainWindow.cpp c1421d8ade96fb91a6ae7846766b67ff111ef113 +F src/MainWindow.cpp 946d1422c8540f155d4b8022956319bfeb0d693c F src/MainWindow.h a727aea9b2b453c79682f61157b38a76a873060a F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4 F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43 @@ -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 09f2c8f44189b490da880f56011b95fae223a5a9 -R 377d8713271159c2aa61196856694261 +P 239b8ac44d4dd954633b52d28b68e4cd9937efbc +R 21520105f6d95e2d46dcaeedab9c8d5c U kostas -Z d0a09250611bae97fd8dfec546e148ce +Z 7f5cca5d4e2b24f9dd76444de33be1b8 diff --git a/manifest.uuid b/manifest.uuid index b24331a..7433b05 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -239b8ac44d4dd954633b52d28b68e4cd9937efbc \ No newline at end of file +11a0f979fc198ad134c95c139547baae81d90050 \ No newline at end of file diff --git a/src/Bridge.cpp b/src/Bridge.cpp index dbbadd6..9acb129 100644 --- a/src/Bridge.cpp +++ b/src/Bridge.cpp @@ -275,7 +275,7 @@ bool Bridge::renameFile(const QString &beforePath, const QString &afterPath) } //------------------------------------------------------------------------------ -bool Bridge::undo(QStringList &result, bool explainOnly) +bool Bridge::undoRepository(QStringList &result, bool explainOnly) { QStringList params; params << "undo"; @@ -283,6 +283,20 @@ bool Bridge::undo(QStringList &result, bool explainOnly) if(explainOnly) params << "--explain"; + result.clear(); + return runFossil(params, &result); +} + +//------------------------------------------------------------------------------ +bool Bridge::updateRepository(QStringList &result, bool explainOnly) +{ + QStringList params; + params << "update"; + + if(explainOnly) + params << "--nochange"; + + result.clear(); return runFossil(params, &result); } diff --git a/src/Bridge.h b/src/Bridge.h index c2784cd..58621c2 100644 --- a/src/Bridge.h +++ b/src/Bridge.h @@ -104,7 +104,8 @@ public: bool removeFiles(const QStringList& fileList, bool deleteLocal); bool revertFiles(const QStringList& fileList); bool renameFile(const QString& beforePath, const QString& afterPath); - bool undo(QStringList& result, bool explainOnly); + bool undoRepository(QStringList& result, bool explainOnly); + bool updateRepository(QStringList& result, bool explainOnly); private: void log(const QString &text, bool isHTML=false) { diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index b5e564f..1528632 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -2204,7 +2204,7 @@ void MainWindow::on_actionUndo_triggered() // Do Undo runFossil(QStringList() << "undo" ); #else - bridge.undo(res, true); + bridge.undoRepository(res, true); if(res.length()>0 && res[0]=="No undo or redo is available") return; @@ -2213,7 +2213,7 @@ void MainWindow::on_actionUndo_triggered() return; // Do Undo - bridge.undo(res, false); + bridge.undoRepository(res, false); #endif refresh(); @@ -2261,7 +2261,7 @@ void MainWindow::on_actionAbout_triggered() void MainWindow::on_actionUpdate_triggered() { QStringList res; - +#ifndef BRIDGE_ENABLED if(!runFossil(QStringList() << "update" << "--nochange", &res, RUNFLAGS_SILENT_ALL)) return; @@ -2273,6 +2273,20 @@ void MainWindow::on_actionUpdate_triggered() // Do Update runFossil(QStringList() << "update" ); +#else + if(!bridge.updateRepository(res, true)) + return; + + // Fixme: parse "changes: None. Already up-to-date" and avoid dialog + + if(res.length()==0) + return; + + if(!FileActionDialog::run(this, tr("Update"), tr("The following files will be updated.")+"\n"+tr("Are you sure?"), res)) + return; + + bridge.updateRepository(res, false); +#endif refresh(); }