qtmobileextensions/src/keycapture/keycapture_s60_p.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 14 6fbed849b4f4
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    53         qDeleteAll(mRequestsList->begin(), mRequestsList->end());
    53         qDeleteAll(mRequestsList->begin(), mRequestsList->end());
    54         mRequestsList->clear();
    54         mRequestsList->clear();
    55     }
    55     }
    56     delete mRequestsList;
    56     delete mRequestsList;
    57     delete mMapper;
    57     delete mMapper;
    58 
    58 }
    59 }
    59 
    60 
    60 bool KeyCapturePrivate::captureKey(Qt::Key aKey,
    61 bool KeyCapturePrivate::captureKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask,
    61         Qt::KeyboardModifiers aModifiersMask,
    62     Qt::KeyboardModifiers aModifier)
    62         Qt::KeyboardModifiers aModifier)
    63 {
    63 {
    64     return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeNormal);
    64     return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier,
    65 }
    65             CaptureRequest::CaptureRequestTypeNormal);
    66 
    66 }
    67 bool KeyCapturePrivate::captureLongKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask,
    67 
    68     Qt::KeyboardModifiers aModifier, XqKeyCapture::LongFlags aLongType)
    68 bool KeyCapturePrivate::captureKey(TUint aKey,
    69 {
    69         Qt::KeyboardModifiers aModifiersMask,
    70     return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType);
    70         Qt::KeyboardModifiers aModifier)
    71 }
    71 {
    72 
    72     return doCapture(aKey, aModifiersMask, aModifier,
    73 bool KeyCapturePrivate::captureKeyUpAndDowns(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask,
    73             CaptureRequest::CaptureRequestTypeNormal);
    74     Qt::KeyboardModifiers aModifier)
    74 }
    75 {
    75 
    76     return doCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeUpAndDown);
    76 bool KeyCapturePrivate::captureLongKey(Qt::Key aKey,
    77 }
    77         Qt::KeyboardModifiers aModifiersMask,
    78 
    78         Qt::KeyboardModifiers aModifier,
    79 bool KeyCapturePrivate::doCapture(TUint aKey, Qt::KeyboardModifiers aModifiersMask,
    79         XqKeyCapture::LongFlags aLongType)
    80     Qt::KeyboardModifiers aModifier, CaptureRequest::CaptureRequestType aType, 
    80 {
    81     XqKeyCapture::LongFlags aLongType)
    81     return doCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier,
       
    82             CaptureRequest::CaptureRequestTypeLong, aLongType);
       
    83 }
       
    84 
       
    85 bool KeyCapturePrivate::captureLongKey(TUint aKey,
       
    86         Qt::KeyboardModifiers aModifiersMask,
       
    87         Qt::KeyboardModifiers aModifier,
       
    88         XqKeyCapture::LongFlags aLongType)
       
    89 {
       
    90     return doCapture(aKey, aModifiersMask, aModifier,
       
    91             CaptureRequest::CaptureRequestTypeLong, aLongType);
       
    92 }
       
    93 
       
    94 bool KeyCapturePrivate::captureKeyUpAndDowns(Qt::Key aKey,
       
    95         Qt::KeyboardModifiers aModifiersMask,
       
    96         Qt::KeyboardModifiers aModifier)
       
    97 {
       
    98     return doCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask,
       
    99             aModifier, CaptureRequest::CaptureRequestTypeUpAndDown);
       
   100 }
       
   101 
       
   102 bool KeyCapturePrivate::captureKeyUpAndDowns(TUint aKey,
       
   103         Qt::KeyboardModifiers aModifiersMask,
       
   104         Qt::KeyboardModifiers aModifier)
       
   105 {
       
   106     return doCapture(aKey, aModifiersMask,
       
   107             aModifier, CaptureRequest::CaptureRequestTypeUpAndDown);
       
   108 }
       
   109 
       
   110 bool KeyCapturePrivate::doCapture(TUint aKey,
       
   111         Qt::KeyboardModifiers aModifiersMask,
       
   112         Qt::KeyboardModifiers aModifier,
       
   113         CaptureRequest::CaptureRequestType aType,
       
   114         XqKeyCapture::LongFlags aLongType)
    82 {
   115 {
    83     int err = mLastError;
   116     int err = mLastError;
    84     CaptureRequest *req = new CaptureRequest(aKey, aModifiersMask, aModifier, aType, aLongType, mWindowGroup);
   117     CaptureRequest *req = new CaptureRequest(aKey, aModifiersMask, aModifier,
       
   118             aType, aLongType, mWindowGroup);
    85     mLastError = req->request();
   119     mLastError = req->request();
    86     mRequestsList->append(req);
   120     mRequestsList->append(req);
    87     if (err != mLastError)
   121     if (err != mLastError)
    88     regenerateError();
   122     regenerateError();
    89 
   123 
    90     return errorId() == KErrNone;
   124     return errorId() == KErrNone;
    91 }
   125 }
    92 
   126 
    93 bool KeyCapturePrivate::cancelCaptureKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask,
   127 bool KeyCapturePrivate::cancelCaptureKey(Qt::Key aKey,
    94     Qt::KeyboardModifiers aModifier)
   128         Qt::KeyboardModifiers aModifiersMask,
    95 {
   129         Qt::KeyboardModifiers aModifier)
    96     return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier,
   130 {
    97         CaptureRequest::CaptureRequestTypeNormal);
   131     return doCancelCapture(mMapper->mapQtToS60Key(aKey),
    98 }
   132             aModifiersMask, aModifier,
    99 
   133             CaptureRequest::CaptureRequestTypeNormal);
   100 bool KeyCapturePrivate::cancelCaptureLongKey(Qt::Key aKey, Qt::KeyboardModifiers aModifiersMask,
   134 }
   101     Qt::KeyboardModifiers aModifier, XqKeyCapture::LongFlags aLongType)
   135 
   102 {
   136 bool KeyCapturePrivate::cancelCaptureKey(TUint aKey,
   103     return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask, aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType);
   137         Qt::KeyboardModifiers aModifiersMask,
       
   138         Qt::KeyboardModifiers aModifier)
       
   139 {
       
   140     return doCancelCapture(aKey, aModifiersMask, aModifier,
       
   141             CaptureRequest::CaptureRequestTypeNormal);
       
   142 }
       
   143 
       
   144 bool KeyCapturePrivate::cancelCaptureLongKey(Qt::Key aKey,
       
   145         Qt::KeyboardModifiers aModifiersMask,
       
   146         Qt::KeyboardModifiers aModifier,
       
   147         XqKeyCapture::LongFlags aLongType)
       
   148 {
       
   149     return doCancelCapture(mMapper->mapQtToS60Key(aKey), aModifiersMask,
       
   150             aModifier, CaptureRequest::CaptureRequestTypeLong, aLongType);
       
   151 }
       
   152 
       
   153 bool KeyCapturePrivate::cancelCaptureLongKey(TUint aKey,
       
   154         Qt::KeyboardModifiers aModifiersMask,
       
   155         Qt::KeyboardModifiers aModifier,
       
   156         XqKeyCapture::LongFlags aLongType)
       
   157 {
       
   158     return doCancelCapture(aKey, aModifiersMask, aModifier,
       
   159         CaptureRequest::CaptureRequestTypeLong, aLongType);
   104 }
   160 }
   105 
   161 
   106 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(Qt::Key aKey,
   162 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(Qt::Key aKey,
   107     Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier)
   163     Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier)
   108 {
   164 {
   109     return doCancelCapture(mMapper->mapQtToS60ScanCodes(aKey), aModifiersMask, aModifier,
   165     return doCancelCapture(mMapper->mapQtToS60ScanCodes(aKey),
   110         CaptureRequest::CaptureRequestTypeUpAndDown);
   166             aModifiersMask, aModifier,
   111 }
   167             CaptureRequest::CaptureRequestTypeUpAndDown);
   112 
   168 }
   113 bool KeyCapturePrivate::doCancelCapture(TUint aKey, Qt::KeyboardModifiers aModifiersMask,
   169 
   114     Qt::KeyboardModifiers aModifier, CaptureRequest::CaptureRequestType aType, 
   170 bool KeyCapturePrivate::cancelCaptureKeyUpAndDowns(TUint aKey,
   115     XqKeyCapture::LongFlags aLongType)
   171     Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier)
       
   172 {
       
   173     return doCancelCapture(aKey, aModifiersMask, aModifier,
       
   174             CaptureRequest::CaptureRequestTypeUpAndDown);
       
   175 }
       
   176 
       
   177 bool KeyCapturePrivate::doCancelCapture(TUint aKey,
       
   178         Qt::KeyboardModifiers aModifiersMask,
       
   179         Qt::KeyboardModifiers aModifier, 
       
   180         CaptureRequest::CaptureRequestType aType,
       
   181         XqKeyCapture::LongFlags aLongType)
   116 {
   182 {
   117     int err = mLastError;
   183     int err = mLastError;
   118 
   184 
   119     for (int i(0), size(mRequestsList->count()); i < size; i++) {
   185     for (int i(0), size(mRequestsList->count()); i < size; i++) {
   120         CaptureRequest *r = mRequestsList->at(i);
   186         CaptureRequest *r = mRequestsList->at(i);
   121         if (r && r->matches(aKey, aModifiersMask, aModifier, aType, aLongType)) {
   187         if (r && r->matches(aKey, aModifiersMask, aModifier, aType,
       
   188                 aLongType)) {
   122             mLastError = r->cancel();
   189             mLastError = r->cancel();
   123             mRequestsList->removeAt(i);
   190             mRequestsList->removeAt(i);
   124             delete r;
   191             delete r;
   125             r = 0;
   192             r = 0;
   126         }
   193         }