57 if (e->type() == QEvent::FocusOut) {
58 QFocusEvent *
const f =
static_cast<QFocusEvent *
>(e);
60 if (o == lineEdit() && f->reason() == Qt::TabFocusReason) {
61 int index = findText(currentText());
64 setCurrentIndex(index);
69 if (f->reason() == Qt::PopupFocusReason)
72 if (f->reason() == Qt::ActiveWindowFocusReason) {
73 Q_EMIT textActivated(currentText());
77 if (f->reason() == Qt::MouseFocusReason) {
78 Q_EMIT textActivated(currentText());
83 Q_EMIT textActivated(currentText());
88 return QComboBox::eventFilter(o, e);
178 setFocusPolicy(Qt::WheelFocus);
184 m_comboBox->setInsertPolicy(QComboBox::NoInsert);
218 const int old_index =
m_comboBox->currentIndex();
219 int new_index = old_index + n;
228 if (new_index != old_index) {
236 if (!updatesEnabled())
239 setUpdatesEnabled(
false);
241 const QString key(
m_comboBox->itemText(index));
247 setUpdatesEnabled(
true);
251 BT_ASSERT(m_comboBox->lineEdit());
253 const QString text(m_comboBox->lineEdit()->text());
254 for (int index = 0; index < m_comboBox->count(); ++index) {
255 if (m_comboBox->itemText(index) == text) {
259 Q_EMIT focusOut(index);
268 m_isResetting =
false;