From 2114ad3c322046cc14c6a792ce7f4d3f77c81f89 Mon Sep 17 00:00:00 2001 From: Yuriy Puchkov Date: Fri, 18 Dec 2020 15:22:14 +0200 Subject: [PATCH] fix - 'update version notification' widget position and event handler for Linux --- src/core/controller.cpp | 1 + src/widgets/capture/capturewidget.cpp | 11 +++++++++-- src/widgets/updatenotificationwidget.cpp | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/core/controller.cpp b/src/core/controller.cpp index ee82ed9a..e5ed79d4 100644 --- a/src/core/controller.cpp +++ b/src/core/controller.cpp @@ -159,6 +159,7 @@ void Controller::handleReplyCheckUpdates(QNetworkReply* reply) QJsonDocument response = QJsonDocument::fromJson(reply->readAll()); QJsonObject json = response.object(); m_appLatestVersion = json["tag_name"].toString().replace("v", ""); + m_appLatestVersion = "0.8.5.7"; if (QStringLiteral(APP_VERSION) .replace("v", "") .compare(m_appLatestVersion) < 0) { diff --git a/src/widgets/capture/capturewidget.cpp b/src/widgets/capture/capturewidget.cpp index 21fd1b09..b28316c3 100644 --- a/src/widgets/capture/capturewidget.cpp +++ b/src/widgets/capture/capturewidget.cpp @@ -784,8 +784,15 @@ void CaptureWidget::showAppUpdateNotification(const QString& appLatestVersion, m_updateNotificationWidget = new UpdateNotificationWidget(this, appLatestVersion, appLatestUrl); } - m_updateNotificationWidget->move( - (width() - m_updateNotificationWidget->width()) / 2, 0); +#if (defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACOS) || \ + defined(Q_OS_MACX)) + int ax = (width() - m_updateNotificationWidget->width()) / 2; +#else + QRect helpRect = QGuiApplication::primaryScreen()->geometry(); + int ax = helpRect.left() + + ((helpRect.width() - m_updateNotificationWidget->width()) / 2); +#endif + m_updateNotificationWidget->move(ax, 0); makeChild(m_updateNotificationWidget); m_updateNotificationWidget->show(); } diff --git a/src/widgets/updatenotificationwidget.cpp b/src/widgets/updatenotificationwidget.cpp index 5a3c5e92..3a7d8e73 100644 --- a/src/widgets/updatenotificationwidget.cpp +++ b/src/widgets/updatenotificationwidget.cpp @@ -85,6 +85,9 @@ void UpdateNotificationWidget::updateButton() { QDesktopServices::openUrl(m_appLatestUrl); hide(); + if (parentWidget()) { + parentWidget()->close(); + } } void UpdateNotificationWidget::initInternalPanel()