diff --git a/MainWindow.cpp b/MainWindow.cpp index 316edd4..ba53caa 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -241,7 +241,7 @@ bool MainWindow::openWorkspace(const QString &path) if(!QFileInfo(metadata_file).exists()) { - if(ANSWER_YES !=DialogQuery(this, tr("Open Fossil"), "No workspace found.\nWould you like to make one here?")) + if(QMessageBox::Yes !=DialogQuery(this, tr("Open Fossil"), "No workspace found.\nWould you like to make one here?")) return false; // Ok open the fossil @@ -365,7 +365,7 @@ void MainWindow::on_actionCloseRepository_triggered() if(getRepoStatus()!=REPO_OK) return; - if(ANSWER_YES !=DialogQuery(this, tr("Close Workspace"), "Are you sure want to close this workspace?")) + if(QMessageBox::Yes !=DialogQuery(this, tr("Close Workspace"), "Are you sure want to close this workspace?")) return; // Close Repo @@ -950,7 +950,9 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int bool ends_qmark = !last_line.isEmpty() && last_line[last_line.length()-1]=='?'; bool have_yn_query = last_line.toLower().indexOf("y/n")!=-1; int have_yna_query = last_line.toLower().indexOf("a=always/y/n")!=-1 || last_line.toLower().indexOf("yes/no/all")!=-1; - bool have_query = ends_qmark && (have_yn_query || have_yna_query); + int have_an_query = last_line.toLower().indexOf("a=always/n")!=-1; + + bool have_query = ends_qmark && (have_yn_query || have_yna_query || have_an_query); // Flush only the unnecessary part of the buffer to the log QStringList log_lines = buffer.left(last_line_start).split(EOL_MARK); @@ -975,13 +977,13 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int { log(last_line); QString query = ParseFossilQuery(last_line); - DialogAnswer res = DialogQuery(this, "Fossil", query, true); - if(res==ANSWER_YES) + QMessageBox::StandardButton res = DialogQuery(this, "Fossil", query, QMessageBox::YesToAll|QMessageBox::Yes|QMessageBox::No); + if(res==QMessageBox::Yes) { process.write(ans_yes.toAscii()); log("Y\n"); } - else if(res==ANSWER_YESALL) + else if(res==QMessageBox::YesAll) { process.write(ans_always.toAscii()); log("A\n"); @@ -997,9 +999,9 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int { log(last_line); QString query = ParseFossilQuery(last_line); - DialogAnswer res = DialogQuery(this, "Fossil", query, false); + QMessageBox::StandardButton res = DialogQuery(this, "Fossil", query); - if(res==ANSWER_YES) + if(res==QMessageBox::Yes) { process.write(ans_yes.toAscii()); log("Y\n"); @@ -1012,6 +1014,23 @@ bool MainWindow::runFossilRaw(const QStringList &args, QStringList *output, int buffer.clear(); } + else if(have_query && have_an_query) + { + log(last_line); + QString query = ParseFossilQuery(last_line); + QMessageBox::StandardButton res = DialogQuery(this, "Fossil", query, QMessageBox::YesToAll|QMessageBox::No); + if(res==QMessageBox::YesAll) + { + process.write(ans_always.toAscii()); + log("A\n"); + } + else + { + process.write(ans_no.toAscii()); + log("N\n"); + } + buffer.clear(); + } } // Must be finished by now @@ -1278,13 +1297,17 @@ void MainWindow::on_actionDiff_triggered() bool MainWindow::startUI() { if(uiRunning()) + { + log("Fossil UI is already running\n"); return true; + } fossilUI.setParent(this); fossilUI.setProcessChannelMode(QProcess::MergedChannels); fossilUI.setWorkingDirectory(getCurrentWorkspace()); - log("> fossil ui\n"); + log("> fossil ui
", true); + log("Starting Fossil UI. Please wait.\n"); QString fossil = getFossilPath(); fossilUI.start(fossil, QStringList() << "ui"); diff --git a/MainWindow.ui b/MainWindow.ui index c4f7f6e..37ade9f 100644 --- a/MainWindow.ui +++ b/MainWindow.ui @@ -205,9 +205,8 @@ - - + diff --git a/SettingsDialog.cpp b/SettingsDialog.cpp index 3d3a1e9..fbd5801 100644 --- a/SettingsDialog.cpp +++ b/SettingsDialog.cpp @@ -100,6 +100,6 @@ void SettingsDialog::on_btnSelectGMerge_clicked() //----------------------------------------------------------------------------- void SettingsDialog::on_btnClearMessageHistory_clicked() { - if(DialogQuery(this, tr("Clear Commit Message History"), tr("Are you sure want to clear the commit message history?"))==ANSWER_YES) + if(DialogQuery(this, tr("Clear Commit Message History"), tr("Are you sure want to clear the commit message history?"))==QMessageBox::Yes) settings->Mappings[FUEL_SETTING_COMMIT_MSG].Value = QStringList(); } diff --git a/Utils.cpp b/Utils.cpp index ec6fb51..1259f10 100644 --- a/Utils.cpp +++ b/Utils.cpp @@ -3,23 +3,15 @@ #include /////////////////////////////////////////////////////////////////////////////// -DialogAnswer DialogQuery(QWidget *parent, const QString &title, const QString &query, bool yesToAllButton) +QMessageBox::StandardButton DialogQuery(QWidget *parent, const QString &title, const QString &query, QMessageBox::StandardButtons buttons) { - QMessageBox::StandardButtons buttons = QMessageBox::Yes|QMessageBox::No; - if(yesToAllButton) - buttons |= QMessageBox::YesToAll; - QMessageBox mb(QMessageBox::Question, title, query, buttons, parent, Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint | Qt::Sheet ); mb.setDefaultButton(QMessageBox::No); mb.setWindowModality(Qt::WindowModal); mb.setModal(true); mb.exec(); - int res = mb.standardButton(mb.clickedButton()); - if(res==QDialogButtonBox::Yes) - return ANSWER_YES; - else if(res==QDialogButtonBox::YesToAll) - return ANSWER_YESALL; - return ANSWER_NO; + QMessageBox::StandardButton res = mb.standardButton(mb.clickedButton()); + return res; } //----------------------------------------------------------------------------- diff --git a/Utils.h b/Utils.h index 6767de9..7cfbb92 100644 --- a/Utils.h +++ b/Utils.h @@ -2,16 +2,9 @@ #define UTILS_H #include -#include +#include -enum DialogAnswer -{ - ANSWER_YES, - ANSWER_NO, - ANSWER_YESALL -}; - -DialogAnswer DialogQuery(QWidget *parent, const QString &title, const QString &query, bool yesToAllButton=false); +QMessageBox::StandardButton DialogQuery(QWidget *parent, const QString &title, const QString &query, QMessageBox::StandardButtons buttons = QMessageBox::Yes|QMessageBox::No); #endif // UTILS_H diff --git a/main.cpp b/main.cpp index def8606..febf8c5 100644 --- a/main.cpp +++ b/main.cpp @@ -5,7 +5,7 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); a.setApplicationName("Fuel"); - a.setApplicationVersion("0.9.4"); + a.setApplicationVersion("0.9.5"); a.setOrganizationDomain("karanik.com"); a.setOrganizationName("Karanik"); diff --git a/manifest b/manifest index db594e9..37a557a 100644 --- a/manifest +++ b/manifest @@ -1,19 +1,19 @@ -C Improved\stooltip\stext\sof\sactions\nFixed\sempty\spop-menu\sin\stoolbar\n -D 2011-10-22T08:41:13.960 +C Fixed\sissue\swith\sfossil\s1.2.0\swhere\sa\snew\stype\sof\suser\squery\s(yes\sto\sall/no)\scaused\sFuel\sto\shang\nUpped\sversion\sto\s0.9.5\nMinor\sGUI\sTweaks +D 2011-10-22T15:03:48.488 F CommitDialog.cpp bc05504be08d9ffe2b24d341a18e37035e1941b7 F CommitDialog.h 65a7238dcdd41b578536a0b0ac2a65f2e7f23c9a F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154 F FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8 F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7 -F MainWindow.cpp 1e1037c4a8047c1396b71e0ea669f7cc371beeb4 +F MainWindow.cpp 8c0864e0923d0dbdb59a6adbea4aa2236d2daca3 F MainWindow.h 643f13d4b5615c51c38b164768bf62258ccb94b1 -F MainWindow.ui 0539292f618b60a94355ef35f59fa3bac6cab105 -F SettingsDialog.cpp b9dc5eebf3a2404f4ea8a573fc46cce19ab3d639 +F MainWindow.ui 0afb7d2a8e9ce2cff2966295f9eefaed01f1ed51 +F SettingsDialog.cpp e1fad18cc020d08b82c6d35dc94f6624deec9a3b F SettingsDialog.h f5da6cab4ccc82e2eb78ec835fb849c4c104d6cc F SettingsDialog.ui 778aaf233b8ac3ddac7dcfecc2fca7bd8ca5be1a -F Utils.cpp 4bd6f104d7d666bdae2bbe54e392e8372f6ca186 -F Utils.h e5ebab82b3455f2ea06d92e6b9eb18355470076c +F Utils.cpp 2587d8073d6c2c1da49622c387cc457a0081f7b5 +F Utils.h a71d82474747466f4c225128d26a703b510230d4 F fuel.pro 3dc8e31fde8137143dea0ae44a81eb6733d86168 F fuel.rc 8e9ac966f283102c11a77cd7f936cdc09e09bd79 F icons/Address\sBook-01.png ef2cec80ea5a559b72e8be4a344a1869fe69cbd8 @@ -172,9 +172,9 @@ F icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b F icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038 F installer/fuel.iss 13b6a938bcdf273cbd3649d2549887baa1577214 F installer/license.txt 4cc77b90af91e615a64ae04893fdffa7939db84c -F main.cpp f67a9b5c9ca0b634b19ef08e7136032372d37f93 +F main.cpp 46bf5ddc90fca01c9ef2e8e3d14b4d32217945dd F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53 -P b0fda22886a7415ddf5d70457f3f7c8fe7ecf636 -R e00c1b3ea6f98e52316fb62058db3cb4 +P af6bd9ca628ed1fe33819ac18706ed2bcabc79d2 +R 9f76f7cb520c390eaafad0ef9a9d36d5 U kostas -Z 776ad1437e04c1e2a30ae4fcf3fe5105 +Z bf67ad5420324215cd78ba9fd7ee459a diff --git a/manifest.uuid b/manifest.uuid index 048c740..fad0b7d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -af6bd9ca628ed1fe33819ac18706ed2bcabc79d2 \ No newline at end of file +d7d817fe47606c591cc03e8d71e744d187bca5d7 \ No newline at end of file