diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-07-23 23:40:48 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-07-24 21:46:11 +0530 |
| commit | 43f3261635e1667367cfd31a2f746832e94c3957 (patch) | |
| tree | a68d385c1bee08e8527e2d0c44d69ab14010a4c0 /src/main.cpp | |
| parent | f18749fc37ef0d5bfb6bf240740a401cce372d0c (diff) | |
| download | null-browser-43f3261635e1667367cfd31a2f746832e94c3957.tar.gz null-browser-43f3261635e1667367cfd31a2f746832e94c3957.zip | |
Refactor main into App class
Diffstat (limited to '')
| -rw-r--r-- | src/main.cpp | 64 |
1 files changed, 7 insertions, 57 deletions
diff --git a/src/main.cpp b/src/main.cpp index ee94ad3..fbe1fbd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,64 +1,14 @@ #include <QApplication> -#include "InstanceManager.hpp" -#include "LuaRuntime.hpp" -#include "widgets/BrowserApp.hpp" - -QCommandLineParser *create_cli_parser() { - auto *parser = new QCommandLineParser(); - parser->setApplicationDescription("null-browser"); - parser->addHelpOption(); - parser->addVersionOption(); - parser->addPositionalArgument("url", "URL(s) to open", "[url]"); - parser->addOptions({ - {{"e", "expr"}, "Lua expression to execute", "lua"}, - {{"C", "config-dir"}, "Config directory for null browser", "dir"}, - }); - - return parser; -} +#include "App.hpp" int main(int argc, char *argv[]) { - const QApplication app(argc, argv); - QApplication::setApplicationName("null-browser"); - QApplication::setApplicationVersion("0.0.0"); - - auto *parser = create_cli_parser(); - parser->process(app); - - auto urls = parser->positionalArguments(); - auto lua_expr = parser->value("expr"); - auto config_dir = parser->value("config-dir"); - - Configuration configuration; - if (!config_dir.isEmpty()) - configuration.set_config_dir(config_dir); - - InstanceManager instance_manager; - if (instance_manager.is_server()) { - auto *browser = new BrowserApp(configuration); - browser->create_window(urls); - - auto &lua = LuaRuntime::instance(); - QObject::connect(&instance_manager, &InstanceManager::lua_eval_requested, &lua, - &LuaRuntime::evaluate); - QObject::connect(&instance_manager, &InstanceManager::urls_open_requested, browser, - &BrowserApp::create_window); - - if (!lua_expr.isEmpty()) - lua.evaluate(lua_expr); - } else { - qInfo() << "Using current instance"; - - if (!urls.isEmpty() || lua_expr.isEmpty()) - instance_manager.write_open_urls_to_socket(urls); - - if (!lua_expr.isEmpty()) - instance_manager.write_lua_expr_to_socket(lua_expr); + const QApplication qt_app(argc, argv); - instance_manager.send_message(); - return 0; - } + App app; + app.run(); - return QApplication::exec(); + if (app.is_server()) + return QApplication::exec(); + return 0; } |
