[LyX/master] Fix UI quirk in IncludeOnly settings
Juergen Spitzmueller
spitz at lyx.org
Thu Mar 12 09:18:58 UTC 2020
commit b568a49593b6d52f267d8fcfbc0a46dc7ecb613d
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Mar 12 10:37:56 2020 +0100
Fix UI quirk in IncludeOnly settings
Fixes #11564
---
src/frontends/qt/GuiDocument.cpp | 28 ++++++++++++++--------------
src/frontends/qt/GuiDocument.h | 2 ++
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 9ae6840..5ffccdc 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -3650,6 +3650,7 @@ void GuiDocument::applyView()
}
bp_.maintain_unincluded_children =
masterChildModule->maintainAuxCB->isChecked();
+ updateIncludeonlyDisplay();
// Float Settings
bp_.float_placement = floatModule->getPlacement();
@@ -4178,6 +4179,7 @@ void GuiDocument::paramsToDialog()
masterChildModule->setEnabled(true);
includeonlys_ = bp_.getIncludedChildren();
updateIncludeonlys();
+ updateIncludeonlyDisplay();
}
masterChildModule->maintainAuxCB->setChecked(
bp_.maintain_unincluded_children);
@@ -4514,12 +4516,8 @@ void GuiDocument::updateSelectedModules()
}
-void GuiDocument::updateIncludeonlys()
+void GuiDocument::updateIncludeonlyDisplay()
{
- masterChildModule->childrenTW->clear();
- QString const no = qt_("No");
- QString const yes = qt_("Yes");
-
if (includeonlys_.empty()) {
masterChildModule->includeallRB->setChecked(true);
masterChildModule->childrenTW->setEnabled(false);
@@ -4529,6 +4527,15 @@ void GuiDocument::updateIncludeonlys()
masterChildModule->childrenTW->setEnabled(true);
masterChildModule->maintainAuxCB->setEnabled(true);
}
+}
+
+
+void GuiDocument::updateIncludeonlys()
+{
+ masterChildModule->childrenTW->clear();
+ QString const no = qt_("No");
+ QString const yes = qt_("Yes");
+
ListOfBuffers children = buffer().getChildren();
ListOfBuffers::const_iterator it = children.begin();
ListOfBuffers::const_iterator end = children.end();
@@ -4547,17 +4554,10 @@ void GuiDocument::updateIncludeonlys()
else
all_unincluded = false;
}
- // Both if all childs are included and if none is included
+ // Both if all children are included and if none is included
// is equal to "include all" (i.e., omit \includeonly).
- // Thus, reset the GUI.
- if (!has_unincluded || all_unincluded) {
- masterChildModule->includeallRB->setChecked(true);
- masterChildModule->childrenTW->setEnabled(false);
+ if (!has_unincluded || all_unincluded)
includeonlys_.clear();
- }
- // If all are included, we need to update again.
- if (!has_unincluded)
- updateIncludeonlys();
}
diff --git a/src/frontends/qt/GuiDocument.h b/src/frontends/qt/GuiDocument.h
index 3e9aa7c..c7ea1b5 100644
--- a/src/frontends/qt/GuiDocument.h
+++ b/src/frontends/qt/GuiDocument.h
@@ -211,6 +211,8 @@ private:
///
void updateSelectedModules();
///
+ void updateIncludeonlyDisplay();
+ ///
void updateIncludeonlys();
///
void updateDefaultBiblio(std::string const & style,
More information about the lyx-cvs
mailing list