Commit d0fd682035d6227b103adb84d4931b494bc555d8

Make popups work.
  
143143 m_system->sendRequest(request);
144144}
145145
146Qt::WindowFlags QDevDaysWindowSurface::setWindowFlags(Qt::WindowFlags type)
147{
148 return window_flags = type;
149}
146150
151Qt::WindowFlags QDevDaysWindowSurface::windowFlags() const
152{
153 return window_flags;
154}
147155
156
148157void QDevDaysWindowSurface::raise()
149158{
150159 qDebug() << "WINDOW: raise()";
171171}
172172
173173
174
175/*
176void QDevDaysWindowSurface::handleMouseEvent(const Event &event)
177{
178 QEvent::Type type = QEvent::None;
179 QPoint position = event.rect.topLeft().toPoint();
180 switch (event.type) {
181 case Event::MousePressEvent:
182 type = QEvent::MouseButtonPress;
183 break;
184 case Event::MouseReleaseEvent:
185 type = QEvent::MouseButtonPress;
186 break;
187 case Event::MouseMoveEvent:
188 type = QEvent::MouseMove;
189 break;
190 default:
191 break;
192 }
193 QMouseEvent mouseEvent(type, position, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
194 QApplicationPrivate::handleMouseEvent(window(), mouseEvent);
195}
196
197void QDevDaysWindowSurface::handleKeyEvent(const Event &event)
198{
199 QEvent::Type type = QEvent::None;
200 quint32 key = 0;
201
202 switch (event.type) {
203 case Event::KeyPressEvent:
204 type = QEvent::KeyPress;
205 break;
206 case Event::KeyReleaseEvent:
207 type = QEvent::KeyRelease;
208 break;
209 }
210 QKeyEvent keyEvent(type, key, Qt::NoModifier, QString(), true, 0);
211 QApplicationPrivate::handleKeyEvent(window(), keyEvent);
212}
213
214void QDevDaysWindowSurface::handleGeometryChanged(const Event &event)
215{
216 QApplicationPrivate::handleGeometryChange(window(), event.rect.toRect());
217}
218*/
219174//
220175// graphics system
221176//
201201
202202QList<QGraphicsSystemScreen*> QDevDaysGraphicsSystem::screens() const
203203{
204 qDebug() << "SYSTEM: screens";
204// qDebug() << "SYSTEM: screens";
205205 return QList<QGraphicsSystemScreen*>() << &m_screen;
206206}
207207
265265 // ### we don't support multiple buttons or any keyboard modifiers
266266 // ### and we don't support mouse tracking
267267 QPoint pos = m_message.rect.topLeft().toPoint();
268 qDebug() << "=====> Mouse press/move event" << pos;
268 qDebug() << "=====> Mouse press/move event" << pos << window;
269269 Qt::MouseButtons b = Qt::LeftButton;
270270 QWindowSystemInterface::handleMouseEvent(window, pos, pos+window->pos(), b);
271271 break; }
272272 case Event::MouseReleaseEvent: {
273273 // ### we don't support multiple buttons or any keyboard modifiers
274274 QPoint pos = m_message.rect.topLeft().toPoint();
275 qDebug() << "======> Mouse release event" << pos;
275 qDebug() << "======> Mouse release event" << pos << window;
276276 Qt::MouseButtons b = Qt::NoButton;
277277 QWindowSystemInterface::handleMouseEvent(window, pos, pos + window->pos(), b);
278278 break; }
  
5252 void setVisible(bool visible);
5353 void raise();
5454 void lower();
55 Qt::WindowFlags setWindowFlags(Qt::WindowFlags type);
56 Qt::WindowFlags windowFlags() const;
5557
56 // event handlers
57 //void handleMouseEvent(const Event &event);
58 //void handleKeyEvent(const Event &event);
59 //void handleGeometryChanged(const Event &event);
60
6158private:
6259 QDevDaysGraphicsSystem *m_system;
6360 quint32 m_id;
6461 QSharedMemory m_shared;
6562 QImage m_image;
63 Qt::WindowFlags window_flags;
6664};
6765
6866class QDevDaysGraphicsSystemScreen : public QGraphicsSystemScreen