1 /*
2 * SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8 #include "fcitxqtinputcontextproxy_p.h"
9 #include <QCoreApplication>
10 #include <QDBusConnectionInterface>
11 #include <QDBusInterface>
12 #include <QDBusMetaType>
13 #include <QFileInfo>
14 #include <QTimer>
15
16 namespace fcitx {
17
FcitxQtInputContextProxy(FcitxQtWatcher * watcher,QObject * parent)18 FcitxQtInputContextProxy::FcitxQtInputContextProxy(FcitxQtWatcher *watcher,
19 QObject *parent)
20 : QObject(parent),
21 d_ptr(new FcitxQtInputContextProxyPrivate(watcher, this)) {}
22
~FcitxQtInputContextProxy()23 FcitxQtInputContextProxy::~FcitxQtInputContextProxy() {
24 Q_D(FcitxQtInputContextProxy);
25 if (isValid()) {
26 d->icproxy_->DestroyIC();
27 }
28 delete d_ptr;
29 }
30
setDisplay(const QString & display)31 void FcitxQtInputContextProxy::setDisplay(const QString &display) {
32 Q_D(FcitxQtInputContextProxy);
33 d->display_ = display;
34 }
35
display() const36 const QString &FcitxQtInputContextProxy::display() const {
37 Q_D(const FcitxQtInputContextProxy);
38 return d->display_;
39 }
40
isValid() const41 bool FcitxQtInputContextProxy::isValid() const {
42 Q_D(const FcitxQtInputContextProxy);
43 return d->isValid();
44 }
45
focusIn()46 QDBusPendingReply<> FcitxQtInputContextProxy::focusIn() {
47 Q_D(FcitxQtInputContextProxy);
48 return d->icproxy_->FocusIn();
49 }
50
focusOut()51 QDBusPendingReply<> FcitxQtInputContextProxy::focusOut() {
52 Q_D(FcitxQtInputContextProxy);
53 return d->icproxy_->FocusOut();
54 }
55
processKeyEvent(unsigned int keyval,unsigned int keycode,unsigned int state,bool type,unsigned int time)56 QDBusPendingReply<bool> FcitxQtInputContextProxy::processKeyEvent(
57 unsigned int keyval, unsigned int keycode, unsigned int state, bool type,
58 unsigned int time) {
59 Q_D(FcitxQtInputContextProxy);
60 return d->icproxy_->ProcessKeyEvent(keyval, keycode, state, type, time);
61 }
62
reset()63 QDBusPendingReply<> FcitxQtInputContextProxy::reset() {
64 Q_D(FcitxQtInputContextProxy);
65 return d->icproxy_->Reset();
66 }
67
setCapability(qulonglong caps)68 QDBusPendingReply<> FcitxQtInputContextProxy::setCapability(qulonglong caps) {
69 Q_D(FcitxQtInputContextProxy);
70 return d->icproxy_->SetCapability(caps);
71 }
72
setCursorRect(int x,int y,int w,int h)73 QDBusPendingReply<> FcitxQtInputContextProxy::setCursorRect(int x, int y, int w,
74 int h) {
75 Q_D(FcitxQtInputContextProxy);
76 return d->icproxy_->SetCursorRect(x, y, w, h);
77 }
78
setSurroundingText(const QString & text,unsigned int cursor,unsigned int anchor)79 QDBusPendingReply<> FcitxQtInputContextProxy::setSurroundingText(
80 const QString &text, unsigned int cursor, unsigned int anchor) {
81 Q_D(FcitxQtInputContextProxy);
82 return d->icproxy_->SetSurroundingText(text, cursor, anchor);
83 }
84
85 QDBusPendingReply<>
setSurroundingTextPosition(unsigned int cursor,unsigned int anchor)86 FcitxQtInputContextProxy::setSurroundingTextPosition(unsigned int cursor,
87 unsigned int anchor) {
88 Q_D(FcitxQtInputContextProxy);
89 return d->icproxy_->SetSurroundingTextPosition(cursor, anchor);
90 }
91
92 } // namespace fcitx
93
94 #include "moc_fcitxqtinputcontextproxy.cpp"
95