From 73ca78215fa9340d520fc4eefa0c4e3749a283e5 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 14 Mar 2024 18:35:57 +0400 Subject: [PATCH] Set window title in IV. --- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/iv/iv_controller.cpp | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 437479980..39907f573 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -4870,6 +4870,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_iv_open_in_browser" = "Open in Browser"; "lng_iv_share" = "Share"; "lng_iv_join_channel" = "Join"; +"lng_iv_window_title" = "Instant View"; // Wnd specific diff --git a/Telegram/SourceFiles/iv/iv_controller.cpp b/Telegram/SourceFiles/iv/iv_controller.cpp index 494007872..d3f962641 100644 --- a/Telegram/SourceFiles/iv/iv_controller.cpp +++ b/Telegram/SourceFiles/iv/iv_controller.cpp @@ -244,14 +244,20 @@ void Controller::updateTitleGeometry(int newWidth) const { void Controller::initControls() { _subtitleWrap = std::make_unique(_window.get()); + _subtitleText = _index.value() | rpl::filter( + rpl::mappers::_1 >= 0 + ) | rpl::map([=](int index) { + return _pages[index].name; + }); _subtitle = std::make_unique( _subtitleWrap.get(), - _index.value() | rpl::filter( - rpl::mappers::_1 >= 0 - ) | rpl::map([=](int index) { - return _pages[index].name; - }), + _subtitleText.value(), st::ivSubtitle); + _subtitleText.value( + ) | rpl::start_with_next([=](const QString &subtitle) { + const auto prefix = tr::lng_iv_window_title(tr::now); + _window->setWindowTitle(prefix + ' ' + QChar(0x2014) + ' ' + subtitle); + }, _subtitle->lifetime()); _subtitle->setAttribute(Qt::WA_TransparentForMouseEvents); _menuToggle.create(_subtitleWrap.get(), st::ivMenuToggle);