diff options
Diffstat (limited to 'src/webengine/webprofile.h')
-rw-r--r-- | src/webengine/webprofile.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/webengine/webprofile.h b/src/webengine/webprofile.h new file mode 100644 index 0000000..41d1aec --- /dev/null +++ b/src/webengine/webprofile.h @@ -0,0 +1,53 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://neueland.iserlohn-fortress.net/smolbote.hg + * + * SPDX-License-Identifier: GPL-3.0 + */ + +#ifndef SMOLBOTE_WEBENGINEPROFILE_H +#define SMOLBOTE_WEBENGINEPROFILE_H + +#include <QHash> +#include <QUrl> +#include <QWebEngineProfile> + +class WebProfile : public QWebEngineProfile +{ + Q_OBJECT +public: + explicit WebProfile(QObject *parent = nullptr); + explicit WebProfile(const QString &name, QObject *parent = nullptr); + + ~WebProfile() override; + + static void setDefaultProfile(WebProfile *profile) + { + Q_CHECK_PTR(profile); + WebProfile::profile = profile; + } + static WebProfile *defaultProfile() + { + Q_CHECK_PTR(WebProfile::profile); + return WebProfile::profile; + } + + QString name() const; + QUrl homepage() const; + QUrl newtab() const; + +public slots: + void loadProfile(QHash<QString, QString> conf, const QString &path); + void saveProfile(const QString &path = QString()); + +private: + static WebProfile *profile; + + QString m_configPath; + QString m_name; + QUrl m_homepage = QUrl("about:blank"); + QUrl m_newtab = QUrl("about:blank"); +}; + +#endif // SMOLBOTE_WEBENGINEPROFILE_H |