From ee5f84b75dc96baae54be337a8aa1582a2d6a1f3 Mon Sep 17 00:00:00 2001 From: kostas Date: Sat, 3 Sep 2011 12:33:47 +0000 Subject: [PATCH] Fixed fossil path detection on windows The settings dialog now quotes paths to external tools if they contain spaces FossilOrigin-Name: 208e56425e61f15f00ee2bbe200de18fda7fbc07 --- MainWindow.cpp | 16 ++++++++++------ SettingsDialog.cpp | 5 ++++- manifest | 14 +++++++------- manifest.uuid | 2 +- 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/MainWindow.cpp b/MainWindow.cpp index 497705c..16215a9 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -748,16 +748,20 @@ QString MainWindow::getFossilPath() { // Use the user-specified fossil if available if(!settings.fossilPath.isEmpty()) - return settings.fossilPath; + return QDir::toNativeSeparators(settings.fossilPath); - // Use our fossil if available - QString fuel_fossil = QCoreApplication::applicationDirPath() + QDir::separator() + "fossil"; + QString fossil_exe = "fossil"; +#ifdef Q_WS_WIN32 + fossil_exe += ".exe"; +#endif + // Use our fossil if available + QString fuel_fossil = QDir::toNativeSeparators(QCoreApplication::applicationDirPath() + QDir::separator() + fossil_exe); if(QFile::exists(fuel_fossil)) return fuel_fossil; // Otherwise assume there is a "fossil" executable in the path - return "fossil"; + return fossil_exe; } //------------------------------------------------------------------------------ void MainWindow::loadSettings() @@ -962,7 +966,7 @@ void MainWindow::on_actionHistory_triggered() for(QStringList::iterator it = selection.begin(); it!=selection.end(); ++it) { - QDesktopServices::openUrl(QUrl("http://localhost:8080/finfo?name="+*it)); + QDesktopServices::openUrl(QUrl("http://127.0.0.1:8080/finfo?name="+*it)); } } @@ -1332,7 +1336,7 @@ void MainWindow::on_actionSettings_triggered() if(maps[m].value->isEmpty()) runFossil(QStringList() << "unset" << maps[m].command << "-global"); else - runFossil(QStringList() << "settings" << maps[m].command << *maps[m].value << "-global"); + runFossil(QStringList() << "settings" << maps[m].command << *maps[m].value << "-global"); } } diff --git a/SettingsDialog.cpp b/SettingsDialog.cpp index d2cec00..f214398 100644 --- a/SettingsDialog.cpp +++ b/SettingsDialog.cpp @@ -19,7 +19,10 @@ static QString SelectExe(QWidget *parent, const QString &description) if(!QFile::exists(path)) return QString(); -return path; + // Quote path if it contains spaces + if(path.contains(' ')) + path = '"'+path + '"'; + return path; } /////////////////////////////////////////////////////////////////////////////// diff --git a/manifest b/manifest index f9ed780..68417e1 100644 --- a/manifest +++ b/manifest @@ -1,18 +1,18 @@ -C Changed\stimeline\slaunch\surl\sto\s127.0.0.1 -D 2011-08-29T15:41:09.601 +C Fixed\sfossil\spath\sdetection\son\swindows\nThe\ssettings\sdialog\snow\squotes\spaths\sto\sexternal\stools\sif\sthey\scontain\sspaces\n +D 2011-09-03T12:33:47.295 F CommitDialog.cpp a1fcdc94933f4e1a144224c7c70f1e067d3ee31e F CommitDialog.h 0550b1b652924ae54b6f6c9274cad2d4c491808a F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154 F FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8 F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7 -F MainWindow.cpp 86bc099427efb13665edaddf8db3bc36d767aed6 +F MainWindow.cpp 7d7371085c08bbacc347a1b656d0a352a234c3f9 F MainWindow.h 21fbbabd8b827d0b49fe3d40763b71042205fc3d F MainWindow.ui 5d10c04ab0f19f9b38a4da0abb0b36a00ff12efc F RepoDialog.cpp 8f20e1511526973555c774350ec413dcecf51c9e F RepoDialog.h a958c5f98f1e6882bf41dbdd2e4df3cb89700802 F RepoDialog.ui be7b18199c04a3003f3c7534a616cd7441b7bb0c -F SettingsDialog.cpp 7fdf56e25e1b9ff12369a63f8a35ecb101d51d3c +F SettingsDialog.cpp 638a513e765ef4268a514d679f78c8bd3f55862c F SettingsDialog.h 9b02af204d7cf90c2fb92de50fb634fb36f179dc F SettingsDialog.ui 9114ca5b9d8644cd0e910954c04f0425f89a960d F fuel.pro 295944fd817518c7c2412c5e52ce5ecad11dd8f8 @@ -173,7 +173,7 @@ F icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b F icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038 F main.cpp 083845039c167badd57a4abf482dd3d5e77aab35 F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53 -P 63e7632f4e844c0915cb4ae6cce07ee173e7926b -R fa0a542ab75baea5dff5bc0e6b27afda +P ee85c090a173816f1d8053a7c982ab7facfe5c8b +R 3f3a7738535c921e5dd68fe8b5c4cc7b U kostas -Z 10745c228cb56df8112b403e9ed5ff8b +Z dad7dd77b03e67f817ef15852b8851a5 diff --git a/manifest.uuid b/manifest.uuid index 208a5a9..dc0430c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ee85c090a173816f1d8053a7c982ab7facfe5c8b \ No newline at end of file +208e56425e61f15f00ee2bbe200de18fda7fbc07 \ No newline at end of file