From b4cb47cf7fb2b1eef00d818eb08199c9abee0d06 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 10 Nov 2020 01:36:45 +0400 Subject: [PATCH] Prefer gtk3 headers --- Telegram/CMakeLists.txt | 2 +- .../platform/linux/file_utilities_linux.cpp | 12 +++++++----- Telegram/SourceFiles/platform/linux/linux_libs.h | 2 +- Telegram/build/docker/centos_env/Dockerfile | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 85f68e3781..c3db02293c 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -112,7 +112,7 @@ if (LINUX) PkgConfig::X11 ) else() - pkg_search_module(GTK REQUIRED gtk+-2.0 gtk+-3.0) + pkg_search_module(GTK REQUIRED gtk+-3.0 gtk+-2.0) target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS}) target_link_libraries(Telegram PRIVATE X11) endif() diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp index 84fc2b2053..0cc204e634 100644 --- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp @@ -500,8 +500,10 @@ GtkFileDialog::GtkFileDialog(QWidget *parent, const QString &caption, const QStr d.reset(new QGtkDialog(Libs::gtk_file_chooser_dialog_new("", nullptr, GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, GTK_RESPONSE_OK, nullptr))); + // https://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html#gtk-file-chooser-dialog-new + // first_button_text doesn't need explicit conversion to char*, while all others are vardict + tr::lng_cancel(tr::now).toUtf8(), GTK_RESPONSE_CANCEL, + tr::lng_box_ok(tr::now).toUtf8().constData(), GTK_RESPONSE_OK, nullptr))); connect(d.data(), SIGNAL(accept()), this, SLOT(onAccepted())); connect(d.data(), SIGNAL(reject()), this, SLOT(onRejected())); @@ -737,9 +739,9 @@ void GtkFileDialog::applyOptions() { /*if (opts->isLabelExplicitlySet(QFileDialogOptions::Accept)) Libs::gtk_button_set_label(Libs::gtk_button_cast(acceptButton), opts->labelText(QFileDialogOptions::Accept).toUtf8()); else*/ if (_acceptMode == QFileDialog::AcceptOpen) - Libs::gtk_button_set_label(Libs::gtk_button_cast(acceptButton), GTK_STOCK_OPEN); + Libs::gtk_button_set_label(Libs::gtk_button_cast(acceptButton), tr::lng_open_link(tr::now).toUtf8()); else - Libs::gtk_button_set_label(Libs::gtk_button_cast(acceptButton), GTK_STOCK_SAVE); + Libs::gtk_button_set_label(Libs::gtk_button_cast(acceptButton), tr::lng_settings_save(tr::now).toUtf8()); } GtkWidget *rejectButton = Libs::gtk_dialog_get_widget_for_response(gtkDialog, GTK_RESPONSE_CANCEL); @@ -747,7 +749,7 @@ void GtkFileDialog::applyOptions() { /*if (opts->isLabelExplicitlySet(QFileDialogOptions::Reject)) Libs::gtk_button_set_label(Libs::gtk_button_cast(rejectButton), opts->labelText(QFileDialogOptions::Reject).toUtf8()); else*/ - Libs::gtk_button_set_label(Libs::gtk_button_cast(rejectButton), GTK_STOCK_CANCEL); + Libs::gtk_button_set_label(Libs::gtk_button_cast(rejectButton), tr::lng_cancel(tr::now).toUtf8()); } } } diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.h b/Telegram/SourceFiles/platform/linux/linux_libs.h index cf207d88bc..fa651615de 100644 --- a/Telegram/SourceFiles/platform/linux/linux_libs.h +++ b/Telegram/SourceFiles/platform/linux/linux_libs.h @@ -18,7 +18,7 @@ extern "C" { #define signals public } // extern "C" -// present start with gtk 3.0, we're building with gtk 2.0 headers +// present starting with gtk 3.0, we can build with gtk2 headers typedef struct _GtkAppChooser GtkAppChooser; #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION diff --git a/Telegram/build/docker/centos_env/Dockerfile b/Telegram/build/docker/centos_env/Dockerfile index 90464e42b1..0bb9d36507 100644 --- a/Telegram/build/docker/centos_env/Dockerfile +++ b/Telegram/build/docker/centos_env/Dockerfile @@ -11,7 +11,7 @@ ENV OPENSSL_PREFIX /usr/local/desktop-app/openssl-1.1.1 RUN yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN yum -y install centos-release-scl -RUN yum -y install git cmake3 zlib-devel gtk2-devel libICE-devel \ +RUN yum -y install git cmake3 zlib-devel gtk3-devel libICE-devel \ libSM-devel libdrm-devel autoconf automake libtool fontconfig-devel \ freetype-devel libX11-devel at-spi2-core-devel alsa-lib-devel \ pulseaudio-libs-devel mesa-libGL-devel mesa-libEGL-devel \