- Fixed buggy implementation of JGEGetTime on Qt

- cleanup up link between wheelmouse and scroll events
- added support for pause/resume
This commit is contained in:
Xawotihs
2011-09-25 14:20:55 +00:00
parent e117cf82c9
commit 35030ca2ce
+25 -20
View File
@@ -107,6 +107,19 @@ protected:
{ {
if (event->type() == QEvent::Gesture) if (event->type() == QEvent::Gesture)
return gestureEvent(static_cast<QGestureEvent*>(event)); return gestureEvent(static_cast<QGestureEvent*>(event));
#if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN)
else if (event->type() == QEvent::WindowActivate)
{
JGE::GetInstance()->Resume();
showEvent(NULL);
}
else if (event->type() == QEvent::WindowDeactivate)
{
JGE::GetInstance()->Pause();
hideEvent(NULL);
}
#endif
return QGLWidget::event(event); return QGLWidget::event(event);
} }
@@ -201,8 +214,7 @@ void JGECreateDefaultBindings()
int JGEGetTime() int JGEGetTime()
{ {
QTime theTime = QTime::currentTime(); return (int)g_startTimer.elapsed();
return theTime.second() * 1000 + theTime.msec();
} }
bool JGEToggleFullscreen() bool JGEToggleFullscreen()
@@ -264,6 +276,7 @@ JGEQtRenderer::JGEQtRenderer(QWidget *parent)
grabZoomKeys(true); grabZoomKeys(true);
#endif #endif
setAttribute(Qt::WA_AcceptTouchEvents); setAttribute(Qt::WA_AcceptTouchEvents);
// setAttribute(Qt::WA_InputMethodEnabled);
setMouseTracking(true); setMouseTracking(true);
grabGesture(Qt::PanGesture); grabGesture(Qt::PanGesture);
@@ -536,6 +549,10 @@ void JGEQtRenderer::mouseMoveEvent(QMouseEvent *event)
void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event) void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event)
{ {
/*
QEvent SIPevent(QEvent::RequestSoftwareInputPanel);
QApplication::sendEvent(this, &SIPevent);
#if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN) #if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN)
if(event->button() == Qt::LeftButton) if(event->button() == Qt::LeftButton)
{ {
@@ -544,6 +561,7 @@ void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event)
} }
else else
#endif #endif
*/
{ {
QGLWidget::mouseDoubleClickEvent(event); QGLWidget::mouseDoubleClickEvent(event);
} }
@@ -551,25 +569,11 @@ void JGEQtRenderer::mouseDoubleClickEvent(QMouseEvent *event)
void JGEQtRenderer::wheelEvent(QWheelEvent *event) void JGEQtRenderer::wheelEvent(QWheelEvent *event)
{ {
if(event->orientation() == Qt::Vertical) if(event->orientation() == Qt::Vertical)
{ g_engine->Scroll(0, 3*event->delta());
if(event->delta() > 0)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_UP);
}
else else
{ g_engine->Scroll(3*event->delta(), 0);
g_engine->HoldKey_NoRepeat(JGE_BTN_DOWN);
}
}
else if(event->orientation() == Qt::Horizontal)
{
g_engine->HoldKey_NoRepeat(JGE_BTN_LEFT);
}
else
{
g_engine->HoldKey_NoRepeat(JGE_BTN_RIGHT);
}
event->accept(); event->accept();
} }
@@ -665,6 +669,7 @@ int main(int argc, char* argv[])
g_glwidget->resize(ACTUAL_SCREEN_WIDTH, ACTUAL_SCREEN_HEIGHT); g_glwidget->resize(ACTUAL_SCREEN_WIDTH, ACTUAL_SCREEN_HEIGHT);
a.setApplicationName(g_launcher->GetName()); a.setApplicationName(g_launcher->GetName());
//a.setAutoSipEnabled(true);
#if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN) #if (defined Q_WS_MAEMO_5) || (defined MEEGO_EDITION_HARMATTAN)
// We start in fullscreen on mobile // We start in fullscreen on mobile