Changed: Show Uninstall Wizard Dialog
This commit is contained in:
parent
f96d20dedb
commit
3f8b95eab2
4 changed files with 89 additions and 1 deletions
|
@ -19,6 +19,7 @@
|
|||
#include "configfile.h"
|
||||
#include "migratewizarddialog.h"
|
||||
#include "installwizarddialog.h"
|
||||
#include "uninstallwizarddialog.h"
|
||||
#include "operationdialog.h"
|
||||
|
||||
#include "nel/misc/path.h"
|
||||
|
@ -90,7 +91,62 @@ int main(int argc, char *argv[])
|
|||
return 1;
|
||||
}
|
||||
|
||||
bool displayMainWindow = true;
|
||||
// use product name from installer.ini
|
||||
if (!config.getProductName().isEmpty()) QApplication::setApplicationName(config.getProductName());
|
||||
|
||||
// define commandline arguments
|
||||
QCommandLineParser parser;
|
||||
// parser.setApplicationDescription(DESCRIPTION);
|
||||
parser.addHelpOption();
|
||||
parser.addVersionOption();
|
||||
|
||||
// root, username and password are optional because they can be saved in settings file
|
||||
QCommandLineOption uninstallOption(QStringList() << "u" << "uninstall", QApplication::tr("Uninstall"));
|
||||
parser.addOption(uninstallOption);
|
||||
|
||||
QCommandLineOption silentOption(QStringList() << "s" << "silent", QApplication::tr("Silent mode"));
|
||||
parser.addOption(silentOption);
|
||||
|
||||
// process the actual command line arguments given by the user
|
||||
parser.process(app);
|
||||
|
||||
if (parser.isSet(uninstallOption))
|
||||
{
|
||||
QVector<int> selectedServers;
|
||||
QVector<int> selectedProfiles;
|
||||
bool selectedInstaller = true;
|
||||
|
||||
// add all servers by default
|
||||
for (int i = 0; i < config.getServersCount(); ++i)
|
||||
{
|
||||
selectedServers << i;
|
||||
}
|
||||
|
||||
// show uninstall wizard dialog if not in silent mode
|
||||
if (!parser.isSet(silentOption))
|
||||
{
|
||||
CUninstallWizardDialog dialog;
|
||||
|
||||
if (dialog.exec())
|
||||
{
|
||||
selectedServers = dialog.getSelectedServers();
|
||||
selectedProfiles = dialog.getSelectedProfiles();
|
||||
selectedInstaller = dialog.isInstallerSelected();
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
COperationDialog dialog;
|
||||
|
||||
dialog.setOperation(COperationDialog::OperationUninstall);
|
||||
|
||||
// TODO: set all components to uninstall
|
||||
|
||||
if (dialog.exec()) return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (step == CConfigFile::ShowMigrateWizard)
|
||||
{
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include "mainwindow.h"
|
||||
#include "downloader.h"
|
||||
#include "profilesdialog.h"
|
||||
#include "uninstallwizarddialog.h"
|
||||
#include "operationdialog.h"
|
||||
#include "configfile.h"
|
||||
#include "config.h"
|
||||
#include "profilesmodel.h"
|
||||
|
@ -38,6 +40,7 @@ CMainWindow::CMainWindow():QMainWindow()
|
|||
connect(m_downloader, SIGNAL(htmlPageContent(QString)), SLOT(onHtmlPageContent(QString)));
|
||||
|
||||
connect(actionProfiles, SIGNAL(triggered()), SLOT(onProfiles()));
|
||||
connect(actionUninstall, SIGNAL(triggered()), SLOT(onUninstall()));
|
||||
|
||||
connect(playButton, SIGNAL(clicked()), SLOT(onPlayClicked()));
|
||||
connect(configureButton, SIGNAL(clicked()), SLOT(onConfigureClicked()));
|
||||
|
@ -124,6 +127,20 @@ void CMainWindow::onProfiles()
|
|||
}
|
||||
}
|
||||
|
||||
void CMainWindow::onUninstall()
|
||||
{
|
||||
CUninstallWizardDialog dialog(this);
|
||||
|
||||
if (dialog.exec())
|
||||
{
|
||||
COperationDialog dialog(&dialog);
|
||||
|
||||
dialog.setOperation(COperationDialog::OperationUninstall);
|
||||
|
||||
dialog.exec();
|
||||
}
|
||||
}
|
||||
|
||||
void CMainWindow::onAbout()
|
||||
{
|
||||
QString br("<br>");
|
||||
|
|
|
@ -42,6 +42,7 @@ public slots:
|
|||
void onConfigureClicked();
|
||||
|
||||
void onProfiles();
|
||||
void onUninstall();
|
||||
void onAbout();
|
||||
void onAboutQt();
|
||||
|
||||
|
|
|
@ -2,6 +2,14 @@
|
|||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>547</width>
|
||||
<height>386</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
|
@ -117,6 +125,7 @@ p, li { white-space: pre-wrap; }
|
|||
</property>
|
||||
<addaction name="actionProfiles"/>
|
||||
<addaction name="actionDirectories"/>
|
||||
<addaction name="actionUninstall"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionQuit"/>
|
||||
</widget>
|
||||
|
@ -155,6 +164,11 @@ p, li { white-space: pre-wrap; }
|
|||
<string>&Quit</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionUninstall">
|
||||
<property name="text">
|
||||
<string>&Uninstall</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../res/resources.qrc"/>
|
||||
|
|
Loading…
Reference in a new issue