aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-03-18 21:19:28 +0530
committerAkshay Nair <phenax5@gmail.com>2025-03-18 21:19:47 +0530
commit4c762b2516bc664293c2aec072074f1e34dda8c3 (patch)
treeebe441f7af8c1f4c49f04630538312d55f18f63b /include
parent056b0b16947ac19a0c425aa9d2ff8f589378d3bc (diff)
downloadnull-browser-4c762b2516bc664293c2aec072074f1e34dda8c3.tar.gz
null-browser-4c762b2516bc664293c2aec072074f1e34dda8c3.zip
Remove all the ui bits because screw it, lets unix a bit more
Diffstat (limited to '')
-rw-r--r--include/InputMediator.hpp38
-rw-r--r--include/completion/Adapter.hpp12
-rw-r--r--include/completion/CommandsAdapter.hpp19
-rw-r--r--include/completion/CommandsModel.hpp34
-rw-r--r--include/completion/Completer.hpp42
-rw-r--r--include/completion/CompleterDelegate.hpp22
-rw-r--r--include/completion/FuzzySearchProxyModel.hpp15
-rw-r--r--include/completion/TabsAdapter.hpp20
-rw-r--r--include/completion/TabsModel.hpp25
-rw-r--r--include/completion/UrlAdapter.hpp19
-rw-r--r--include/completion/UrlModel.hpp25
-rw-r--r--include/keymap/KeymapEvaluator.hpp1
-rw-r--r--include/widgets/InputLine.hpp40
-rw-r--r--include/widgets/WebViewStack.hpp6
14 files changed, 6 insertions, 312 deletions
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 <QWidget>
-#include <QtCore>
-
-#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 <QWidget>
-#include <QtCore>
-
-#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 <QAbstractListModel>
-#include <QWidget>
-#include <QtCore>
-
-struct Command {
- QString name;
- QString description;
-};
-
-// TODO: Combine commands model completion and commands evaluation
-const QList<Command> 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<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index,
- int role = Qt::DisplayRole) const override;
-
-private:
- QList<Command> 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 <QCompleter>
-#include <QHBoxLayout>
-#include <QSortFilterProxyModel>
-#include <QWidget>
-#include <QtCore>
-#include <QtWidgets/qtreeview.h>
-#include <cstdint>
-
-#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 <QStyledItemDelegate>
-#include <QWidget>
-#include <QtCore/qabstractitemmodel.h>
-#include <QtCore>
-#include <cstdint>
-
-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 <QWidget>
-#include <QtCore>
-
-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 <QWidget>
-#include <QtCore>
-
-#include "completion/Adapter.hpp"
-#include "completion/TabsModel.hpp"
-
-class TabsAdapter : public Adapter {
- Q_OBJECT
-
-public:
- TabsAdapter(QList<Tab> 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 <QAbstractListModel>
-#include <QWidget>
-#include <QtCore>
-
-struct Tab {
- QString url;
- QString title;
-};
-
-class TabsModel : public QAbstractListModel {
- Q_OBJECT
-
-public:
- TabsModel(QList<Tab> tabs, QObject *parent = nullptr);
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
- int columnCount(const QModelIndex &parent = QModelIndex()) const override;
- QHash<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index,
- int role = Qt::DisplayRole) const override;
-
-private:
- QList<Tab> 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 <QWidget>
-#include <QtCore>
-
-#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 <QAbstractListModel>
-#include <QWidget>
-#include <QtCore>
-
-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<int, QByteArray> roleNames() const override;
- QVariant data(const QModelIndex &index,
- int role = Qt::DisplayRole) const override;
-
-private:
- QList<Url> 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 <QtCore/qmap.h>
#include <QtCore/qnamespace.h>
#include <QtCore>
-#include <algorithm>
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 <QBoxLayout>
-#include <QLabel>
-#include <QLineEdit>
-#include <QWidget>
-#include <QtCore>
-
-#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 <sys/types.h>
#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