diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index 98e3882..2bf3792 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -41,6 +41,16 @@ MainWindow::MainWindow(QWidget *parent, const Qt::WindowFlags flags) : Frameless MainWindow::~MainWindow() = default; +void MainWindow::showEvent(QShowEvent *event) +{ + FramelessMainWindow::showEvent(event); + static bool exposed = false; + if (!exposed) { + exposed = true; + FramelessWidgetsHelper::get(this)->moveWindowToDesktopCenter(); + } +} + void MainWindow::initialize() { m_titleBar.reset(new StandardTitleBar(this)); diff --git a/examples/mainwindow/mainwindow.h b/examples/mainwindow/mainwindow.h index 22e377a..8efbf01 100644 --- a/examples/mainwindow/mainwindow.h +++ b/examples/mainwindow/mainwindow.h @@ -44,6 +44,9 @@ public: explicit MainWindow(QWidget *parent = nullptr, const Qt::WindowFlags flags = {}); ~MainWindow() override; +protected: + void showEvent(QShowEvent *event) override; + private: void initialize(); diff --git a/examples/openglwidget/mainwindow.cpp b/examples/openglwidget/mainwindow.cpp index 907621d..bf17d36 100644 --- a/examples/openglwidget/mainwindow.cpp +++ b/examples/openglwidget/mainwindow.cpp @@ -40,6 +40,16 @@ MainWindow::MainWindow(QWidget *parent) : FramelessWidget(parent) MainWindow::~MainWindow() = default; +void MainWindow::showEvent(QShowEvent *event) +{ + FramelessWidget::showEvent(event); + static bool exposed = false; + if (!exposed) { + exposed = true; + FramelessWidgetsHelper::get(this)->moveWindowToDesktopCenter(); + } +} + void MainWindow::initialize() { resize(800, 600); diff --git a/examples/openglwidget/mainwindow.h b/examples/openglwidget/mainwindow.h index cdbabe6..4c53a8d 100644 --- a/examples/openglwidget/mainwindow.h +++ b/examples/openglwidget/mainwindow.h @@ -41,6 +41,9 @@ public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow() override; +protected: + void showEvent(QShowEvent *event) override; + private: void initialize(); diff --git a/examples/widget/widget.cpp b/examples/widget/widget.cpp index b7e7515..5109186 100644 --- a/examples/widget/widget.cpp +++ b/examples/widget/widget.cpp @@ -48,10 +48,19 @@ Widget::~Widget() = default; void Widget::timerEvent(QTimerEvent *event) { FramelessWidget::timerEvent(event); - if (!m_clockLabel) { - return; + if (m_clockLabel) { + m_clockLabel->setText(QTime::currentTime().toString(FRAMELESSHELPER_STRING_LITERAL("hh:mm:ss"))); + } +} + +void Widget::showEvent(QShowEvent *event) +{ + FramelessWidget::showEvent(event); + static bool exposed = false; + if (!exposed) { + exposed = true; + FramelessWidgetsHelper::get(this)->moveWindowToDesktopCenter(); } - m_clockLabel->setText(QTime::currentTime().toString(FRAMELESSHELPER_STRING_LITERAL("hh:mm:ss"))); } void Widget::initialize() diff --git a/examples/widget/widget.h b/examples/widget/widget.h index 4002a7e..7454c88 100644 --- a/examples/widget/widget.h +++ b/examples/widget/widget.h @@ -45,6 +45,7 @@ public: protected: void timerEvent(QTimerEvent *event) override; + void showEvent(QShowEvent *event) override; private: void initialize(); diff --git a/src/quick/framelessquickhelper.cpp b/src/quick/framelessquickhelper.cpp index be68539..bbbb69d 100644 --- a/src/quick/framelessquickhelper.cpp +++ b/src/quick/framelessquickhelper.cpp @@ -728,6 +728,7 @@ void FramelessQuickHelper::itemChange(const ItemChange change, const ItemChangeD } Q_D(FramelessQuickHelper); d->attachToWindow(); + d->moveWindowToDesktopCenter(); // Temp hack } }