Move assets migration to a task. Needs threading.

This commit is contained in:
Sky
2014-01-01 14:56:26 +00:00
parent f2e8a8c904
commit 821fb5e0ae
8 changed files with 193 additions and 81 deletions

View File

@ -88,6 +88,7 @@
#include "logic/LegacyInstance.h"
#include "logic/assets/AssetsUtils.h"
#include "logic/assets/AssetsMigrateTask.h"
#include <logic/updater/UpdateChecker.h>
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
@ -286,8 +287,6 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
// removing this looks stupid
view->setFocus();
AssetsUtils::migrateOldAssets();
}
MainWindow::~MainWindow()
@ -1163,6 +1162,29 @@ void MainWindow::instanceEnded()
this->show();
}
void MainWindow::checkMigrateLegacyAssets()
{
int legacyAssets = AssetsUtils::findLegacyAssets();
if(legacyAssets > 0)
{
ProgressDialog migrateDlg(this);
AssetsMigrateTask migrateTask(legacyAssets, &migrateDlg);
if (migrateDlg.exec(&migrateTask))
{
QLOG_INFO() << "Assets migration task completed successfully";
}
else
{
QLOG_INFO() << "Assets migration task reported failure";
}
}
else
{
QLOG_INFO() << "Didn't find any legacy assets to migrate";
}
}
void MainWindow::checkSetDefaultJava()
{
bool askForJava = false;

View File

@ -51,6 +51,7 @@ public:
void openWebPage(QUrl url);
void checkSetDefaultJava();
void checkMigrateLegacyAssets();
private
slots: