From 073b5b106cca27b27ea92f91b0a96b638e5f80d4 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Fri, 2 Apr 2021 15:29:47 +0400 Subject: [PATCH] Get rid of modal parent hack It was introduced to workaround the absence of size hints propagating in Qt 5.12 Wayland backend, there's no need in it anymore --- Telegram/SourceFiles/calls/calls_group_panel.cpp | 1 - Telegram/SourceFiles/calls/calls_panel.cpp | 2 -- Telegram/SourceFiles/core/application.cpp | 8 -------- Telegram/SourceFiles/core/application.h | 1 - Telegram/SourceFiles/media/view/media_view_pip.cpp | 3 +-- Telegram/SourceFiles/settings/settings_notifications.cpp | 4 +--- Telegram/SourceFiles/ui/widgets/separate_panel.cpp | 3 +-- .../SourceFiles/window/notifications_manager_default.cpp | 4 +--- 8 files changed, 4 insertions(+), 22 deletions(-) diff --git a/Telegram/SourceFiles/calls/calls_group_panel.cpp b/Telegram/SourceFiles/calls/calls_group_panel.cpp index e659dc03d..f6e36c991 100644 --- a/Telegram/SourceFiles/calls/calls_group_panel.cpp +++ b/Telegram/SourceFiles/calls/calls_group_panel.cpp @@ -253,7 +253,6 @@ std::unique_ptr InviteContactsController::createRow( Panel::Panel(not_null call) : _call(call) , _peer(call->peer()) -, _window(std::make_unique(Core::App().getModalParent())) , _layerBg(std::make_unique(_window->body())) #ifndef Q_OS_MAC , _controls(std::make_unique( diff --git a/Telegram/SourceFiles/calls/calls_panel.cpp b/Telegram/SourceFiles/calls/calls_panel.cpp index 2c3f5e6c6..1411d02d0 100644 --- a/Telegram/SourceFiles/calls/calls_panel.cpp +++ b/Telegram/SourceFiles/calls/calls_panel.cpp @@ -33,7 +33,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/empty_userpic.h" #include "ui/emoji_config.h" #include "core/application.h" -#include "mainwindow.h" #include "lang/lang_keys.h" #include "main/main_session.h" #include "apiwrap.h" @@ -185,7 +184,6 @@ void Panel::Incoming::fillBottomShadow(QPainter &p) { Panel::Panel(not_null call) : _call(call) , _user(call->user()) -, _window(std::make_unique(Core::App().getModalParent())) #ifndef Q_OS_MAC , _controls(std::make_unique( _window->body(), diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index 4139ee015..ce88bc621 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -23,7 +23,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/ui_integration.h" #include "chat_helpers/emoji_keywords.h" #include "chat_helpers/stickers_emoji_image_loader.h" -#include "base/platform/base_platform_info.h" #include "base/platform/base_platform_last_input.h" #include "platform/platform_specific.h" #include "mainwindow.h" @@ -977,13 +976,6 @@ void Application::notifyFileDialogShown(bool shown) { } } -QWidget *Application::getModalParent() { - return (Platform::IsWayland() && activeWindow()) - ? activeWindow()->widget().get() - : nullptr; -} - - void Application::checkMediaViewActivation() { if (_mediaView && !_mediaView->isHidden()) { _mediaView->activateWindow(); diff --git a/Telegram/SourceFiles/core/application.h b/Telegram/SourceFiles/core/application.h index 8fe0c986a..eb0dc9ef2 100644 --- a/Telegram/SourceFiles/core/application.h +++ b/Telegram/SourceFiles/core/application.h @@ -139,7 +139,6 @@ public: bool minimizeActiveWindow(); [[nodiscard]] QWidget *getFileDialogParent(); void notifyFileDialogShown(bool shown); - [[nodiscard]] QWidget *getModalParent(); void checkSystemDarkMode(); // Media view interface. diff --git a/Telegram/SourceFiles/media/view/media_view_pip.cpp b/Telegram/SourceFiles/media/view/media_view_pip.cpp index d00596889..7bdbfcad6 100644 --- a/Telegram/SourceFiles/media/view/media_view_pip.cpp +++ b/Telegram/SourceFiles/media/view/media_view_pip.cpp @@ -373,8 +373,7 @@ QImage RotateFrameImage(QImage image, int rotation) { PipPanel::PipPanel( QWidget *parent, Fn paint) -: PipParent(Core::App().getModalParent()) -, _parent(parent) +: _parent(parent) , _paint(std::move(paint)) { setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint diff --git a/Telegram/SourceFiles/settings/settings_notifications.cpp b/Telegram/SourceFiles/settings/settings_notifications.cpp index 8c6d4c4fb..0b686e405 100644 --- a/Telegram/SourceFiles/settings/settings_notifications.cpp +++ b/Telegram/SourceFiles/settings/settings_notifications.cpp @@ -20,7 +20,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "platform/platform_specific.h" #include "platform/platform_notifications_manager.h" #include "base/platform/base_platform_info.h" -#include "mainwindow.h" #include "core/application.h" #include "main/main_session.h" #include "main/main_account.h" @@ -438,8 +437,7 @@ NotificationsCount::~NotificationsCount() { NotificationsCount::SampleWidget::SampleWidget( NotificationsCount *owner, const QPixmap &cache) -: QWidget(Core::App().getModalParent()) -, _owner(owner) +: _owner(owner) , _cache(cache) { const QSize size( cache.width() / cache.devicePixelRatio(), diff --git a/Telegram/SourceFiles/ui/widgets/separate_panel.cpp b/Telegram/SourceFiles/ui/widgets/separate_panel.cpp index 799405a79..281bc8387 100644 --- a/Telegram/SourceFiles/ui/widgets/separate_panel.cpp +++ b/Telegram/SourceFiles/ui/widgets/separate_panel.cpp @@ -31,8 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Ui { SeparatePanel::SeparatePanel() -: RpWidget(Core::App().getModalParent()) -, _close(this, st::separatePanelClose) +: _close(this, st::separatePanelClose) , _back(this, object_ptr(this, st::separatePanelBack)) , _body(this) { setMouseTracking(true); diff --git a/Telegram/SourceFiles/window/notifications_manager_default.cpp b/Telegram/SourceFiles/window/notifications_manager_default.cpp index 5b706347a..a5ea81f96 100644 --- a/Telegram/SourceFiles/window/notifications_manager_default.cpp +++ b/Telegram/SourceFiles/window/notifications_manager_default.cpp @@ -30,7 +30,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/call_delayed.h" #include "facades.h" #include "app.h" -#include "mainwindow.h" #include "styles/style_dialogs.h" #include "styles/style_layers.h" #include "styles/style_window.h" @@ -422,8 +421,7 @@ Widget::Widget( QPoint startPosition, int shift, Direction shiftDirection) -: RpWidget(Core::App().getModalParent()) -, _manager(manager) +: _manager(manager) , _startPosition(startPosition) , _direction(shiftDirection) , _shift(shift)