diff options
author | Katja Marttila <katja.marttila@qt.io> | 2022-05-18 12:56:48 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2022-05-27 10:21:40 +0300 |
commit | 8892e397c1b7f0c88713b787c7fa4f17dd89c064 (patch) | |
tree | 219ce35ec97dc08ff76ee30b4e54031d555c90d2 /src/libs/installer/scriptengine.cpp | |
parent | fc37cb9824b1c73a88f9a1e495e814bafa19fc8d (diff) |
Windows: Allow asking installer value with different formats
This change expands installer.value() -function allowing
QSettings::Format setting when asking registry key.
Windows 32bit registry keys on 64bit Windows and 64bit application can
be accessed using QSettings::Registry32Format. Window 64bit registry
keys on 64bit windows and 32bit application can be accessed using
QSettings::Registy64Format. If no format is set, QSettings::NativeFormat
is used.
Task-number: QTIFW-2657
Change-Id: Ie30e31886526db5b9d72793d5883c11bd1910737
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer/scriptengine.cpp')
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index 26fe79646..009215909 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -395,6 +395,9 @@ ScriptEngine::ScriptEngine(PackageManagerCore *core) : global.setProperty(QLatin1String("buttons"), generateWizardButtonsObject()); global.setProperty(QLatin1String("QMessageBox"), generateMessageBoxObject()); global.setProperty(QLatin1String("QDesktopServices"), generateDesktopServicesObject()); +#ifdef Q_OS_WIN + global.setProperty(QLatin1String("QSettings"), generateSettingsObject()); +#endif if (core) { setGuiQObject(core->guiObject()); @@ -665,6 +668,19 @@ QJSValue ScriptEngine::generateDesktopServicesObject() return object; } +#ifdef Q_OS_WIN +QJSValue ScriptEngine::generateSettingsObject() +{ + QJSValue settingsObject = m_engine.newArray(); + SETPROPERTY(settingsObject, NativeFormat, QSettings) + SETPROPERTY(settingsObject, IniFormat, QSettings) + SETPROPERTY(settingsObject, Registry32Format, QSettings) + SETPROPERTY(settingsObject, Registry64Format, QSettings) + SETPROPERTY(settingsObject, InvalidFormat, QSettings) + return settingsObject; +} +#endif + QJSValue ScriptEngine::generateQInstallerObject() { // register ::WizardPage enum in the script connection |