static void setPath(QComboBox *const comboBox, QString const &value) { int const valueIndex = comboBox->findData(value); if (valueIndex < 0) { comboBox->addItem(QDir::toNativeSeparators(value), value); int const customIndex = getCustomIndex(comboBox); if (comboBox->count() > customIndex + 2) comboBox->removeItem(customIndex + 1); comboBox->setCurrentIndex(comboBox->count() - 1); } else comboBox->setCurrentIndex(valueIndex); }
static void setFps(QComboBox *const comboBox, QSize const &value) { int const valueIndex = comboBox->findData(value); if (valueIndex < 0) { comboBox->addItem(QString::number(double(value.width()) / value.height()) + " fps", value); int const customIndex = getCustomIndex(comboBox); if (customIndex + 4 < comboBox->count()) comboBox->removeItem(customIndex + 1); comboBox->setCurrentIndex(comboBox->count() - 1); } else comboBox->setCurrentIndex(valueIndex); }
void FpsSelector::indexChanged(int const index) { if (getCustomIndex(comboBox_) == index) { bool ok = false; double const fps = QInputDialog::getDouble(comboBox_, tr("Set Frame Rate"), tr("Frame rate (fps):"), double(value_.width()) / value_.height(), 30.0, 120.0, 4, &ok); setFps(comboBox_, ok ? QSize(int(fps * 10000 + 0.5), 10000) : value_); } }
void SoundDialog::rateIndexChange(int const index) { if (getCustomIndex(rateBox_) == index) { QSize const size = rateBox_->itemData(index).toSize(); int const currentRate = rate_; bool ok = false; int r = QInputDialog::getInteger(this, tr("Set Sample Rate"), tr("Sample rate (Hz):"), currentRate, size.width(), size.height(), 1, &ok); if (!ok) r = currentRate; setRate(rateBox_, r); } }
void PathSelector::indexChanged(int const index) { if (getCustomIndex(comboBox_) == index) { QString const &dir = QFileDialog::getExistingDirectory(comboBox_, caption_, value_); setPath(comboBox_, dir.isEmpty() ? value_ : dir); } }