aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/GlobalSettingStation.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-12-03 09:17:09 +0000
committersaturneric <[email protected]>2024-12-03 09:17:09 +0000
commita8843bb04aeb314a088fa9ea4b577d14c1184ad1 (patch)
tree6526c2fb18517dcabbd65ee155ad16c77120ad3a /src/core/function/GlobalSettingStation.cpp
parentfix: discovered issues by testing (diff)
downloadGpgFrontend-a8843bb04aeb314a088fa9ea4b577d14c1184ad1.tar.gz
GpgFrontend-a8843bb04aeb314a088fa9ea4b577d14c1184ad1.zip
fix: variable 'mods_path' is reassigned a value before the old one has been used.
Diffstat (limited to 'src/core/function/GlobalSettingStation.cpp')
-rw-r--r--src/core/function/GlobalSettingStation.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/core/function/GlobalSettingStation.cpp b/src/core/function/GlobalSettingStation.cpp
index 26b5d8b8..4c88fde4 100644
--- a/src/core/function/GlobalSettingStation.cpp
+++ b/src/core/function/GlobalSettingStation.cpp
@@ -136,6 +136,41 @@ class GlobalSettingStation::Impl {
return app_modules_path();
}
+ [[nodiscard]] auto GetIntegratedModulePath() const -> QString {
+ const auto exec_binary_path = GetAppDir();
+
+#if defined(__linux__)
+ // AppImage
+ if (!qEnvironmentVariable("APPIMAGE").isEmpty()) {
+ return qEnvironmentVariable("APPDIR") + "/usr/modules";
+ }
+ // Flatpak
+ if (!qEnvironmentVariable("container").isEmpty()) {
+ return "/app/modules";
+ }
+#endif
+
+#if defined(_WIN32) || defined(WIN32)
+
+#ifdef NDEBUG
+ return exec_binary_path + "/../modules";
+#else
+ return exec_binary_path + "/../modules/bin";
+#endif
+
+#endif
+
+#if defined(__APPLE__) && defined(__MACH__)
+
+#ifdef NDEBUG
+ return exec_binary_path + "/../Modules";
+#endif
+
+#endif
+
+ return exec_binary_path + "/modules";
+ }
+
private:
[[nodiscard]] auto app_config_file_path() const -> QString {
return app_config_path_ + "/config.ini";
@@ -205,4 +240,8 @@ void GlobalSettingStation::ClearAllDataObjects() const {
auto GlobalSettingStation::GetConfigPath() const -> QString {
return p_->GetConfigPath();
}
+
+auto GlobalSettingStation::GetIntegratedModulePath() const -> QString {
+ return p_->GetIntegratedModulePath();
+}
} // namespace GpgFrontend \ No newline at end of file