summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_s60.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qapplication_s60.cpp')
-rw-r--r--src/gui/kernel/qapplication_s60.cpp49
1 files changed, 22 insertions, 27 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index d47747f..c831dad 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -76,13 +76,18 @@ QT_BEGIN_NAMESPACE
static bool appNoGrab = false; // Grabbing enabled
#endif
-Q_GUI_EXPORT QS60Data *qt_s60Data = 0;
+Q_GLOBAL_STATIC(QS60Data, qt_s60Data);
extern bool qt_sendSpontaneousEvent(QObject*,QEvent*);
extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp
QWidget *qt_button_down = 0; // widget got last button-down
+QS60Data* qGlobalS60Data()
+{
+ return qt_s60Data();
+}
+
bool qt_nograb() // application no-grab option
{
#if defined(QT_DEBUG)
@@ -119,7 +124,7 @@ private:
QS60Beep::~QS60Beep()
{
- delete iToneUtil;
+ delete iToneUtil;
}
QS60Beep* QS60Beep::NewL(TInt aFrequency, TTimeIntervalMicroSeconds aDuration)
@@ -148,7 +153,7 @@ void QS60Beep::Play()
iState=EBeepPrepared;
}
}
-
+
iToneUtil->Play();
iState=EBeepPlaying;
}
@@ -290,7 +295,7 @@ void QLongTapTimer::PointerEventL(const TPointerEvent& event)
Cancel();
m_event = event;
if (event.iType == TPointerEvent::EButton1Down)
- {
+ {
m_pressedCoordinates = QPoint(event.iPosition.iX,event.iPosition.iY);
// must be same as KLongTapDelay in aknlongtapdetector.h
After(800000);
@@ -361,7 +366,7 @@ void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
}
if (type == QMouseEvent::None)
return;
-
+
// store events for later sending/saving
QWidget *alienWidget;
typedef QPair<QWidget*,QMouseEvent> Event;
@@ -370,7 +375,7 @@ void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
QPoint widgetPos = QPoint(pEvent.iPosition.iX, pEvent.iPosition.iY);
TPoint controlScreenPos = PositionRelativeToScreen();
QPoint globalPos = QPoint(controlScreenPos.iX, controlScreenPos.iY) + widgetPos;
-
+
if (type == QEvent::MouseButtonPress || type == QEvent::MouseButtonDblClick)
{
// get the button press target
@@ -401,7 +406,7 @@ void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
events.append(Event(S60->lastPointerEventTarget,mEventLeave));
}
QMouseEvent mEventEnter(QEvent::Enter, alienWidget->mapFromGlobal(globalPos), globalPos,
- button, QApplicationPrivate::mouse_buttons, mapToQtModifiers(pEvent.iModifiers));
+ button, QApplicationPrivate::mouse_buttons, mapToQtModifiers(pEvent.iModifiers));
events.append(Event(alienWidget,mEventEnter));
}
@@ -441,7 +446,7 @@ void QSymbianControl::sendMouseEvent(QWidget *widget, QMouseEvent *mEvent)
TKeyResponse QSymbianControl::OfferKeyEventL(const TKeyEvent& keyEvent, TEventCode type)
{
TKeyResponse r = EKeyWasNotConsumed;
- QT_TRANSLATE_EXCEPTION_TO_SYMBIAN_LEAVE(r = OfferKeyEvent(keyEvent, type));
+ QT_TRYCATCH_LEAVING(r = OfferKeyEvent(keyEvent, type));
return r;
}
@@ -667,14 +672,14 @@ void QSymbianControl::HandleResourceChange(int resourceType)
{
switch (resourceType) {
case KInternalStatusPaneChange:
- qwidget->d_func()->setWindowIcon_sys(true);
- break;
+ qwidget->d_func()->setWindowIcon_sys(true);
+ break;
case KUidValueCoeFontChangeEvent:
// font change event
break;
#ifdef Q_WS_S60
case KEikDynamicLayoutVariantSwitch:
- {
+ {
if (qwidget->isFullScreen()) {
SetExtentToWholeScreen();
} else if (qwidget->isMaximized()) {
@@ -706,8 +711,6 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id)
void qt_init(QApplicationPrivate * /* priv */, int)
{
- S60 = new QS60Data;
-
#ifdef QT_NO_DEBUG
if (!qgetenv("QT_S60_AUTO_FLUSH_WSERV").isEmpty())
#endif
@@ -723,12 +726,6 @@ void qt_init(QApplicationPrivate * /* priv */, int)
TSecureId securId = me.SecureId();
S60->uid = securId.operator TUid();
- // New code to configure the window group name such that window server knows the associated application's UID
- CApaWindowGroupName *wgn = CApaWindowGroupName::NewL(S60->wsSession());
- wgn->SetAppUid(S60->uid);
- User::LeaveIfError(wgn->SetWindowGroupName((S60->windowGroup())));
- delete wgn;
-
/*
### Commented out for now as parameter handling not needed in SOS(yet). Code below will break testlib with -o flag
int argc = priv->argc;
@@ -947,10 +944,10 @@ void QApplication::beep()
QS60Beep* beep=NULL;
TRAPD(err, beep=QS60Beep::NewL(frequency, duration));
if(!err) {
- beep->Play();
+ beep->Play();
}
delete beep;
- beep=NULL;
+ beep=NULL;
}
int QApplication::s60ProcessEvent(TWsEvent *event)
@@ -1084,8 +1081,8 @@ void QApplication::symbianResourceChange(int type)
case KEikDynamicLayoutVariantSwitch:
{
if (S60)
- S60->updateScreenSize();
-
+ S60->updateScreenSize();
+
#ifndef QT_NO_STYLE_S60
QS60Style *s60Style = 0;
@@ -1099,7 +1096,7 @@ void QApplication::symbianResourceChange(int type)
if (s60Style)
s60Style->handleDynamicLayoutVariantSwitch();
-#endif
+#endif
}
break;
@@ -1107,7 +1104,7 @@ void QApplication::symbianResourceChange(int type)
case KAknsMessageSkinChange:
if (QS60Style *s60Style = qobject_cast<QS60Style*>(QApplication::style()))
s60Style->handleSkinChange();
- break;
+ break;
#endif
#endif // Q_WS_S60
default:
@@ -1178,5 +1175,3 @@ void QSessionManager::cancel()
}
#endif //QT_NO_SESSIONMANAGER
QT_END_NAMESPACE
-
-