Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/kernel/qt_s60_p.h

    r769 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 201 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation ([email protected])
     
    6363#include "qpointer.h"
    6464#include "qapplication.h"
     65
     66
    6567#include <w32std.h>
    6668#include <coecntrl.h>
     
    8688#define Q_SYMBIAN_ECOLOR16MAP TDisplayMode(13)
    8789
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    88100class QS60Data
    89101{
    90102public:
    91103    QS60Data();
     104
    92105    TUid uid;
    93106    int screenDepth;
     
    103116    int defaultDpiY;
    104117    WId curWin;
    105     int virtualMouseLastKey;
    106118    enum PressedKeys {
    107119        Select = 0x1,
     
    109121        Down = 0x4,
    110122        Left = 0x8,
    111         Up = 0x10
     123        Up = 0x10,
     124        LeftUp = 0x20,
     125        RightUp = 0x40,
     126        RightDown = 0x80,
     127        LeftDown = 0x100
    112128    };
    113129    int virtualMousePressedKeys; // of the above type, but avoids casting problems
    114     int virtualMouseAccel;
     130    int virtualMouseAccelDX;
     131    int virtualMouseAccelDY;
     132    QElapsedTimer virtualMouseAccelTimeout;
    115133    int virtualMouseMaxAccel;
    116134#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS
     
    124142    int avkonComponentsSupportTransparency : 1;
    125143    int menuBeingConstructed : 1;
     144
    126145    QApplication::QS60MainApplicationFactory s60ApplicationFactory; // typedef'ed pointer type
     146
     147
     148
     149
     150
     151
     152
     153
     154
    127155    static inline void updateScreenSize();
    128     static inline RWsSession& wsSession();
     156    inline RWsSession& wsSession();
    129157    static inline RWindowGroup& windowGroup();
    130     static inline CWsScreenDevice* screenDevice();
     158    inline CWsScreenDevice* screenDevice();
    131159    static inline CCoeAppUi* appUi();
    132160    static inline CEikMenuBar* menuBar();
     
    137165    static inline CAknContextPane* contextPane();
    138166    static inline CEikButtonGroupContainer* buttonGroupContainer();
    139 
     167    static inline void setButtonGroupContainer(CEikButtonGroupContainer* newCba);
     168    static void setStatusPaneAndButtonGroupVisibility(bool statusPaneVisible, bool buttonGroupVisible);
     169#endif
     170    static void controlVisibilityChanged(CCoeControl *control, bool visible);
     171
     172#ifdef Q_OS_SYMBIAN
    140173    TTrapHandler *s60InstalledTrapHandler;
    141174#endif
    142175};
    143176
    144 QS60Data* qGlobalS60Data();
     177QS60Data* qGlobalS60Data();
    145178#define S60 qGlobalS60Data()
    146179
     
    182215    void setFocusSafely(bool focus);
    183216
     217
     218
    184219#ifdef Q_WS_S60
    185220    void FadeBehindPopup(bool fade){ popupFader.FadeBehindPopup( this, this, fade); }
     
    190225    CCoeControl* FadedComponent(TInt /*aIndex*/) {return this;}
    191226#else
    192     #warning No fallback implementation for QSymbianControl::FadeBehindPopup
     227    #warning No fallback implementation for QSymbianControl::FadeBehindPopup
    193228    void FadeBehindPopup(bool /*fade*/){ }
    194229#endif
     
    203238    void HandlePointerEvent(const TPointerEvent& aPointerEvent);
    204239    TKeyResponse OfferKeyEvent(const TKeyEvent& aKeyEvent,TEventCode aType);
     240
    205241    TKeyResponse sendKeyEvent(QWidget *widget, QKeyEvent *keyEvent);
     242
    206243    bool sendMouseEvent(QWidget *widget, QMouseEvent *mEvent);
    207244    void sendMouseEvent(
     
    211248            Qt::MouseButton button,
    212249            Qt::KeyboardModifiers modifiers);
     250
    213251    void HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation );
    214252#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
    215253    void translateAdvancedPointerEvent(const TAdvancedPointerEvent *event);
    216254#endif
     255
     256
    217257    void handleClientAreaChange();
    218258
     
    223263    QWidget *qwidget;
    224264    QLongTapTimer* m_longTapDetector;
     265
    225266    bool m_ignoreFocusChanged : 1;
    226267    bool m_symbianPopupIsOpen : 1;
     
    233274
    234275inline QS60Data::QS60Data()
    235 {
    236     memclr(this, sizeof(QS60Data)); //zero init data
     276: uid(TUid::Null()),
     277  screenDepth(0),
     278  screenWidthInPixels(0),
     279  screenHeightInPixels(0),
     280  screenWidthInTwips(0),
     281  screenHeightInTwips(0),
     282  defaultDpiX(0),
     283  defaultDpiY(0),
     284  curWin(0),
     285  virtualMousePressedKeys(0),
     286  virtualMouseAccelDX(0),
     287  virtualMouseAccelDY(0),
     288  virtualMouseMaxAccel(0),
     289#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS
     290  brokenPointerCursors(0),
     291#endif
     292  hasTouchscreen(0),
     293  mouseInteractionEnabled(0),
     294  virtualMouseRequired(0),
     295  qtOwnsS60Environment(0),
     296  supportsPremultipliedAlpha(0),
     297  avkonComponentsSupportTransparency(0),
     298  menuBeingConstructed(0),
     299  orientationSet(0),
     300  s60ApplicationFactory(0)
     301#ifdef Q_OS_SYMBIAN
     302  ,s60InstalledTrapHandler(0)
     303#endif
     304{
    237305}
    238306
     
    247315    S60->screenHeightInTwips = params.iTwipsSize.iHeight;
    248316
    249     S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 20;
     317    S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 0;
    250318
    251319    TReal inches = S60->screenHeightInTwips / (TReal)KTwipsPerInch;
     
    257325inline RWsSession& QS60Data::wsSession()
    258326{
    259     return CCoeEnv::Static()->WsSession();
     327    if(!tls.hasLocalData()) {
     328        tls.setLocalData(new QS60ThreadLocalData);
     329    }
     330    return tls.localData()->wsSession;
    260331}
    261332
     
    267338inline CWsScreenDevice* QS60Data::screenDevice()
    268339{
    269     return CCoeEnv::Static()->ScreenDevice();
     340    if(!tls.hasLocalData()) {
     341        tls.setLocalData(new QS60ThreadLocalData);
     342    }
     343    return tls.localData()->screenDevice;
    270344}
    271345
     
    314388inline CEikButtonGroupContainer* QS60Data::buttonGroupContainer()
    315389{
    316     return CEikonEnv::Static()->AppUiFactory()->Cba();
     390    return QS60Data::cba;
     391}
     392
     393inline void QS60Data::setButtonGroupContainer(CEikButtonGroupContainer *newCba)
     394{
     395    QS60Data::cba = newCba;
    317396}
    318397#endif // Q_WS_S60
Note: See TracChangeset for help on using the changeset viewer.