From e8ca150c38478cfd4a762dccd3da1752ee19ab29 Mon Sep 17 00:00:00 2001 From: Victor Tran Date: Fri, 13 Jul 2018 14:55:07 +1000 Subject: Add/Remove Programs support --- installer/maintainwindow.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'installer/maintainwindow.cpp') diff --git a/installer/maintainwindow.cpp b/installer/maintainwindow.cpp index e1d47a8..447d3f5 100644 --- a/installer/maintainwindow.cpp +++ b/installer/maintainwindow.cpp @@ -14,9 +14,25 @@ MaintainWindow::MaintainWindow(QWidget *parent) : ui->performUninstallButton->setIcon(QApplication::style()->standardIcon(QStyle::SP_VistaShield)); - QFile metadataFile(QApplication::applicationDirPath() + "/uninstall.json"); + QString previousToken; + for (QString arg : QApplication::arguments()) { + if (previousToken != "") { + if (previousToken == "--uninstallmetadata") { + this->metadataFile = arg; + } + previousToken = ""; + } else { + if (arg == "--uninstallmetadata") { + previousToken = arg; + } + } + } + + QFile metadataFile(this->metadataFile); metadataFile.open(QFile::ReadOnly); metadata = QJsonDocument::fromJson(metadataFile.readAll()).object(); + + ui->areYouSureText->setText(tr("Are you sure you want to uninstall %1?").arg(metadata.value("name").toString())); } MaintainWindow::~MaintainWindow() @@ -107,6 +123,7 @@ void MaintainWindow::on_performUninstallButton_clicked() QStringList args; args.append("\"--remove\""); args.append("\"--socket " + socketServer->serverName() + "\""); + args.append("\"--uninstallmetadata \"\"" + metadataFile + "\"\"\""); QStringList psArgs; psArgs.append("-FilePath \"" + QApplication::applicationFilePath() + "\""); -- cgit v1.2.3