aboutsummaryrefslogtreecommitdiff
path: root/include/widgets/MainWindow.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/widgets/MainWindow.hpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/include/widgets/MainWindow.hpp b/include/widgets/MainWindow.hpp
index b64bf8c..4731fe4 100644
--- a/include/widgets/MainWindow.hpp
+++ b/include/widgets/MainWindow.hpp
@@ -9,21 +9,44 @@
#include "widgets/BrowserManager.hpp"
#include "widgets/InputLine.hpp"
+class EvaluationType {
+public:
+ EvaluationType() {}
+ virtual ~EvaluationType() = default;
+};
+class NoopEval : public EvaluationType {};
+
class MainWindow : public QMainWindow {
public:
MainWindow();
protected:
void keyPressEvent(QKeyEvent *event) override;
+ void onInputSubmit(QString input);
void evaluateCommand(QString command);
void hideInputLine();
void showInputLine();
- void showURLInput(QString url = "");
+ void showURLInput(QString url, OpenType openType);
void showCommandInput(QString command = "");
+ void setEvaluationType(EvaluationType *);
+
private:
BrowserManager *browserManager;
InputLine *inputLine;
LuaRuntime *luaRuntime;
QStackedLayout *layout;
+
+ 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 {};