[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