ladybird/Ladybird/main.cpp

50 lines
1.4 KiB
C++
Raw Normal View History

2022-07-03 18:44:58 +00:00
/*
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "BrowserWindow.h"
2022-07-14 03:41:13 +00:00
#include "Settings.h"
#include "Utilities.h"
2022-07-03 18:36:07 +00:00
#include <LibCore/ArgsParser.h>
#include <LibCore/EventLoop.h>
#include <LibGfx/Font/FontDatabase.h>
2022-07-03 18:36:07 +00:00
#include <LibMain/Main.h>
#include <QApplication>
2022-07-14 03:41:13 +00:00
Browser::Settings* s_settings;
2022-07-03 18:36:07 +00:00
ErrorOr<int> serenity_main(Main::Arguments arguments)
{
platform_init();
// NOTE: We only instantiate this to ensure that Gfx::FontDatabase has its default queries initialized.
Gfx::FontDatabase::set_default_font_query("Katica 10 400 0");
Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0");
// NOTE: This is only used for the Core::Socket inside the IPC connections.
// FIXME: Refactor things so we can get rid of this somehow.
Core::EventLoop event_loop;
QApplication app(arguments.argc, arguments.argv);
2022-07-03 18:36:07 +00:00
String url;
Core::ArgsParser args_parser;
args_parser.set_general_help("The Ladybird web browser :^)");
args_parser.add_positional_argument(url, "URL to open", "url", Core::ArgsParser::Required::No);
args_parser.parse(arguments);
BrowserWindow window;
s_settings = new Browser::Settings(&window);
2022-07-03 18:36:07 +00:00
window.setWindowTitle("Ladybird");
window.resize(800, 600);
window.show();
if (!url.is_empty()) {
window.view().load(url);
2022-07-03 18:36:07 +00:00
}
return app.exec();
2022-07-03 18:36:07 +00:00
}