From 3742db2b91dbb25f6f2e8730142be88d79ee84dc Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 27 Oct 2020 22:56:24 +0400 Subject: [PATCH] Use portals via glib to open urls & files in snap --- .../platform/linux/file_utilities_linux.cpp | 10 ++-------- snap/snapcraft.yaml | 1 + 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp index dfecc5b79..5f14f4f97 100644 --- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp @@ -68,10 +68,7 @@ QByteArray EscapeShell(const QByteArray &content) { } // namespace internal void UnsafeOpenUrl(const QString &url) { - if (InSnap()) { - QProcess process; - process.startDetached(qsl("xdg-open"), {url}); - } else if (!g_app_info_launch_default_for_uri( + if (!g_app_info_launch_default_for_uri( url.toUtf8(), nullptr, nullptr)) { @@ -86,10 +83,7 @@ void UnsafeOpenEmailLink(const QString &email) { void UnsafeLaunch(const QString &filepath) { const auto absolutePath = QFileInfo(filepath).absoluteFilePath(); - if (InSnap()) { - QProcess process; - process.startDetached(qsl("xdg-open"), {absolutePath}); - } else if (!g_app_info_launch_default_for_uri( + if (!g_app_info_launch_default_for_uri( ("file://" + absolutePath).toUtf8(), nullptr, nullptr)) { diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 09ca41b13..09dc34469 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -20,6 +20,7 @@ apps: environment: # Use GTK3 cursor theme, icon theme and open/save file dialogs. QT_QPA_PLATFORMTHEME: gtk3 + GTK_USE_PORTAL: 1 plugs: - alsa - audio-playback