]> Devoid-pointer.net GitWeb - FFBChecker.git/commitdiff
Do not build the string displayed in the device list ComboBox directly
authorMichal Malý <madcatxster@devoid-pointer.net>
Wed, 8 Jul 2015 16:25:43 +0000 (18:25 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Wed, 8 Jul 2015 16:40:31 +0000 (18:40 +0200)
in the DeviceProber.

deviceprober.cpp
deviceprober.h
mainwindow.cpp

index bbba7e877c75ea9cb77e4a67d0e4af1dfad22e57..541129e69178dd41fa3ad484e51d649993138376 100644 (file)
@@ -36,11 +36,10 @@ DeviceProber::DeviceList DeviceProber::listDevices()
 
     dinfo.path = devicePath;
     ret = ioctl(fd, EVIOCGNAME(64), deviceName);
-    if (ret < 0) {
+    if (ret < 0)
       qDebug() << "Cannot get name of device" << d << strerror(errno);
-      dinfo.tag = QString("[%1]").arg(d);
-    } else
-      dinfo.tag = QString("%1 [%2]").arg(deviceName).arg(d);
+    else
+      dinfo.name = deviceName;
 
     list.append(dinfo);
   }
index 0314a7ac63c2eb3fccdfac7185b0fbc6066be6a9..778d28eb828f2eab752f700e18257e15a62d2deb 100644 (file)
@@ -12,7 +12,7 @@ class DeviceProber : public QObject
 public:
   struct DeviceInfo {
     QString path;
-    QString tag;
+    QString name;
   };
   typedef QList<DeviceInfo> DeviceList;
 
index 36a221a50921d713bd428d5d2ce5542ccadc2591..000c114f1853f9eb060c856b01bd2df5d07a838b 100644 (file)
@@ -83,8 +83,16 @@ void MainWindow::fillDeviceList()
 {
   ui->cbox_devices->clear();
 
-  for (const DeviceProber::DeviceInfo& dinfo : m_prober->listDevices())
-    ui->cbox_devices->addItem(dinfo.tag, dinfo.path);
+  for (const DeviceProber::DeviceInfo& dinfo : m_prober->listDevices()) {
+    QString name;
+    if (dinfo.name.length() == 0)
+      name = "(no name)";
+    else
+      name = dinfo.name;
+
+    QString tag = QString("%1 [%2]").arg(name).arg(dinfo.path);
+    ui->cbox_devices->addItem(tag, dinfo.path);
+  }
 }
 
 void MainWindow::fillEffectSlotsList(const int effectCount)