From e3c4aa5dffecc8f62958c44035b2e58de0228eb4 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 14 Jun 2015 17:17:12 +0200 Subject: better synchronization status reporting --- smartpenmanager.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'smartpenmanager.cc') diff --git a/smartpenmanager.cc b/smartpenmanager.cc index ad6416b..b64f333 100644 --- a/smartpenmanager.cc +++ b/smartpenmanager.cc @@ -38,6 +38,22 @@ SmartpenManager::~SmartpenManager() udev_unref(_udev); } +QStringList SmartpenManager::pensBeingSynchronized() const +{ + QStringList pens; + pens.reserve(_syncers.size()); + for (QMap::const_iterator it = _syncers.begin(); + it != _syncers.end(); ++it) { + QString name = it.value()->penName(); + if (name.isEmpty()) { + Smartpen::Address addr = it.value()->penAddress(); + name = QString("%1-%2").arg(addr.first, addr.second); + } + pens.append(name); + } + return pens; +} + void SmartpenManager::handleMonitorActivity() { qDebug() << "udev activity"; @@ -55,6 +71,7 @@ void SmartpenManager::handleSyncerFinished() qDebug() << "Finished synchronization with pen with address:" << addr; _syncers.remove(addr); syncer->deleteLater(); + emit pensBeingSynchronizedChanged(); } void SmartpenManager::processDevice(udev_device *dev) @@ -67,6 +84,8 @@ void SmartpenManager::processDevice(udev_device *dev) SmartpenSyncer *syncer = new SmartpenSyncer(addr, this); _syncers.insert(addr, syncer); connect(syncer, SIGNAL(finished()), SLOT(handleSyncerFinished())); + connect(syncer, SIGNAL(penNameChanged()), SIGNAL(pensBeingSynchronizedChanged())); syncer->start(); + emit pensBeingSynchronizedChanged(); } } -- cgit v1.2.3