diff -r 885c2596c964 -r 5d007b20cfd0 qtmobileextensions/src/keycapture/capturerequest_s60.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qtmobileextensions/src/keycapture/capturerequest_s60.h Tue Aug 31 16:02:37 2010 +0300 @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 2.1 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, + * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". + * + * Description: + * + */ + +#ifndef CAPTUREREQUEST_S60_H +#define CAPTUREREQUEST_S60_H + +#include +#include + +#include "xqkeycapture.h" + +class RWindowGroup; +class QKeyMapper; + +#ifdef _XQKEYCAPTURE_UNITTEST_ + class MyTestWindowGroup; +#endif + +class CaptureRequest { + +public: + enum CaptureRequestType { + CaptureRequestTypeNormal, + CaptureRequestTypeLong, + CaptureRequestTypeUpAndDown + }; + + CaptureRequest(TUint aKey, Qt::KeyboardModifiers aModifiersMask, + Qt::KeyboardModifiers aModifier, CaptureRequestType aRequestType, XQKeyCapture::LongFlags aLongKeyFlags, +#ifndef _XQKEYCAPTURE_UNITTEST_ + RWindowGroup* aGroup +#else + MyTestWindowGroup* aGroup +#endif + ); + + ~CaptureRequest(); + + int request(); + + int cancel(); + + bool operator==(const CaptureRequest& other) const; + + bool matches(TUint aKey, Qt::KeyboardModifiers aModifiersMask, Qt::KeyboardModifiers aModifier, + CaptureRequestType aRequestType, + XQKeyCapture::LongFlags captureLongFlag = XQKeyCapture::LongWaitNotApplicable) const; + +private: + TUint translatedModifierMask(); + TUint translatedModifier(); + TUint translatedModifier(Qt::KeyboardModifiers aModifier); + +private: + const TUint mKey; + const Qt::KeyboardModifiers mModifiersMask; + const Qt::KeyboardModifiers mModifier; + const CaptureRequestType mRequestType; + const XQKeyCapture::LongFlags longKeyFlags; + + long int mRequestHandle; + long int mAdditionalRequestHandle; + +#ifndef _XQKEYCAPTURE_UNITTEST_ + RWindowGroup* mGroup; //not owned +#else + MyTestWindowGroup* mGroup; +#endif + QKeyMapper* mMapper; +// QMap *mQtToS60KeyMap;//not owned +// QMap *mQtToS60StdScanCodeMap; //not owned +}; + +#endif /* CAPTUREREQUEST_S60_H */ +