/* ============================================================ * The rekonq project * ============================================================ * SPDX-License-Identifier: GPL-2.0-or-later * Copyright (C) 2008-2013 by Andrea Diamantini * SPDX-License-Identifier: GPL-3.0-only * Copyright (C) 2022 aqua * ============================================================ * Description: Application Entry Point * ============================================================ */ // version include #include // Local Includes #include "application.h" #include "sessionmanager.h" #include "rekonqwindow.h" #include "urlresolver.h" // KDE Includes #include #include // Qt Includes #include #include static const char description[] = I18N_NOOP("A lightweight Web Browser for KDE based on WebKit"); extern "C" KDE_EXPORT int kdemain(int argc, char **argv) { // Initialize command line args KCmdLineArgs::init(argc, argv, &about); // Define the command line options using KCmdLineOptions KCmdLineOptions options; // adding options options.add("incognito", ki18n("Open in incognito mode")); options.add("webapp", ki18n("Open URL as web app (in a simple window)")); options.add("+[URL]", ki18n("Location to open")); // Register the supported options KCmdLineArgs::addCmdLineOptions(options); if (!Application::start()) { kWarning() << "rekonq is already running!"; return 0; } #if defined(Q_WS_X11) // On X11, the raster engine gives better performance than native. QApplication::setGraphicsSystem(QLatin1String("raster")); #endif KCmdLineArgs::setCwd(QDir::currentPath().toUtf8()); Application app; // set application data QCoreApplication::setApplicationName(QLatin1String("rekonq")); QCoreApplication::setApplicationVersion(REKONQ_VERSION); if (app.isSessionRestored()) { for (int i = 1; RekonqWindow::canBeRestored(i); i++) { RekonqWindow * newRekonqWindow = app.newWindow(false); if (newRekonqWindow->restore(i)) SessionManager::self()->restoreWindow(newRekonqWindow); } } return app.exec(); }