void EarMobileUI::updateInputs() { Wt::Json::Object response; response = zmq_conn::interact("track?"); int server_track_idx = response.get("current"); if(ui_track_idx != server_track_idx) { loadFragments(fragmentTree, true); ui_track_idx = server_track_idx; } }
QList<QTreeWidgetItem*> FragmentTable::loadFragments(QDir const& dir, QTreeWidgetItem* parent) { QList<QTreeWidgetItem*> items; QTreeWidgetItem* item; QDir::Filters filters(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot | QDir::Readable); QStringList contents(dir.entryList(filters, QDir::DirsLast)); QStringList::iterator iter; for (iter = contents.begin(); iter != contents.end(); ++iter) { QFileInfo info(dir, *iter); QString name(*iter); name = name.replace(".efp", " ", Qt::CaseInsensitive); name = name.replace(".xyz", " ", Qt::CaseInsensitive); name = name.replace("_L", " (L)"); name = name.replace("_", " "); if (info.isDir()) { if (parent == 0) { item = new QTreeWidgetItem(QStringList(name)); loadFragments(QDir(info.filePath()), item); items.append(item); }else { item = new QTreeWidgetItem(parent, QStringList(name)); } item->setData(0, s_fileRole, s_invalidFile); item->setData(0, s_imageRole, s_invalidFile); }else if (info.suffix().contains("efp", Qt::CaseInsensitive) || info.suffix().contains("xyz", Qt::CaseInsensitive) ) { if (parent == 0) { item = new QTreeWidgetItem(QStringList(name)); items.append(item); }else { item = new QTreeWidgetItem(parent, QStringList(name)); } item->setData(0, s_fileRole, info.filePath()); item->setData(0, s_imageRole, s_invalidFile); info.setFile(dir, info.completeBaseName() + ".png"); if (info.exists()) { item->setData(0, s_imageRole, info.filePath()); }else { QLOG_DEBUG() << "Image file not found:" << info.filePath(); } } } return items; }