#include "frontends/Alert.h"
#include "frontends/Application.h"
+#include "frontends/Gui.h"
#include "frontends/LyXView.h"
#include "support/environment.h"
return *pimpl_->toplevel_keymap_.get();
}
-void LyX::addLyXView(LyXView * lyxview)
-{
- views_.push_back(lyxview);
-}
-
Buffer const * const LyX::updateInset(InsetBase const * inset) const
{
return 0;
Buffer const * buffer_ptr = 0;
- ViewList::const_iterator it = views_.begin();
- ViewList::const_iterator const end = views_.end();
+ vector<int> const & view_ids = pimpl_->application_->gui().viewIds();
+ vector<int>::const_iterator it = view_ids.begin();
+ vector<int>::const_iterator const end = view_ids.end();
for (; it != end; ++it) {
- Buffer const * ptr = (*it)->updateInset(inset);
+ Buffer const * ptr =
+ pimpl_->application_->gui().view(*it).updateInset(inset);
if (ptr)
buffer_ptr = ptr;
}
}
-void LyX::quit(bool noask)
+void LyX::quit()
{
lyxerr[Debug::INFO] << "Running QuitLyX." << endl;
- if (use_gui) {
- if (!noask && !pimpl_->buffer_list_.quitWriteAll())
- return;
-
- pimpl_->session_->writeFile();
- }
-
prepareExit();
if (use_gui) {
+ pimpl_->session_->writeFile();
pimpl_->lyx_server_.reset();
pimpl_->lyx_socket_.reset();
pimpl_->application_->exit(0);
// if a file is specified, I assume that user wants to edit *that* file
if (files.empty() && lyxrc.load_session) {
- vector<string> const & lastopened = pimpl_->session_->lastOpenedFiles();
+ vector<string> const & lastopened = pimpl_->session_->lastOpened().getfiles();
// do not add to the lastfile list since these files are restored from
// last seesion, and should be already there (regular files), or should
// not be added at all (help files).
bind(&LyXView::loadLyXFile, view, _1, false));
}
// clear this list to save a few bytes of RAM
- pimpl_->session_->clearLastOpenedFiles();
+ pimpl_->session_->lastOpened().clear();
}
LyXView * LyX::newLyXView()
{
+ if (!lyx::use_gui)
+ return 0;
+
// determine windows size and position, from lyxrc and/or session
// initial geometry
unsigned int width = 690;
}
// if lyxrc returns (0,0), then use session info
else {
- string val = session().loadSessionInfo("WindowWidth");
+ string val = session().sessionInfo().load("WindowWidth");
if (!val.empty())
width = convert<unsigned int>(val);
- val = session().loadSessionInfo("WindowHeight");
+ val = session().sessionInfo().load("WindowHeight");
if (!val.empty())
height = convert<unsigned int>(val);
- if (session().loadSessionInfo("WindowIsMaximized") == "yes")
+ if (session().sessionInfo().load("WindowIsMaximized") == "yes")
maximize = true;
}
int posx = -1;
int posy = -1;
if (lyxrc.geometry_xysaved) {
- string val = session().loadSessionInfo("WindowPosX");
+ string val = session().sessionInfo().load("WindowPosX");
if (!val.empty())
posx = convert<int>(val);
- val = session().loadSessionInfo("WindowPosY");
+ val = session().sessionInfo().load("WindowPosY");
if (!val.empty())
posy = convert<int>(val);
}
}
// create the main window
LyXView * view = &pimpl_->application_->createView(width, height, posx, posy, maximize);
- ref().addLyXView(view);
return view;
}
// Query the OS to know what formats are viewed natively
formats.setAutoOpen();
+ // Read lyxrc.dist again to be able to override viewer auto-detection.
+ readRcFile("lyxrc.dist");
+
system_lyxrc = lyxrc;
system_formats = formats;
system_converters = converters;
}
} // namespace lyx
-
-
-namespace boost {
-
-void assertion_failed(char const* a, char const* b, char const* c, long d)
-{
- lyx::lyxerr << "Assertion failed: " << a << ' ' << b << ' ' << c << ' '
- << d << '\n';
-}
-
-} // boost
-