on 276c910 help sign in
unity8/tests/mocks/Unity/Application/UbuntuKeyboardInfo.h
60 lines 1.8 kB history raw
1/*
2 * Copyright (C) 2014 Canonical, Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License version 3, as published by
6 * the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10 * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#ifndef UBUNTU_KEYBOARD_INFO_H
18#define UBUNTU_KEYBOARD_INFO_H
20#include <QLocalSocket>
21#include <QTimer>
23class UbuntuKeyboardInfo : public QObject {
24 Q_OBJECT
25 Q_PROPERTY(qreal x READ x NOTIFY xChanged)
26 Q_PROPERTY(qreal y READ y NOTIFY yChanged)
27 Q_PROPERTY(qreal width READ width NOTIFY widthChanged)
28 Q_PROPERTY(qreal height READ height NOTIFY heightChanged)
29public:
30 UbuntuKeyboardInfo(QObject *parent = 0);
31 virtual ~UbuntuKeyboardInfo() {}
32 qreal x() const { return m_x; }
33 qreal y() const { return m_y; }
34 qreal width() const { return m_width; }
35 qreal height() const { return m_height; }
37 static UbuntuKeyboardInfo *singleton() {
38 if (!m_instance) {
39 m_instance = new UbuntuKeyboardInfo;
40 }
41 return m_instance;
42 }
44Q_SIGNALS:
45 void xChanged(qreal x);
46 void yChanged(qreal y);
47 void widthChanged(qreal width);
48 void heightChanged(qreal height);
50private:
51 QLocalSocket m_socket;
52 qint32 m_x;
53 qint32 m_y;
54 qint32 m_width;
55 qint32 m_height;
57 static UbuntuKeyboardInfo *m_instance;
58};
60#endif // UBUNTU_KEYBOARD_INFO_H