From 17a4630886d4a91362f508f27022ae48e076d9c3 Mon Sep 17 00:00:00 2001 From: Katja Marttila Date: Tue, 5 May 2020 13:31:32 +0300 Subject: CLI: Add new option --file-query to auto answer QFileDialog QFileDialog.getExistingDirectory and QFileDialog.getOpenFileName can be called from scipt. If command line interface is used, user must type the correct directory or file name from command line during install. With --file-query option user can give the values when running the installer or maintenancetool with syntax --file-query filedialogId=C:/temp,filedialogId2=C:/temp/file.txt. Task-number: QTIFW-1631 Change-Id: I5e58be6b509cf00de832646ef31ec4eda90773be Reviewed-by: Arttu Tarkiainen --- src/libs/installer/scriptengine_p.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/libs/installer/scriptengine_p.h') diff --git a/src/libs/installer/scriptengine_p.h b/src/libs/installer/scriptengine_p.h index 928f903cb..0fc963bf9 100644 --- a/src/libs/installer/scriptengine_p.h +++ b/src/libs/installer/scriptengine_p.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -77,15 +77,21 @@ class QFileDialogProxy : public QObject Q_DISABLE_COPY(QFileDialogProxy) public: - QFileDialogProxy() {} + QFileDialogProxy(PackageManagerCore *core); public slots : - QString getExistingDirectory(const QString &caption, const QString &dir) const { - return QFileDialog::getExistingDirectory(0, caption, dir); - } - QString getOpenFileName(const QString &caption, const QString &dir, const QString &filter) const { - return QFileDialog::getOpenFileName(0, caption, dir, filter); - } + QString getExistingDirectory(const QString &caption, const QString &dir, + const QString &identifier = QLatin1String("GetExistingDirectory")); + + QString getOpenFileName(const QString &caption, const QString &dir, const QString &filter, + const QString &identifier = QLatin1String("GetExistingFile")); + +private: + QString getExistingFileOrDirectory(const QString &caption, const QString &identifier, + bool isDirectory); + +private: + PackageManagerCore *m_core; }; class QDesktopServicesProxy : public QObject -- cgit v1.2.3