void AVForm::onVideoDevChanged(int index) { if (index<0 || index>=videoDeviceList.size()) { qWarning() << "Invalid index"; return; } QString dev = videoDeviceList[index].first; Settings::getInstance().setVideoDev(dev); bool previouslyBlocked = bodyUI->videoModescomboBox->blockSignals(true); updateVideoModes(index); bodyUI->videoModescomboBox->blockSignals(previouslyBlocked); camera.open(dev); if (dev == "none") Core::getInstance()->getAv()->sendNoVideo(); }
void AVForm::getVideoDevices() { QString settingsInDev = Settings::getInstance().getVideoDev(); int videoDevIndex = 0; videoDeviceList = CameraDevice::getDeviceList(); //prevent currentIndexChanged to be fired while adding items bodyUI->videoDevCombobox->blockSignals(true); bodyUI->videoDevCombobox->clear(); for (QPair<QString, QString> device : videoDeviceList) { bodyUI->videoDevCombobox->addItem(device.second); if (device.first == settingsInDev) videoDevIndex = bodyUI->videoDevCombobox->count()-1; } bodyUI->videoDevCombobox->setCurrentIndex(videoDevIndex); bodyUI->videoDevCombobox->blockSignals(false); updateVideoModes(videoDevIndex); }
void AVForm::on_videoDevCombobox_currentIndexChanged(int index) { assert(0 <= index && index < videoDeviceList.size()); Settings::getInstance().setScreenGrabbed(false); QString dev = videoDeviceList[index].first; Settings::getInstance().setVideoDev(dev); bool previouslyBlocked = videoModescomboBox->blockSignals(true); updateVideoModes(index); videoModescomboBox->blockSignals(previouslyBlocked); if (Settings::getInstance().getScreenGrabbed()) return; int modeIndex = videoModescomboBox->currentIndex(); VideoMode mode = VideoMode(); if (0 < modeIndex && modeIndex < videoModes.size()) mode = videoModes[modeIndex]; camera.open(dev, mode); if (dev == "none") Core::getInstance()->getAv()->sendNoVideo(); }