forked from pool/telegram-desktop
52 lines
2.1 KiB
Diff
52 lines
2.1 KiB
Diff
|
From 7bc86cc9af28ba3d04a5cb69f6f7c16bfe7f8719 Mon Sep 17 00:00:00 2001
|
||
|
From: Ilya Fedin <fedin-ilja2010@ya.ru>
|
||
|
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;
|