aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/LuaRuntime.hpp2
-rw-r--r--include/widgets/InputLine.hpp3
-rw-r--r--include/widgets/MainWindow.hpp25
3 files changed, 27 insertions, 3 deletions
diff --git a/include/LuaRuntime.hpp b/include/LuaRuntime.hpp
index 96c0004..83ebf0c 100644
--- a/include/LuaRuntime.hpp
+++ b/include/LuaRuntime.hpp
@@ -20,7 +20,7 @@ protected:
~LuaRuntime();
signals:
- void urlOpenned(QString url, OpenType openType);
+ void urlOpened(QString url, OpenType openType);
protected:
static int lua_onUrlOpen(lua_State *state);
diff --git a/include/widgets/InputLine.hpp b/include/widgets/InputLine.hpp
index 2324f18..1d98c9a 100644
--- a/include/widgets/InputLine.hpp
+++ b/include/widgets/InputLine.hpp
@@ -18,6 +18,7 @@ public:
QString getInputCommand();
void setInputText(QString text);
void setAdapter(Adapter *adapter);
+ Adapter *adapter();
signals:
void submitted(QString command);
@@ -31,5 +32,5 @@ private:
QBoxLayout *layout;
QLineEdit *input;
QLabel *promptPrefix;
- Adapter *adapter = nullptr;
+ Adapter *adapterInstance = nullptr;
};
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 {};