[LyX/master] Simplify GuiWorkarea::Private constructor

Jean-Marc Lasgouttes lasgouttes at lyx.org
Tue Dec 1 10:00:08 UTC 2020


commit 26135330bc306d060e7915ddc1fed3e38347c582
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Tue Dec 1 11:26:01 2020 +0100

    Simplify GuiWorkarea::Private constructor
    
    Also use the newly introduced platformName() for Qt4.
---
 src/frontends/qt/GuiWorkArea.cpp       |   23 ++++++-----------------
 src/frontends/qt/GuiWorkArea_Private.h |   30 +++++++++++++++---------------
 2 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index 8bb0bfc..3a2a362 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -130,26 +130,15 @@ SyntheticMouseEvent::SyntheticMouseEvent()
 
 
 GuiWorkArea::Private::Private(GuiWorkArea * parent)
-: p(parent), buffer_view_(nullptr), lyx_view_(nullptr),
-  caret_visible_(false), need_resize_(false), preedit_lines_(1),
-  last_pixel_ratio_(1.0), completer_(new GuiCompleter(p, p)),
-  dialog_mode_(false), shell_escape_(false), read_only_(false),
-  clean_(true), externally_modified_(false), needs_caret_geometry_update_(true)
-{
-/* Qt on macOS and Wayland does not respect the
- * Qt::WA_OpaquePaintEvent attribute and resets the widget backing
- * store at each update. Therefore, we use our own backing store in
- * these two cases. */
-#if QT_VERSION >= 0x050000
+	: p(parent), completer_(new GuiCompleter(p, p))
+{
+	/* Qt on macOS and Wayland does not respect the
+	 * Qt::WA_OpaquePaintEvent attribute and resets the widget backing
+	 * store at each update. Therefore, we use our own backing store
+	 * in these two cases.
+	 */
 	use_backingstore_ = guiApp->platformName() == "cocoa"
 		|| guiApp->platformName().contains("wayland");
-#else
-#  ifdef Q_OS_MAC
-	use_backingstore_ = true;
-#  else
-	use_backingstore_ = false;
-#  endif
-#endif
 
 	int const time = QApplication::cursorFlashTime() / 2;
 	if (time > 0) {
diff --git a/src/frontends/qt/GuiWorkArea_Private.h b/src/frontends/qt/GuiWorkArea_Private.h
index c97485a..6acd988 100644
--- a/src/frontends/qt/GuiWorkArea_Private.h
+++ b/src/frontends/qt/GuiWorkArea_Private.h
@@ -110,19 +110,21 @@ struct GuiWorkArea::Private
 	void updateScreen(QRectF const & rc);
 
 	///
-	GuiWorkArea * p;
+	GuiWorkArea * p = nullptr;
 	///
-	BufferView * buffer_view_;
+	BufferView * buffer_view_ = nullptr;
 	///
-	GuiView * lyx_view_;
+	GuiView * lyx_view_ = nullptr;
 
 	/// Do we need an intermediate image when painting (for now macOS and Wayland)
-	bool use_backingstore_;
+	bool use_backingstore_ = false;
 	///
 	QImage screen_;
 
 	/// is the caret currently displayed
-	bool caret_visible_;
+	bool caret_visible_ = false;
+	///
+	bool needs_caret_geometry_update_ = true;
 	///
 	QTimer caret_timeout_;
 
@@ -132,25 +134,25 @@ struct GuiWorkArea::Private
 	DoubleClick dc_event_;
 
 	///
-	bool need_resize_;
+	bool need_resize_ = false;
 
 	/// the current preedit text of the input method
 	docstring preedit_string_;
 	/// Number of lines used by preedit text
-	int preedit_lines_;
+	int preedit_lines_ = 1;
 	/// the attributes of the preedit text
 	QList<QInputMethodEvent::Attribute> preedit_attr_;
 
 	/// Ratio between physical pixels and device-independent pixels
 	/// We save the last used value to detect changes of the
 	/// current pixel_ratio of the viewport.
-	double last_pixel_ratio_;
+	double last_pixel_ratio_ = 1.0;
 	///
 	GuiCompleter * completer_;
 
 	/// Special mode in which Esc and Enter (with or without Shift)
 	/// are ignored
-	bool dialog_mode_;
+	bool dialog_mode_ = false;
 	/// store the name of the context menu when the mouse is
 	/// pressed. This is used to get the correct context menu
 	/// when the menu is actually shown (after releasing on Windows)
@@ -161,17 +163,15 @@ struct GuiWorkArea::Private
 	///
 	support::FileName file_name_;
 	///
-	bool shell_escape_;
+	bool shell_escape_ = false;
 	///
-	bool read_only_;
+	bool read_only_ = false;
 	///
 	docstring vc_status_;
 	///
-	bool clean_;
-	///
-	bool externally_modified_;
+	bool clean_ = true;
 	///
-	bool needs_caret_geometry_update_;
+	bool externally_modified_ = false;
 
 }; // GuiWorkArea
 


More information about the lyx-cvs mailing list