aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2')
-rw-r--r--src/quicktemplates2/qquickpopup.cpp17
-rw-r--r--src/quicktemplates2/qquickpopup_p.h2
-rw-r--r--src/quicktemplates2/qquicktooltip.cpp34
-rw-r--r--src/quicktemplates2/qquicktooltip_p.h6
4 files changed, 23 insertions, 36 deletions
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index e0a1f359..6a1e1c4f 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -833,12 +833,7 @@ QQuickPopup::~QQuickPopup()
*/
void QQuickPopup::open()
{
- Q_D(QQuickPopup);
- if (d->visible && d->transitionState != QQuickPopupPrivate::ExitTransition)
- return;
-
- if (d->complete)
- d->transitionManager.transitionEnter();
+ setVisible(true);
}
/*!
@@ -850,12 +845,7 @@ void QQuickPopup::open()
*/
void QQuickPopup::close()
{
- Q_D(QQuickPopup);
- if (!d->visible)
- return;
-
- if (d->complete)
- d->transitionManager.transitionExit();
+ setVisible(false);
}
/*!
@@ -1775,12 +1765,13 @@ void QQuickPopup::setVisible(bool visible)
if (d->visible == visible && d->transitionState != QQuickPopupPrivate::ExitTransition)
return;
- d->visible = visible;
if (d->complete) {
if (visible)
d->transitionManager.transitionEnter();
else
d->transitionManager.transitionExit();
+ } else {
+ d->visible = visible;
}
}
diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h
index 9ef5c64b..a024c68f 100644
--- a/src/quicktemplates2/qquickpopup_p.h
+++ b/src/quicktemplates2/qquickpopup_p.h
@@ -233,7 +233,7 @@ public:
void resetDim();
bool isVisible() const;
- void setVisible(bool visible);
+ virtual void setVisible(bool visible);
qreal opacity() const;
void setOpacity(qreal opacity);
diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp
index b793ada5..a1601ad6 100644
--- a/src/quicktemplates2/qquicktooltip.cpp
+++ b/src/quicktemplates2/qquicktooltip.cpp
@@ -244,6 +244,20 @@ void QQuickToolTip::setTimeout(int timeout)
emit timeoutChanged();
}
+void QQuickToolTip::setVisible(bool visible)
+{
+ Q_D(QQuickToolTip);
+ if (visible) {
+ if (!d->visible && d->delay > 0) {
+ d->startDelay();
+ return;
+ }
+ } else {
+ d->stopDelay();
+ }
+ QQuickPopup::setVisible(visible);
+}
+
QQuickToolTipAttached *QQuickToolTip::qmlAttachedProperties(QObject *object)
{
QQuickItem *item = qobject_cast<QQuickItem *>(object);
@@ -253,22 +267,6 @@ QQuickToolTipAttached *QQuickToolTip::qmlAttachedProperties(QObject *object)
return new QQuickToolTipAttached(object);
}
-void QQuickToolTip::open()
-{
- Q_D(QQuickToolTip);
- if (!d->visible && d->delay > 0)
- d->startDelay();
- else
- QQuickPopup::open();
-}
-
-void QQuickToolTip::close()
-{
- Q_D(QQuickToolTip);
- d->stopDelay();
- QQuickPopup::close();
-}
-
QFont QQuickToolTip::defaultFont() const
{
return QQuickControlPrivate::themeFont(QPlatformTheme::TipLabelFont);
@@ -295,10 +293,10 @@ void QQuickToolTip::timerEvent(QTimerEvent *event)
Q_D(QQuickToolTip);
if (event->timerId() == d->timeoutTimer.timerId()) {
d->stopTimeout();
- close();
+ QQuickPopup::setVisible(false);
} else if (event->timerId() == d->delayTimer.timerId()) {
d->stopDelay();
- QQuickPopup::open();
+ QQuickPopup::setVisible(true);
}
}
diff --git a/src/quicktemplates2/qquicktooltip_p.h b/src/quicktemplates2/qquicktooltip_p.h
index e39862bf..730e38d9 100644
--- a/src/quicktemplates2/qquicktooltip_p.h
+++ b/src/quicktemplates2/qquicktooltip_p.h
@@ -75,11 +75,9 @@ public:
int timeout() const;
void setTimeout(int timeout);
- static QQuickToolTipAttached *qmlAttachedProperties(QObject *object);
+ void setVisible(bool visible) override;
-public Q_SLOTS:
- void open();
- void close();
+ static QQuickToolTipAttached *qmlAttachedProperties(QObject *object);
Q_SIGNALS:
void textChanged();