[Workspaces] detecting right app version (#36100)
* [Workspaces] Add move functionality * spell checker * [Workspaces] Modify Arranger to move apps without launch * moved ipc helper * removed callback * use LauncherStatus in WindowArranger * wait for launching next app * launch in a separate thread and protect by mutexes * update app version in advance * changed canceling launch * increased waiting time * Fix optional parameter load from json * changed arranger waiting time * additional waiting time for Outlook * added app id * ensure ids before launch * set id in editor * minor updates * [Workspaces] Move: Get the nearest window when moving a window * [Workspaces] convert optional boolean to enum to avoid json problems * Handle case when the new Application Property "moveIfExists" does not exist * Re-implementing app-window pairing for moving feature. * spell checker * XAML formatting * Fixing bug: IPC message not arriving * spell checker * Removing app-level-setting for move app. Also fixed compiler errors due styling. * Updating editor window layout * Re-implementing window positioning UI elements * XAML formatting * Code review findings * Code cleanup * Code cleanup * Code cleanup * code cleanup * Code cleanup * Code cleanup * [Workspaces] fix detection of specific version of apps --------- Co-authored-by: Seraphima <zykovas91@gmail.com> Co-authored-by: donlaci <donlaci@yahoo.com>
This commit is contained in:
Родитель
ef672b5564
Коммит
9591950875
|
@ -252,6 +252,7 @@ namespace Utils
|
|||
}
|
||||
|
||||
// search in apps list
|
||||
std::optional<AppData> appDataPlanB{ std::nullopt };
|
||||
for (const auto& appData : apps)
|
||||
{
|
||||
if (!appData.installPath.empty())
|
||||
|
@ -274,13 +275,19 @@ namespace Utils
|
|||
|
||||
// edge case, some apps (e.g., Gitkraken) have different .exe files in the subfolders.
|
||||
// apps list contains only one path, so in this case app is not found
|
||||
// remember the match and return it in case the loop is over and there are no direct matches
|
||||
if (std::filesystem::path(appPath).filename() == std::filesystem::path(appData.installPath).filename())
|
||||
{
|
||||
return appData;
|
||||
appDataPlanB = appData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (appDataPlanB.has_value())
|
||||
{
|
||||
return appDataPlanB.value();
|
||||
}
|
||||
|
||||
// try by name if path not found
|
||||
// apps list could contain a different path from that one we get from the process (for electron)
|
||||
std::wstring exeName = std::filesystem::path(appPath).stem();
|
||||
|
|
Загрузка…
Ссылка в новой задаче