aboutsummaryrefslogtreecommitdiff
path: root/lib/addressbar/completer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/addressbar/completer.cpp')
-rw-r--r--lib/addressbar/completer.cpp81
1 files changed, 0 insertions, 81 deletions
diff --git a/lib/addressbar/completer.cpp b/lib/addressbar/completer.cpp
deleted file mode 100644
index 578f745..0000000
--- a/lib/addressbar/completer.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * This file is part of smolbote. It's copyrighted by the contributors recorded
- * in the version control history of the file, available from its original
- * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote
- *
- * SPDX-License-Identifier: GPL-3.0
- */
-
-#include "completer.h"
-#include <QKeyEvent>
-
-Completer::Completer(QWidget *parent)
- : QListView(parent)
-{
- setObjectName("Completer");
- setWindowFlags(Qt::ToolTip);
- setEditTriggers(QAbstractItemView::NoEditTriggers);
-
- connect(this, &Completer::activated, [=](const QModelIndex &index) {
- hide();
- emit completionActivated(index.data().toString());
- });
-}
-
-bool Completer::updateItems(const QStringList &list)
-{
- if(list.isEmpty())
- return false;
-
- auto *model = new QStringListModel(list, this);
- setModel(model);
-
- delete completionModel;
- completionModel = model;
-
- return true;
-}
-
-bool Completer::keyPressed(QKeyEvent *event)
-{
- if(isHidden())
- return false;
-
- Q_CHECK_PTR(completionModel);
-
- int count = completionModel->rowCount();
- const QModelIndex currentIndex = this->currentIndex();
-
- switch(event->key()) {
- case Qt::Key_Down:
- if(currentIndex.row() + 1 >= count) {
- setCurrentIndex(completionModel->index(0, 0));
- } else {
- setCurrentIndex(completionModel->index(currentIndex.row() + 1, 0));
- }
- break;
-
- case Qt::Key_Up:
- if(currentIndex.row() == 0) {
- setCurrentIndex(completionModel->index(count - 1, 0));
- } else {
- setCurrentIndex(completionModel->index(currentIndex.row() - 1, 0));
- }
- break;
-
- case Qt::Key_Escape:
- hide();
- break;
-
- case Qt::Key_Enter:
- case Qt::Key_Return:
- hide();
- emit completionActivated(currentIndex.data().toString());
- break;
-
- default:
- return false;
- }
-
- return true;
-}