+void Wizard::slotDetectWebcam()
+{
+#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD)
+ m_capture.device_list->clear();
+
+ // Video 4 Linux device detection
+ V4lCaptureHandler v4l(NULL);
+ for (int i = 0; i < 10; i++) {
+ QString path = "/dev/video" + QString::number(i);
+ if (QFile::exists(path)) {
+ QStringList deviceInfo = v4l.getDeviceName(path.toUtf8().constData());
+ if (!deviceInfo.isEmpty()) {
+ QTreeWidgetItem *item = new QTreeWidgetItem(m_capture.device_list, QStringList() << deviceInfo.at(0) << "(" + deviceInfo.at(1) + ") " + deviceInfo.at(2));
+ item->setData(0, Qt::UserRole, path);
+ item->setData(0, Qt::UserRole + 1, deviceInfo.at(1));
+ }
+ }
+ }
+ if (m_capture.device_list->topLevelItemCount() > 0) {
+ m_capture.v4l_status->setText(i18n("Select your default video4linux device"));
+ // select default device
+ bool found = false;
+ for (int i = 0; i < m_capture.device_list->topLevelItemCount(); i++) {
+ QTreeWidgetItem * item = m_capture.device_list->topLevelItem(i);
+ if (item && item->data(0, Qt::UserRole).toString() == KdenliveSettings::video4vdevice()) {
+ m_capture.device_list->setCurrentItem(item);
+ found = true;
+ break;
+ }
+ }
+ if (!found) m_capture.device_list->setCurrentItem(m_capture.device_list->topLevelItem(0));
+ } else m_capture.v4l_status->setText(i18n("No device found, plug your webcam and refresh."));
+#endif
+}
+
+void Wizard::slotUpdateCaptureParameters()
+{
+ QTreeWidgetItem * item = m_capture.device_list->currentItem();
+ if (!item) return;
+ QString device = item->data(0, Qt::UserRole).toString();
+ if (!device.isEmpty()) KdenliveSettings::setVideo4vdevice(device);
+
+ QString size = item->data(0, Qt::UserRole + 1).toString();
+ if (!size.isEmpty()) KdenliveSettings::setVideo4size(size);
+}