/* ============================================================ * The rekonq project * ============================================================ * SPDX-License-Identifier: GPL-2.0-or-later * Copyright (C) 2012-2013 by Andrea Diamantini * SPDX-License-Identifier: GPL-3.0-only * Copyright (C) 2022 aqua * ============================================================ * Description: Application Main Class * ============================================================ */ #pragma once #include "rekonq.hpp" #include #include #include // Forward Declarations class rView; class PluginLoader; // class RekonqWindow; // class WebTab; // class WebPage; // typedef QList< QWeakPointer > RekonqWindowList; // typedef QList WebAppList; // --------------------------------------------------------------------------------------------------------------- /** * Rekonq Application class */ class Application : public SingleApplication { Q_OBJECT public: Application(int &argc, char *argv[]); ~Application() override; bool registerPlugin(const QString &path); // int newInstance(); static Application *instance() { return (qobject_cast(QCoreApplication::instance())); } // RekonqWindow *rekonqWindow(const QString &activityID = QString()); // RekonqWindowList rekonqWindowList(); /** * @returns the list of windows associated with activity whose id is @param activityID * @param activityID the ID of the activity (if empty, it is interpreted as the current activity) * @note If activities are disabled, returns the function returns the list of all tabs. */ // RekonqWindowList tabsForActivity(const QString &activityID = QString()); /** * @returns the true if there are windows associated with activity whose id is @param activityID * @param activityID the ID of the activity (if empty, it is interpreted as the current activity) * @note If activities are disabled, returns true if there are any tabs. */ // bool haveWindowsForActivity(const QString &activityID = QString()); // WebAppList webAppList(); // void bookmarksToolbarToggled(bool); public slots: /** * Save application's configuration * * @see ReKonfig::self()->writeConfig(); */ // void saveConfiguration() const; /** * @short load url * * @param url The url to load * @param type the type where loading the url. @see Rekonq::OpenType */ // void loadUrl(const KUrl& url, const Rekonq::OpenType& type = Rekonq::CurrentTab); // RekonqWindow *newWindow(bool withTab = true, bool PrivateBrowsingMode = false); // RekonqWindow *newWindow(WebPage *pg); rView *newWebApp(const QUrl &url = QUrl()); // void createWebAppShortcut(const QString & urlString = QString(), const QString & titleString = QString()); protected: // This is used to track which window was activated most recently // bool eventFilter(QObject *watched, QEvent *event); signals: void toggleBookmarksToolbar(bool); private: // void setWindowInfo(RekonqWindow *); private slots: // void updateConfiguration(); // clear private data // void clearPrivateData(); // void queryQuit(); // void newPrivateBrowsingWindow(); // void pageCreated(WebPage *); private: QList m_plugins; // RekonqWindowList m_rekonqWindows; QList m_webApps; }; [[deprecated]] static inline auto *rApp_f() { return Application::instance(); } #define rApp rApp_f()