void MainWindow::updateArgumentCompleter(QStringList *list, bool google) { editingCompleter++; QCompleter *completer = ui->txtArgument->completer(); if (completer == NULL) { completer = new QCompleter(*list, ui->txtArgument); ui->txtArgument->setCompleter(completer); } else { QStringListModel *model = new QStringListModel(*list, completer); completer->setModel(model); } completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setCompletionMode(QCompleter::PopupCompletion); completer->popup()->installEventFilter(this); completer->popup()->setItemDelegate(new GoogleResultDelegate()); if (google) { completer->setMaxVisibleItems(21); } else { completer->setMaxVisibleItems(7); } completer->setCompletionPrefix(ui->txtArgument->text()); if (!list->isEmpty()) { completer->complete(); } editingCompleter--; }
void Omnibar::showCommands() { this->setFocus(); this->setText(": "); QCompleter *completer = this->completer(); completer->setCompletionMode(QCompleter::PopupCompletion); completer->setModelSorting(QCompleter::CaseSensitivelySortedModel); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setFilterMode(Qt::MatchStartsWith); completer->setMaxVisibleItems(20); completer->setCompletionPrefix(": "); completer->complete(); }