void QHiMDDetection::scan_for_minidisc_devices() { /* create device entry for disc images first */ QHiMDDevice * mddev = new QHiMDDevice(); mddev->setMdInserted(true); mddev->setName("disc image"); dlist.append(mddev); emit deviceListChanged(dlist); scan_for_himd_devices(); scan_for_netmd_devices(); }
void QHiMDWinDetection::remove_himddevice(QString path) { int index = -1; QHiMDDevice * dev = static_cast<QHiMDDevice *>(find_by_path(path)); if (!dev) return; index = dlist.indexOf(dev); if(dev->isOpen()) dev->close(); if(dev->name() != "disc image") { if(dev->MdChange() != NULL) unregister_mediaChange((HDEVNOTIFY)dev->MdChange()); if(dev->deviceHandle() != NULL) CloseHandle(dev->deviceHandle()); } delete dev; dev = NULL; dlist.removeAt(index); emit deviceListChanged(dlist); }
void QHiMDDetection::remove_himddevice(QString path) { QHiMDDevice * dev = static_cast<QHiMDDevice *>(find_by_path(path)); int i = dlist.indexOf(find_by_path(path)); if(i < 0) return; if(dev->isOpen()) dev->close(); delete dev; dev = NULL; dlist.removeAt(i); }
void QHiMDMainWindow::on_action_Connect_triggered() { int index; QHiMDDevice *dev; QString HiMDDirectory; HiMDDirectory = settings.value("lastImageDirectory", QDir::rootPath()).toString(); HiMDDirectory = QFileDialog::getExistingDirectory(this, tr("Select directory of HiMD Medium"), HiMDDirectory, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(HiMDDirectory.isEmpty()) return; index = ui->himd_devices->findText("disc image", Qt::MatchContains); ui->himd_devices->setCurrentIndex(index); // index of disk image device dev = (QHiMDDevice *)ui->himd_devices->itemData(index).value<void *>(); dev->setPath(HiMDDirectory); ui->himd_devices->setItemText(index, QString((dev->name() + " at " + dev->path() ))); open_device(dev); }