blob: 307e2fd678d1d9b73f2619fc0ef5f48c5a018447 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
/* ============================================================
* 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 Entry Point
* ============================================================ */
#pragma once
#include "rekonq.hpp"
#include <SingleApplication>
// Forward Declarations
class RekonqWindow;
class WebTab;
class WebPage;
typedef QList< QWeakPointer<RekonqWindow> > RekonqWindowList;
typedef QList<WebTab *> WebAppList;
// ---------------------------------------------------------------------------------------------------------------
#define rApp Application::instance()
/**
* Rekonq Application class
*/
class Application : public SingleApplication {
Q_OBJECT
public:
Application(int argc, char **argv);
~Application() override;
int newInstance();
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 Q_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);
WebTab *newWebApp();
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);
Q_SIGNALS:
void toggleBookmarksToolbar(bool);
private:
void setWindowInfo(RekonqWindow *);
private Q_SLOTS:
void updateConfiguration();
// clear private data
void clearPrivateData();
void queryQuit();
void newPrivateBrowsingWindow();
void pageCreated(WebPage *);
private:
RekonqWindowList m_rekonqWindows;
WebAppList m_webApps;
#ifdef HAVE_KACTIVITIES
ActivityTabsMap m_activityRekonqWindowsMap;
KActivities::Consumer *m_activityConsumer;
#endif
};
|