diff --git a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp index 142187f8a..df5cd7d8c 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp @@ -84,7 +84,33 @@ COperationDialog::~COperationDialog() { } +void COperationDialog::setOperation(Operation operation) +{ + m_operation = operation; +} + void COperationDialog::processNextStep() +{ + switch (m_operation) + { + case OperationMigrate: + processMigrateNextStep(); + break; + + case OperationInstall: + processInstallNextStep(); + break; + + case OperationUninstall: + processUninstallNextStep(); + break; + + default: + break; + } +} + +void COperationDialog::processMigrateNextStep() { CConfigFile *config = CConfigFile::getInstance(); @@ -132,16 +158,20 @@ void COperationDialog::processNextStep() QtConcurrent::run(this, &COperationDialog::copyProfileFiles); break; + case CConfigFile::CleanFiles: + QtConcurrent::run(this, &COperationDialog::cleanFiles); + break; + case CConfigFile::ExtractBnpClient: QtConcurrent::run(this, &COperationDialog::extractBnpClient); break; case CConfigFile::CopyInstaller: - QtConcurrent::run(this, &COperationDialog::copyIntaller); + QtConcurrent::run(this, &COperationDialog::copyInstaller); break; - case CConfigFile::CleanFiles: - QtConcurrent::run(this, &COperationDialog::cleanFiles); + case CConfigFile::UninstallOldClient: + uninstallOldClient(); break; case CConfigFile::CreateProfile: @@ -166,6 +196,14 @@ void COperationDialog::processNextStep() } } +void COperationDialog::processInstallNextStep() +{ +} + +void COperationDialog::processUninstallNextStep() +{ +} + void COperationDialog::showEvent(QShowEvent *e) { #if defined(Q_OS_WIN32) && defined(QT_WINEXTRAS_LIB) @@ -415,7 +453,7 @@ void COperationDialog::extractBnpClient() emit done(); } -void COperationDialog::copyIntaller() +void COperationDialog::copyInstaller() { CConfigFile *config = CConfigFile::getInstance(); diff --git a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.h b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.h index 6f6c008dc..6876933a6 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/operationdialog.h +++ b/code/ryzom/tools/client/ryzom_installer/src/operationdialog.h @@ -38,6 +38,16 @@ public: COperationDialog(QWidget *parent = NULL); virtual ~COperationDialog(); + enum Operation + { + OperationNone, + OperationMigrate, + OperationInstall, + OperationUninstall + }; + + void setOperation(Operation operation); + public slots: void onAbortClicked(); @@ -80,6 +90,9 @@ protected: void closeEvent(QCloseEvent *e); void processNextStep(); + void processMigrateNextStep(); + void processInstallNextStep(); + void processUninstallNextStep(); // operations void downloadData(); @@ -113,6 +126,8 @@ protected: QMutex m_abortingMutex; bool m_aborting; + + Operation m_operation; }; #endif