diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2012-08-09 16:38:56 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2012-08-09 16:38:56 +0200 |
commit | c7c6a2c596637fd4942c7fb80341ca2ef7b47808 (patch) | |
tree | 0d4196fa95444dd7e14fbaed61299454609d4762 /sowatchui/scanwatchesmodel.cpp | |
parent | 406332eb6b3199d19388f359d04c9f184e6082b5 (diff) | |
download | sowatch-c7c6a2c596637fd4942c7fb80341ca2ef7b47808.tar.gz sowatch-c7c6a2c596637fd4942c7fb80341ca2ef7b47808.zip |
moving scanner logic to ui, new icon
Diffstat (limited to 'sowatchui/scanwatchesmodel.cpp')
-rw-r--r-- | sowatchui/scanwatchesmodel.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/sowatchui/scanwatchesmodel.cpp b/sowatchui/scanwatchesmodel.cpp deleted file mode 100644 index 5b7c331..0000000 --- a/sowatchui/scanwatchesmodel.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include <QtDebug> - -#include "scanwatchesmodel.h" - -ScanWatchesModel::ScanWatchesModel(QObject *parent) : - QAbstractListModel(parent), - _scanner(new ScannerProxy("com.javispedro.sowatchd", "/com/javispedro/sowatch/allscanner", QDBusConnection::sessionBus())), - _timer(new QTimer(this)), - _enabled(false), _active(false) -{ - QHash<int, QByteArray> roles = roleNames(); - roles[Qt::DisplayRole] = QByteArray("title"); - roles[Qt::StatusTipRole] = QByteArray("subtitle"); - roles[ObjectRole] = QByteArray("object"); - setRoleNames(roles); - - _timer->setSingleShot(true); - _timer->setInterval(3000); - - connect(_scanner, SIGNAL(WatchFound(QVariantMap)), SLOT(handleWatchFound(QVariantMap))); - connect(_scanner, SIGNAL(Started()), SLOT(handleStarted())); - connect(_scanner, SIGNAL(Finished()), SLOT(handleFinished())); - connect(_timer, SIGNAL(timeout()), SLOT(handleTimeout())); -} - -ScanWatchesModel::~ScanWatchesModel() -{ -} - -bool ScanWatchesModel::enabled() const -{ - return _enabled; -} - -void ScanWatchesModel::setEnabled(bool enabled) -{ - _timer->stop(); - - _enabled = enabled; - - if (_enabled && !_active) { - _scanner->Start(); - } -} - -bool ScanWatchesModel::active() const -{ - return _active; -} - -int ScanWatchesModel::rowCount(const QModelIndex &parent) const -{ - return _list.count(); -} - -QVariant ScanWatchesModel::data(const QModelIndex &index, int role) const -{ - qDebug() << "Asked for data" << index.row() << index.column() << role; - const QVariantMap &info = _list.at(index.row()); - switch (role) { - case Qt::DisplayRole: - return info["name"]; - case Qt::StatusTipRole: - return info["address"]; - case ObjectRole: - return QVariant::fromValue(info); - } - return QVariant(); -} - -void ScanWatchesModel::handleWatchFound(const QVariantMap &info) -{ - qDebug() << "Watch found" << info << endl; - if (!_list.contains(info)) { - int count = _list.count(); - beginInsertRows(QModelIndex(), count, count); - _list.append(info); - endInsertRows(); - } -} - -void ScanWatchesModel::handleStarted() -{ - _active = true; - emit activeChanged(); -} - -void ScanWatchesModel::handleFinished() -{ - qDebug() << "Scan finished"; - _active = false; - if (_enabled) { - _timer->start(); - } - emit activeChanged(); -} - -void ScanWatchesModel::handleTimeout() -{ - qDebug() << "Restarting scan"; - _scanner->Start(); -} |