summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/registerfiletypeoperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/registerfiletypeoperation.cpp')
-rw-r--r--src/libs/installer/registerfiletypeoperation.cpp18
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));