aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/calendar
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-06-29 15:23:44 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-06-29 15:23:44 +0200
commit89f8e1f54ff1f7e033f9a9da232bcb4c72b1e45f (patch)
tree570a9c7aa1d53b7d38ecb74b856203e19df59c52 /src/imports/calendar
parent48d24fe2e4d6ce6d91805a3425be0954126acc84 (diff)
parentd091c75c0b953a8b91c57f075769036bd09ae4c2 (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.cpp75
-rw-r--r--src/imports/calendar/qquickmonthgrid_p.h4
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: