From 91d4828ed3c18586ed3c3ad2fc083adb0faed676 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Wed, 12 Jan 2022 13:58:03 +0200 Subject: Add "about application" menu and dialog on macOS Also enable linking qtimageformats as a static plugin on macOS, it is required to read the .icns file to be shown on the dialog. Task-number: QTIFW-2453 Change-Id: Ib776635167a4c90ffa20a91ecc447d2d73f5aeb9 Reviewed-by: Katja Marttila --- src/libs/installer/packagemanagergui.cpp | 17 +++++++++++++++-- src/libs/installer/packagemanagergui.h | 3 ++- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src/libs/installer') diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 9e215d2e7..f27933dcb 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2021 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -64,6 +65,8 @@ #include #include #include +#include +#include #include #include #include @@ -299,7 +302,17 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) setWindowTitle(tr("Maintain %1").arg(m_core->value(scTitle))); setWindowFlags(windowFlags() &~ Qt::WindowContextHelpButtonHint); -#ifndef Q_OS_MACOS +#ifdef Q_OS_MACOS + QMenuBar *menuBar = new QMenuBar(this); + QMenu *applicationMenu = new QMenu(menuBar); + menuBar->addMenu(applicationMenu); + + QAction *aboutAction = new QAction(applicationMenu); + aboutAction->setMenuRole(QAction::AboutRole); + applicationMenu->addAction(aboutAction); + + connect(aboutAction, &QAction::triggered, this, &PackageManagerGui::aboutApplicationClicked); +#else setWindowIcon(QIcon(m_core->settings().installerWindowIcon())); #endif if (!m_core->settings().wizardShowPageList()) { diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index ce8bcfd66..5612eed19 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -100,6 +100,7 @@ Q_SIGNALS: void finishButtonClicked(); void gotRestarted(); void settingsButtonClicked(); + void aboutApplicationClicked(); public Q_SLOTS: void cancelButtonClicked(); -- cgit v1.2.3