[LyX/master] Send a DispatchResult object with dispatch requests to the TOC.

Richard Kimberly Heck rikiheck at lyx.org
Tue Mar 3 04:47:20 UTC 2020


commit 37c5cae58b0d8bd7a1b1be0bec423584fffe5308
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date:   Tue Mar 3 00:02:45 2020 -0500

    Send a DispatchResult object with dispatch requests to the TOC.
    
    This allows us to request a buffer update.
---
 src/frontends/qt/GuiToc.cpp    |    5 +++--
 src/frontends/qt/GuiToc.h      |    2 +-
 src/frontends/qt/GuiView.cpp   |    3 +--
 src/frontends/qt/TocWidget.cpp |    4 +++-
 src/frontends/qt/TocWidget.h   |    2 +-
 5 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/frontends/qt/GuiToc.cpp b/src/frontends/qt/GuiToc.cpp
index e051524..793ee1e 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 d403bc9..f29a9af 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 1b98d98..6890c16 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<GuiToc*>(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 7a13d9d..e90405d 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 9cb21bf..eff1d2b 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);


More information about the lyx-cvs mailing list