diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-16 17:07:36 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-16 17:07:36 +0200 |
commit | d796821f8304306dbe088701724243b39e8eb358 (patch) | |
tree | 836c85aa421db5c495e2b36f6a02cea924b6d919 /src/browser.h | |
parent | Branch of Qt5.11 features (diff) | |
download | smolbote-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.h | 41 |
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 |