ui: Made all indexing dialogs hideable

* all dialogs for the indexing usecase can be hidden regardless of project state
* fixed some dialogs could not be shown
* pass dialogview into project and all indexing tasks
* pass application to project and tasks
This commit is contained in:
Eberhard Graether
2018-07-25 23:49:46 +02:00
parent b055b4c7dc
commit afec261872
16 changed files with 83 additions and 64 deletions
+4 -2
View File
@@ -142,6 +142,7 @@ void QtDialogView::startIndexingDialog(
m_onQtThread(
[=]()
{
m_dialogsVisible = true;
m_windowStack.clearWindows();
QtIndexingDialog* window = createWindow();
@@ -177,6 +178,7 @@ void QtDialogView::startIndexingDialog(
m_onQtThread2(
[=]()
{
m_dialogsVisible = true;
m_refreshInfos.emplace(info.mode, info);
window->updateRefreshInfo(info);
@@ -464,7 +466,7 @@ void QtDialogView::setUIBlocked(bool blocked)
void QtDialogView::dialogVisibilityChanged(bool visible)
{
QtIndexingDialog* window = dynamic_cast<QtIndexingDialog*>(m_windowStack.getTopWindow());
QtWindowStackElement* window = m_windowStack.getTopWindow();
if (!window)
{
return;
@@ -474,7 +476,7 @@ void QtDialogView::dialogVisibilityChanged(bool visible)
m_dialogsVisible = visible;
setUIBlocked(visible);
if (!visible)
if (!visible && dynamic_cast<QtIndexingDialog*>(window))
{
MessageStatus(L"", false, false).dispatch();
}