From 80a26312dc5b404422d207a271fee8f772b4ed0f Mon Sep 17 00:00:00 2001 From: versat Date: Thu, 12 Apr 2018 16:03:33 +0200 Subject: [PATCH] GUI: Applicationlist: Find UltraEdit 32/64 on Windows --- gui/applicationlist.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gui/applicationlist.cpp b/gui/applicationlist.cpp index 912622230..5c3358982 100644 --- a/gui/applicationlist.cpp +++ b/gui/applicationlist.cpp @@ -229,5 +229,28 @@ bool ApplicationList::findDefaultWindowsEditor() if (!qtCreatorRegistry.isEmpty() && checkAndAddApplication(qtCreatorPath, "Qt Creator", "-client (file):(line)")) { foundOne = true; } + + const QString regPathUEdit32 = "HKEY_CLASSES_ROOT\\Applications\\Uedit32.exe\\shell\\open\\Command"; + const QSettings registryUEdit32(regPathUEdit32, QSettings::NativeFormat); + const QString uedit32Registry = registryUEdit32.value("Default", QString()).toString(); + if (!uedit32Registry.isEmpty()) { + // Extract path to executable and make sure there is no single quotation mark at the beginning + const QString uedit32Path = uedit32Registry.left(uedit32Registry.indexOf(".exe") + 4).replace("\"", ""); + if (checkAndAddApplication(uedit32Path, "UltraEdit 32", "(file)/(line)")) { + foundOne = true; + } + } + + const QString regPathUEdit64 = "HKEY_CLASSES_ROOT\\Applications\\uedit64.exe\\shell\\open\\Command"; + const QSettings registryUEdit64(regPathUEdit64, QSettings::NativeFormat); + const QString uedit64Registry = registryUEdit64.value("Default", QString()).toString(); + if (!uedit64Registry.isEmpty()) { + // Extract path to executable and make sure there is no single quotation mark at the beginning + const QString uedit64Path = uedit64Registry.left(uedit64Registry.indexOf(".exe") + 4).replace("\"", ""); + if (checkAndAddApplication(uedit64Path, "UltraEdit 64", "(file)/(line)")) { + foundOne = true; + } + } + return foundOne; }