commit 3662e0b4e5d6dba4fd716b69e202d8362d6b2255
Author: Juergen Spitzmueller <[email protected]>
Date: Wed Jun 11 13:37:13 2025 +0200
Add UI for bookmarks visibility (#2496)
---
src/LyXRC.cpp | 4 +-
src/frontends/qt/GuiPrefs.cpp | 23 +++++
src/frontends/qt/ui/PrefDisplayUi.ui | 166 +++++++++++++++++++----------------
3 files changed, 116 insertions(+), 77 deletions(-)
diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp
index 59c6657d10..7dd14fa035 100644
--- a/src/LyXRC.cpp
+++ b/src/LyXRC.cpp
@@ -75,6 +75,7 @@ LexerKeyword lyxrcTags[] = {
{ "\\bibtex_alternatives", LyXRC::RC_BIBTEX_ALTERNATIVES },
{ "\\bibtex_command", LyXRC::RC_BIBTEX_COMMAND },
{ "\\bind_file", LyXRC::RC_BINDFILE },
+ { "\\bookmarks_visibility", LyXRC::RC_BOOKMARKS_VISIBILITY },
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
{ "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND },
{ "\\citation_search", LyXRC::RC_CITATION_SEARCH },
@@ -112,7 +113,6 @@ LexerKeyword lyxrcTags[] = {
{ "\\editor_alternatives", LyXRC::RC_EDITOR_ALTERNATIVES },
{ "\\escape_chars", LyXRC::RC_ESC_CHARS },
{ "\\example_path", LyXRC::RC_EXAMPLEPATH },
- { "\\experimental:bookmarks_visibility", LyXRC::RC_BOOKMARKS_VISIBILITY
},
{ "\\export_overwrite", LyXRC::RC_EXPORT_OVERWRITE },
{ "\\format", LyXRC::RC_FILEFORMAT },
{ "\\forward_search_dvi", LyXRC::RC_FORWARD_SEARCH_DVI },
@@ -1800,7 +1800,7 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc,
string const & name) c
status = "margin";
break;
}
- os << "\\experimental:bookmarks_visibility " << status
<< '\n';
+ os << "\\bookmarks_visibility " << status << '\n';
}
if (tag != RC_LAST)
break;
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index cc4f372ced..26b76a9bd5 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -1941,6 +1941,10 @@ PrefDisplay::PrefDisplay(GuiPreferences * form)
connect(previewSizeSB, SIGNAL(valueChanged(double)), this,
SIGNAL(changed()));
connect(paragraphMarkerCB, SIGNAL(toggled(bool)), this,
SIGNAL(changed()));
connect(ctAdditionsUnderlinedCB, SIGNAL(toggled(bool)), this,
SIGNAL(changed()));
+ connect(bookmarksCO, SIGNAL(activated(int)), this, SIGNAL(changed()));
+ bookmarksCO->addItem(qt_("No[[bookmarks]]"), "none");
+ bookmarksCO->addItem(qt_("Inline"), "inline");
+ bookmarksCO->addItem(qt_("In Margin"), "margin");
}
@@ -1968,6 +1972,13 @@ void PrefDisplay::applyRC(LyXRC & rc) const
rc.preview_scale_factor = previewSizeSB->value();
rc.paragraph_markers = paragraphMarkerCB->isChecked();
rc.ct_additions_underlined = ctAdditionsUnderlinedCB->isChecked();
+ QString const bm =
bookmarksCO->itemData(bookmarksCO->currentIndex()).toString();
+ if (bm == "inline")
+ rc.bookmarks_visibility = LyXRC::BMK_INLINE;
+ else if (bm == "margin")
+ rc.bookmarks_visibility = LyXRC::BMK_MARGIN;
+ else
+ rc.bookmarks_visibility = LyXRC::BMK_NONE;
// FIXME!! The graphics cache no longer has a changeDisplay method.
#if 0
@@ -1997,6 +2008,18 @@ void PrefDisplay::updateRC(LyXRC const & rc)
previewSizeSB->setValue(rc.preview_scale_factor);
paragraphMarkerCB->setChecked(rc.paragraph_markers);
ctAdditionsUnderlinedCB->setChecked(rc.ct_additions_underlined);
+ bookmarksCO->setCurrentIndex(rc.bookmarks_visibility);
+ switch (rc.bookmarks_visibility) {
+ case LyXRC::BMK_INLINE:
+
bookmarksCO->setCurrentIndex(bookmarksCO->findData("inline"));
+ break;
+ case LyXRC::BMK_MARGIN:
+
bookmarksCO->setCurrentIndex(bookmarksCO->findData("margin"));
+ break;
+ case LyXRC::BMK_NONE:
+
bookmarksCO->setCurrentIndex(bookmarksCO->findData("none"));
+ break;
+ }
previewSizeSB->setEnabled(
rc.display_graphics
&& rc.preview != LyXRC::PREVIEW_OFF);
diff --git a/src/frontends/qt/ui/PrefDisplayUi.ui
b/src/frontends/qt/ui/PrefDisplayUi.ui
index d8a79eb7db..a288a58972 100644
--- a/src/frontends/qt/ui/PrefDisplayUi.ui
+++ b/src/frontends/qt/ui/PrefDisplayUi.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>507</width>
- <height>206</height>
+ <height>294</height>
</rect>
</property>
<property name="sizePolicy">
@@ -19,58 +19,15 @@
<property name="windowTitle">
<string/>
</property>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="1" column="3">
- <widget class="QDoubleSpinBox" name="previewSizeSB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Factor for the preview size</string>
- </property>
- <property name="decimals">
- <number>1</number>
- </property>
- <property name="minimum">
- <double>0.100000000000000</double>
- </property>
- <property name="maximum">
- <double>10.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>1.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="2">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
<widget class="QCheckBox" name="displayGraphicsCB">
<property name="text">
<string>Display &graphics</string>
</property>
</widget>
</item>
- <item row="0" column="4" rowspan="5">
+ <item row="0" column="5">
<spacer>
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -83,22 +40,6 @@
</property>
</spacer>
</item>
- <item row="4" column="0">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
<item row="1" column="0">
<widget class="QLabel" name="instantPreviewLA">
<property name="text">
@@ -109,7 +50,7 @@
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="1" column="1" colspan="2">
<widget class="QComboBox" name="instantPreviewCO">
<item>
<property name="text">
@@ -128,6 +69,44 @@
</item>
</widget>
</item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="previewSizeLA">
+ <property name="text">
+ <string>Preview si&ze:</string>
+ </property>
+ <property name="buddy">
+ <cstring>instantPreviewCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QDoubleSpinBox" name="previewSizeSB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Factor for the preview size</string>
+ </property>
+ <property name="decimals">
+ <number>1</number>
+ </property>
+ <property name="minimum">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>10.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="value">
+ <double>1.000000000000000</double>
+ </property>
+ </widget>
+ </item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="paragraphMarkerCB">
<property name="toolTip">
@@ -138,17 +117,7 @@
</property>
</widget>
</item>
- <item row="1" column="2">
- <widget class="QLabel" name="previewSizeLA">
- <property name="text">
- <string>Preview si&ze:</string>
- </property>
- <property name="buddy">
- <cstring>instantPreviewCO</cstring>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
+ <item row="3" column="0" colspan="3">
<widget class="QCheckBox" name="ctAdditionsUnderlinedCB">
<property name="toolTip">
<string>If this is checked, additions in change tracking are underlined
in the workarea</string>
@@ -158,6 +127,53 @@
</property>
</widget>
</item>
+ <item row="4" column="0" colspan="3">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="bookmarksLA">
+ <property name="text">
+ <string>Display &bookmarks:</string>
+ </property>
+ <property name="buddy">
+ <cstring>bookmarksCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="bookmarksCO">
+ <property name="toolTip">
+ <string>Select whether and how bookmarks should be visualized in the
workarea</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>121</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
<tabstops>
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs