From 4c762b2516bc664293c2aec072074f1e34dda8c3 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Tue, 18 Mar 2025 21:19:28 +0530 Subject: Remove all the ui bits because screw it, lets unix a bit more --- include/InputMediator.hpp | 38 +------------------------ include/completion/Adapter.hpp | 12 -------- include/completion/CommandsAdapter.hpp | 19 ------------- include/completion/CommandsModel.hpp | 34 ---------------------- include/completion/Completer.hpp | 42 ---------------------------- include/completion/CompleterDelegate.hpp | 22 --------------- include/completion/FuzzySearchProxyModel.hpp | 15 ---------- include/completion/TabsAdapter.hpp | 20 ------------- include/completion/TabsModel.hpp | 25 ----------------- include/completion/UrlAdapter.hpp | 19 ------------- include/completion/UrlModel.hpp | 25 ----------------- include/keymap/KeymapEvaluator.hpp | 1 - include/widgets/InputLine.hpp | 40 -------------------------- include/widgets/WebViewStack.hpp | 6 +++- 14 files changed, 6 insertions(+), 312 deletions(-) delete mode 100644 include/completion/Adapter.hpp delete mode 100644 include/completion/CommandsAdapter.hpp delete mode 100644 include/completion/CommandsModel.hpp delete mode 100644 include/completion/Completer.hpp delete mode 100644 include/completion/CompleterDelegate.hpp delete mode 100644 include/completion/FuzzySearchProxyModel.hpp delete mode 100644 include/completion/TabsAdapter.hpp delete mode 100644 include/completion/TabsModel.hpp delete mode 100644 include/completion/UrlAdapter.hpp delete mode 100644 include/completion/UrlModel.hpp delete mode 100644 include/widgets/InputLine.hpp (limited to 'include') diff --git a/include/InputMediator.hpp b/include/InputMediator.hpp index 6025536..4aaa6c1 100644 --- a/include/InputMediator.hpp +++ b/include/InputMediator.hpp @@ -5,60 +5,24 @@ #include "LuaRuntime.hpp" #include "utils.hpp" -#include "widgets/InputLine.hpp" #include "widgets/WebViewStack.hpp" -// TODO: Rethink evaluation -class EvaluationType { -public: - EvaluationType() {} - virtual ~EvaluationType() = default; -}; -class NoopEval : public EvaluationType {}; - class InputMediator : public QObject { Q_OBJECT public: - InputMediator(InputLine *inputLine, WebViewStack *webViewStack, - LuaRuntime *luaRuntime); - - void showURLInput(QString url = "", OpenType openType = OpenType::OpenUrl); - void showCommandInput(QString command = ""); - void showTabsInput(QString command = ""); - void hideInputLine(); + InputMediator(WebViewStack *webViewStack, LuaRuntime *luaRuntime); DELEGATE(webViewStack, openUrl, openUrl) DELEGATE(webViewStack, currentUrl, currentUrl) DELEGATE(webViewStack, next, nextWebView) DELEGATE(webViewStack, previous, previousWebView) DELEGATE(webViewStack, closeCurrent, closeCurrentWebView) - DELEGATE(inputLine, getInputText, getInputText) private: - void showInputLine(); void evaluateCommand(QString command); - void setEvaluationType(EvaluationType *); - -private slots: - void onInputSubmit(QString input); private: - InputLine *inputLine; WebViewStack *webViewStack; LuaRuntime *luaRuntime; - EvaluationType *currentEvaluationType = new NoopEval(); -}; - -class UrlEval : public EvaluationType { -public: - UrlEval(OpenType type) : EvaluationType(), openType(type) {} - OpenType type() { return openType; } - -private: - OpenType openType; }; - -class CommandEval : public EvaluationType {}; - -class TabsEval : public EvaluationType {}; diff --git a/include/completion/Adapter.hpp b/include/completion/Adapter.hpp deleted file mode 100644 index 882d457..0000000 --- a/include/completion/Adapter.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include -#include - -#include "completion/Completer.hpp" - -class Adapter : public QObject { -public: - virtual Completer *completer() = 0; - virtual QString prompt() = 0; -}; diff --git a/include/completion/CommandsAdapter.hpp b/include/completion/CommandsAdapter.hpp deleted file mode 100644 index 0a0b61b..0000000 --- a/include/completion/CommandsAdapter.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include -#include - -#include "completion/Adapter.hpp" - -class CommandsAdapter : public Adapter { - Q_OBJECT - -public: - CommandsAdapter(); - ~CommandsAdapter(); - Completer *completer() override; - QString prompt() override; - -private: - Completer *completerInstance; -}; diff --git a/include/completion/CommandsModel.hpp b/include/completion/CommandsModel.hpp deleted file mode 100644 index 4f64654..0000000 --- a/include/completion/CommandsModel.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include -#include -#include - -struct Command { - QString name; - QString description; -}; - -// TODO: Combine commands model completion and commands evaluation -const QList commands = { - {.name = "open", .description = "Update current URL"}, - {.name = "tabs", .description = "Select a tab"}, - {.name = "tabopen", .description = "Open a url in a new tab"}, - {.name = "tabnext", .description = "Go to next tab"}, - {.name = "tabprev", .description = "Go to previous tab"}, -}; - -class CommandsModel : public QAbstractListModel { - Q_OBJECT - -public: - CommandsModel(QObject *parent = nullptr); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - int columnCount(const QModelIndex &parent = QModelIndex()) const override; - QHash roleNames() const override; - QVariant data(const QModelIndex &index, - int role = Qt::DisplayRole) const override; - -private: - QList items; -}; diff --git a/include/completion/Completer.hpp b/include/completion/Completer.hpp deleted file mode 100644 index c1b77a6..0000000 --- a/include/completion/Completer.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#include "completion/CompleterDelegate.hpp" -#include "completion/FuzzySearchProxyModel.hpp" -#include "utils.hpp" - -class Completer : public QWidget { - Q_OBJECT - -public: - Completer(QWidget *parentNode = nullptr); - - DELEGATE((&proxyModel), setSourceModel, setSourceModel) - DELEGATE((&proxyModel), sourceModel, sourceModel) - -signals: - void accepted(QString text); - -public slots: - void onTextChange(QString text); - bool onKeyPressEvent(QKeyEvent *event); - -protected: - void setHighlightedRow(uint32_t); - void acceptHighlighted(); - - DELEGATE(this, onKeyPressEvent, keyPressEvent) - -private: - QTreeView *view; - FuzzySearchProxyModel proxyModel; - CompleterDelegate *viewDelegate; - QHBoxLayout *layout; -}; diff --git a/include/completion/CompleterDelegate.hpp b/include/completion/CompleterDelegate.hpp deleted file mode 100644 index 8de22de..0000000 --- a/include/completion/CompleterDelegate.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -class CompleterDelegate : public QStyledItemDelegate { - Q_OBJECT - -public: - explicit CompleterDelegate(QObject *parent = nullptr); - - void paint(QPainter *painter, const QStyleOptionViewItem &option, - const QModelIndex &index) const override; - void setCurrentRow(uint32_t); - uint32_t currentRow(); - -private: - uint32_t row; -}; diff --git a/include/completion/FuzzySearchProxyModel.hpp b/include/completion/FuzzySearchProxyModel.hpp deleted file mode 100644 index ee4bfc3..0000000 --- a/include/completion/FuzzySearchProxyModel.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include -#include - -class FuzzySearchProxyModel : public QSortFilterProxyModel { - Q_OBJECT - -public: - using QSortFilterProxyModel::QSortFilterProxyModel; - -protected: - bool filterAcceptsRow(int sourceRow, - const QModelIndex &sourceParent) const override; -}; diff --git a/include/completion/TabsAdapter.hpp b/include/completion/TabsAdapter.hpp deleted file mode 100644 index fd47b8b..0000000 --- a/include/completion/TabsAdapter.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include -#include - -#include "completion/Adapter.hpp" -#include "completion/TabsModel.hpp" - -class TabsAdapter : public Adapter { - Q_OBJECT - -public: - TabsAdapter(QList tabs); - ~TabsAdapter(); - Completer *completer() override; - QString prompt() override; - -private: - Completer *completerInstance; -}; diff --git a/include/completion/TabsModel.hpp b/include/completion/TabsModel.hpp deleted file mode 100644 index 4b4518f..0000000 --- a/include/completion/TabsModel.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include -#include -#include - -struct Tab { - QString url; - QString title; -}; - -class TabsModel : public QAbstractListModel { - Q_OBJECT - -public: - TabsModel(QList tabs, QObject *parent = nullptr); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - int columnCount(const QModelIndex &parent = QModelIndex()) const override; - QHash roleNames() const override; - QVariant data(const QModelIndex &index, - int role = Qt::DisplayRole) const override; - -private: - QList items; -}; diff --git a/include/completion/UrlAdapter.hpp b/include/completion/UrlAdapter.hpp deleted file mode 100644 index e89167a..0000000 --- a/include/completion/UrlAdapter.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include -#include - -#include "completion/Adapter.hpp" - -class UrlAdapter : public Adapter { - Q_OBJECT - -public: - UrlAdapter(); - ~UrlAdapter(); - Completer *completer() override; - QString prompt() override; - -private: - Completer *completerInstance; -}; diff --git a/include/completion/UrlModel.hpp b/include/completion/UrlModel.hpp deleted file mode 100644 index e65a86a..0000000 --- a/include/completion/UrlModel.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include -#include -#include - -struct Url { - QString url; - QString description; -}; - -class UrlModel : public QAbstractListModel { - Q_OBJECT - -public: - UrlModel(QObject *parent = nullptr); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - int columnCount(const QModelIndex &parent = QModelIndex()) const override; - QHash roleNames() const override; - QVariant data(const QModelIndex &index, - int role = Qt::DisplayRole) const override; - -private: - QList items; -}; diff --git a/include/keymap/KeymapEvaluator.hpp b/include/keymap/KeymapEvaluator.hpp index ed468d2..54409b1 100644 --- a/include/keymap/KeymapEvaluator.hpp +++ b/include/keymap/KeymapEvaluator.hpp @@ -5,7 +5,6 @@ #include #include #include -#include struct KeyMap { KeySequence keySequence; diff --git a/include/widgets/InputLine.hpp b/include/widgets/InputLine.hpp deleted file mode 100644 index a382ff8..0000000 --- a/include/widgets/InputLine.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -#include "completion/Adapter.hpp" -#include "utils.hpp" - -class InputLine : public QWidget { - Q_OBJECT - -public: - InputLine(QString defaultInput = "", QWidget *parentNode = nullptr); - - void setInputFocus(bool focussed); - bool isInputFocussed(); - void setAdapter(Adapter *adapter); - - DELEGATE(input, hasFocus, isInputFocussed) - DELEGATE(input, setText, setInputText) - DELEGATE(input, text, getInputText) - DELEGATE(promptPrefix, text, prompt) - -signals: - void submitted(QString text); - void cancelled(); - -protected: - void keyPressEvent(QKeyEvent *event) override; - void emitSubmit(); - -private: - QLineEdit *input; - QLabel *promptPrefix; - Adapter *adapterInstance = nullptr; - QVBoxLayout *layout; -}; diff --git a/include/widgets/WebViewStack.hpp b/include/widgets/WebViewStack.hpp index c315251..e5b7ecc 100644 --- a/include/widgets/WebViewStack.hpp +++ b/include/widgets/WebViewStack.hpp @@ -5,11 +5,15 @@ #include #include "Configuration.hpp" -#include "completion/TabsModel.hpp" #include "widgets/WebView.hpp" enum OpenType { OpenUrl, OpenUrlInTab, OpenUrlInBgTab, OpenUrlInWindow }; +struct Tab { + QString url; + QString title; +}; + class WebViewStack : public QWidget { Q_OBJECT -- cgit v1.3.1