+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCOEFEPINPUTCONTEXT_P_H
-#define QCOEFEPINPUTCONTEXT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef QT_NO_IM
-
-#include "qinputcontext.h"
-#include <qhash.h>
-#include <qtimer.h>
-#include <qcore_symbian_p.h>
-#include <qt_s60_p.h>
-
-#include <fepbase.h>
-#include <aknedsts.h>
-#include <eikccpu.h>
-#include <eikedwin.h>
-#include <aknedformaccessor.h>
-
-class CAknExtendedInputCapabilities;
-
-QT_BEGIN_NAMESPACE
-
-class QCoeFepInputMaskHandler
-{
-public:
- QCoeFepInputMaskHandler(const QString &mask);
- ~QCoeFepInputMaskHandler();
- bool canPasteClipboard(const QString &text);
-private:
- bool isValidInput(QChar key, QChar mask) const;
-private:
- struct MaskInputData {
- enum Casemode { NoCaseMode, Upper, Lower };
- QChar maskChar;
- bool separator;
- Casemode caseMode;
- };
- int m_maxLength;
- QChar m_blank;
- MaskInputData *m_maskData;
-};
-
-class Q_AUTOTEST_EXPORT QCoeFepInputContext : public QInputContext,
- public MCoeFepAwareTextEditor,
- public MCoeFepAwareTextEditor_Extension1,
- public MObjectProvider,
- public MEikCcpuEditor
-
-{
- Q_OBJECT
-
-public:
- QCoeFepInputContext(QObject *parent = 0);
- ~QCoeFepInputContext();
-
- QString identifierName() { return QLatin1String("coefep"); }
- QString language();
-
- void reset();
- void update();
-
- bool filterEvent(const QEvent *event);
- bool symbianFilterEvent(QWidget *keyWidget, const QSymbianEvent *event);
- void mouseHandler( int x, QMouseEvent *event);
- bool isComposing() const { return !m_preeditString.isEmpty(); }
-
- void setFocusWidget(QWidget * w);
- void widgetDestroyed(QWidget *w);
-
- TCoeInputCapabilities inputCapabilities();
-
- void resetSplitViewWidget(bool keepInputWidget = false);
- void ensureFocusWidgetVisible(QWidget *widget);
-
-protected:
- void timerEvent(QTimerEvent *timerEvent);
-
-private:
- void commitCurrentString(bool cancelFepTransaction);
- void updateHints(bool mustUpdateInputCapabilities);
- void applyHints(Qt::InputMethodHints hints);
- void applyFormat(QList<QInputMethodEvent::Attribute> *attributes);
- void queueInputCapabilitiesChanged();
- bool needsInputPanel();
- void commitTemporaryPreeditString();
- bool isWidgetVisible(QWidget *widget, int offset = 0);
- bool isPartialKeyboardSupported();
- bool vietCharConversion(const QEvent *event);
-
-private Q_SLOTS:
- void ensureInputCapabilitiesChanged();
- void translateInputWidget();
- void ensureWidgetVisibility();
-
- // From MCoeFepAwareTextEditor
-public:
- void StartFepInlineEditL(const TDesC& aInitialInlineText, TInt aPositionOfInsertionPointInInlineText,
- TBool aCursorVisibility, const MFormCustomDraw* aCustomDraw,
- MFepInlineTextFormatRetriever& aInlineTextFormatRetriever,
- MFepPointerEventHandlerDuringInlineEdit& aPointerEventHandlerDuringInlineEdit);
- void UpdateFepInlineTextL(const TDesC& aNewInlineText, TInt aPositionOfInsertionPointInInlineText);
- void SetInlineEditingCursorVisibilityL(TBool aCursorVisibility);
- void CancelFepInlineEdit();
- TInt DocumentLengthForFep() const;
- TInt DocumentMaximumLengthForFep() const;
- void SetCursorSelectionForFepL(const TCursorSelection& aCursorSelection);
- void GetCursorSelectionForFep(TCursorSelection& aCursorSelection) const;
- void GetEditorContentForFep(TDes& aEditorContent, TInt aDocumentPosition, TInt aLengthToRetrieve) const;
- void GetFormatForFep(TCharFormat& aFormat, TInt aDocumentPosition) const;
- void GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLine, TInt& aHeight, TInt& aAscent,
- TInt aDocumentPosition) const;
-private:
- void DoCommitFepInlineEditL();
- MCoeFepAwareTextEditor_Extension1* Extension1(TBool& aSetToTrue);
- void ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateEvent aEventType);
- void enableSymbianCcpuSupport();
- void changeCBA(bool showCopyAndOrPaste);
- void copyOrCutTextToClipboard(const char *operation);
- void getScreenCoordinatesForFepX(TPoint& aLeftSideOfBaseLine, TInt& aHeight, TInt& aAscent,
- TInt aDocumentPosition) const;
-
- //From MEikCcpuEditor interface
-public:
- TBool CcpuIsFocused() const;
- TBool CcpuCanCut() const;
- void CcpuCutL();
- TBool CcpuCanCopy() const;
- void CcpuCopyL();
- TBool CcpuCanPaste() const;
- void CcpuPasteL();
- TBool CcpuCanUndo() const;
- void CcpuUndoL();
-
-private slots:
- void copy();
- void paste();
-
- // From MCoeFepAwareTextEditor_Extension1
-public:
- void SetStateTransferingOwnershipL(MCoeFepAwareTextEditor_Extension1::CState* aState, TUid aTypeSafetyUid);
- MCoeFepAwareTextEditor_Extension1::CState* State(TUid aTypeSafetyUid);
-
- // From MObjectProvider
-public:
- TTypeUid::Ptr MopSupplyObject(TTypeUid id);
- MObjectProvider *MopNext();
-
-private:
- QSymbianControl *m_parent;
- CAknEdwinState *m_fepState;
- QString m_preeditString;
- Qt::InputMethodHints m_lastImHints;
- TUint m_textCapabilities;
- bool m_inDestruction;
- bool m_pendingInputCapabilitiesChanged;
- bool m_pendingTransactionCancel;
- int m_cursorVisibility;
- int m_inlinePosition;
- MFepInlineTextFormatRetriever *m_formatRetriever;
- MFepPointerEventHandlerDuringInlineEdit *m_pointerHandler;
- QBasicTimer m_tempPreeditStringTimeout;
- bool m_hasTempPreeditString;
- QString m_cachedPreeditString;
- int m_cachedCursorAndAnchorPosition;
-
- int m_splitViewResizeBy;
- Qt::WindowStates m_splitViewPreviousWindowStates;
- QRectF m_transformation;
- QGraphicsItem *m_splitViewPreviousFocusItem; //can't use QPointer<> since QGraphicsItem is not a QObject.
-
- CAknCcpuSupport *m_ccpu;
- QAction *m_copyAction;
- QAction *m_pasteAction;
- QPointer<QWidget> m_lastFocusedEditor;
- QPointer<QObject> m_lastFocusedObject;
-
- CAknExtendedInputCapabilities *m_extendedInputCapabilities;
-
- QScopedPointer<CAknEdwinFormAccessor> m_formAccessor;
- QScopedPointer<CEikEdwin> m_dummyEditor;
-
- friend class tst_QInputContext;
-};
-
-Q_GUI_EXPORT void qt_s60_setPartialScreenInputMode(bool enable);
-Q_GUI_EXPORT void qt_s60_setPartialScreenAutomaticTranslation(bool enable);
-Q_GUI_EXPORT void qt_s60_setEditorFlags(int flags);
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_IM
-
-#endif // QCOEFEPINPUTCONTEXT_P_H
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QWSINPUTCONTEXT_P_H
-#define QWSINPUTCONTEXT_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of the QLibrary class. This header file may change from
-// version to version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "QtGui/qinputcontext.h"
-
-#ifndef QT_NO_QWS_INPUTMETHODS
-
-QT_BEGIN_NAMESPACE
-
-class QWSIMEvent;
-class QWSIMQueryEvent;
-class QWSIMInitEvent;
-
-class QWSInputContext : public QInputContext
-{
- Q_OBJECT
-public:
- explicit QWSInputContext(QObject* parent = 0);
- ~QWSInputContext() {}
-
-
- inline QString identifierName() { return QString(); }
- inline QString language() { return QString(); }
-
- void reset();
- void update();
- void mouseHandler( int x, QMouseEvent *event);
-
- void setFocusWidget( QWidget *w );
- void widgetDestroyed(QWidget *w);
-
- bool isComposing() const;
-
- static QWidget *activeWidget();
- static bool translateIMEvent(QWidget *w, const QWSIMEvent *e);
- static bool translateIMQueryEvent(QWidget *w, const QWSIMQueryEvent *e);
- static bool translateIMInitEvent(const QWSIMInitEvent *e);
- static void updateImeStatus(QWidget *w, bool hasFocus);
-};
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_QWS_INPUTMETHODS
-
-#endif // QWSINPUTCONTEXT_P_H
+++ /dev/null
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QFLICKGESTURE_P_H
-#define QFLICKGESTURE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qevent.h"
-#include "qgesturerecognizer.h"
-#include "qgesture_p.h"
-#include "qscroller.h"
-#include "qscopedpointer.h"
-
-#ifndef QT_NO_GESTURES
-
-QT_BEGIN_NAMESPACE
-
-class QFlickGesturePrivate;
-class QGraphicsItem;
-
-class Q_GUI_EXPORT QFlickGesture : public QGesture
-{
- Q_OBJECT
- Q_DECLARE_PRIVATE(QFlickGesture)
-
-public:
- QFlickGesture(QObject *receiver, Qt::MouseButton button, QObject *parent = 0);
- ~QFlickGesture();
-
- friend class QFlickGestureRecognizer;
-};
-
-class PressDelayHandler;
-
-class QFlickGesturePrivate : public QGesturePrivate
-{
- Q_DECLARE_PUBLIC(QFlickGesture)
-public:
- QFlickGesturePrivate();
-
- QPointer<QObject> receiver;
- QScroller *receiverScroller;
- Qt::MouseButton button; // NoButton == Touch
- bool macIgnoreWheel;
- static PressDelayHandler *pressDelayHandler;
-};
-
-class QFlickGestureRecognizer : public QGestureRecognizer
-{
-public:
- QFlickGestureRecognizer(Qt::MouseButton button);
-
- QGesture *create(QObject *target);
- QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
- void reset(QGesture *state);
-
-private:
- Qt::MouseButton button; // NoButton == Touch
-};
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_GESTURES
-
-#endif // QFLICKGESTURE_P_H