aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/utils/GpgUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/utils/GpgUtils.cpp')
-rw-r--r--src/core/utils/GpgUtils.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/utils/GpgUtils.cpp b/src/core/utils/GpgUtils.cpp
index 13f6ef05..8b2abeb7 100644
--- a/src/core/utils/GpgUtils.cpp
+++ b/src/core/utils/GpgUtils.cpp
@@ -456,4 +456,23 @@ auto GPGFRONTEND_CORE_EXPORT CheckGpgVersion(int channel,
return true;
}
+
+auto GPGFRONTEND_CORE_EXPORT DecidePinentry() -> QString {
+#ifdef __linux__
+ QStringList preferred_list = {"pinentry-gnome3",
+ "pinentry-qt"
+ "pinentry-gtk2"};
+#else
+ QStringList preferred_list = {"pinentry-qt"};
+#endif
+
+ for (const QString& name : preferred_list) {
+ QString path = QStandardPaths::findExecutable(name);
+ if (!path.isEmpty()) {
+ return path;
+ }
+ }
+
+ return {};
+}
} // namespace GpgFrontend