plasma: properly initialize Plasma::ScrollWidgetPrivate members

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2024-05-22 13:05:37 +03:00
parent f2f4c376a8
commit cbee69376d

View file

@ -65,12 +65,33 @@ class ScrollWidgetPrivate
public: public:
ScrollWidgetPrivate(ScrollWidget *parent) ScrollWidgetPrivate(ScrollWidget *parent)
: q(parent), : q(parent),
topBorder(0), scrollingWidget(nullptr),
bottomBorder(0), borderSvg(nullptr),
leftBorder(0), topBorder(nullptr),
rightBorder(0), bottomBorder(nullptr),
overflowBordersVisible(true) leftBorder(nullptr),
rightBorder(nullptr),
layout(nullptr),
verticalScrollBar(nullptr),
verticalScrollBarPolicy(Qt::ScrollBarAsNeeded),
horizontalScrollBar(nullptr),
horizontalScrollBarPolicy(Qt::ScrollBarAsNeeded),
wheelTimer(nullptr),
flickAnimationX(nullptr),
flickAnimationY(nullptr),
directMoveAnimation(nullptr),
hasOvershoot(true),
overflowBordersVisible(true),
alignment(Qt::AlignLeft | Qt::AlignTop)
{ {
fixupAnimation.groupX = nullptr;
fixupAnimation.startX = nullptr;
fixupAnimation.endX = nullptr;
fixupAnimation.groupY = nullptr;
fixupAnimation.startY = nullptr;
fixupAnimation.endY = nullptr;
fixupAnimation.snapX = nullptr;
fixupAnimation.snapY = nullptr;
} }
void commonConstructor() void commonConstructor()
@ -90,7 +111,6 @@ public:
wheelTimer = new QTimer(q); wheelTimer = new QTimer(q);
wheelTimer->setSingleShot(true); wheelTimer->setSingleShot(true);
verticalScrollBarPolicy = Qt::ScrollBarAsNeeded;
verticalScrollBar = new Plasma::ScrollBar(q); verticalScrollBar = new Plasma::ScrollBar(q);
verticalScrollBar->setFocusPolicy(Qt::NoFocus); verticalScrollBar->setFocusPolicy(Qt::NoFocus);
layout->addItem(verticalScrollBar, 0, 1); layout->addItem(verticalScrollBar, 0, 1);
@ -98,7 +118,6 @@ public:
verticalScrollBar->nativeWidget()->setMaximum(100); verticalScrollBar->nativeWidget()->setMaximum(100);
QObject::connect(verticalScrollBar, SIGNAL(valueChanged(int)), q, SLOT(verticalScroll(int))); QObject::connect(verticalScrollBar, SIGNAL(valueChanged(int)), q, SLOT(verticalScroll(int)));
horizontalScrollBarPolicy = Qt::ScrollBarAsNeeded;
horizontalScrollBar = new Plasma::ScrollBar(q); horizontalScrollBar = new Plasma::ScrollBar(q);
verticalScrollBar->setFocusPolicy(Qt::NoFocus); verticalScrollBar->setFocusPolicy(Qt::NoFocus);
horizontalScrollBar->setOrientation(Qt::Horizontal); horizontalScrollBar->setOrientation(Qt::Horizontal);
@ -111,21 +130,6 @@ public:
layout->setColumnSpacing(1, 0); layout->setColumnSpacing(1, 0);
layout->setRowSpacing(0, 0); layout->setRowSpacing(0, 0);
layout->setRowSpacing(1, 0); layout->setRowSpacing(1, 0);
flickAnimationX = 0;
flickAnimationY = 0;
fixupAnimation.groupX = 0;
fixupAnimation.startX = 0;
fixupAnimation.endX = 0;
fixupAnimation.groupY = 0;
fixupAnimation.startY = 0;
fixupAnimation.endY = 0;
fixupAnimation.snapX = 0;
fixupAnimation.snapY = 0;
directMoveAnimation = 0;
hasOvershoot = true;
alignment = (Qt::AlignLeft | Qt::AlignTop);
} }
void adjustScrollbars() void adjustScrollbars()
@ -675,21 +679,17 @@ public:
flickAnimationX = new QPropertyAnimation(widget.data(), xProp, widget.data()); flickAnimationX = new QPropertyAnimation(widget.data(), xProp, widget.data());
flickAnimationY = new QPropertyAnimation(widget.data(), yProp, widget.data()); flickAnimationY = new QPropertyAnimation(widget.data(), yProp, widget.data());
QObject::connect(flickAnimationX, SIGNAL(finished()), QObject::connect(flickAnimationX, SIGNAL(finished()), q, SLOT(fixupX()));
q, SLOT(fixupX())); QObject::connect(flickAnimationY, SIGNAL(finished()), q, SLOT(fixupY()));
QObject::connect(flickAnimationY, SIGNAL(finished()),
q, SLOT(fixupY()));
QObject::connect(flickAnimationX, QObject::connect(
SIGNAL(stateChanged(QAbstractAnimation::State, flickAnimationX, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)),
QAbstractAnimation::State)), q, SIGNAL(scrollStateChanged(QAbstractAnimation::State, QAbstractAnimation::State))
q, SIGNAL(scrollStateChanged(QAbstractAnimation::State, );
QAbstractAnimation::State))); QObject::connect(
QObject::connect(flickAnimationY, flickAnimationY, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)),
SIGNAL(stateChanged(QAbstractAnimation::State, q, SIGNAL(scrollStateChanged(QAbstractAnimation::State, QAbstractAnimation::State))
QAbstractAnimation::State)), );
q, SIGNAL(scrollStateChanged(QAbstractAnimation::State,
QAbstractAnimation::State)));
flickAnimationX->setEasingCurve(QEasingCurve::OutCirc); flickAnimationX->setEasingCurve(QEasingCurve::OutCirc);
flickAnimationY->setEasingCurve(QEasingCurve::OutCirc); flickAnimationY->setEasingCurve(QEasingCurve::OutCirc);