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