]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Dialogs.cpp
Move Color::color enum to ColorCode.h
[lyx.git] / src / frontends / Dialogs.cpp
index cb6bc88f250b050c6b232cffe6d2e4758a024b5c..3032f0d9013a6d01b0323feaad656037076eddc0 100644 (file)
 #include <config.h>
 
 #include "Dialogs.h"
-
-#include "callback.h"
-
-#include "controllers/Dialog.h"
+#include "Dialog.h"
 
 #include <boost/signal.hpp>
 #include <boost/bind.hpp>
@@ -25,12 +22,13 @@ using std::string;
 
 namespace lyx {
 
+extern bool quitting;
+
 namespace frontend {
 
 Dialogs::Dialogs(LyXView & lyxview)
        : lyxview_(lyxview), in_show_(false)
-{
-}
+{}
 
 
 Dialog * Dialogs::find_or_build(string const & name)
@@ -49,32 +47,17 @@ Dialog * Dialogs::find_or_build(string const & name)
 }
 
 
-void Dialogs::show(string const & name, string const & data)
-{
-       if (in_show_) {
-               return;
-       }
-       in_show_ = true;
-       Dialog * dialog = find_or_build(name);
-       if (dialog) {
-               // FIXME! Should check that the dialog is NOT an inset dialog.
-               dialog->show(data);
-       }
-       in_show_ = false;
-}
-
-
 void Dialogs::show(string const & name, string const & data, Inset * inset)
 {
-       if (in_show_) {
+       if (in_show_)
                return;
-       }
+
        in_show_ = true;
        Dialog * dialog = find_or_build(name);
        if (dialog) {
-               // FIXME! Should check that the dialog IS an inset dialog.
-               dialog->show(data);
-               open_insets_[name] = inset;
+               dialog->showData(data);
+               if (inset)
+                       open_insets_[name] = inset;
        }
        in_show_ = false;
 }
@@ -82,24 +65,22 @@ void Dialogs::show(string const & name, string const & data, Inset * inset)
 
 bool Dialogs::visible(string const & name) const
 {
-       std::map<string, DialogPtr>::const_iterator it =
-               dialogs_.find(name);
+       std::map<string, DialogPtr>::const_iterator it = dialogs_.find(name);
        if (it == dialogs_.end())
                return false;
-       return it->second.get()->isVisible();
+       return it->second.get()->isVisibleView();
 }
 
 
 void Dialogs::update(string const & name, string const & data)
 {
-       std::map<string, DialogPtr>::const_iterator it =
-               dialogs_.find(name);
+       std::map<string, DialogPtr>::const_iterator it = dialogs_.find(name);
        if (it == dialogs_.end())
                return;
 
        Dialog * const dialog = it->second.get();
-       if (dialog->isVisible())
-               dialog->update(data);
+       if (dialog->isVisibleView())
+               dialog->updateData(data);
 }
 
 
@@ -121,7 +102,7 @@ void Dialogs::hide(string const & name, Inset* inset)
                return;
 
        Dialog * const dialog = it->second.get();
-       if (dialog->isVisible())
+       if (dialog->isVisibleView())
                dialog->hide();
        open_insets_[name] = 0;
 }
@@ -153,9 +134,8 @@ void Dialogs::hideAll() const
        std::map<string, DialogPtr>::const_iterator it  = dialogs_.begin();
        std::map<string, DialogPtr>::const_iterator end = dialogs_.end();
 
-       for(; it != end; ++it) {
+       for(; it != end; ++it)
                it->second->hide();
-       }
 }
 
 
@@ -165,8 +145,8 @@ void Dialogs::hideBufferDependent() const
        std::map<string, DialogPtr>::const_iterator end = dialogs_.end();
 
        for(; it != end; ++it) {
-               Dialog * dialog =  it->second.get();
-               if (dialog->controller().isBufferDependent())
+               Dialog * dialog = it->second.get();
+               if (dialog->isBufferDependent())
                        dialog->hide();
        }
 }
@@ -178,9 +158,9 @@ void Dialogs::updateBufferDependent(bool switched) const
        std::map<string, DialogPtr>::const_iterator end = dialogs_.end();
 
        for(; it != end; ++it) {
-               Dialog * dialog =  it->second.get();
-               if (switched && dialog->controller().isBufferDependent()) {
-                       if (dialog->isVisible() && dialog->controller().initialiseParams(""))
+               Dialog * dialog = it->second.get();
+               if (switched && dialog->isBufferDependent()) {
+                       if (dialog->isVisibleView() && dialog->initialiseParams(""))
                                dialog->updateView();
                        else
                                dialog->hide();
@@ -188,7 +168,7 @@ void Dialogs::updateBufferDependent(bool switched) const
                        // A bit clunky, but the dialog will request
                        // that the kernel provides it with the necessary
                        // data.
-                       dialog->RestoreButton();
+                       dialog->slotRestore();
                }
        }
 }
@@ -199,9 +179,8 @@ void Dialogs::redraw() const
        std::map<string, DialogPtr>::const_iterator it  = dialogs_.begin();
        std::map<string, DialogPtr>::const_iterator end = dialogs_.end();
 
-       for(; it != end; ++it) {
+       for(; it != end; ++it)
                it->second->redraw();
-       }
 }
 
 
@@ -212,7 +191,7 @@ void Dialogs::checkStatus()
 
        for(; it != end; ++it) {
                Dialog * const dialog = it->second.get();
-               if (dialog->isVisible())
+               if (dialog && dialog->isVisibleView())
                        dialog->checkStatus();
        }
 }