示例#1
0
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);
}
示例#3
0
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);
}