From 7bc86cc9af28ba3d04a5cb69f6f7c16bfe7f8719 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 21 Apr 2020 23:05:17 +0400 Subject: [PATCH] Fix directory opening with portal and use them by default with KDE --- .../SourceFiles/platform/linux/file_utilities_linux.cpp | 6 +++--- Telegram/SourceFiles/platform/linux/specific_linux.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp index 47dd56a411..88f8a69a91 100644 --- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp @@ -83,11 +83,11 @@ constexpr auto kPreviewHeight = 512; using Type = ::FileDialog::internal::Type; #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION -bool NativeSupported() { +bool NativeSupported(Type type = Type::ReadFile) { #ifndef TDESKTOP_FORCE_GTK_FILE_DIALOG return false; #endif // TDESKTOP_FORCE_GTK_FILE_DIALOG - return !Platform::UseXDGDesktopPortal() + return (!Platform::UseXDGDesktopPortal() || type == Type::ReadFolder) && Platform::internal::GdkHelperLoaded() && (Libs::gtk_widget_hide_on_delete != nullptr) && (Libs::gtk_clipboard_store != nullptr) @@ -192,7 +192,7 @@ bool Get( parent = parent->window(); } #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION - if (NativeSupported()) { + if (NativeSupported(type)) { return GetNative( parent, files, diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index 0bb3963420..c12e5a0780 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -266,7 +266,7 @@ bool UseXDGDesktopPortal() { const auto envVar = qEnvironmentVariableIsSet("TDESKTOP_USE_PORTAL"); const auto portalPresent = IsXDGDesktopPortalPresent(); - return envVar && portalPresent; + return (DesktopEnvironment::IsKDE() || envVar) && portalPresent; }(); return UsePortal;