1 /*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27 
28 #ifndef INCLUDED_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX
29 #define INCLUDED_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX
30 
31 #include "sal/config.h"
32 
33 #include <cstddef>
34 
35 #include "com/sun/star/beans/Optional.hpp"
36 #include "gconf/gconf-client.h"
37 #include "sal/types.h"
38 
39 namespace com { namespace sun { namespace star { namespace uno {
40     class Any;
41 } } } }
42 
43 namespace gconfaccess {
44 
45 enum ConfigurationSetting
46 {
47     SETTING_PROXY_MODE,
48     SETTING_PROXY_HTTP_HOST,
49     SETTING_PROXY_HTTP_PORT,
50 	SETTING_PROXY_HTTPS_HOST,
51     SETTING_PROXY_HTTPS_PORT,
52     SETTING_PROXY_FTP_HOST,
53     SETTING_PROXY_FTP_PORT,
54     SETTING_NO_PROXY_FOR,
55     SETTING_ENABLE_ACCESSIBILITY,
56     SETTING_MAILER_PROGRAM,
57     SETTING_WORK_DIRECTORY,
58     SETTING_SOURCEVIEWFONT_NAME,
59     SETTING_SOURCEVIEWFONT_HEIGHT,
60     SETTING_USER_GIVENNAME,
61     SETTING_USER_SURNAME,
62 
63 #ifdef ENABLE_LOCKDOWN
64 
65     SETTING_DISABLE_PRINTING,
66     SETTING_USE_SYSTEM_FILE_DIALOG,
67     SETTING_PRINTING_MODIFIES_DOCUMENT,
68     SETTING_SHOW_ICONS_IN_MENUS,
69     SETTING_SHOW_INACTIVE_MENUITEMS,
70     SETTING_SHOW_FONT_PREVIEW,
71     SETTING_SHOW_FONT_HISTORY,
72     SETTING_ENABLE_OPENGL,
73     SETTING_OPTIMIZE_OPENGL,
74     SETTING_SAVE_DOCUMENT_WINDOWS,
75     SETTING_SAVE_DOCUMENT_VIEW_INFO,
76     SETTING_USE_SYSTEM_FONT,
77     SETTING_USE_FONT_ANTI_ALIASING,
78     SETTING_FONT_ANTI_ALIASING_MIN_PIXEL,
79     SETTING_WARN_CREATE_PDF,
80     SETTING_WARN_PRINT_DOC,
81     SETTING_WARN_SAVEORSEND_DOC,
82     SETTING_WARN_SIGN_DOC,
83     SETTING_REMOVE_PERSONAL_INFO,
84     SETTING_RECOMMEND_PASSWORD,
85     SETTING_UNDO_STEPS,
86     SETTING_SYMBOL_SET,
87     SETTING_MACRO_SECURITY_LEVEL,
88     SETTING_CREATE_BACKUP,
89     SETTING_WARN_ALIEN_FORMAT,
90     SETTING_AUTO_SAVE,
91     SETTING_AUTO_SAVE_INTERVAL,
92     SETTING_WRITER_DEFAULT_DOC_FORMAT,
93     SETTING_IMPRESS_DEFAULT_DOC_FORMAT,
94     SETTING_CALC_DEFAULT_DOC_FORMAT,
95 
96 #endif // ENABLE_LOCKDOWN
97 
98     SETTINGS_LAST
99 };
100 
101 struct ConfigurationValue
102 {
103     const ConfigurationSetting nSettingId;
104     const gchar *GconfItem;
105     const char *OOoConfItem;
106     const sal_Bool bNeedsTranslation;
107     const ConfigurationSetting nDependsOn;
108 };
109 
110 extern ConfigurationValue const ConfigurationValues[];
111 
112 extern std::size_t const nConfigurationValues;
113 
114 com::sun::star::beans::Optional< com::sun::star::uno::Any > getValue(
115     ConfigurationValue const & data);
116 
117 }
118 
119 #endif
120