X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiWorkArea.cpp;h=dde2d710cae292ed2cb0cdf1aa14b75d2f8dc220;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=ace28cb77b5c357fae1f68f222facda2905ddc63;hpb=72c42b0624e711a0917e5b472be2d29a6be7dade;p=lyx.git diff --git a/src/frontends/qt4/GuiWorkArea.cpp b/src/frontends/qt4/GuiWorkArea.cpp index ace28cb77b..dde2d710ca 100644 --- a/src/frontends/qt4/GuiWorkArea.cpp +++ b/src/frontends/qt4/GuiWorkArea.cpp @@ -246,7 +246,7 @@ GuiWorkArea::GuiWorkArea(QWidget *) 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)), @@ -440,6 +440,8 @@ void GuiWorkArea::redraw(bool update_metrics) if (lyxerr.debugging(Debug::WORKAREA)) buffer_view_->coordCache().dump(); + + setReadOnly(buffer_view_->buffer().isReadonly()); } @@ -464,7 +466,8 @@ void GuiWorkArea::dispatch(FuncRequest const & cmd0, KeyModifier mod) { // Handle drag&drop if (cmd0.action == LFUN_FILE_OPEN) { - lyx_view_->dispatch(cmd0); + DispatchResult dr; + lyx_view_->dispatch(cmd0, dr); return; } @@ -698,14 +701,7 @@ void GuiWorkArea::contextMenuEvent(QContextMenuEvent * e) void GuiWorkArea::focusInEvent(QFocusEvent * e) { - /* - LYXERR(Debug::DEBUG, "GuiWorkArea::focusInEvent(): " << this << std::endl); - GuiWorkArea * old_gwa = theGuiApp()->currentView()->currentWorkArea(); - if (old_gwa) - old_gwa->stopBlinkingCursor(); - lyx_view_->setCurrentWorkArea(this); - */ - + LYXERR(Debug::DEBUG, "GuiWorkArea::focusInEvent(): " << this << endl); if (lyx_view_->currentWorkArea() != this) lyx_view_->setCurrentWorkArea(this); @@ -716,7 +712,7 @@ void GuiWorkArea::focusInEvent(QFocusEvent * e) void GuiWorkArea::focusOutEvent(QFocusEvent * e) { - LYXERR(Debug::DEBUG, "GuiWorkArea::focusOutEvent(): " << this << std::endl); + LYXERR(Debug::DEBUG, "GuiWorkArea::focusOutEvent(): " << this << endl); stopBlinkingCursor(); QAbstractScrollArea::focusOutEvent(e); } @@ -1220,8 +1216,11 @@ void GuiWorkArea::updateWindowTitle() } -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(); @@ -1513,7 +1512,7 @@ void TabWorkArea::on_currentTabChanged(int i) currentWorkAreaChanged(wa); LYXERR(Debug::GUI, "currentTabChanged " << i - << "File" << wa->bufferView().buffer().absFileName()); + << " File: " << wa->bufferView().buffer().absFileName()); }