From ea7dcc5f18930d56fd2915074f93712521b7c4f5 Mon Sep 17 00:00:00 2001 From: antonpavanvo Date: Thu, 26 May 2022 19:00:18 +0400 Subject: [PATCH] fix: About window now is a dialog --- ui/squawk.cpp | 7 +++---- ui/widgets/about.cpp | 8 ++++++-- ui/widgets/about.h | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ui/squawk.cpp b/ui/squawk.cpp index 9b6158c..8547267 100644 --- a/ui/squawk.cpp +++ b/ui/squawk.cpp @@ -637,14 +637,13 @@ void Squawk::onContextAboutToHide() void Squawk::onAboutSquawkCalled() { if (about == nullptr) { - about = new About(); + about = new About(this); about->setAttribute(Qt::WA_DeleteOnClose); connect(about, &Settings::destroyed, this, &Squawk::onAboutSquawkClosed); - } else { - about->raise(); - about->activateWindow(); } about->show(); + about->raise(); + about->activateWindow(); } Models::Roster::ElId Squawk::currentConversationId() const diff --git a/ui/widgets/about.cpp b/ui/widgets/about.cpp index 3782a94..b40594b 100644 --- a/ui/widgets/about.cpp +++ b/ui/widgets/about.cpp @@ -25,7 +25,7 @@ static const std::string QXMPP_VERSION_MAJOR(std::to_string(QXMPP_VERSION >> 16) static const QString QXMPP_VERSION_STRING = QString::fromStdString(QXMPP_VERSION_MAJOR + "." + QXMPP_VERSION_MINOR + "." + QXMPP_VERSION_PATCH); About::About(QWidget* parent): - QWidget(parent), + QDialog(parent), m_ui(new Ui::About), license(nullptr) { @@ -37,7 +37,11 @@ About::About(QWidget* parent): m_ui->qxmppVersionValue->setText(QXmppVersion()); m_ui->qxmppBuiltAgainstVersion->setText(tr("(built against %1)").arg(QXMPP_VERSION_STRING)); - setWindowFlag(Qt::Tool); + setWindowFlag(Qt::WindowStaysOnTopHint); + move( + parent->window()->frameGeometry().topLeft() + + parent->window()->rect().center() - rect().center() + ); connect(m_ui->licenceLink, &QLabel::linkActivated, this, &About::onLicenseActivated); } diff --git a/ui/widgets/about.h b/ui/widgets/about.h index 1506b7f..8965179 100644 --- a/ui/widgets/about.h +++ b/ui/widgets/about.h @@ -17,7 +17,7 @@ #ifndef ABOUT_H #define ABOUT_H -#include +#include #include #include #include @@ -32,7 +32,7 @@ class About; /** * @todo write docs */ -class About : public QWidget +class About : public QDialog { Q_OBJECT public: