diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-06-29 15:23:44 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-06-29 15:23:44 +0200 |
commit | 89f8e1f54ff1f7e033f9a9da232bcb4c72b1e45f (patch) | |
tree | 570a9c7aa1d53b7d38ecb74b856203e19df59c52 /src/imports/calendar | |
parent | 48d24fe2e4d6ce6d91805a3425be0954126acc84 (diff) | |
parent | d091c75c0b953a8b91c57f075769036bd09ae4c2 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/quicktemplates2/qquickmenu.cpp
Change-Id: I595ed1671fcad6c3b87123be2b825bca09552f0f
Diffstat (limited to 'src/imports/calendar')
-rw-r--r-- | src/imports/calendar/qquickmonthgrid.cpp | 75 | ||||
-rw-r--r-- | src/imports/calendar/qquickmonthgrid_p.h | 4 |
2 files changed, 40 insertions, 39 deletions
diff --git a/src/imports/calendar/qquickmonthgrid.cpp b/src/imports/calendar/qquickmonthgrid.cpp index 9621f49a..46b18db6 100644 --- a/src/imports/calendar/qquickmonthgrid.cpp +++ b/src/imports/calendar/qquickmonthgrid.cpp @@ -106,12 +106,17 @@ public: void resizeItems(); - QQuickItem *cellAt(const QPoint &pos) const; + QQuickItem *cellAt(const QPointF &pos) const; QDate dateOf(QQuickItem *cell) const; - void updatePress(const QPoint &pos); + void updatePress(const QPointF &pos); void clearPress(bool clicked); + void handlePress(const QPointF &point) override; + void handleMove(const QPointF &point) override; + void handleRelease(const QPointF &point) override; + void handleUngrab() override; + static void setContextProperty(QQuickItem *item, const QString &name, const QVariant &value); QString title; @@ -133,11 +138,13 @@ void QQuickMonthGridPrivate::resizeItems() itemSize.setHeight((contentItem->height() - 5 * spacing) / 6); const auto childItems = contentItem->childItems(); - for (QQuickItem *item : childItems) - item->setSize(itemSize); + for (QQuickItem *item : childItems) { + if (!QQuickItemPrivate::get(item)->isTransparentForPositioner()) + item->setSize(itemSize); + } } -QQuickItem *QQuickMonthGridPrivate::cellAt(const QPoint &pos) const +QQuickItem *QQuickMonthGridPrivate::cellAt(const QPointF &pos) const { Q_Q(const QQuickMonthGrid); if (contentItem) { @@ -154,7 +161,7 @@ QDate QQuickMonthGridPrivate::dateOf(QQuickItem *cell) const return QDate(); } -void QQuickMonthGridPrivate::updatePress(const QPoint &pos) +void QQuickMonthGridPrivate::updatePress(const QPointF &pos) { Q_Q(QQuickMonthGrid); clearPress(false); @@ -178,6 +185,33 @@ void QQuickMonthGridPrivate::clearPress(bool clicked) pressedItem = nullptr; } +void QQuickMonthGridPrivate::handlePress(const QPointF &point) +{ + Q_Q(QQuickMonthGrid); + QQuickControlPrivate::handlePress(point); + updatePress(point); + if (pressedDate.isValid()) + pressTimer = q->startTimer(qGuiApp->styleHints()->mousePressAndHoldInterval()); +} + +void QQuickMonthGridPrivate::handleMove(const QPointF &point) +{ + QQuickControlPrivate::handleMove(point); + updatePress(point); +} + +void QQuickMonthGridPrivate::handleRelease(const QPointF &point) +{ + QQuickControlPrivate::handleRelease(point); + clearPress(true); +} + +void QQuickMonthGridPrivate::handleUngrab() +{ + QQuickControlPrivate::handleUngrab(); + clearPress(false); +} + void QQuickMonthGridPrivate::setContextProperty(QQuickItem *item, const QString &name, const QVariant &value) { QQmlContext *context = qmlContext(item); @@ -402,35 +436,6 @@ void QQuickMonthGrid::updatePolish() d->resizeItems(); } -void QQuickMonthGrid::mousePressEvent(QMouseEvent *event) -{ - Q_D(QQuickMonthGrid); - d->updatePress(event->pos()); - if (d->pressedDate.isValid()) - d->pressTimer = startTimer(qGuiApp->styleHints()->mousePressAndHoldInterval()); - event->accept(); -} - -void QQuickMonthGrid::mouseMoveEvent(QMouseEvent *event) -{ - Q_D(QQuickMonthGrid); - d->updatePress(event->pos()); - event->accept(); -} - -void QQuickMonthGrid::mouseReleaseEvent(QMouseEvent *event) -{ - Q_D(QQuickMonthGrid); - d->clearPress(true); - event->accept(); -} - -void QQuickMonthGrid::mouseUngrabEvent() -{ - Q_D(QQuickMonthGrid); - d->clearPress(false); -} - void QQuickMonthGrid::timerEvent(QTimerEvent *event) { Q_D(QQuickMonthGrid); diff --git a/src/imports/calendar/qquickmonthgrid_p.h b/src/imports/calendar/qquickmonthgrid_p.h index 20c9c0fd..b85e0921 100644 --- a/src/imports/calendar/qquickmonthgrid_p.h +++ b/src/imports/calendar/qquickmonthgrid_p.h @@ -101,10 +101,6 @@ protected: void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override; void updatePolish() override; - void mousePressEvent(QMouseEvent *event) override; - void mouseMoveEvent(QMouseEvent *event) override; - void mouseReleaseEvent(QMouseEvent *event) override; - void mouseUngrabEvent() override; void timerEvent(QTimerEvent *event) override; private: |