From 406332eb6b3199d19388f359d04c9f184e6082b5 Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Thu, 9 Aug 2012 04:03:20 +0200 Subject: watch status UI --- sowatchui/scanwatchesmodel.cc | 102 ------------------------------------------ 1 file changed, 102 deletions(-) delete mode 100644 sowatchui/scanwatchesmodel.cc (limited to 'sowatchui/scanwatchesmodel.cc') diff --git a/sowatchui/scanwatchesmodel.cc b/sowatchui/scanwatchesmodel.cc deleted file mode 100644 index 5b7c331..0000000 --- a/sowatchui/scanwatchesmodel.cc +++ /dev/null @@ -1,102 +0,0 @@ -#include - -#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 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(); -} -- cgit v1.2.3