X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FDialogs.C;h=5ea2ef5ad3347dea7fa529b244aa8345e074ac29;hb=e7fc677261bd14fdf159e594fcf422e985c72664;hp=5e5a42d4441cdad1acf2e7296658ec11966cdf96;hpb=832a46885acdd1ab0178d29df02d69507b1d7f15;p=lyx.git diff --git a/src/frontends/Dialogs.C b/src/frontends/Dialogs.C index 5e5a42d444..5ea2ef5ad3 100644 --- a/src/frontends/Dialogs.C +++ b/src/frontends/Dialogs.C @@ -69,6 +69,7 @@ Dialogs::Dialogs(LyXView & lyxview) { // Connect signals redrawGUI().connect(boost::bind(&Dialogs::redraw, this)); + hideSignal().connect(boost::bind(&Dialogs::hideSlot, this, _1, _2)); } @@ -98,7 +99,7 @@ void Dialogs::show(string const & name, string const & data) if (dialog) { // FIXME! Should check that the dialog is NOT an inset dialog. dialog->show(data); - } + } in_show_ = false; } @@ -231,3 +232,16 @@ void Dialogs::redraw() const it->second->redraw(); } } + + +void Dialogs::checkStatus() +{ + std::map::const_iterator it = dialogs_.begin(); + std::map::const_iterator end = dialogs_.end(); + + for(; it != end; ++it) { + Dialog * const dialog = it->second.get(); + if (dialog->isVisible()) + dialog->checkStatus(); + } +}