void TerminalInputWidget::keyPressEvent(QKeyEvent* event) { switch (event->key()) { case Qt::Key_Return: case Qt::Key_Enter: { QString text = currentText(); if (!text.isEmpty()) { insertItem(0, text); clearEditText(); emit enterKeyPressed(text); } break; } case Qt::Key_Escape: clearEditText(); break; default: QComboBox::keyPressEvent(event); break; } }
void KHistoryComboBox::setHistoryItems( const QStringList &items, bool setCompletionList ) { QStringList insertingItems = items; KComboBox::clear(); // limit to maxCount() const int itemCount = insertingItems.count(); const int toRemove = itemCount - maxCount(); if (toRemove >= itemCount) { insertingItems.clear(); } else { for (int i = 0; i < toRemove; ++i) insertingItems.pop_front(); } insertItems( insertingItems ); if ( setCompletionList && useCompletion() ) { // we don't have any weighting information here ;( KCompletion *comp = completionObject(); comp->setOrder( KCompletion::Insertion ); comp->setItems( insertingItems ); comp->setOrder( KCompletion::Weighted ); } clearEditText(); }
CaptureFilterCombo::CaptureFilterCombo(QWidget *parent, bool plain) : QComboBox(parent), cf_edit_(NULL) { cf_edit_ = new CaptureFilterEdit(this, plain); setEditable(true); // Enabling autocompletion here gives us two simultaneous completions: // Inline (highlighted text) for entire filters, handled here and popup // completion for fields handled by CaptureFilterEdit. setAutoCompletion(false); setLineEdit(cf_edit_); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); setInsertPolicy(QComboBox::NoInsert); setAccessibleName(tr("Capture filter selector")); setStyleSheet( "QComboBox {" #ifdef Q_OS_MAC " border: 1px solid gray;" #else " border: 1px solid palette(shadow);" #endif " border-radius: 3px;" " padding: 0px 0px 0px 0px;" " margin-left: 0px;" " min-width: 20em;" " }" "QComboBox::drop-down {" " subcontrol-origin: padding;" " subcontrol-position: top right;" " width: 16px;" " border-left-width: 0px;" " }" "QComboBox::down-arrow {" " image: url(:/icons/toolbar/14x14/x-filter-dropdown.png);" " }" "QComboBox::down-arrow:on { /* shift the arrow when popup is open */" " top: 1px;" " left: 1px;" "}" ); connect(this, SIGNAL(interfacesChanged()), cf_edit_, SLOT(checkFilter())); connect(cf_edit_, SIGNAL(pushFilterSyntaxStatus(const QString&)), this, SIGNAL(pushFilterSyntaxStatus(const QString&))); connect(cf_edit_, SIGNAL(popFilterSyntaxStatus()), this, SIGNAL(popFilterSyntaxStatus())); connect(cf_edit_, SIGNAL(captureFilterSyntaxChanged(bool)), this, SIGNAL(captureFilterSyntaxChanged(bool))); connect(cf_edit_, SIGNAL(startCapture()), this, SIGNAL(startCapture())); connect(cf_edit_, SIGNAL(startCapture()), this, SLOT(saveAndRebuildFilterList())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(rebuildFilterList())); connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(rebuildFilterList())); rebuildFilterList(); clearEditText(); }
/*! @beta Removes the item at the given \a index from HbComboBox. If \a index passed is current index then current index will be updated accordingly. */ void HbComboBox::removeItem( int index ) { Q_D( HbComboBox ); if( d->mModel ) { int rowCount = d->mModel->rowCount( ); if( index >=0 && index < rowCount ) { bool currentText = false; if ( d->mModel->index( index, 0 ) == d->mCurrentIndex ) { currentText = true; d->mModel->removeRow( index ); } else if( d->mCurrentIndex.row( ) > index ) { int row = d->mCurrentIndex.row( ); d->mModel->removeRow( index ); d->mCurrentIndex = d->mModel->index( --row, 0 ); d->currentIndexChanged( d->mCurrentIndex ); } else { d->mModel->removeRow( index ); } if( d->mModel->rowCount( ) == 0 ) { if( d->mEditable ) { clearEditText( ); } else { if( d->mLineEdit ) { d->mLineEdit->setText( QString( ) ); } else { d->mText.clear( ); HbStyleOptionComboBox comboBoxOption; initStyleOption( &comboBoxOption ); style( )->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } d->mCurrentIndex = QModelIndex(); return; } if( currentText ) { d->mCurrentIndex = d->mModel->index( 0, 0 ); if( d->mEditable ) { disconnect(d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); d->mLineEdit->setText( d->mModel->data( d->mCurrentIndex ).toString( ) ); connect(d->mLineEdit, SIGNAL( textChanged ( QString ) ), this, SLOT( _q_textChanged( QString ) ) ); } else { if( d->mLineEdit ) { d->mLineEdit->setText( QString( ) ); } else { d->mText = d->mModel->data( d->mCurrentIndex ).toString( ); HbStyleOptionComboBox comboBoxOption; initStyleOption( &comboBoxOption ); style( )->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption); } } d->currentIndexChanged( d->mCurrentIndex ); } } } }
CaptureFilterCombo::CaptureFilterCombo(QWidget *parent) : QComboBox(parent), cf_edit_(NULL) { cf_edit_ = new CaptureFilterEdit(); setEditable(true); setLineEdit(cf_edit_); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); setInsertPolicy(QComboBox::NoInsert); setAccessibleName(tr("Capture filter selector")); setStyleSheet( "QComboBox {" #ifdef Q_OS_MAC " border: 1px solid gray;" #else " border: 1px solid palette(shadow);" #endif " border-radius: 3px;" " padding: 0px 0px 0px 0px;" " margin-left: 0px;" " min-width: 20em;" " }" "QComboBox::drop-down {" " subcontrol-origin: padding;" " subcontrol-position: top right;" " width: 16px;" " border-left-width: 0px;" " }" "QComboBox::down-arrow {" " image: url(:/dfilter/dfilter_dropdown.png);" " }" "QComboBox::down-arrow:on { /* shift the arrow when popup is open */" " top: 1px;" " left: 1px;" "}" ); completer()->setCompletionMode(QCompleter::PopupCompletion); connect(this, SIGNAL(interfacesChanged()), cf_edit_, SLOT(checkFilter())); connect(cf_edit_, SIGNAL(pushFilterSyntaxStatus(QString&)), this, SIGNAL(pushFilterSyntaxStatus(QString&))); connect(cf_edit_, SIGNAL(popFilterSyntaxStatus()), this, SIGNAL(popFilterSyntaxStatus())); connect(cf_edit_, SIGNAL(captureFilterSyntaxChanged(bool)), this, SIGNAL(captureFilterSyntaxChanged(bool))); connect(cf_edit_, SIGNAL(startCapture()), this, SIGNAL(startCapture())); connect(cf_edit_, SIGNAL(startCapture()), this, SLOT(rebuildFilterList())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(rebuildFilterList())); connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(rebuildFilterList())); rebuildFilterList(false); clearEditText(); }
void KMyMoneySecurity::setCurrentTextById(const QString& id) { if (!id.isEmpty()) { QString security = MyMoneyFile::instance()->account(id).name(); setCompletedText(security); setEditText(security); } else { setCompletedText(QString()); clearEditText(); } }
void KMyMoneyCategory::setCurrentTextById(const QString& id) { if (!id.isEmpty()) { QString category = MyMoneyFile::instance()->accountToCategory(id); setCompletedText(category); setEditText(category); } else { setCompletedText(QString()); clearEditText(); } setSuppressObjectCreation(false); }
void MyComboBox::setComboText(const QString& text) { if (!text.isEmpty()) { int i = findText(text); if (i > -1) setCurrentIndex(i); else lineEdit()->setText(text); } else clearEditText(); }
/*! @beta Removes all items from model. */ void HbComboBox::clear( ) { Q_D( HbComboBox ); if( d->mModel ) { d->mModel->removeRows( 0, d->mModel->rowCount( ) ); d->mCurrentIndex = QModelIndex( ); if( d->mEditable ) { clearEditText( ); } else { if( d->mLineEdit ) { d->mLineEdit->setText( QString( ) ); } else { d->mText.clear( ); HbStyleOptionComboBox comboBoxOption; initStyleOption( &comboBoxOption ); style( )->updatePrimitive( d->mTextItem, HbStyle::P_ComboBox_text, &comboBoxOption ); } } } }