From: Richard Kimberly Heck Date: Tue, 3 Mar 2020 05:02:45 +0000 (-0500) Subject: Send a DispatchResult object with dispatch requests to the TOC. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=82237883565105b6541f5308647f0f7a7d0e4097;p=features.git Send a DispatchResult object with dispatch requests to the TOC. This allows us to request a buffer update. --- diff --git a/src/frontends/qt/GuiToc.cpp b/src/frontends/qt/GuiToc.cpp index e051524620..793ee1efd2 100644 --- a/src/frontends/qt/GuiToc.cpp +++ b/src/frontends/qt/GuiToc.cpp @@ -76,9 +76,10 @@ void GuiToc::closeEvent(QCloseEvent * /*event*/) } -void GuiToc::doDispatch(Cursor & cur, FuncRequest const & cmd) +void GuiToc::doDispatch(Cursor & cur, FuncRequest const & cmd, + DispatchResult & dr) { - widget_->doDispatch(cur, cmd); + widget_->doDispatch(cur, cmd, dr); } diff --git a/src/frontends/qt/GuiToc.h b/src/frontends/qt/GuiToc.h index d403bc94f9..f29a9af59c 100644 --- a/src/frontends/qt/GuiToc.h +++ b/src/frontends/qt/GuiToc.h @@ -50,7 +50,7 @@ public: /// bool isBufferDependent() const { return true; } /// - void doDispatch(Cursor & cur, FuncRequest const & fr); + void doDispatch(Cursor & cur, FuncRequest const & fr, DispatchResult & dr); /// bool getStatus(Cursor & cur, FuncRequest const & fr, FuncStatus & fs) const; diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 1b98d989e1..6890c16ad4 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -3904,8 +3904,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr) if (cmd.origin() == FuncRequest::TOC) { GuiToc * toc = static_cast(findOrBuild("toc", false)); - // FIXME: do we need to pass a DispatchResult object here? - toc->doDispatch(bv->cursor(), cmd); + toc->doDispatch(bv->cursor(), cmd, dr); return; } diff --git a/src/frontends/qt/TocWidget.cpp b/src/frontends/qt/TocWidget.cpp index 7a13d9d684..e90405dd18 100644 --- a/src/frontends/qt/TocWidget.cpp +++ b/src/frontends/qt/TocWidget.cpp @@ -176,7 +176,8 @@ bool TocWidget::getStatus(Cursor & cur, FuncRequest const & cmd, } -void TocWidget::doDispatch(Cursor & cur, FuncRequest const & cmd) +void TocWidget::doDispatch(Cursor & cur, FuncRequest const & cmd, + DispatchResult & dr) { Inset * inset = itemInset(); @@ -195,6 +196,7 @@ void TocWidget::doDispatch(Cursor & cur, FuncRequest const & cmd) case LFUN_CHANGE_REJECT: dispatch(item.action()); cur.dispatch(tmpcmd); + dr.forceBufferUpdate(); break; case LFUN_SECTION_SELECT: diff --git a/src/frontends/qt/TocWidget.h b/src/frontends/qt/TocWidget.h index 9cb21bfcbf..eff1d2b1d0 100644 --- a/src/frontends/qt/TocWidget.h +++ b/src/frontends/qt/TocWidget.h @@ -39,7 +39,7 @@ public: /// Initialise GUI. void init(QString const & str); /// - void doDispatch(Cursor & cur, FuncRequest const & fr); + void doDispatch(Cursor & cur, FuncRequest const & fr, DispatchResult & dr); ///send request to lyx::dispatch with proper guiview handle ///(if ToC is detached current_view can be different window) void sendDispatch(FuncRequest fr);