summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qapplication_x11.cpp3
-rw-r--r--src/gui/kernel/qevent.cpp219
-rw-r--r--src/gui/kernel/qevent.h46
-rw-r--r--src/gui/kernel/qevent_p.h28
-rw-r--r--src/gui/kernel/qt_x11_p.h2
-rw-r--r--src/gui/kernel/qwidget.cpp10
-rw-r--r--src/gui/kernel/qwidget_mac.mm22
7 files changed, 16 insertions, 314 deletions
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 20542ea..577d93b 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -2018,15 +2018,12 @@ void qt_init(QApplicationPrivate *priv, int,
(PtrXRRRootToScreen) xrandrLib.resolve("XRRRootToScreen");
X11->ptrXRRQueryExtension =
(PtrXRRQueryExtension) xrandrLib.resolve("XRRQueryExtension");
- X11->ptrXRRSizes =
- (PtrXRRSizes) xrandrLib.resolve("XRRSizes");
}
# else
X11->ptrXRRSelectInput = XRRSelectInput;
X11->ptrXRRUpdateConfiguration = XRRUpdateConfiguration;
X11->ptrXRRRootToScreen = XRRRootToScreen;
X11->ptrXRRQueryExtension = XRRQueryExtension;
- X11->ptrXRRSizes = XRRSizes;
# endif
if (X11->ptrXRRQueryExtension
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 277a5e8..807c385 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -4629,223 +4629,4 @@ const QGestureEventPrivate *QGestureEvent::d_func() const
#endif // QT_NO_GESTURES
-/*!
- \class QScrollPrepareEvent
- \since 4.8
- \ingroup events
-
- \brief The QScrollPrepareEvent class is send in preparation of a scrolling.
-
- The scroll prepare event is send before scrolling (usually by QScroller) is started.
- The object receiving this event should set viewportSize, maxContentPos and contentPos.
- It also should accept this event to indicate that scrolling should be started.
-
- It is not guaranteed that a QScrollEvent will be send after an acceepted
- QScrollPrepareEvent, e.g. in a case where the maximum content position is (0,0).
-
- \sa QScrollEvent, QScroller
-*/
-
-/*!
- Creates new QScrollPrepareEvent
- The \a startPos is the position of a touch or mouse event that started the scrolling.
-*/
-QScrollPrepareEvent::QScrollPrepareEvent(const QPointF &startPos)
- : QEvent(QEvent::ScrollPrepare)
-{
- d = reinterpret_cast<QEventPrivate *>(new QScrollPrepareEventPrivate());
- d_func()->startPos = startPos;
-}
-
-/*!
- Destroys QScrollEvent.
-*/
-QScrollPrepareEvent::~QScrollPrepareEvent()
-{
- delete reinterpret_cast<QScrollPrepareEventPrivate *>(d);
-}
-
-/*!
- Returns the position of the touch or mouse event that started the scrolling.
-*/
-QPointF QScrollPrepareEvent::startPos() const
-{
- return d_func()->startPos;
-}
-
-/*!
- Returns size of the area that is to be scrolled as set by setViewportSize
-
- \sa setViewportSize()
-*/
-QSizeF QScrollPrepareEvent::viewportSize() const
-{
- return d_func()->viewportSize;
-}
-
-/*!
- Returns the range of coordinates for the content as set by setContentPosRange().
-*/
-QRectF QScrollPrepareEvent::contentPosRange() const
-{
- return d_func()->contentPosRange;
-}
-
-/*!
- Returns the current position of the content as set by setContentPos.
-*/
-QPointF QScrollPrepareEvent::contentPos() const
-{
- return d_func()->contentPos;
-}
-
-
-/*!
- Sets the size of the area that is to be scrolled to \a size.
-
- \sa viewportSize()
-*/
-void QScrollPrepareEvent::setViewportSize(const QSizeF &size)
-{
- d_func()->viewportSize = size;
-}
-
-/*!
- Sets the range of content coordinates to \a rect.
-
- \sa contentPosRange()
-*/
-void QScrollPrepareEvent::setContentPosRange(const QRectF &rect)
-{
- d_func()->contentPosRange = rect;
-}
-
-/*!
- Sets the current content position to \a pos.
-
- \sa contentPos()
-*/
-void QScrollPrepareEvent::setContentPos(const QPointF &pos)
-{
- d_func()->contentPos = pos;
-}
-
-
-/*!
- \internal
-*/
-QScrollPrepareEventPrivate *QScrollPrepareEvent::d_func()
-{
- return reinterpret_cast<QScrollPrepareEventPrivate *>(d);
-}
-
-/*!
- \internal
-*/
-const QScrollPrepareEventPrivate *QScrollPrepareEvent::d_func() const
-{
- return reinterpret_cast<const QScrollPrepareEventPrivate *>(d);
-}
-
-/*!
- \class QScrollEvent
- \since 4.8
- \ingroup events
-
- \brief The QScrollEvent class is send when scrolling.
-
- The scroll event is send to indicate that the receiver should be scrolled.
- Usually the receiver should be something visual like QWidget or QGraphicsObject.
-
- Some care should be taken that no conflicting QScrollEvents are sent from two
- sources. Using QScroller::scrollTo is save however.
-
- \sa QScrollPrepareEvent, QScroller
-*/
-
-/*!
- \enum QScrollEvent::ScrollState
-
- This enum describes the states a scroll event can have.
-
- \value ScrollStarted Set for the first scroll event of a scroll activity.
-
- \value ScrollUpdated Set for all but the first and the last scroll event of a scroll activity.
-
- \value ScrollFinished Set for the last scroll event of a scroll activity.
-
- \sa QScrollEvent::scrollState()
-*/
-
-/*!
- Creates a new QScrollEvent
- \a contentPos is the new content position, \a overshootDistance is the
- new overshoot distance while \a scrollState indicates if this scroll
- event is the first one, the last one or some event in between.
-*/
-QScrollEvent::QScrollEvent(const QPointF &contentPos, const QPointF &overshootDistance, ScrollState scrollState)
- : QEvent(QEvent::Scroll)
-{
- d = reinterpret_cast<QEventPrivate *>(new QScrollEventPrivate());
- d_func()->contentPos = contentPos;
- d_func()->overshoot= overshootDistance;
- d_func()->state = scrollState;
-}
-
-/*!
- Destroys QScrollEvent.
-*/
-QScrollEvent::~QScrollEvent()
-{
- delete reinterpret_cast<QScrollEventPrivate *>(d);
-}
-
-/*!
- Returns the new scroll position.
-*/
-QPointF QScrollEvent::contentPos() const
-{
- return d_func()->contentPos;
-}
-
-/*!
- Returns the new overshoot distance.
- See QScroller for an explanation of the term overshoot.
-
- \sa QScroller
-*/
-QPointF QScrollEvent::overshootDistance() const
-{
- return d_func()->overshoot;
-}
-
-/*!
- Returns the current scroll state as a combination of ScrollStateFlag values.
- ScrollStarted (or ScrollFinished) will be set, if this scroll event is the first (or last) event in a scrolling activity.
- Please note that both values can be set at the same time, if the activity consists of a single QScrollEvent.
- All other scroll events in between will have their state set to ScrollUpdated.
-
- A widget could for example revert selections when scrolling is started and stopped.
-*/
-QScrollEvent::ScrollState QScrollEvent::scrollState() const
-{
- return d_func()->state;
-}
-
-/*!
- \internal
-*/
-QScrollEventPrivate *QScrollEvent::d_func()
-{
- return reinterpret_cast<QScrollEventPrivate *>(d);
-}
-
-/*!
- \internal
-*/
-const QScrollEventPrivate *QScrollEvent::d_func() const
-{
- return reinterpret_cast<const QScrollEventPrivate *>(d);
-}
-
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 93c2bc5..830f037 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -889,52 +889,6 @@ private:
};
#endif // QT_NO_GESTURES
-class QScrollPrepareEventPrivate;
-class Q_GUI_EXPORT QScrollPrepareEvent : public QEvent
-{
-public:
- QScrollPrepareEvent(const QPointF &startPos);
- ~QScrollPrepareEvent();
-
- QPointF startPos() const;
-
- QSizeF viewportSize() const;
- QRectF contentPosRange() const;
- QPointF contentPos() const;
-
- void setViewportSize(const QSizeF &size);
- void setContentPosRange(const QRectF &rect);
- void setContentPos(const QPointF &pos);
-
-private:
- QScrollPrepareEventPrivate *d_func();
- const QScrollPrepareEventPrivate *d_func() const;
-};
-
-
-class QScrollEventPrivate;
-class Q_GUI_EXPORT QScrollEvent : public QEvent
-{
-public:
- enum ScrollState
- {
- ScrollStarted,
- ScrollUpdated,
- ScrollFinished
- };
-
- QScrollEvent(const QPointF &contentPos, const QPointF &overshoot, ScrollState scrollState);
- ~QScrollEvent();
-
- QPointF contentPos() const;
- QPointF overshootDistance() const;
- ScrollState scrollState() const;
-
-private:
- QScrollEventPrivate *d_func();
- const QScrollEventPrivate *d_func() const;
-};
-
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index b79f372..36655e8 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -186,34 +186,6 @@ public:
#endif
};
-
-class QScrollPrepareEventPrivate
-{
-public:
- inline QScrollPrepareEventPrivate()
- : target(0)
- {
- }
-
- QObject* target;
- QPointF startPos;
- QSizeF viewportSize;
- QRectF contentPosRange;
- QPointF contentPos;
-};
-
-class QScrollEventPrivate
-{
-public:
- inline QScrollEventPrivate()
- {
- }
-
- QPointF contentPos;
- QPointF overshoot;
- QScrollEvent::ScrollState state;
-};
-
QT_END_NAMESPACE
#endif // QEVENT_P_H
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index 69079cf..8ab129c 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -226,7 +226,6 @@ typedef void (*PtrXRRSelectInput)(Display *, Window, int);
typedef int (*PtrXRRUpdateConfiguration)(XEvent *);
typedef int (*PtrXRRRootToScreen)(Display *, Window);
typedef Bool (*PtrXRRQueryExtension)(Display *, int *, int *);
-typedef XRRScreenSize *(*PtrXRRSizes)(Display *, int, int *);
#endif // QT_NO_XRANDR
#ifndef QT_NO_XINPUT
@@ -711,7 +710,6 @@ struct QX11Data
PtrXRRUpdateConfiguration ptrXRRUpdateConfiguration;
PtrXRRRootToScreen ptrXRRRootToScreen;
PtrXRRQueryExtension ptrXRRQueryExtension;
- PtrXRRSizes ptrXRRSizes;
#endif // QT_NO_XRANDR
};
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 80d7b85..4c1a6dd 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -1389,16 +1389,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
QApplication::postEvent(q, new QEvent(QEvent::PolishRequest));
extraPaintEngine = 0;
-
-#ifdef QT_MAC_USE_COCOA
- // If we add a child to the unified toolbar, we have to redirect the painting.
- if (parentWidget && parentWidget->d_func() && parentWidget->d_func()->isInUnifiedToolbar) {
- if (parentWidget->d_func()->unifiedSurface) {
- QWidget *toolbar = parentWidget->d_func()->toolbar_ancestor;
- parentWidget->d_func()->unifiedSurface->recursiveRedirect(toolbar, toolbar, toolbar->d_func()->toolbar_offset);
- }
- }
-#endif // QT_MAC_USE_COCOA
}
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 354f05b..468de22 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2733,7 +2733,7 @@ QWidget::macCGHandle() const
return handle();
}
-void qt_mac_repaintParentUnderAlienWidget(QWidget *alienWidget)
+void qt_mac_updateParentUnderAlienWidget(QWidget *alienWidget)
{
QWidget *nativeParent = alienWidget->nativeParentWidget();
if (!nativeParent)
@@ -2741,7 +2741,7 @@ void qt_mac_repaintParentUnderAlienWidget(QWidget *alienWidget)
QPoint globalPos = alienWidget->mapToGlobal(QPoint(0, 0));
QRect dirtyRect = QRect(nativeParent->mapFromGlobal(globalPos), alienWidget->size());
- nativeParent->repaint(dirtyRect);
+ nativeParent->update(dirtyRect);
}
void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
@@ -2752,7 +2752,7 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
if (!isWindow() && parentWidget())
parentWidget()->d_func()->invalidateBuffer(d->effectiveRectFor(geometry()));
if (!internalWinId())
- qt_mac_repaintParentUnderAlienWidget(this);
+ qt_mac_updateParentUnderAlienWidget(this);
d->deactivateWidgetCleanup();
qt_mac_event_release(this);
if(testAttribute(Qt::WA_WState_Created)) {
@@ -3032,6 +3032,16 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
q->setAttribute(Qt::WA_WState_Hidden);
q->setAttribute(Qt::WA_WState_ExplicitShowHide, explicitlyHidden);
+#ifdef QT_MAC_USE_COCOA
+ // If we add a child to the unified toolbar, we have to redirect the painting.
+ if (parent && parent->d_func() && parent->d_func()->isInUnifiedToolbar) {
+ if (parent->d_func()->unifiedSurface) {
+ QWidget *toolbar = parent->d_func()->toolbar_ancestor;
+ parent->d_func()->unifiedSurface->recursiveRedirect(toolbar, toolbar, toolbar->d_func()->toolbar_offset);
+ }
+ }
+#endif // QT_MAC_USE_COCOA
+
if (wasCreated) {
transferChildren();
#ifndef QT_MAC_USE_COCOA
@@ -3526,8 +3536,8 @@ void QWidgetPrivate::show_sys()
// INVARIANT: q is native. Just show the view:
[view setHidden:NO];
} else {
- // INVARIANT: q is alien. Repaint q instead:
- q->repaint();
+ // INVARIANT: q is alien. Update q instead:
+ q->update();
}
#endif
}
@@ -3683,7 +3693,7 @@ void QWidgetPrivate::hide_sys()
[view setHidden:YES];
} else {
// INVARIANT: q is alien. Repaint where q is placed instead:
- qt_mac_repaintParentUnderAlienWidget(q);
+ qt_mac_updateParentUnderAlienWidget(q);
}
#endif
}