void MetaQueryWidget::makeGenericComboSelection( bool editable, Collections::QueryMaker* populateQuery ) { KComboBox* combo = new KComboBox( this ); combo->setEditable( editable ); if( populateQuery != 0 ) { m_runningQueries.insert(populateQuery, QWeakPointer<KComboBox>(combo)); connect( populateQuery, SIGNAL(newResultReady(QStringList)), SLOT(populateComboBox(QStringList)) ); connect( populateQuery, SIGNAL(queryDone()), SLOT(comboBoxPopulated()) ); populateQuery->run(); } combo->setEditText( m_filter.value ); connect( combo, SIGNAL(editTextChanged( const QString& ) ), SLOT(valueChanged(const QString&)) ); combo->completionObject()->setIgnoreCase( true ); combo->setCompletionMode( KGlobalSettings::CompletionPopup ); combo->setInsertPolicy( QComboBox::InsertAtTop ); m_valueSelection1 = combo; }
QWidget * IngredientNameDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &/* option */, const QModelIndex & index ) const { //Set up the combo box KComboBox * editor = new KComboBox( parent ); editor->setAutoFillBackground( true ); editor->setEditable( true ); editor->setCompletionMode( KGlobalSettings::CompletionPopup ); //Set the models and the completion objects if ( !index.data(IngredientsEditor::IsHeaderRole).toBool() ) { editor->setModel( m_database->allIngredientsModels()->ingredientNameModel() ); editor->setCompletionObject( m_database->allIngredientsModels()->ingredientNameCompletion() ); } else { editor->setModel( m_database->allIngHeadersModels()->ingHeaderNameModel() ); editor->setCompletionObject( m_database->allIngHeadersModels()->ingHeaderNameCompletion() ); } return editor; }
/* InputDialog */ InputDialog::InputDialog(const QString &caption, uint options, const QStringList& history, const QString& hint, const QString& alter, KileInfo *ki, QWidget *parent, const char *name) : KDialog (parent), m_ki(ki) { setModal(true); setButtons(Ok | Cancel); setDefaultButton(Ok); showButtonSeparator(true); setObjectName(name); QString newcaption = caption; setCaption(newcaption.remove('&')); m_labelprefix = ( newcaption == "chapter" ) ? "chap:" : "sec:"; m_usedSelection = false; QWidget *page = new QWidget(this); setMainWidget(page); QGridLayout *gbox = new QGridLayout(page); QLabel *lb = new QLabel(hint, page); gbox->addWidget(lb, 0, 0, 1, 3); m_tag.clear(); QWidget *focus; if((options & KileAction::KeepHistory) || (options & KileAction::FromLabelList) || (options & KileAction::FromBibItemList)) { KComboBox *input = new KComboBox(true, page); input->setObjectName("input_dialog_input"); input->setCompletionMode(KGlobalSettings::CompletionAuto); input->setMinimumWidth(300); focus = input; connect(input, SIGNAL(textChanged(const QString&)), this, SLOT(setTag(const QString&))); connect(this, SIGNAL(setInput(const QString&)), input, SLOT(setEditText(const QString&))); if(options & KileAction::ShowBrowseButton) { gbox->addWidget(input, 1, 0); } else { gbox->addWidget(input, 1, 0, 1, 3); } QStringList list; if(options & KileAction::FromLabelList) { list = ki->allLabels(); if(list.size() > 0) { input->addItems(list); m_tag = list.first(); } } else if(options & KileAction::FromBibItemList) { list = ki->allBibItems(); if(list.size() > 0) { input->addItems(list); m_tag = list.first(); } } else { if(history.size() > 0){ input->addItems(history); m_tag = history.first(); } } }