2 * This file is part of CameraPlus.
4 * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #include "devicekeys.h"
24 DeviceKeys::DeviceKeys(QObject *parent) :
31 DeviceKeys::~DeviceKeys() {
35 bool DeviceKeys::isActive() const {
39 void DeviceKeys::setActive(bool active) {
40 if (active == isActive()) {
45 m_keys->deleteLater();
50 m_keys = new MeeGo::QmKeys(this);
51 QObject::connect(m_keys, SIGNAL(keyEvent(MeeGo::QmKeys::Key, MeeGo::QmKeys::State)),
52 this, SLOT(keyEvent(MeeGo::QmKeys::Key, MeeGo::QmKeys::State)));
58 void DeviceKeys::keyEvent(MeeGo::QmKeys::Key key, MeeGo::QmKeys::State state) {
59 if (!setStats(key, state)) {
63 if (key == MeeGo::QmKeys::VolumeUp) {
64 if (state == MeeGo::QmKeys::KeyUp) {
65 emit volumeUpReleased();
67 else if (state == MeeGo::QmKeys::KeyDown) {
68 emit volumeUpPressed();
71 else if (key == MeeGo::QmKeys::VolumeDown) {
72 if (state == MeeGo::QmKeys::KeyUp) {
73 emit volumeDownReleased();
75 else if (state == MeeGo::QmKeys::KeyDown) {
76 emit volumeDownPressed();
81 bool DeviceKeys::setStats(MeeGo::QmKeys::Key key, MeeGo::QmKeys::State state) {
86 if (!m_stats.contains(key)) {
87 m_stats.insert(key, state);
91 if (m_stats[key] != state) {
99 bool DeviceKeys::isRepeating() {
103 void DeviceKeys::doRepeat(bool repeat) {
104 if (repeat != m_repeating) {
105 m_repeating = repeat;
106 emit repeatChanged();