diff options
author | aqua <aqua@iserlohn-fortress.net> | 2022-08-17 15:31:23 +0300 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2022-08-17 15:31:23 +0300 |
commit | c9b00d9b114eac7fe0f50c63cf2eede704c8f067 (patch) | |
tree | c06f2cae37436d2138eb92f007ff36bf2ea76741 /src/application.hpp | |
parent | Add bitbucket-pipelines.yml (diff) | |
download | rekonq-c9b00d9b114eac7fe0f50c63cf2eede704c8f067.tar.xz |
Pass command line from secondary to primary instance
Diffstat (limited to 'src/application.hpp')
-rw-r--r-- | src/application.hpp | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/src/application.hpp b/src/application.hpp new file mode 100644 index 00000000..e74350f1 --- /dev/null +++ b/src/application.hpp @@ -0,0 +1,123 @@ +/* ============================================================ + * The rekonq project + * ============================================================ + * SPDX-License-Identifier: GPL-2.0-or-later + * Copyright (C) 2012-2013 by Andrea Diamantini <adjam7 at gmail dot com> + * SPDX-License-Identifier: GPL-3.0-only + * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net> + * ============================================================ + * Description: Application Main Class + * ============================================================ */ + +#pragma once + +#include "rekonq.hpp" +#include <QUrl> +#include <QWidget> +#include <SingleApplication> + +// Forward Declarations +class rView; +class PluginLoader; +// class RekonqWindow; + +// class WebTab; +// class WebPage; + +// typedef QList< QWeakPointer<RekonqWindow> > RekonqWindowList; +// typedef QList<WebTab *> 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(); + [[deprecated]] static Application *instance() { return (qobject_cast<Application *>(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: + /** + * Parse the command line in @param message and carry out the required actions + * @param instanceId if the current instance, check QCoreApplication::arguments instead of @param message + * @param message the command line + */ + void parseCommandLine(int instanceId, const QByteArray &message); + + /** + * 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<PluginLoader *> m_plugins; + // RekonqWindowList m_rekonqWindows; + QList<rView *> m_webApps; +}; |