commit a3fd3a09f1aa0b6003fc3cf033e970bb7547a983
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri Dec 17 11:12:54 2021 +0100
Add UI for selecting backing store drawing strategy
The checkbox is hidden when backing store is enforced (wayland,
macOS). In practice, only X11 and Windows users will see it ; I only
have evidence of X11 people needing it, I can hide it for Windows
users too if necessary.
Fixes bug #12119.
---
src/frontends/qt/GuiPrefs.cpp | 5 +++++
src/frontends/qt/ui/PrefDisplayUi.ui | 12 +++++++++++-
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index c1be9b8..75deb7c 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -1324,6 +1324,7 @@ 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(ctUseBackingstoreCB, SIGNAL(toggled(bool)), this,
SIGNAL(changed()));
}
@@ -1351,6 +1352,8 @@ void PrefDisplay::applyRC(LyXRC & rc) const
rc.preview_scale_factor = previewSizeSB->value();
rc.paragraph_markers = paragraphMarkerCB->isChecked();
rc.ct_additions_underlined = ctAdditionsUnderlinedCB->isChecked();
+ rc.draw_strategy = ctUseBackingstoreCB->isChecked()
+ ? LyXRC::DS_BACKINGSTORE : LyXRC::DS_PARTIAL;
// FIXME!! The graphics cache no longer has a changeDisplay method.
#if 0
@@ -1380,6 +1383,8 @@ void PrefDisplay::updateRC(LyXRC const & rc)
previewSizeSB->setValue(rc.preview_scale_factor);
paragraphMarkerCB->setChecked(rc.paragraph_markers);
ctAdditionsUnderlinedCB->setChecked(rc.ct_additions_underlined);
+ ctUseBackingstoreCB->setChecked(rc.draw_strategy ==
LyXRC::DS_BACKINGSTORE);
+ ctUseBackingstoreCB->setHidden(guiApp->needsBackingStore());
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 d8a79eb..9c09b45 100644
--- a/src/frontends/qt/ui/PrefDisplayUi.ui
+++ b/src/frontends/qt/ui/PrefDisplayUi.ui
@@ -83,7 +83,7 @@
</property>
</spacer>
</item>
- <item row="4" column="0">
+ <item row="5" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -158,6 +158,16 @@
</property>
</widget>
</item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QCheckBox" name="ctUseBackingstoreCB">
+ <property name="toolTip">
+ <string>If this is checked, an intermediate surface will be used for
painting. This may be needed in some cases to have proper display, but breaks
subpixel aliasing.</string>
+ </property>
+ <property name="text">
+ <string>Use &backing store to display text</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<tabstops>
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs