aboutsummaryrefslogtreecommitdiff
path: root/include/widgets
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/widgets/InputLine.hpp11
-rw-r--r--include/widgets/MainWindow.hpp39
2 files changed, 9 insertions, 41 deletions
diff --git a/include/widgets/InputLine.hpp b/include/widgets/InputLine.hpp
index 1d98c9a..07b6e92 100644
--- a/include/widgets/InputLine.hpp
+++ b/include/widgets/InputLine.hpp
@@ -7,6 +7,7 @@
#include <QtCore>
#include "completion/Adapter.hpp"
+#include "utils.hpp"
class InputLine : public QWidget {
Q_OBJECT
@@ -15,13 +16,15 @@ public:
InputLine(QString defaultInput = "", QWidget *parentNode = nullptr);
void setInputFocus(bool focussed);
bool isInputFocussed();
- QString getInputCommand();
- void setInputText(QString text);
void setAdapter(Adapter *adapter);
- Adapter *adapter();
+
+ DELEGATE(input, hasFocus, isInputFocussed)
+ DELEGATE(input, setText, setInputText)
+ DELEGATE(input, text, getInputText)
+ DELEGATE(adapterInstance, prompt, prompt)
signals:
- void submitted(QString command);
+ void submitted(QString text);
void cancelled();
protected:
diff --git a/include/widgets/MainWindow.hpp b/include/widgets/MainWindow.hpp
index 99a3895..f77ed60 100644
--- a/include/widgets/MainWindow.hpp
+++ b/include/widgets/MainWindow.hpp
@@ -5,16 +5,7 @@
#include <QStackedLayout>
#include <QWebEngineView>
-#include "LuaRuntime.hpp"
-#include "widgets/InputLine.hpp"
-#include "widgets/WebViewStack.hpp"
-
-class EvaluationType {
-public:
- EvaluationType() {}
- virtual ~EvaluationType() = default;
-};
-class NoopEval : public EvaluationType {};
+#include "InputMediator.hpp"
class MainWindow : public QMainWindow {
public:
@@ -22,33 +13,7 @@ public:
private:
void keyPressEvent(QKeyEvent *event) override;
- void onInputSubmit(QString input);
-
- void evaluateCommand(QString command);
-
- void hideInputLine();
- void showInputLine();
- void showURLInput(QString url, OpenType openType);
- void showCommandInput(QString command = "");
-
- void setEvaluationType(EvaluationType *);
private:
- WebViewStack *webViewStack;
- InputLine *inputLine;
- LuaRuntime *luaRuntime;
- QStackedLayout *layout;
-
- EvaluationType *currentEvaluationType = new NoopEval();
+ InputMediator *inputMediator;
};
-
-class UrlEval : public EvaluationType {
-public:
- UrlEval(OpenType type) : EvaluationType(), openType(type) {}
- OpenType type() { return openType; }
-
-private:
- OpenType openType;
-};
-
-class CommandEval : public EvaluationType {};