diff --git a/CMakeLists.txt b/CMakeLists.txt index dc98be1..f463fed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,6 +180,8 @@ PRIVATE ui/widgets/menu/menu_toggle.h ui/widgets/popup_menu.cpp ui/widgets/popup_menu.h + ui/widgets/rp_window.cpp + ui/widgets/rp_window.h ui/widgets/scroll_area.cpp ui/widgets/scroll_area.h ui/widgets/side_bar_button.cpp @@ -188,8 +190,6 @@ PRIVATE ui/widgets/shadow.h ui/widgets/tooltip.cpp ui/widgets/tooltip.h - ui/widgets/window.cpp - ui/widgets/window.h ui/wrap/fade_wrap.cpp ui/wrap/fade_wrap.h ui/wrap/padding_wrap.cpp diff --git a/ui/gl/gl_window.cpp b/ui/gl/gl_window.cpp index 2cc0f86..f2cc816 100644 --- a/ui/gl/gl_window.cpp +++ b/ui/gl/gl_window.cpp @@ -7,7 +7,7 @@ #include "ui/gl/gl_window.h" #include "ui/gl/gl_detection.h" -#include "ui/widgets/window.h" +#include "ui/widgets/rp_window.h" #include "base/event_filter.h" #include "base/platform/base_platform_info.h" #include "base/debug_log.h" @@ -38,40 +38,40 @@ Backend Window::backend() const { return _backend; } -not_null Window::window() const { +not_null Window::window() const { return _window.get(); } -not_null Window::widget() const { +not_null Window::widget() const { return _body.get(); } -std::unique_ptr Window::createWindow() { - auto result = std::make_unique(); +std::unique_ptr Window::createWindow() { + auto result = std::make_unique(); if constexpr (!kUseNativeChild) { - const auto capabilities = Ui::GL::CheckCapabilities(result.get()); + const auto capabilities = CheckCapabilities(result.get()); const auto use = ::Platform::IsMac() ? true : ::Platform::IsWindows() ? capabilities.supported : capabilities.transparency; - LOG(("OpenGL: %1 (Ui::GL::Window)").arg(use ? "[TRUE]" : "[FALSE]")); - _backend = use ? Ui::GL::Backend::OpenGL : Ui::GL::Backend::Raster; + LOG(("OpenGL: %1 (Window)").arg(use ? "[TRUE]" : "[FALSE]")); + _backend = use ? Backend::OpenGL : Backend::Raster; if (!use) { // We have to create a new window, if OpenGL initialization failed. - result = std::make_unique(); + result = std::make_unique(); } } return result; } -std::unique_ptr Window::createNativeBodyWrap() { +std::unique_ptr Window::createNativeBodyWrap() { if constexpr (!kUseNativeChild) { return nullptr; } const auto create = [] { - auto result = std::make_unique(); + auto result = std::make_unique(); result->setWindowFlags(Qt::FramelessWindowHint | Qt::Window); result->setAttribute(Qt::WA_NativeWindow); result->setAttribute(Qt::WA_DontCreateNativeAncestors); @@ -81,14 +81,14 @@ std::unique_ptr Window::createNativeBodyWrap() { }; auto result = create(); - const auto capabilities = Ui::GL::CheckCapabilities(result.get()); + const auto capabilities = CheckCapabilities(result.get()); const auto use = ::Platform::IsMac() ? true : ::Platform::IsWindows() ? capabilities.supported : capabilities.transparency; - LOG(("OpenGL: %1 (Ui::GL::WindowBody)").arg(use ? "[TRUE]" : "[FALSE]")); - _backend = use ? Ui::GL::Backend::OpenGL : Ui::GL::Backend::Raster; + LOG(("OpenGL: %1 (WindowBody)").arg(use ? "[TRUE]" : "[FALSE]")); + _backend = use ? Backend::OpenGL : Backend::Raster; if (!use) { // We have to create a new window, if OpenGL initialization failed. @@ -117,7 +117,7 @@ std::unique_ptr Window::createNativeBodyWrap() { const auto childWindow = raw->windowHandle(); base::install_event_filter(childWindow, [=](not_null event) { if (event->type() == QEvent::Expose && childWindow->isExposed()) { - Ui::Platform::SendWMPaintForce(_window.get()); + Platform::SendWMPaintForce(_window.get()); } return base::EventFilterResult::Continue; }); diff --git a/ui/gl/gl_window.h b/ui/gl/gl_window.h index bfa4199..797fcdf 100644 --- a/ui/gl/gl_window.h +++ b/ui/gl/gl_window.h @@ -8,7 +8,7 @@ namespace Ui { -class Window; +class RpWindow; class RpWidget; } // namespace Ui @@ -22,17 +22,17 @@ public: ~Window(); [[nodiscard]] Backend backend() const; - [[nodiscard]] not_null window() const; - [[nodiscard]] not_null widget() const; + [[nodiscard]] not_null window() const; + [[nodiscard]] not_null widget() const; private: - [[nodiscard]] std::unique_ptr createWindow(); - [[nodiscard]] std::unique_ptr createNativeBodyWrap(); + [[nodiscard]] std::unique_ptr createWindow(); + [[nodiscard]] std::unique_ptr createNativeBodyWrap(); - Ui::GL::Backend _backend = Ui::GL::Backend(); - const std::unique_ptr _window; - const std::unique_ptr _bodyNativeWrap; - const not_null _body; + Backend _backend = Backend(); + const std::unique_ptr _window; + const std::unique_ptr _bodyNativeWrap; + const not_null _body; }; diff --git a/ui/platform/mac/ui_window_mac.mm b/ui/platform/mac/ui_window_mac.mm index c8d8372..3bea72e 100644 --- a/ui/platform/mac/ui_window_mac.mm +++ b/ui/platform/mac/ui_window_mac.mm @@ -7,7 +7,7 @@ #include "ui/platform/mac/ui_window_mac.h" #include "ui/platform/mac/ui_window_title_mac.h" -#include "ui/widgets/window.h" +#include "ui/widgets/rp_window.h" #include "base/platform/base_platform_info.h" #include "styles/palette.h" diff --git a/ui/platform/ui_platform_window.cpp b/ui/platform/ui_platform_window.cpp index 7583efb..aa3b0f1 100644 --- a/ui/platform/ui_platform_window.cpp +++ b/ui/platform/ui_platform_window.cpp @@ -8,7 +8,7 @@ #include "ui/platform/ui_platform_window_title.h" #include "ui/platform/ui_platform_utility.h" -#include "ui/widgets/window.h" +#include "ui/widgets/rp_window.h" #include "ui/widgets/shadow.h" #include "ui/painter.h" #include "styles/style_widgets.h" diff --git a/ui/widgets/window.cpp b/ui/widgets/rp_window.cpp similarity index 58% rename from ui/widgets/window.cpp rename to ui/widgets/rp_window.cpp index 90888b3..7adad8f 100644 --- a/ui/widgets/window.cpp +++ b/ui/widgets/rp_window.cpp @@ -4,13 +4,13 @@ // For license and copyright information please follow this link: // https://github.com/desktop-app/legal/blob/master/LEGAL // -#include "ui/widgets/window.h" +#include "ui/widgets/rp_window.h" #include "ui/platform/ui_platform_window.h" namespace Ui { -Window::Window(QWidget *parent) +RpWindow::RpWindow(QWidget *parent) : RpWidget(parent) , _helper(Platform::CreateWindowHelper(this)) { Expects(_helper != nullptr); @@ -18,57 +18,57 @@ Window::Window(QWidget *parent) hide(); } -Window::~Window() = default; +RpWindow::~RpWindow() = default; -not_null Window::body() { +not_null RpWindow::body() { return _helper->body(); } -not_null Window::body() const { +not_null RpWindow::body() const { return _helper->body().get(); } -void Window::setTitle(const QString &title) { +void RpWindow::setTitle(const QString &title) { _helper->setTitle(title); } -void Window::setTitleStyle(const style::WindowTitle &st) { +void RpWindow::setTitleStyle(const style::WindowTitle &st) { _helper->setTitleStyle(st); } -void Window::setNativeFrame(bool enabled) { +void RpWindow::setNativeFrame(bool enabled) { _helper->setNativeFrame(enabled); } -void Window::setMinimumSize(QSize size) { +void RpWindow::setMinimumSize(QSize size) { _helper->setMinimumSize(size); } -void Window::setFixedSize(QSize size) { +void RpWindow::setFixedSize(QSize size) { _helper->setFixedSize(size); } -void Window::setStaysOnTop(bool enabled) { +void RpWindow::setStaysOnTop(bool enabled) { _helper->setStaysOnTop(enabled); } -void Window::setGeometry(QRect rect) { +void RpWindow::setGeometry(QRect rect) { _helper->setGeometry(rect); } -void Window::showFullScreen() { +void RpWindow::showFullScreen() { _helper->showFullScreen(); } -void Window::showNormal() { +void RpWindow::showNormal() { _helper->showNormal(); } -void Window::close() { +void RpWindow::close() { _helper->close(); } -void Window::setBodyTitleArea( +void RpWindow::setBodyTitleArea( Fn testMethod) { _helper->setBodyTitleArea(std::move(testMethod)); } diff --git a/ui/widgets/window.h b/ui/widgets/rp_window.h similarity index 93% rename from ui/widgets/window.h rename to ui/widgets/rp_window.h index 2962c07..49524fd 100644 --- a/ui/widgets/window.h +++ b/ui/widgets/rp_window.h @@ -29,10 +29,10 @@ inline constexpr bool is_flag_type(WindowTitleHitTestFlag) { } using WindowTitleHitTestFlags = base::flags; -class Window : public RpWidget { +class RpWindow : public RpWidget { public: - explicit Window(QWidget *parent = nullptr); - ~Window(); + explicit RpWindow(QWidget *parent = nullptr); + ~RpWindow(); [[nodiscard]] not_null body(); [[nodiscard]] not_null body() const;