ui: Indexing UI

* Added DialogView with QtDialogView implementation to handle information dialogs
* Implemented QtIndexingDialog class that covers all different dialogs for indexing
* Directly communicate with DialogView from Prpject and all Tasks involved in indexing
* Block QtMainWindow UI while indexing
This commit is contained in:
Eberhard Graether
2016-08-23 23:45:45 +02:00
parent 377f0ef34f
commit 2c90b75a9f
70 changed files with 1565 additions and 375 deletions
+2
View File
@@ -62,6 +62,8 @@ Task::TaskState Task::interruptTask()
switch (m_state)
{
case STATE_NEW:
abort();
break;
case STATE_CANCELED:
break;
case STATE_RUNNING:
+1
View File
@@ -33,6 +33,7 @@ public:
virtual void interrupt() = 0;
virtual void revert() = 0;
virtual void abort() = 0;
protected:
void setState(TaskState state);
@@ -62,6 +62,11 @@ void TaskGroupParallel::revert()
m_interrupt = true;
}
void TaskGroupParallel::abort()
{
m_interrupt = true;
}
void TaskGroupParallel::processTaskThreaded(std::shared_ptr<Task> task)
{
@@ -19,6 +19,7 @@ public:
virtual void interrupt();
virtual void revert();
virtual void abort();
private:
void processTaskThreaded(std::shared_ptr<Task> task);
@@ -43,12 +43,9 @@ void TaskGroupSequential::exit()
void TaskGroupSequential::interrupt()
{
if (m_taskIndex >= 0 && size_t(m_taskIndex) < m_tasks.size())
for (size_t i = 0; i < m_tasks.size(); i++)
{
for (int i = m_taskIndex; i >= 0; i--)
{
m_tasks[i]->interruptTask();
}
m_tasks[i]->interruptTask();
}
}
@@ -59,3 +56,8 @@ void TaskGroupSequential::revert()
m_tasks[i]->interruptTask();
}
}
void TaskGroupSequential::abort()
{
interrupt();
}
@@ -16,6 +16,7 @@ public:
virtual void interrupt();
virtual void revert();
virtual void abort();
private:
int m_taskIndex;
@@ -30,3 +30,7 @@ void TaskLambda::interrupt()
void TaskLambda::revert()
{
}
void TaskLambda::abort()
{
}
+1
View File
@@ -18,6 +18,7 @@ public:
virtual void interrupt();
virtual void revert();
virtual void abort();
private:
std::function<void()> m_func;