2
* This file is part of Maliit Plugins
4
* Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
6
* Contact: Mohammad Anwari <Mohammad.Anwari@nokia.com>
8
* Redistribution and use in source and binary forms, with or without modification,
9
* are permitted provided that the following conditions are met:
11
* Redistributions of source code must retain the above copyright notice, this list
12
* of conditions and the following disclaimer.
13
* Redistributions in binary form must reproduce the above copyright notice, this list
14
* of conditions and the following disclaimer in the documentation and/or other materials
15
* provided with the distribution.
16
* Neither the name of Nokia Corporation nor the names of its contributors may be
17
* used to endorse or promote products derived from this software without specific
18
* prior written permission.
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
21
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
#ifndef MALIIT_KEYBOARD_INPUTMETHOD_H
33
#define MALIIT_KEYBOARD_INPUTMETHOD_H
35
#include <maliit/plugins/abstractinputmethod.h>
36
#include <maliit/plugins/abstractinputmethodhost.h>
37
#include <maliit/plugins/keyoverride.h>
40
namespace MaliitKeyboard {
42
class InputMethodPrivate;
45
: public MAbstractInputMethod
48
Q_DISABLE_COPY(InputMethod)
49
Q_DECLARE_PRIVATE(InputMethod)
52
explicit InputMethod(MAbstractInputMethodHost *host);
53
virtual ~InputMethod();
57
Q_SLOT virtual void hide();
58
virtual void setPreedit(const QString &preedit,
60
virtual void switchContext(Maliit::SwitchDirection direction,
62
virtual QList<MAbstractInputMethod::MInputMethodSubView>
63
subViews(Maliit::HandlerState state = Maliit::OnScreen) const;
64
virtual void setActiveSubView(const QString &id,
65
Maliit::HandlerState state = Maliit::OnScreen);
66
virtual QString activeSubView(Maliit::HandlerState state = Maliit::OnScreen) const;
67
virtual void handleFocusChange(bool focusIn);
68
virtual void handleAppOrientationChanged(int angle);
69
virtual bool imExtensionEvent(MImExtensionEvent *event);
70
virtual void setKeyOverrides(const QMap<QString, QSharedPointer<MKeyOverride> > &overrides);
73
Q_SLOT void onLeftLayoutSelected();
74
Q_SLOT void onRightLayoutSelected();
75
Q_SLOT void deviceOrientationChanged(Qt::ScreenOrientation orientation);
77
Q_SLOT void updateWordEngine();
79
Q_PROPERTY(bool predictionEnabled READ predictionEnabled NOTIFY predictionEnabledChanged)
81
bool predictionEnabled();
85
void predictionEnabledChanged();
88
void registerStyleSetting(MAbstractInputMethodHost *host);
89
void registerFeedbackSetting(MAbstractInputMethodHost *host);
90
void registerAutoCorrectSetting(MAbstractInputMethodHost *host);
91
void registerAutoCapsSetting(MAbstractInputMethodHost *host);
92
void registerWordEngineSetting(MAbstractInputMethodHost *host);
93
void registerHideWordRibbonInPortraitModeSetting(MAbstractInputMethodHost *host);
95
Q_SLOT void onScreenSizeChange(const QSize &size);
96
Q_SLOT void onStyleSettingChanged();
97
Q_SLOT void onFeedbackSettingChanged();
98
Q_SLOT void onAutoCorrectSettingChanged();
99
Q_SLOT void onAutoCapsSettingChanged();
100
Q_SLOT void onWordEngineSettingChanged();
101
Q_SLOT void onHideWordRibbonInPortraitModeSettingChanged();
102
Q_SLOT void updateKey(const QString &key_id,
103
const MKeyOverride::KeyOverrideAttributes changed_attributes);
104
Q_SLOT void onKeyboardClosed();
106
Q_SLOT void onLayoutWidthChanged(int width);
107
Q_SLOT void onLayoutHeightChanged(int height);
108
#ifdef EXTENDED_SURFACE_TEMP_DISABLED
109
Q_SLOT void onExtendedLayoutWidthChanged(int width);
110
Q_SLOT void onExtendedLayoutHeightChanged(int height);
111
Q_SLOT void onExtendedLayoutOriginChanged(const QPoint &origin);
112
Q_SLOT void onMagnifierLayoutWidthChanged(int width);
113
Q_SLOT void onMagnifierLayoutHeightChanged(int height);
114
Q_SLOT void onMagnifierLayoutOriginChanged(const QPoint &origin);
117
Q_SLOT void onHideAnimationFinished();
118
Q_SIGNAL void wordEngineEnabledChanged(bool wordEngineEnabled);
120
const QScopedPointer<InputMethodPrivate> d_ptr;
123
} // namespace MaliitKeyboard
125
#endif // MALIIT_KEYBOARD_INPUTMETHOD_H