Changeset View
Changeset View
Standalone View
Standalone View
libs/widgets/KoToolBoxScrollArea_p.h
Context not available. | |||||
28 | #include <QScroller> | 28 | #include <QScroller> | ||
---|---|---|---|---|---|
29 | #include <QStyleOption> | 29 | #include <QStyleOption> | ||
30 | #include <QToolButton> | 30 | #include <QToolButton> | ||
31 | #include <KisKineticScroller.h> | ||||
31 | 32 | | |||
32 | class KoToolBoxScrollArea : public QScrollArea | 33 | class KoToolBoxScrollArea : public QScrollArea | ||
33 | { | 34 | { | ||
Context not available. | |||||
56 | m_scrollNext->setFocusPolicy(Qt::NoFocus); | 57 | m_scrollNext->setFocusPolicy(Qt::NoFocus); | ||
57 | connect(m_scrollNext, &QToolButton::clicked, this, &KoToolBoxScrollArea::doScrollNext); | 58 | connect(m_scrollNext, &QToolButton::clicked, this, &KoToolBoxScrollArea::doScrollNext); | ||
58 | 59 | | |||
59 | QScroller::grabGesture(viewport(), QScroller::LeftMouseButtonGesture); | 60 | QScroller *scroller = KisKineticScroller::createPreconfiguredScroller(this); | ||
60 | QScroller *scroller = QScroller::scroller(viewport()); | 61 | if (!scroller) { | ||
61 | QScrollerProperties sp = scroller->scrollerProperties(); | 62 | QScroller::grabGesture(viewport(), QScroller::MiddleMouseButtonGesture); | ||
63 | QScroller *scroller = QScroller::scroller(viewport()); | ||||
64 | QScrollerProperties sp = scroller->scrollerProperties(); | ||||
62 | 65 | | |||
63 | sp.setScrollMetric(QScrollerProperties::MaximumVelocity, 0.0); | 66 | sp.setScrollMetric(QScrollerProperties::MaximumVelocity, 0.0); | ||
64 | sp.setScrollMetric(QScrollerProperties::OvershootDragResistanceFactor, 0.1); | 67 | sp.setScrollMetric(QScrollerProperties::OvershootDragResistanceFactor, 0.1); | ||
65 | sp.setScrollMetric(QScrollerProperties::OvershootDragDistanceFactor, 0.1); | 68 | sp.setScrollMetric(QScrollerProperties::OvershootDragDistanceFactor, 0.1); | ||
66 | sp.setScrollMetric(QScrollerProperties::OvershootScrollDistanceFactor, 0.0); | 69 | sp.setScrollMetric(QScrollerProperties::OvershootScrollDistanceFactor, 0.0); | ||
67 | sp.setScrollMetric(QScrollerProperties::OvershootScrollTime, 0.4); | 70 | sp.setScrollMetric(QScrollerProperties::OvershootScrollTime, 0.4); | ||
68 | 71 | | |||
69 | scroller->setScrollerProperties(sp); | 72 | scroller->setScrollerProperties(sp); | ||
73 | } | ||||
74 | connect(scroller, SIGNAL(stateChanged(QScroller::State)), this, SLOT(slotScrollerStateChange(QScroller::State))); | ||||
70 | } | 75 | } | ||
71 | 76 | | |||
72 | void setOrientation(Qt::Orientation orientation) | 77 | void setOrientation(Qt::Orientation orientation) | ||
Context not available. | |||||
94 | return m_toolBox->sizeHint(); | 99 | return m_toolBox->sizeHint(); | ||
95 | } | 100 | } | ||
96 | 101 | | |||
102 | public Q_SLOTS: | ||||
103 | void slotScrollerStateChange(QScroller::State state){ KisKineticScroller::updateCursor(this, state); } | ||||
104 | | ||||
97 | protected: | 105 | protected: | ||
98 | bool event(QEvent *event) override | 106 | bool event(QEvent *event) override | ||
99 | { | 107 | { | ||
Context not available. |