logic: Show unknown progress dialog when refreshing (issue 341)

* refactored dialog handling
* Application always provides a DialogView instance

bug id = 341
This commit is contained in:
Eberhard Graether
2017-04-19 13:04:46 +02:00
parent c4deca4662
commit 9d718d6a87
13 changed files with 81 additions and 114 deletions
+6 -12
View File
@@ -16,10 +16,8 @@ TaskCleanStorage::TaskCleanStorage(
void TaskCleanStorage::doEnter(std::shared_ptr<Blackboard> blackboard)
{
if (std::shared_ptr<DialogView> dialogView = Application::getInstance()->getDialogView())
{
dialogView->showStatusDialog("Clearing Files", std::to_string(m_filePaths.size()) + " Files");
}
Application::getInstance()->getDialogView()->showUnknownProgressDialog(
"Clearing Files", std::to_string(m_filePaths.size()) + " Files");
m_start = utility::durationStart();
@@ -33,10 +31,8 @@ Task::TaskState TaskCleanStorage::doUpdate(std::shared_ptr<Blackboard> blackboar
{
m_storage->clearFileElements(m_filePaths, [=](int progress)
{
if (std::shared_ptr<DialogView> dialogView = Application::getInstance()->getDialogView())
{
dialogView->showProgressDialog("Clearing", std::to_string(m_filePaths.size()) + " Files", progress);
}
Application::getInstance()->getDialogView()->showProgressDialog(
"Clearing", std::to_string(m_filePaths.size()) + " Files", progress);
}
);
@@ -48,10 +44,8 @@ Task::TaskState TaskCleanStorage::doUpdate(std::shared_ptr<Blackboard> blackboar
void TaskCleanStorage::doExit(std::shared_ptr<Blackboard> blackboard)
{
blackboard->set("clear_time", utility::duration(m_start));
if (std::shared_ptr<DialogView> dialogView = Application::getInstance()->getDialogView())
{
dialogView->hideProgressDialog();
}
Application::getInstance()->getDialogView()->hideProgressDialog();
}
void TaskCleanStorage::doReset(std::shared_ptr<Blackboard> blackboard)
+12 -25
View File
@@ -32,22 +32,13 @@ Task::TaskState TaskFinishParsing::doUpdate(std::shared_ptr<Blackboard> blackboa
std::shared_ptr<DialogView> dialogView = Application::getInstance()->getDialogView();
if (dialogView)
{
dialogView->showStatusDialog("Finish Indexing", "Optimizing database");
}
dialogView->showUnknownProgressDialog("Finish Indexing", "Optimizing database");
m_storage->optimizeMemory();
if (dialogView)
{
dialogView->showStatusDialog("Finish Indexing", "Building caches");
}
dialogView->showUnknownProgressDialog("Finish Indexing", "Building caches");
m_storage->buildCaches();
if (dialogView)
{
dialogView->hideStatusDialog();
}
dialogView->hideUnknownProgressDialog();
MessageFinishedParsing().dispatch();
float time = utility::duration(start);
@@ -72,19 +63,15 @@ Task::TaskState TaskFinishParsing::doUpdate(std::shared_ptr<Blackboard> blackboa
int sourceFileCount = 0;
blackboard->get("source_file_count", sourceFileCount);
if (dialogView)
{
StorageStats stats = m_storageAccess->getStorageStats();
dialogView->finishedIndexingDialog(
indexedSourceFileCount,
sourceFileCount,
stats.completedFileCount,
stats.fileCount,
time,
m_storageAccess->getErrorCount()
);
}
StorageStats stats = m_storageAccess->getStorageStats();
dialogView->finishedIndexingDialog(
indexedSourceFileCount,
sourceFileCount,
stats.completedFileCount,
stats.fileCount,
time,
m_storageAccess->getErrorCount()
);
return STATE_SUCCESS;
}
+2 -4
View File
@@ -22,10 +22,8 @@ void TaskShowStatusDialog::doEnter(std::shared_ptr<Blackboard> blackboard)
Task::TaskState TaskShowStatusDialog::doUpdate(std::shared_ptr<Blackboard> blackboard)
{
if (std::shared_ptr<DialogView> dialogView = Application::getInstance()->getDialogView())
{
dialogView->showStatusDialog(m_title, m_message);
}
Application::getInstance()->getDialogView()->showUnknownProgressDialog(m_title, m_message);
return STATE_SUCCESS;
}