diff options
Diffstat (limited to 'src/libs/installer/registerfiletypeoperation.cpp')
-rw-r--r-- | src/libs/installer/registerfiletypeoperation.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/libs/installer/registerfiletypeoperation.cpp b/src/libs/installer/registerfiletypeoperation.cpp index 27794652f..852714dfb 100644 --- a/src/libs/installer/registerfiletypeoperation.cpp +++ b/src/libs/installer/registerfiletypeoperation.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 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. @@ -34,6 +34,12 @@ using namespace QInstaller; +/*! + \inmodule QtInstallerFramework + \class QInstaller::RegisterFileTypeOperation + \internal +*/ + #ifdef Q_OS_WIN #include <shlobj.h> @@ -91,7 +97,7 @@ bool RegisterFileTypeOperation::performOperation() ensureOptionalArgumentsRead(); if (!checkArgumentCount(2, 5, QString::fromLatin1("<extension> <command> [description [contentType [icon]]]"))) return false; - QStringList args = arguments(); + QStringList args = parsePerformOperationArguments(); bool allUsers = false; PackageManagerCore *const core = packageManager(); @@ -99,7 +105,7 @@ bool RegisterFileTypeOperation::performOperation() allUsers = true; QSettingsWrapper settings(QLatin1String(allUsers ? "HKEY_LOCAL_MACHINE" : "HKEY_CURRENT_USER") - , QSettingsWrapper::NativeFormat); + , QSettings::NativeFormat); const QString classesProgId = QString::fromLatin1("Software/Classes/") + m_progId; const QString classesFileType = QString::fromLatin1("Software/Classes/.%2").arg(args.at(0)); @@ -147,8 +153,10 @@ bool RegisterFileTypeOperation::undoOperation() { #ifdef Q_OS_WIN ensureOptionalArgumentsRead(); - QStringList args = arguments(); + if (skipUndoOperation()) + return true; + QStringList args = arguments(); if (!checkArgumentCount(2, 5, tr("Register File Type: Invalid arguments"))) return false; @@ -158,7 +166,7 @@ bool RegisterFileTypeOperation::undoOperation() allUsers = true; QSettingsWrapper settings(QLatin1String(allUsers ? "HKEY_LOCAL_MACHINE" : "HKEY_CURRENT_USER") - , QSettingsWrapper::NativeFormat); + , QSettings::NativeFormat); const QString classesProgId = QString::fromLatin1("Software/Classes/") + m_progId; const QString classesFileType = QString::fromLatin1("Software/Classes/.%2").arg(args.at(0)); |