summaryrefslogtreecommitdiff
path: root/src/application.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/application.hpp')
-rw-r--r--src/application.hpp123
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;
+};