/*! Sets the model which provides completions to \a model. The \a model can be list model or a tree model. If a model has been already previously set and it has the QCompleter as its parent, it is deleted. For convenience, if \a model is a QFileSystemModel, QCompleter switches its caseSensitivity to Qt::CaseInsensitive on Windows and Qt::CaseSensitive on other platforms. \sa completionModel(), modelSorting, {Handling Tree Models} */ void QCompleter::setModel(QAbstractItemModel *model) { Q_D(QCompleter); QAbstractItemModel *oldModel = d->proxy->sourceModel(); d->proxy->setSourceModel(model); if (d->popup) setPopup(d->popup); // set the model and make new connections if (oldModel && oldModel->QObject::parent() == this) delete oldModel; #ifndef QT_NO_DIRMODEL if (qobject_cast<QDirModel *>(model)) { #if (defined(Q_OS_WIN) && !defined(Q_OS_WINCE)) || defined(Q_OS_SYMBIAN) setCaseSensitivity(Qt::CaseInsensitive); #else setCaseSensitivity(Qt::CaseSensitive); #endif } #endif // QT_NO_DIRMODEL #ifndef QT_NO_FILESYSTEMMODEL QFileSystemModel *fsModel = qobject_cast<QFileSystemModel *>(model); if (fsModel) { #if (defined(Q_OS_WIN) && !defined(Q_OS_WINCE)) || defined(Q_OS_SYMBIAN) setCaseSensitivity(Qt::CaseInsensitive); #else setCaseSensitivity(Qt::CaseSensitive); #endif setCompletionRole(QFileSystemModel::FileNameRole); connect(fsModel, SIGNAL(directoryLoaded(QString)), this, SLOT(_q_fileSystemModelDirectoryLoaded(QString))); } #endif // QT_NO_FILESYSTEMMODEL }
void QValueFilterEditor::sensitivityLabelClicked(Qt::MouseButtons buttons) { if (buttons.testFlag(Qt::LeftButton)){ if (m_sensitivity == Qt::CaseInsensitive){ setCaseSensitivity(Qt::CaseSensitive); } else { setCaseSensitivity(Qt::CaseInsensitive); } } }
QValueFilterEditor::QValueFilterEditor(QWidget* parent) : QWidget(parent) { QHBoxLayout* mLayout = new QHBoxLayout(this); mLayout->setSpacing(0); mLayout->setContentsMargins(0, 0, 0, 0); m_valueLineEdit = new QLineEdit(this); mLayout->addWidget(m_valueLineEdit); m_sensitivityLabel = new QClickableLabel(this); connect(m_sensitivityLabel, SIGNAL(clicked(Qt::MouseButtons)), this, SLOT(sensitivityLabelClicked(Qt::MouseButtons))); mLayout->addWidget(m_sensitivityLabel); m_matchFlagsLabel = new QClickableLabel(this); connect(m_matchFlagsLabel, SIGNAL(clicked(Qt::MouseButtons)), this, SLOT(matchFlagsLabelClicked(Qt::MouseButtons))); mLayout->addWidget(m_matchFlagsLabel); setFocusProxy(m_valueLineEdit); setMatchFlag(Qt::MatchContains); setCaseSensitivity(Qt::CaseInsensitive); setFocusPolicy(Qt::StrongFocus); }
void ImageExporterOutputWidget::initializeFileNameTextEdit() { auto completer = new QCompleter; const QStringList filenameTags = QStringList() << "<width>" << "<height>" << "<enum#" << "<year>" << "<month>" << "<day>" << "<hour>" << "<minute>" << "<second>" << "<millisecond>"; auto model = new QStringListModel(filenameTags); completer->setModel(model); completer->setModelSorting(QCompleter::CaseInsensitivelySortedModel); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setWrapAround(false); m_ui->fileNameTextEdit->setCompleter(completer); }
GolangCompleter::GolangCompleter(QObject *parent) : SyntaxCompleter(parent) { model = new QStringListModel; setModel(model); setCaseSensitivity(Qt::CaseSensitive); setWrapAround(false); setCompletionMode(PopupCompletion); }
Completer::Completer(QObject* parent) : QCompleter(parent) { d.lineEdit = 0; d.defaultModel = 0; d.slashModel = 0; setCaseSensitivity(Qt::CaseInsensitive); setCompletionMode(InlineCompletion); connect(this, SIGNAL(highlighted(QString)), this, SLOT(insertCompletion(QString))); }
CCompleterLineEdit::CCompleterLineEdit(const QStringList& completions, QWidget *parent) : QLineEdit(parent) { m_pCompleter = new QCompleter(completions, this); setCaseSensitivity(Qt::CaseInsensitive); setCompletionMode(QCompleter::UnfilteredPopupCompletion); setCompleter(m_pCompleter); m_bCompleteOnDoubleClick = true; }
ScriptCompleter::ScriptCompleter() : QCompleter() , m_model(new QStandardItemModel) { setCompletionMode(QCompleter::PopupCompletion); setCaseSensitivity(Qt::CaseSensitive); setFilterMode(Qt::MatchStartsWith); setModel(m_model); }
void TagCompleter::ModelReady() { QFutureWatcher<TagCompletionModel*>* watcher = dynamic_cast<QFutureWatcher<TagCompletionModel*>*>(sender()); if (!watcher) return; TagCompletionModel* model = watcher->result(); setModel(model); setCaseSensitivity(Qt::CaseInsensitive); editor_->setCompleter(this); }
ChangeSelectionDialog::ChangeSelectionDialog(const QString &workingDirectory, Core::Id id, QWidget *parent) : QDialog(parent) , m_ui(new Ui::ChangeSelectionDialog) , m_process(0) , m_command(NoCommand) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); m_gitExecutable = GitPlugin::instance()->client()->vcsBinary(); m_ui->setupUi(this); m_ui->workingDirectoryEdit->setText(workingDirectory); m_gitEnvironment = GitPlugin::instance()->client()->processEnvironment(); m_ui->changeNumberEdit->setFocus(); m_ui->changeNumberEdit->selectAll(); connect(m_ui->changeNumberEdit, &Utils::CompletingLineEdit::textChanged, this, &ChangeSelectionDialog::changeTextChanged); connect(m_ui->workingDirectoryEdit, &QLineEdit::textChanged, this, &ChangeSelectionDialog::recalculateDetails); connect(m_ui->workingDirectoryEdit, &QLineEdit::textChanged, this, &ChangeSelectionDialog::recalculateCompletion); connect(m_ui->selectDirectoryButton, &QPushButton::clicked, this, &ChangeSelectionDialog::chooseWorkingDirectory); connect(m_ui->selectFromHistoryButton, &QPushButton::clicked, this, &ChangeSelectionDialog::selectCommitFromRecentHistory); connect(m_ui->showButton, &QPushButton::clicked, this, &ChangeSelectionDialog::acceptShow); connect(m_ui->cherryPickButton, &QPushButton::clicked, this, &ChangeSelectionDialog::acceptCherryPick); connect(m_ui->revertButton, &QPushButton::clicked, this, &ChangeSelectionDialog::acceptRevert); connect(m_ui->checkoutButton, &QPushButton::clicked, this, &ChangeSelectionDialog::acceptCheckout); if (id == "Git.Revert") m_ui->revertButton->setDefault(true); else if (id == "Git.CherryPick") m_ui->cherryPickButton->setDefault(true); else if (id == "Git.Checkout") m_ui->checkoutButton->setDefault(true); else m_ui->showButton->setDefault(true); m_changeModel = new QStringListModel(this); auto changeCompleter = new QCompleter(m_changeModel, this); m_ui->changeNumberEdit->setCompleter(changeCompleter); changeCompleter->setCaseSensitivity(Qt::CaseInsensitive); recalculateDetails(); recalculateCompletion(); }
MessageCompleter::MessageCompleter(QWidget *parent) : QCompleter(parent) { m_title = qobject_cast<QLineEdit*>(parent); Q_ASSERT(m_title); setCaseSensitivity(Qt::CaseInsensitive); setWrapAround(false); setCompletionColumn(0); setCompletionRole(Qt::EditRole); connect(Core::ICore::instance(), SIGNAL(viewNoteLoaded(Core::INoteView*,const WIZDOCUMENTDATA&,bool)), SLOT(onNoteLoaded(Core::INoteView*,const WIZDOCUMENTDATA&,bool))); }
void HistoryCompleter::init() { setPopup(new HistoryCompletionView()); // we want to complete against our own faked role setCompletionRole(HistoryCompletionModel::HistoryCompletionRole); // and since we fake our completion role, we can take // advantage of the sorted-model optimizations in QCompleter setCaseSensitivity(Qt::CaseSensitive); setModelSorting(QCompleter::CaseSensitivelySortedModel); m_filterTimer.setSingleShot(true); connect(&m_filterTimer, SIGNAL(timeout()), this, SLOT(updateFilter())); }
GenericDataObjectFilter& GenericDataObjectFilter::operator=(const GenericDataObjectFilter& filter) { if (this != & filter) { // set in this order so that multiple values will be cleared as needed. clearLists(false, true); m_multiValued = false; setCaseSensitivity(filter.getCaseSensitivity()); setInvertFilterResult(filter.isInvertFilterResult()); setFilterMeansAccept(filter.isFilterMeansAccept()); setCompareField(filter.getCompareField()); setCompareType(filter.getCompareType()); setMultiValued(filter.isMultiValued()); setValue(filter.getValue()); } return *this; }
WizMessageCompleter::WizMessageCompleter(QWidget *parent) : QCompleter(parent) { m_title = qobject_cast<QLineEdit*>(parent); Q_ASSERT(m_title); setCaseSensitivity(Qt::CaseInsensitive); setWrapAround(false); setCompletionColumn(0); setCompletionRole(Qt::EditRole); #if QT_VERSION >= 0x050200 setFilterMode(Qt::MatchContains); #endif connect(WizGlobal::instance(), SIGNAL(viewNoteLoaded(WizDocumentView*,const WIZDOCUMENTDATA&,bool)), SLOT(onNoteLoaded(WizDocumentView*,const WIZDOCUMENTDATA&,bool))); }
LocationCompleter::LocationCompleter(QObject* parent) : QCompleter(parent) { setMaxVisibleItems(6); QStandardItemModel* completeModel = new QStandardItemModel(); setModel(completeModel); QTreeView* treeView = new QTreeView; setPopup(treeView); treeView->setRootIsDecorated(false); treeView->header()->hide(); treeView->header()->setStretchLastSection(false); treeView->header()->setResizeMode(0, QHeaderView::Stretch); treeView->header()->resizeSection(1, 0); setCompletionMode(QCompleter::PopupCompletion); setCaseSensitivity(Qt::CaseInsensitive); setWrapAround(true); setCompletionColumn(1); }
ProjectItemCompleter::ProjectItemCompleter(QObject* parent) : QCompleter(parent), mModel(KDevelop::ICore::self()->projectController()->projectModel()), mBase( 0 ) { setModel(mModel); setCaseSensitivity( Qt::CaseInsensitive ); }
void TextSearcherICU::setPattern(const StringView& pattern, bool caseSensitive) { setCaseSensitivity(caseSensitive); setPattern(pattern.characters16(), pattern.length()); }
void TagCompleter::ModelReady(QFuture<TagCompletionModel*> future) { TagCompletionModel* model = future.result(); setModel(model); setCaseSensitivity(Qt::CaseInsensitive); editor_->setCompleter(this); }
TagCompleter::TagCompleter(Tags *tags, QObject *parent) : QCompleter(tags, parent), m_tags(tags) { setCaseSensitivity(Qt::CaseInsensitive); setCompletionMode(QCompleter::InlineCompletion); }
TempoMarkerDialog::TempoMarkerDialog(QWidget *parent) : QDialog(parent), ui(new Ui::TempoMarkerDialog), myBeatTypes(new QButtonGroup(this)), myListessoBeatTypes(new QButtonGroup(this)), myTripletFeelTypes(new QButtonGroup(this)) { ui->setupUi(this); QStringList descriptions; descriptions << "Fast Rock" << "Faster" << "Moderate Rock" << "Moderately" << "Moderately Fast Rock" << "Moderately Slow Funk" << "Moderately Slow Rock" << "Slow Blues" << "Slow Rock" << "Slower" << "Slowly"; ui->descriptionComboBox->addItems(descriptions); // Autocomplete for description choices. auto completer = new QCompleter(descriptions, this); completer->setCaseSensitivity(Qt::CaseInsensitive); ui->descriptionComboBox->setCompleter(completer); ui->descriptionComboBox->clearEditText(); // Prevent multiple beat types from being selected at once. myBeatTypes->addButton(ui->note2Button, TempoMarker::Half); myBeatTypes->addButton(ui->dottedNote2Button, TempoMarker::HalfDotted); myBeatTypes->addButton(ui->note4Button, TempoMarker::Quarter); myBeatTypes->addButton(ui->dottedNote4Button, TempoMarker::QuarterDotted); myBeatTypes->addButton(ui->note8Button, TempoMarker::Eighth); myBeatTypes->addButton(ui->dottedNote8Button, TempoMarker::EighthDotted); myBeatTypes->addButton(ui->note16Button, TempoMarker::Sixteenth); myBeatTypes->addButton(ui->dottedNote16Button, TempoMarker::SixteenthDotted); myBeatTypes->addButton(ui->note32Button, TempoMarker::ThirtySecond); myBeatTypes->addButton(ui->dottedNote32Button, TempoMarker::ThirtySecondDotted); ui->note4Button->setChecked(true); // Set the bpm range. ui->bpmSpinBox->setMinimum(TempoMarker::MIN_BEATS_PER_MINUTE); ui->bpmSpinBox->setMaximum(TempoMarker::MAX_BEATS_PER_MINUTE); ui->bpmSpinBox->setValue(TempoMarker::DEFAULT_BEATS_PER_MINUTE); // Prevent multiple listesso beat types from being selected at once. myListessoBeatTypes->addButton(ui->listessoNote2Button, TempoMarker::Half); myListessoBeatTypes->addButton(ui->listessoDottedNote2Button, TempoMarker::HalfDotted); myListessoBeatTypes->addButton(ui->listessoNote4Button, TempoMarker::Quarter); myListessoBeatTypes->addButton(ui->listessoDottedNote4Button, TempoMarker::QuarterDotted); myListessoBeatTypes->addButton(ui->listessoNote8Button, TempoMarker::Eighth); myListessoBeatTypes->addButton(ui->listessoDottedNote8Button, TempoMarker::EighthDotted); myListessoBeatTypes->addButton(ui->listessoNote16Button, TempoMarker::Sixteenth); myListessoBeatTypes->addButton(ui->listessoDottedNote16Button, TempoMarker::SixteenthDotted); myListessoBeatTypes->addButton(ui->listessoNote32Button, TempoMarker::ThirtySecond); myListessoBeatTypes->addButton(ui->listessoDottedNote32Button, TempoMarker::ThirtySecondDotted); ui->listessoNote2Button->setChecked(true); // Prevent triplet feel types from being selected at once. myTripletFeelTypes->addButton(ui->tripletFeelNoneCheckBox, TempoMarker::NoTripletFeel); myTripletFeelTypes->addButton(ui->tripletFeel8thCheckBox, TempoMarker::TripletFeelEighth); myTripletFeelTypes->addButton(ui->tripletFeel8thOffCheckBox, TempoMarker::TripletFeelEighthOff); myTripletFeelTypes->addButton(ui->tripletFeel16thCheckBox, TempoMarker::TripletFeelSixteenth); myTripletFeelTypes->addButton(ui->tripletFeel16thOffCheckBox, TempoMarker::TripletFeelSixteenthOff); ui->tripletFeelNoneCheckBox->setChecked(true); connect(ui->enableListessoCheckBox, SIGNAL(clicked(bool)), this, SLOT(onListessoChanged(bool))); ui->enableListessoCheckBox->setChecked(false); onListessoChanged(false); connect(ui->showMetronomeMarkerCheckBox, SIGNAL(clicked(bool)), this, SLOT(onShowMetronomeMarkerChanged(bool))); ui->showMetronomeMarkerCheckBox->setChecked(true); ui->descriptionComboBox->setFocus(); }