/******************************************************************************* ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #ifndef BROWSER_H #define BROWSER_H #include "singleapplication.h" #include "webengine/webengineprofile.h" #include #include #include "settings/configuration.h" class MainWindow; class BookmarksWidget; class DownloadsWidget; class UrlRequestInterceptor; class Browser : public SingleApplication { Q_OBJECT public: explicit Browser(int &argc, char *argv[]); ~Browser(); void setConfiguration(std::shared_ptr &config); void loadProfiles(); std::shared_ptr profile(const QString name); // QStringList profiles(); // std::shared_ptr& bookmarks(); // std::shared_ptr& downloads(); // BlockerManager *blocklists(); //MainWindow *activeWindow(); public slots: MainWindow* createWindow(); private: Q_DISABLE_COPY(Browser) std::shared_ptr m_config; QVector m_windows; QHash> m_profiles; std::shared_ptr m_defaultProfile; std::shared_ptr m_urlRequestInterceptor; std::shared_ptr m_bookmarksManager; std::shared_ptr m_downloadManager; // BlockerManager *m_blocklistManager = nullptr; }; #endif // BROWSER_H