summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-01-12 13:58:03 +0200
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-01-18 09:21:00 +0200
commit91d4828ed3c18586ed3c3ad2fc083adb0faed676 (patch)
treea443b4a1bcd231cf29ccbf48288bdd560364aade /src/libs/installer
parentdf604d105d2cdf28bc9fbd2aa63ed5cef9aaeca2 (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.cpp17
-rw-r--r--src/libs/installer/packagemanagergui.h3
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();