diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/LuaRuntime.hpp | 2 | ||||
| -rw-r--r-- | include/widgets/InputLine.hpp | 3 | ||||
| -rw-r--r-- | include/widgets/MainWindow.hpp | 25 |
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 {}; |
