diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-01-12 13:58:03 +0200 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-01-18 09:21:00 +0200 |
commit | 91d4828ed3c18586ed3c3ad2fc083adb0faed676 (patch) | |
tree | a443b4a1bcd231cf29ccbf48288bdd560364aade /src/libs/installer | |
parent | df604d105d2cdf28bc9fbd2aa63ed5cef9aaeca2 (diff) |
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 <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 17 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 3 |
2 files changed, 17 insertions, 3 deletions
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 <QtCore/QTimer> #include <QAbstractItemView> +#include <QAction> #include <QCheckBox> #include <QComboBox> #include <QDesktopServices> @@ -64,6 +65,8 @@ #include <QLineEdit> #include <QListWidget> #include <QListWidgetItem> +#include <QMenuBar> +#include <QMenu> #include <QMessageBox> #include <QProgressBar> #include <QPushButton> @@ -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(); |