Simplify GuiWorkarea::Private constructor

Also use the newly introduced platformName() for Qt4.
This commit is contained in:
Jean-Marc Lasgouttes 2020-12-01 11:26:01 +01:00
parent c0a5987181
commit 26135330bc
2 changed files with 21 additions and 32 deletions

View File

@ -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)
: 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. */
#if QT_VERSION >= 0x050000
/* 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) {

View File

@ -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 clean_ = true;
///
bool externally_modified_;
///
bool needs_caret_geometry_update_;
bool externally_modified_ = false;
}; // GuiWorkArea