1/*
2    Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
3
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public
6    License as published by the Free Software Foundation; either
7    version 2 of the License, or (at your option) any later version.
8
9    This library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public License
15    along with this library; see the file COPYING.LIB.  If not, write to
16    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17    Boston, MA 02110-1301, USA.
18*/
19
20#ifndef qwebpreferences_p_h
21#define qwebpreferences_p_h
22
23#include "qwebkitglobal.h"
24
25#include <QtCore/QObject>
26
27class QWebPreferencesPrivate;
28
29class QWEBKIT_EXPORT QWebPreferences : public QObject {
30    Q_OBJECT
31public:
32    ~QWebPreferences();
33
34    Q_PROPERTY(bool autoLoadImages READ autoLoadImages WRITE setAutoLoadImages NOTIFY autoLoadImagesChanged FINAL)
35    Q_PROPERTY(bool fullScreenEnabled READ fullScreenEnabled WRITE setFullScreenEnabled NOTIFY fullScreenEnabledChanged FINAL)
36    Q_PROPERTY(bool javascriptEnabled READ javascriptEnabled WRITE setJavascriptEnabled NOTIFY javascriptEnabledChanged FINAL)
37    Q_PROPERTY(bool pluginsEnabled READ pluginsEnabled WRITE setPluginsEnabled NOTIFY pluginsEnabledChanged FINAL)
38    Q_PROPERTY(bool offlineWebApplicationCacheEnabled READ offlineWebApplicationCacheEnabled WRITE setOfflineWebApplicationCacheEnabled NOTIFY offlineWebApplicationCacheEnabledChanged FINAL)
39    Q_PROPERTY(bool localStorageEnabled READ localStorageEnabled WRITE setLocalStorageEnabled NOTIFY localStorageEnabledChanged FINAL)
40    Q_PROPERTY(bool xssAuditingEnabled READ xssAuditingEnabled WRITE setXssAuditingEnabled NOTIFY xssAuditingEnabledChanged FINAL)
41    Q_PROPERTY(bool privateBrowsingEnabled READ privateBrowsingEnabled WRITE setPrivateBrowsingEnabled NOTIFY privateBrowsingEnabledChanged FINAL)
42    Q_PROPERTY(bool dnsPrefetchEnabled READ dnsPrefetchEnabled WRITE setDnsPrefetchEnabled NOTIFY dnsPrefetchEnabledChanged FINAL)
43    Q_PROPERTY(bool navigatorQtObjectEnabled READ navigatorQtObjectEnabled WRITE setNavigatorQtObjectEnabled NOTIFY navigatorQtObjectEnabledChanged FINAL)
44    Q_PROPERTY(bool frameFlatteningEnabled READ frameFlatteningEnabled WRITE setFrameFlatteningEnabled NOTIFY frameFlatteningEnabledChanged FINAL)
45    Q_PROPERTY(bool developerExtrasEnabled READ developerExtrasEnabled WRITE setDeveloperExtrasEnabled NOTIFY developerExtrasEnabledChanged FINAL)
46    Q_PROPERTY(bool webGLEnabled READ webGLEnabled WRITE setWebGLEnabled NOTIFY webGLEnabledChanged FINAL)
47    Q_PROPERTY(bool webAudioEnabled READ webAudioEnabled WRITE setWebAudioEnabled NOTIFY webAudioEnabledChanged FINAL)
48    Q_PROPERTY(bool caretBrowsingEnabled READ caretBrowsingEnabled WRITE setCaretBrowsingEnabled NOTIFY caretBrowsingEnabledChanged FINAL)
49    Q_PROPERTY(bool notificationsEnabled READ notificationsEnabled WRITE setNotificationsEnabled NOTIFY notificationsEnabledChanged FINAL)
50    Q_PROPERTY(bool universalAccessFromFileURLsAllowed READ universalAccessFromFileURLsAllowed WRITE setUniversalAccessFromFileURLsAllowed NOTIFY universalAccessFromFileURLsAllowedChanged FINAL)
51    Q_PROPERTY(bool fileAccessFromFileURLsAllowed READ fileAccessFromFileURLsAllowed WRITE setFileAccessFromFileURLsAllowed NOTIFY fileAccessFromFileURLsAllowedChanged FINAL)
52
53    Q_PROPERTY(QString standardFontFamily READ standardFontFamily WRITE setStandardFontFamily NOTIFY standardFontFamilyChanged FINAL)
54    Q_PROPERTY(QString fixedFontFamily READ fixedFontFamily WRITE setFixedFontFamily NOTIFY fixedFontFamilyChanged FINAL)
55    Q_PROPERTY(QString serifFontFamily READ serifFontFamily WRITE setSerifFontFamily NOTIFY serifFontFamilyChanged FINAL)
56    Q_PROPERTY(QString sansSerifFontFamily READ sansSerifFontFamily WRITE setSansSerifFontFamily NOTIFY sansSerifFontFamilyChanged FINAL)
57    Q_PROPERTY(QString cursiveFontFamily READ cursiveFontFamily WRITE setCursiveFontFamily NOTIFY cursiveFontFamilyChanged FINAL)
58    Q_PROPERTY(QString fantasyFontFamily READ fantasyFontFamily WRITE setFantasyFontFamily NOTIFY fantasyFontFamilyChanged FINAL)
59
60    Q_PROPERTY(unsigned minimumFontSize READ minimumFontSize WRITE setMinimumFontSize NOTIFY minimumFontSizeChanged FINAL)
61    Q_PROPERTY(unsigned defaultFontSize READ defaultFontSize WRITE setDefaultFontSize NOTIFY defaultFontSizeChanged FINAL)
62    Q_PROPERTY(unsigned defaultFixedFontSize READ defaultFixedFontSize WRITE setDefaultFixedFontSize NOTIFY defaultFixedFontSizeChanged FINAL)
63
64    bool autoLoadImages() const;
65    void setAutoLoadImages(bool enable);
66
67    bool fullScreenEnabled() const;
68    void setFullScreenEnabled(bool enable);
69
70    bool javascriptEnabled() const;
71    void setJavascriptEnabled(bool enable);
72
73    bool pluginsEnabled() const;
74    void setPluginsEnabled(bool enable);
75
76    bool offlineWebApplicationCacheEnabled() const;
77    void setOfflineWebApplicationCacheEnabled(bool enable);
78
79    bool localStorageEnabled() const;
80    void setLocalStorageEnabled(bool enable);
81
82    bool xssAuditingEnabled() const;
83    void setXssAuditingEnabled(bool enable);
84
85    bool privateBrowsingEnabled() const;
86    void setPrivateBrowsingEnabled(bool enable);
87
88    bool dnsPrefetchEnabled() const;
89    void setDnsPrefetchEnabled(bool enable);
90
91    bool navigatorQtObjectEnabled() const;
92    void setNavigatorQtObjectEnabled(bool);
93
94    bool frameFlatteningEnabled() const;
95    void setFrameFlatteningEnabled(bool enable);
96
97    bool developerExtrasEnabled() const;
98    void setDeveloperExtrasEnabled(bool enable);
99
100    bool webGLEnabled() const;
101    void setWebGLEnabled(bool enable);
102
103    bool webAudioEnabled() const;
104    void setWebAudioEnabled(bool enable);
105
106    bool caretBrowsingEnabled() const;
107    void setCaretBrowsingEnabled(bool enable);
108
109    bool notificationsEnabled() const;
110    void setNotificationsEnabled(bool enable);
111
112    bool universalAccessFromFileURLsAllowed() const;
113    void setUniversalAccessFromFileURLsAllowed(bool enable);
114
115    bool fileAccessFromFileURLsAllowed() const;
116    void setFileAccessFromFileURLsAllowed(bool enable);
117
118    QString standardFontFamily() const;
119    void setStandardFontFamily(const QString& family);
120
121    QString fixedFontFamily() const;
122    void setFixedFontFamily(const QString& family);
123
124    QString serifFontFamily() const;
125    void setSerifFontFamily(const QString& family);
126
127    QString sansSerifFontFamily() const;
128    void setSansSerifFontFamily(const QString& family);
129
130    QString cursiveFontFamily() const;
131    void setCursiveFontFamily(const QString& family);
132
133    QString fantasyFontFamily() const;
134    void setFantasyFontFamily(const QString& family);
135
136    unsigned minimumFontSize() const;
137    void setMinimumFontSize(unsigned size);
138
139    unsigned defaultFontSize() const;
140    void setDefaultFontSize(unsigned size);
141
142    unsigned defaultFixedFontSize() const;
143    void setDefaultFixedFontSize(unsigned size);
144
145Q_SIGNALS:
146    void autoLoadImagesChanged();
147    void pluginsEnabledChanged();
148    void fullScreenEnabledChanged();
149    void javascriptEnabledChanged();
150    void offlineWebApplicationCacheEnabledChanged();
151    void localStorageEnabledChanged();
152    void xssAuditingEnabledChanged();
153    void privateBrowsingEnabledChanged();
154    void dnsPrefetchEnabledChanged();
155    void navigatorQtObjectEnabledChanged();
156    void frameFlatteningEnabledChanged();
157    void developerExtrasEnabledChanged();
158    void webGLEnabledChanged();
159    void webAudioEnabledChanged();
160    void caretBrowsingEnabledChanged();
161    void notificationsEnabledChanged();
162    void universalAccessFromFileURLsAllowedChanged();
163    void fileAccessFromFileURLsAllowedChanged();
164
165    void standardFontFamilyChanged();
166    void fixedFontFamilyChanged();
167    void serifFontFamilyChanged();
168    void sansSerifFontFamilyChanged();
169    void cursiveFontFamilyChanged();
170    void fantasyFontFamilyChanged();
171
172    void minimumFontSizeChanged();
173    void defaultFontSizeChanged();
174    void defaultFixedFontSizeChanged();
175
176private:
177    Q_DISABLE_COPY(QWebPreferences)
178
179    QWebPreferences();
180
181    QWebPreferencesPrivate *d;
182
183    friend class QWebPreferencesPrivate;
184};
185
186#endif // qwebpreferences_p_h
187