aboutsummaryrefslogtreecommitdiff
path: root/src/browser.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-04-16 17:07:36 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-04-16 17:07:36 +0200
commitd796821f8304306dbe088701724243b39e8eb358 (patch)
tree836c85aa421db5c495e2b36f6a02cea924b6d919 /src/browser.h
parentBranch of Qt5.11 features (diff)
downloadsmolbote-d796821f8304306dbe088701724243b39e8eb358.tar.xz
Multiple subwindows interface
Subwindows are similar to tab groups. - Rewrote Browser and MainWindow, so they should be somewhat cleaner now - Moved AboutDialog to lib/about What's broken: - loading bar - search box - address bar bookmark suggestions - plugins
Diffstat (limited to 'src/browser.h')
-rw-r--r--src/browser.h41
1 files changed, 10 insertions, 31 deletions
diff --git a/src/browser.h b/src/browser.h
index f96d8c5..b43d45a 100644
--- a/src/browser.h
+++ b/src/browser.h
@@ -6,8 +6,8 @@
* SPDX-License-Identifier: GPL-3.0
*/
-#ifndef BROWSER_H
-#define BROWSER_H
+#ifndef SMOLBOTE_BROWSER_H
+#define SMOLBOTE_BROWSER_H
#include "singleapplication.h"
#include <QJsonObject>
@@ -15,55 +15,34 @@
#include <memory>
class Configuration;
-class MainWindow;
class BookmarksWidget;
class DownloadsWidget;
class UrlRequestInterceptor;
-class WebEngineProfile;
+class MainWindow;
class Browser : public SingleApplication
{
Q_OBJECT
public:
- struct Plugin {
- QJsonObject meta;
- QObject *pointer;
- };
-
explicit Browser(int &argc, char *argv[]);
~Browser() final;
Q_DISABLE_COPY(Browser)
void setConfiguration(std::shared_ptr<Configuration> &config);
-
- std::shared_ptr<WebEngineProfile> profile(const QString &storageName);
-
- const QList<QString> profiles() const
- {
- return m_profiles.keys();
- }
-
- const QVector<Plugin> plugins() const
- {
- return m_plugins;
- }
+ void setup(const QString &defaultProfile);
public slots:
- MainWindow *createSession(const QString &profileName, bool newWindow, const QStringList &urls);
-
-private:
+ void createSession(const QString &profileName, bool newWindow, const QStringList &urls);
MainWindow *createWindow();
+private:
std::shared_ptr<Configuration> m_config;
+ std::shared_ptr<BookmarksWidget> m_bookmarks;
+ std::shared_ptr<DownloadsWidget> m_downloads;
+ std::shared_ptr<UrlRequestInterceptor> m_urlFilter;
QVector<MainWindow *> m_windows;
- QVector<Plugin> m_plugins;
- QHash<QString, std::shared_ptr<WebEngineProfile>> m_profiles;
- std::shared_ptr<WebEngineProfile> m_defaultProfile;
- UrlRequestInterceptor *m_urlRequestInterceptor = nullptr;
- std::shared_ptr<BookmarksWidget> m_bookmarksManager;
- std::shared_ptr<DownloadsWidget> m_downloadManager;
};
-#endif // BROWSER_H
+#endif // SMOLBOTE_BROWSER_H