summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2010-02-15 13:35:45 +0100
committerPaul Olav Tvete <paul.tvete@nokia.com>2010-02-15 13:35:45 +0100
commitd0fd682035d6227b103adb84d4931b494bc555d8 (patch)
tree6ad59e3416f19a1523d963b2d0344e4beb26975d
parentc74a81147c40588d17beb50e8cb80fe2afe8a648 (diff)
Make popups work.HEADmaster
-rw-r--r--qgraphicssystem_dd.cpp60
-rw-r--r--qgraphicssystem_dd.h8
2 files changed, 15 insertions, 53 deletions
diff --git a/qgraphicssystem_dd.cpp b/qgraphicssystem_dd.cpp
index e48d078..637e6e6 100644
--- a/qgraphicssystem_dd.cpp
+++ b/qgraphicssystem_dd.cpp
@@ -143,6 +143,15 @@ void QDevDaysWindowSurface::setVisible(bool visible)
m_system->sendRequest(request);
}
+Qt::WindowFlags QDevDaysWindowSurface::setWindowFlags(Qt::WindowFlags type)
+{
+ return window_flags = type;
+}
+
+Qt::WindowFlags QDevDaysWindowSurface::windowFlags() const
+{
+ return window_flags;
+}
void QDevDaysWindowSurface::raise()
@@ -162,51 +171,6 @@ void QDevDaysWindowSurface::lower()
}
-
-/*
-void QDevDaysWindowSurface::handleMouseEvent(const Event &event)
-{
- QEvent::Type type = QEvent::None;
- QPoint position = event.rect.topLeft().toPoint();
- switch (event.type) {
- case Event::MousePressEvent:
- type = QEvent::MouseButtonPress;
- break;
- case Event::MouseReleaseEvent:
- type = QEvent::MouseButtonPress;
- break;
- case Event::MouseMoveEvent:
- type = QEvent::MouseMove;
- break;
- default:
- break;
- }
- QMouseEvent mouseEvent(type, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
- QApplicationPrivate::handleMouseEvent(window(), mouseEvent);
-}
-
-void QDevDaysWindowSurface::handleKeyEvent(const Event &event)
-{
- QEvent::Type type = QEvent::None;
- quint32 key = 0;
-
- switch (event.type) {
- case Event::KeyPressEvent:
- type = QEvent::KeyPress;
- break;
- case Event::KeyReleaseEvent:
- type = QEvent::KeyRelease;
- break;
- }
- QKeyEvent keyEvent(type, key, Qt::NoModifier, QString(), true, 0);
- QApplicationPrivate::handleKeyEvent(window(), keyEvent);
-}
-
-void QDevDaysWindowSurface::handleGeometryChanged(const Event &event)
-{
- QApplicationPrivate::handleGeometryChange(window(), event.rect.toRect());
-}
-*/
//
// graphics system
//
@@ -237,7 +201,7 @@ QWindowSurface *QDevDaysGraphicsSystem::createWindowSurface(QWidget *widget) con
QList<QGraphicsSystemScreen*> QDevDaysGraphicsSystem::screens() const
{
- qDebug() << "SYSTEM: screens";
+// qDebug() << "SYSTEM: screens";
return QList<QGraphicsSystemScreen*>() << &m_screen;
}
@@ -301,14 +265,14 @@ void QDevDaysGraphicsSystem::eventDispatcher()
// ### we don't support multiple buttons or any keyboard modifiers
// ### and we don't support mouse tracking
QPoint pos = m_message.rect.topLeft().toPoint();
- qDebug() << "=====> Mouse press/move event" << pos;
+ qDebug() << "=====> Mouse press/move event" << pos << window;
Qt::MouseButtons b = Qt::LeftButton;
QWindowSystemInterface::handleMouseEvent(window, pos, pos+window->pos(), b);
break; }
case Event::MouseReleaseEvent: {
// ### we don't support multiple buttons or any keyboard modifiers
QPoint pos = m_message.rect.topLeft().toPoint();
- qDebug() << "======> Mouse release event" << pos;
+ qDebug() << "======> Mouse release event" << pos << window;
Qt::MouseButtons b = Qt::NoButton;
QWindowSystemInterface::handleMouseEvent(window, pos, pos + window->pos(), b);
break; }
diff --git a/qgraphicssystem_dd.h b/qgraphicssystem_dd.h
index c17224d..4abbcb2 100644
--- a/qgraphicssystem_dd.h
+++ b/qgraphicssystem_dd.h
@@ -52,17 +52,15 @@ public:
void setVisible(bool visible);
void raise();
void lower();
-
- // event handlers
- //void handleMouseEvent(const Event &event);
- //void handleKeyEvent(const Event &event);
- //void handleGeometryChanged(const Event &event);
+ Qt::WindowFlags setWindowFlags(Qt::WindowFlags type);
+ Qt::WindowFlags windowFlags() const;
private:
QDevDaysGraphicsSystem *m_system;
quint32 m_id;
QSharedMemory m_shared;
QImage m_image;
+ Qt::WindowFlags window_flags;
};
class QDevDaysGraphicsSystemScreen : public QGraphicsSystemScreen