diff options
Diffstat (limited to 'lib/webprofile/webprofilemanager.h')
-rw-r--r-- | lib/webprofile/webprofilemanager.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/lib/webprofile/webprofilemanager.h b/lib/webprofile/webprofilemanager.h deleted file mode 100644 index 3d86def..0000000 --- a/lib/webprofile/webprofilemanager.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#ifndef SMOLBOTE_WEBPROFILEMANAGER_H -#define SMOLBOTE_WEBPROFILEMANAGER_H - -#include "webprofile.h" -#include <QDir> -#include <QFile> -#include <QMap> -#include <QMenu> -#include <QObject> -#include <QSettings> -#include <functional> - -struct ProfileDefault_t -{ - QString search; - QString homepage; - QString newtab; -}; - -class WebProfileManager : public QObject -{ - Q_OBJECT -public: - explicit WebProfileManager(const ProfileDefault_t &profileSection, QObject *parent); - ~WebProfileManager(); - - /** Create a profile with specified id - * param id The profile ID - * param path The path to the profile settings - * param isOffTheRecord Off-the-record toggle - * return WebProfile* The profile, or nullptr if one could not be created - */ - WebProfile *profile(const QString &id, const QString &path = QString(), bool isOffTheRecord = true); - - /** Set a profile for deletion - * param id The profile ID - * return void - */ - void deleteProfile(const QString &id); - - void profileMenu(QMenu *menu, const std::function<void(WebProfile *)> &callback, WebProfile *current = nullptr, bool checkable = false) const; - - const QStringList idList() const - { - return profiles.keys(); - } - QString id(WebProfile *profile) const - { - QMapIterator<QString, Profile> i(profiles); - while(i.hasNext()) { - i.next(); - if(i.value().ptr == profile) - return i.key(); - } - return QString(); - } - -private: - struct Profile { - WebProfile *ptr = nullptr; - QSettings *settings = nullptr; - bool selfDestruct = false; - - QVariant value(const QString &key, const QVariant &defaultValue) const - { - if(settings == nullptr) - return defaultValue; - else - return settings->value(key, defaultValue); - } - }; - - QMap<QString, Profile> profiles; - const ProfileDefault_t defaults; -}; - -#endif // SMOLBOTE_PROFILEMANAGER_H |