1 /*
2  * SPDX-FileCopyrightText: 2012~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() { delete d_ptr; }
24 
setDisplay(const QString & display)25 void FcitxQtInputContextProxy::setDisplay(const QString &display) {
26     Q_D(FcitxQtInputContextProxy);
27     d->display_ = display;
28 }
29 
display() const30 const QString &FcitxQtInputContextProxy::display() const {
31     Q_D(const FcitxQtInputContextProxy);
32     return d->display_;
33 }
34 
isValid() const35 bool FcitxQtInputContextProxy::isValid() const {
36     Q_D(const FcitxQtInputContextProxy);
37     return d->isValid();
38 }
39 
focusIn()40 QDBusPendingReply<> FcitxQtInputContextProxy::focusIn() {
41     Q_D(FcitxQtInputContextProxy);
42     return d->icproxy_->FocusIn();
43 }
44 
focusOut()45 QDBusPendingReply<> FcitxQtInputContextProxy::focusOut() {
46     Q_D(FcitxQtInputContextProxy);
47     return d->icproxy_->FocusOut();
48 }
49 
processKeyEvent(unsigned int keyval,unsigned int keycode,unsigned int state,bool type,unsigned int time)50 QDBusPendingReply<bool> FcitxQtInputContextProxy::processKeyEvent(
51     unsigned int keyval, unsigned int keycode, unsigned int state, bool type,
52     unsigned int time) {
53     Q_D(FcitxQtInputContextProxy);
54     return d->icproxy_->ProcessKeyEvent(keyval, keycode, state, type, time);
55 }
56 
reset()57 QDBusPendingReply<> FcitxQtInputContextProxy::reset() {
58     Q_D(FcitxQtInputContextProxy);
59     return d->icproxy_->Reset();
60 }
61 
setCapability(qulonglong caps)62 QDBusPendingReply<> FcitxQtInputContextProxy::setCapability(qulonglong caps) {
63     Q_D(FcitxQtInputContextProxy);
64     return d->icproxy_->SetCapability(caps);
65 }
66 
setCursorRect(int x,int y,int w,int h)67 QDBusPendingReply<> FcitxQtInputContextProxy::setCursorRect(int x, int y, int w,
68                                                             int h) {
69     Q_D(FcitxQtInputContextProxy);
70     return d->icproxy_->SetCursorRect(x, y, w, h);
71 }
72 
setCursorRectV2(int x,int y,int w,int h,double scale)73 QDBusPendingReply<> FcitxQtInputContextProxy::setCursorRectV2(int x, int y,
74                                                               int w, int h,
75                                                               double scale) {
76     Q_D(FcitxQtInputContextProxy);
77     return d->icproxy_->SetCursorRectV2(x, y, w, h, scale);
78 }
79 
setSurroundingText(const QString & text,unsigned int cursor,unsigned int anchor)80 QDBusPendingReply<> FcitxQtInputContextProxy::setSurroundingText(
81     const QString &text, unsigned int cursor, unsigned int anchor) {
82     Q_D(FcitxQtInputContextProxy);
83     return d->icproxy_->SetSurroundingText(text, cursor, anchor);
84 }
85 
86 QDBusPendingReply<>
setSurroundingTextPosition(unsigned int cursor,unsigned int anchor)87 FcitxQtInputContextProxy::setSurroundingTextPosition(unsigned int cursor,
88                                                      unsigned int anchor) {
89     Q_D(FcitxQtInputContextProxy);
90     return d->icproxy_->SetSurroundingTextPosition(cursor, anchor);
91 }
92 
prevPage()93 QDBusPendingReply<> FcitxQtInputContextProxy::prevPage() {
94     Q_D(FcitxQtInputContextProxy);
95     return d->icproxy_->PrevPage();
96 }
97 
nextPage()98 QDBusPendingReply<> FcitxQtInputContextProxy::nextPage() {
99     Q_D(FcitxQtInputContextProxy);
100     return d->icproxy_->NextPage();
101 }
102 
selectCandidate(int i)103 QDBusPendingReply<> FcitxQtInputContextProxy::selectCandidate(int i) {
104     Q_D(FcitxQtInputContextProxy);
105     return d->icproxy_->SelectCandidate(i);
106 }
107 
108 } // namespace fcitx
109