Changed: COperationDialog supports different types of operations

This commit is contained in:
kervala 2016-05-29 20:34:43 +02:00
parent f3debe6377
commit 1f50b40314
2 changed files with 57 additions and 4 deletions

View file

@ -84,7 +84,33 @@ COperationDialog::~COperationDialog()
{ {
} }
void COperationDialog::setOperation(Operation operation)
{
m_operation = operation;
}
void COperationDialog::processNextStep() 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(); CConfigFile *config = CConfigFile::getInstance();
@ -132,16 +158,20 @@ void COperationDialog::processNextStep()
QtConcurrent::run(this, &COperationDialog::copyProfileFiles); QtConcurrent::run(this, &COperationDialog::copyProfileFiles);
break; break;
case CConfigFile::CleanFiles:
QtConcurrent::run(this, &COperationDialog::cleanFiles);
break;
case CConfigFile::ExtractBnpClient: case CConfigFile::ExtractBnpClient:
QtConcurrent::run(this, &COperationDialog::extractBnpClient); QtConcurrent::run(this, &COperationDialog::extractBnpClient);
break; break;
case CConfigFile::CopyInstaller: case CConfigFile::CopyInstaller:
QtConcurrent::run(this, &COperationDialog::copyIntaller); QtConcurrent::run(this, &COperationDialog::copyInstaller);
break; break;
case CConfigFile::CleanFiles: case CConfigFile::UninstallOldClient:
QtConcurrent::run(this, &COperationDialog::cleanFiles); uninstallOldClient();
break; break;
case CConfigFile::CreateProfile: case CConfigFile::CreateProfile:
@ -166,6 +196,14 @@ void COperationDialog::processNextStep()
} }
} }
void COperationDialog::processInstallNextStep()
{
}
void COperationDialog::processUninstallNextStep()
{
}
void COperationDialog::showEvent(QShowEvent *e) void COperationDialog::showEvent(QShowEvent *e)
{ {
#if defined(Q_OS_WIN32) && defined(QT_WINEXTRAS_LIB) #if defined(Q_OS_WIN32) && defined(QT_WINEXTRAS_LIB)
@ -415,7 +453,7 @@ void COperationDialog::extractBnpClient()
emit done(); emit done();
} }
void COperationDialog::copyIntaller() void COperationDialog::copyInstaller()
{ {
CConfigFile *config = CConfigFile::getInstance(); CConfigFile *config = CConfigFile::getInstance();

View file

@ -38,6 +38,16 @@ public:
COperationDialog(QWidget *parent = NULL); COperationDialog(QWidget *parent = NULL);
virtual ~COperationDialog(); virtual ~COperationDialog();
enum Operation
{
OperationNone,
OperationMigrate,
OperationInstall,
OperationUninstall
};
void setOperation(Operation operation);
public slots: public slots:
void onAbortClicked(); void onAbortClicked();
@ -80,6 +90,9 @@ protected:
void closeEvent(QCloseEvent *e); void closeEvent(QCloseEvent *e);
void processNextStep(); void processNextStep();
void processMigrateNextStep();
void processInstallNextStep();
void processUninstallNextStep();
// operations // operations
void downloadData(); void downloadData();
@ -113,6 +126,8 @@ protected:
QMutex m_abortingMutex; QMutex m_abortingMutex;
bool m_aborting; bool m_aborting;
Operation m_operation;
}; };
#endif #endif