void KHistoryComboBox::init( bool useCompletion ) { // Set a default history size to something reasonable, Qt sets it to INT_MAX by default setMaxCount( 50 ); if ( useCompletion ) completionObject()->setOrder( KCompletion::Weighted ); setInsertPolicy( NoInsert ); d->myIterateIndex = -1; d->myRotated = false; d->myPixProvider = 0L; // obey HISTCONTROL setting QByteArray histControl = qgetenv("HISTCONTROL"); if ( histControl == "ignoredups" || histControl == "ignoreboth" ) setDuplicatesEnabled( false ); connect(this, SIGNAL(aboutToShowContextMenu(QMenu*)), SLOT(addContextMenuItems(QMenu*))); connect(this, SIGNAL(activated(int)), SLOT(slotReset())); connect(this, SIGNAL(returnPressed(QString)), SLOT(slotReset())); // We want slotSimulateActivated to be called _after_ QComboBoxPrivate::_q_returnPressed // otherwise there's a risk of emitting activated twice (slotSimulateActivated will find // the item, after some app's slotActivated inserted the item into the combo). connect(this, SIGNAL(returnPressed(QString)), SLOT(slotSimulateActivated(QString)), Qt::QueuedConnection); }
QGo4CommandsHistory::QGo4CommandsHistory(QWidget* w, const char* name) : QComboBox(TRUE, w, name) { setMaxCount(50); setInsertionPolicy(AtTop); setDuplicatesEnabled(FALSE); setAutoCompletion(TRUE); fiEnterPressed = 0; }
KLSHistoryCombo::KLSHistoryCombo(QWidget *parent, const char *name) : KHistoryCombo(parent, name) { setMaxCount(KLSConfig::maxCountComboUrl()); setDuplicatesEnabled(false); setAutoCompletion(false); connect(this, SIGNAL(activated(const QString& )), this, SLOT(addToHistory(const QString& ))); }
KrunnerHistoryComboBox::KrunnerHistoryComboBox(bool useCompletion, QWidget * parent) : KHistoryComboBox(useCompletion, parent), m_addingToHistory(false) { setPalette(QApplication::palette()); setDuplicatesEnabled(false); setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLengthWithIcon); // in theory, the widget should detect the direction from the content // but this is not available in Qt4.4/KDE 4.2, so the best default for this widget // is LTR: as it's more or less a "command line interface" // FIXME remove this code when KLineEdit has automatic direction detection of the "paragraph" setLayoutDirection(Qt::LeftToRight); }
int QComboBox::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 24) qt_static_metacall(this, _c, _id, _a); _id -= 24; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = isEditable(); break; case 1: *reinterpret_cast< int*>(_v) = count(); break; case 2: *reinterpret_cast< QString*>(_v) = currentText(); break; case 3: *reinterpret_cast< int*>(_v) = currentIndex(); break; case 4: *reinterpret_cast< int*>(_v) = maxVisibleItems(); break; case 5: *reinterpret_cast< int*>(_v) = maxCount(); break; case 6: *reinterpret_cast< InsertPolicy*>(_v) = insertPolicy(); break; case 7: *reinterpret_cast< SizeAdjustPolicy*>(_v) = sizeAdjustPolicy(); break; case 8: *reinterpret_cast< int*>(_v) = minimumContentsLength(); break; case 9: *reinterpret_cast< QSize*>(_v) = iconSize(); break; case 10: *reinterpret_cast< bool*>(_v) = autoCompletion(); break; case 11: *reinterpret_cast< Qt::CaseSensitivity*>(_v) = autoCompletionCaseSensitivity(); break; case 12: *reinterpret_cast< bool*>(_v) = duplicatesEnabled(); break; case 13: *reinterpret_cast< bool*>(_v) = hasFrame(); break; case 14: *reinterpret_cast< int*>(_v) = modelColumn(); break; } _id -= 15; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setEditable(*reinterpret_cast< bool*>(_v)); break; case 3: setCurrentIndex(*reinterpret_cast< int*>(_v)); break; case 4: setMaxVisibleItems(*reinterpret_cast< int*>(_v)); break; case 5: setMaxCount(*reinterpret_cast< int*>(_v)); break; case 6: setInsertPolicy(*reinterpret_cast< InsertPolicy*>(_v)); break; case 7: setSizeAdjustPolicy(*reinterpret_cast< SizeAdjustPolicy*>(_v)); break; case 8: setMinimumContentsLength(*reinterpret_cast< int*>(_v)); break; case 9: setIconSize(*reinterpret_cast< QSize*>(_v)); break; case 10: setAutoCompletion(*reinterpret_cast< bool*>(_v)); break; case 11: setAutoCompletionCaseSensitivity(*reinterpret_cast< Qt::CaseSensitivity*>(_v)); break; case 12: setDuplicatesEnabled(*reinterpret_cast< bool*>(_v)); break; case 13: setFrame(*reinterpret_cast< bool*>(_v)); break; case 14: setModelColumn(*reinterpret_cast< int*>(_v)); break; } _id -= 15; } else if (_c == QMetaObject::ResetProperty) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 15; } #endif // QT_NO_PROPERTIES return _id; }
HistoryField::HistoryField( QWidget* parent, const char* name = 0 ) : QComboBox( true, parent, name ), digraphEnabled( false ) { setDuplicatesEnabled( false ); setInsertionPolicy( QComboBox::AtBottom ); setAutoCompletion( true ); installEventFilter( this ); }