GuiWorkArea::GuiWorkArea(Buffer & buffer, GuiView & gv)
- : buffer_view_(0), lyx_view_(0),
+ : buffer_view_(0), read_only_(buffer.isReadonly()), lyx_view_(0),
cursor_visible_(false),
need_resize_(false), schedule_redraw_(false),
preedit_lines_(1), completer_(new GuiCompleter(this, this)),
if (lyxerr.debugging(Debug::WORKAREA))
buffer_view_->coordCache().dump();
+
+ setReadOnly(buffer_view_->buffer().isReadonly());
}
{
// Handle drag&drop
if (cmd0.action == LFUN_FILE_OPEN) {
- lyx_view_->dispatch(cmd0);
+ DispatchResult dr;
+ lyx_view_->dispatch(cmd0, dr);
return;
}
}
-void GuiWorkArea::setReadOnly(bool)
+void GuiWorkArea::setReadOnly(bool read_only)
{
+ if (read_only_ == read_only)
+ return;
+ read_only_ = read_only;
updateWindowTitle();
if (this == lyx_view_->currentWorkArea())
lyx_view_->updateDialogs();