summaryrefslogtreecommitdiffstats
path: root/src/core/pref_service_adapter.h
blob: efa83a72c72fefeee494c934dc7629498d1adb39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#ifndef PREF_SERVICE_ADAPTER_H
#define PREF_SERVICE_ADAPTER_H

#include "components/prefs/pref_service.h"
#include "qtwebenginecoreglobal_p.h"

namespace QtWebEngineCore {

class ProfileAdapter;

// PrefServiceAdapter manages the collection of tunable preferences.
// Any new preference should be defined and register in the registry
// before it can be used
class PrefServiceAdapter
{
public:

    PrefServiceAdapter() = default;

    void setup(const ProfileAdapter &adapter);
    void commit();
    PrefService *prefService();
    const PrefService *prefService() const;
    std::string mediaDeviceIdSalt() const;

#if QT_CONFIG(webengine_spellchecker)
    void setSpellCheckLanguages(const QStringList &languages);
    QStringList spellCheckLanguages() const;
    void setSpellCheckEnabled(bool enabled);
    bool isSpellCheckEnabled() const;
#endif // QT_CONFIG(webengine_spellchecker)

private:
    std::unique_ptr<PrefService> m_prefService;
};

}

#endif // PREF_SERVICE_ADAPTER_H