diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2015-10-16 12:15:55 +0100 |
---|---|---|
committer | Björn Michaelsen <bjoern.michaelsen@canonical.com> | 2015-10-16 13:50:28 +0000 |
commit | 3cf557c12d27f1b2250e69a543136da098112d80 (patch) | |
tree | a4b988a42e3cef7a019f118914572063c0f73d37 /shell | |
parent | e00697d9738196f11f331335b256d7bacc17277d (diff) |
drop gconf integration as per ESC decision
Conflicts:
shell/source/backends/gconfbe/gconfbackend.cxx
Change-Id: I609ec83ec59f5ae8d3a8c9c09649695bfcb03b87
Reviewed-on: https://gerrit.libreoffice.org/19408
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Diffstat (limited to 'shell')
-rw-r--r-- | shell/Library_gconfbe.mk | 38 | ||||
-rw-r--r-- | shell/Module_shell.mk | 6 | ||||
-rw-r--r-- | shell/README | 2 | ||||
-rw-r--r-- | shell/source/backends/gconfbe/gconfaccess.cxx | 845 | ||||
-rw-r--r-- | shell/source/backends/gconfbe/gconfaccess.hxx | 114 | ||||
-rw-r--r-- | shell/source/backends/gconfbe/gconfbackend.cxx | 210 | ||||
-rw-r--r-- | shell/source/backends/gconfbe/gconfbe1.component | 25 |
7 files changed, 1 insertions, 1239 deletions
diff --git a/shell/Library_gconfbe.mk b/shell/Library_gconfbe.mk deleted file mode 100644 index 78e184eec88d..000000000000 --- a/shell/Library_gconfbe.mk +++ /dev/null @@ -1,38 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_Library_Library,gconfbe1)) - -ifeq ($(ENABLE_LOCKDOWN),TRUE) -$(eval $(call gb_Library_add_defs,gconfbe1,\ - -DENABLE_LOCKDOWN \ -)) -endif - -$(eval $(call gb_Library_use_sdk_api,gconfbe1)) - -$(eval $(call gb_Library_use_externals,gconfbe1,\ - boost_headers \ - gconf \ -)) - -$(eval $(call gb_Library_use_libraries,gconfbe1,\ - cppu \ - cppuhelper \ - sal \ -)) - -$(eval $(call gb_Library_set_componentfile,gconfbe1,shell/source/backends/gconfbe/gconfbe1)) - -$(eval $(call gb_Library_add_exception_objects,gconfbe1,\ - shell/source/backends/gconfbe/gconfaccess \ - shell/source/backends/gconfbe/gconfbackend \ -)) - -# vim: set shiftwidth=4 tabstop=4 noexpandtab: diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk index aa4700f7b56e..44d0a617f270 100644 --- a/shell/Module_shell.mk +++ b/shell/Module_shell.mk @@ -30,12 +30,6 @@ $(eval $(call gb_Module_add_targets,shell,\ endif endif -ifeq ($(ENABLE_GCONF),TRUE) -$(eval $(call gb_Module_add_targets,shell,\ - Library_gconfbe \ -)) -endif - ifeq ($(ENABLE_KDE4),TRUE) $(eval $(call gb_Module_add_targets,shell,\ Library_kde4be \ diff --git a/shell/README b/shell/README index e8bf311a2eb6..1a02c24badd3 100644 --- a/shell/README +++ b/shell/README @@ -1 +1 @@ -System helpers - launching URI, recently used files, system integration, external mailer support, gconf integration etc. +System helpers - launching URI, recently used files, system integration, external mailer support etc. diff --git a/shell/source/backends/gconfbe/gconfaccess.cxx b/shell/source/backends/gconfbe/gconfaccess.cxx deleted file mode 100644 index ec2c0cadb828..000000000000 --- a/shell/source/backends/gconfbe/gconfaccess.cxx +++ /dev/null @@ -1,845 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <sal/macros.h> -#include <sal/config.h> - -#include <string.h> - -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "osl/file.hxx" -#include "osl/security.hxx" -#include "osl/thread.h" -#include "rtl/strbuf.hxx" -#include "rtl/ustrbuf.hxx" - -#include "gconfaccess.hxx" - -#define GCONF_PROXY_MODE_KEY "/system/proxy/mode" - -#ifdef ENABLE_LOCKDOWN -#define GCONF_AUTO_SAVE_KEY "/apps/openoffice/auto_save" -#define GCONF_USER_AUTO_SAVE_KEY "/apps/openoffice/user_auto_save" -#endif - -namespace gconfaccess { - -namespace { - -namespace uno = css::uno ; - - -GConfClient* getGconfClient() -{ - static GConfClient* mClient= 0; - if (mClient == NULL) - { -#if !GLIB_CHECK_VERSION(2,36,0) - /* initialize glib object type library */ - g_type_init(); -#endif - - GError* aError = NULL; - if (!gconf_init(0, NULL, &aError)) - { - OUString msg("GconfBackend:GconfLayer: Cannot Initialize Gconf connection - " + - OUString::createFromAscii(aError->message)); - - g_error_free(aError); - aError = NULL; - throw uno::RuntimeException(msg); - } - - mClient = gconf_client_get_default(); - if (!mClient) - { - throw uno::RuntimeException("GconfBackend:GconfLayer: Cannot Initialize Gconf connection"); - } - - static const char * const PreloadValuesList[] = - { - "/desktop/gnome/interface", - "/system/proxy", - "/system/http_proxy/host", - "/desktop/gnome/url-handlers/mailto", -#ifdef ENABLE_LOCKDOWN - "/apps/openoffice", - "/desktop/gnome/lockdown", - "/apps/openoffice/lockdown", -#endif // ENABLE_LOCKDOWN - NULL - }; - int i = 0; - while( PreloadValuesList[i] != NULL ) - gconf_client_preload( mClient, PreloadValuesList[i++], GCONF_CLIENT_PRELOAD_ONELEVEL, NULL ); - } - - return mClient; -} - -static OUString xdg_user_dir_lookup (const char *type) -{ - char *config_home; - char *p; - bool bError = false; - - osl::Security aSecurity; - oslFileHandle handle; - OUString aHomeDirURL; - OUString aDocumentsDirURL; - OUString aConfigFileURL; - OUStringBuffer aUserDirBuf; - - if (!aSecurity.getHomeDir( aHomeDirURL ) ) - { - osl::FileBase::getFileURLFromSystemPath(OUString("/tmp"), aDocumentsDirURL); - return aDocumentsDirURL; - } - - config_home = getenv ("XDG_CONFIG_HOME"); - if (config_home == NULL || config_home[0] == 0) - { - aConfigFileURL = aHomeDirURL + "/.config/user-dirs.dirs"; - } - else - { - aConfigFileURL = OUString::createFromAscii(config_home) + "/user-dirs.dirs"; - } - - if(osl_File_E_None == osl_openFile(aConfigFileURL.pData, &handle, osl_File_OpenFlag_Read)) - { - rtl::ByteSequence seq; - while (osl_File_E_None == osl_readLine(handle , reinterpret_cast<sal_Sequence **>(&seq))) - { - /* Remove newline at end */ - int relative = 0; - int len = seq.getLength(); - if(len>0 && seq[len-1] == '\n') - seq[len-1] = 0; - - p = reinterpret_cast<char *>(seq.getArray()); - while (*p == ' ' || *p == '\t') - p++; - if (strncmp (p, "XDG_", 4) != 0) - continue; - p += 4; - if (strncmp (p, type, strlen (type)) != 0) - continue; - p += strlen (type); - if (strncmp (p, "_DIR", 4) != 0) - continue; - p += 4; - while (*p == ' ' || *p == '\t') - p++; - if (*p != '=') - continue; - p++; - while (*p == ' ' || *p == '\t') - p++; - if (*p != '"') - continue; - p++; - if (strncmp (p, "$HOME/", 6) == 0) - { - p += 6; - relative = 1; - } - else if (*p != '/') - continue; - if (relative) - { - aUserDirBuf = OUStringBuffer(aHomeDirURL + "/"); - } - else - { - aUserDirBuf = OUStringBuffer(); - } - while (*p && *p != '"') - { - if ((*p == '\\') && (*(p+1) != 0)) - p++; - aUserDirBuf.append((sal_Unicode)*p++); - } - }//end of while - osl_closeFile(handle); - } - else - bError = true; - if (aUserDirBuf.getLength()>0 && !bError) - { - aDocumentsDirURL = aUserDirBuf.makeStringAndClear(); - osl::Directory aDocumentsDir( aDocumentsDirURL ); - if( osl::FileBase::E_None == aDocumentsDir.open() ) - return aDocumentsDirURL; - } - /* Use fallbacks historical compatibility if nothing else exists */ - return aHomeDirURL + "/" + OUString::createFromAscii(type); -} - -uno::Any makeAnyOfGconfValue( GConfValue *pGconfValue ) -{ - switch( pGconfValue->type ) - { - case GCONF_VALUE_BOOL: - return uno::makeAny( (bool) gconf_value_get_bool( pGconfValue ) ); - - case GCONF_VALUE_INT: - return uno::makeAny( (sal_Int32) gconf_value_get_int( pGconfValue ) ); - - case GCONF_VALUE_STRING: - return uno::makeAny( OStringToOUString( OString( - gconf_value_get_string(pGconfValue) ), RTL_TEXTENCODING_UTF8 ) ); - - default: - fprintf( stderr, "makeAnyOfGconfValue: Type not handled.\n" ); - break; - } - - return uno::Any(); -} - - - -static void splitFontName( GConfValue *pGconfValue, OUString &rName, sal_Int16 &rHeight) -{ - OString aFont( gconf_value_get_string( pGconfValue ) ); - aFont = aFont.trim(); - sal_Int32 nIdx = aFont.lastIndexOf( ' ' ); - if (nIdx < 1) { // urk - rHeight = 12; - nIdx = aFont.getLength(); - } else { - OString aSize = aFont.copy( nIdx + 1 ); - rHeight = static_cast<sal_Int16>( aSize.toInt32() ); - } - - rName = OStringToOUString( aFont.copy( 0, nIdx ), RTL_TEXTENCODING_UTF8 ); -} - - - -uno::Any translateToOOo( const ConfigurationValue &rValue, GConfValue *pGconfValue ) -{ - - switch( rValue.nSettingId ) - { - case SETTING_PROXY_MODE: - { - OUString aProxyMode; - uno::Any aOriginalValue = makeAnyOfGconfValue( pGconfValue ); - aOriginalValue >>= aProxyMode; - - if( aProxyMode == "manual" ) - return uno::makeAny( (sal_Int32) 1 ); - else if( aProxyMode == "none" ) - return uno::makeAny( (sal_Int32) 0 ); - } - break; - - case SETTING_NO_PROXY_FOR: - { - OStringBuffer aBuffer; - if( (GCONF_VALUE_LIST == pGconfValue->type) && (GCONF_VALUE_STRING == gconf_value_get_list_type(pGconfValue)) ) - { - GSList * list = gconf_value_get_list(pGconfValue); - for(; list; list = g_slist_next(list)) - { - aBuffer.append(gconf_value_get_string(static_cast<GConfValue *>(list->data)) + OString(";")); - } - // Remove trailing ";" - aBuffer.setLength(aBuffer.getLength()-1); - return uno::makeAny(OStringToOUString(aBuffer.makeStringAndClear(), RTL_TEXTENCODING_UTF8)); - } - else - g_warning( "unexpected type for ignore_hosts" ); - } - break; - - case SETTING_MAILER_PROGRAM: - { - OUString aMailer; - uno::Any aOriginalValue = makeAnyOfGconfValue( pGconfValue ); - aOriginalValue >>= aMailer; - sal_Int32 nIndex = 0; - return uno::makeAny( aMailer.getToken( 0, ' ', nIndex ) ); - } - -#ifdef ENABLE_LOCKDOWN - // "short" values need to be returned a sal_Int16 - case SETTING_FONT_ANTI_ALIASING_MIN_PIXEL: - case SETTING_SYMBOL_SET: - { - sal_Int32 nShortValue(0); - uno::Any aOriginalValue = makeAnyOfGconfValue( pGconfValue ); - aOriginalValue >>= nShortValue; - return uno::makeAny( (sal_Int16) nShortValue ); - } - break; -#endif // ENABLE_LOCKDOWN - - // "boolean" values that need a string to be returned - case SETTING_ENABLE_ACCESSIBILITY: -#ifdef ENABLE_LOCKDOWN - case SETTING_DISABLE_PRINTING: -#endif // ENABLE_LOCKDOWN - { - bool bBooleanValue = false; - uno::Any aOriginalValue = makeAnyOfGconfValue( pGconfValue ); - aOriginalValue >>= bBooleanValue; - return uno::makeAny( OUString::boolean( bBooleanValue ) ); - } - - case SETTING_WORK_DIRECTORY: - { - OUString aDocumentsDirURL = xdg_user_dir_lookup("Documents"); - - return uno::makeAny( aDocumentsDirURL ); - } - - case SETTING_TEMPLATE_DIRECTORY: - { - OUString aTemplatesDirURL = xdg_user_dir_lookup("Templates"); - - return uno::makeAny( aTemplatesDirURL ); - } - - case SETTING_USER_GIVENNAME: - { - OUString aCompleteName( OStringToOUString( - g_get_real_name(), osl_getThreadTextEncoding() ) ); - sal_Int32 nIndex = 0; - OUString aGivenName; - do - aGivenName = aCompleteName.getToken( 0, ' ', nIndex ); - while ( nIndex == 0 ); - - return uno::makeAny( aGivenName ); - - } - - case SETTING_USER_SURNAME: - { - OUString aCompleteName( OStringToOUString( - g_get_real_name(), osl_getThreadTextEncoding() ) ); - sal_Int32 nIndex = 0; - OUString aSurname; - do - aSurname = aCompleteName.getToken( 0, ' ', nIndex ); - while ( nIndex >= 0 ); - - return uno::makeAny( aSurname ); - } - - case SETTING_SOURCEVIEWFONT_NAME: - case SETTING_SOURCEVIEWFONT_HEIGHT: - { - OUString aName; - sal_Int16 nHeight; - - splitFontName (pGconfValue, aName, nHeight); - if (rValue.nSettingId == SETTING_SOURCEVIEWFONT_NAME) - return uno::makeAny( aName ); - else - return uno::makeAny( nHeight ); - } - - - default: - fprintf( stderr, "Unhandled setting to translate.\n" ); - break; - } - - return uno::Any(); -} - - - -bool SAL_CALL isDependencySatisfied( GConfClient* pClient, const ConfigurationValue &rValue ) -{ - switch( rValue.nDependsOn ) - { - case SETTING_PROXY_MODE: - { - GConfValue* pGconfValue = gconf_client_get( pClient, GCONF_PROXY_MODE_KEY, NULL ); - - if ( pGconfValue != NULL ) - { - bool bOk = g_ascii_strcasecmp( "manual", gconf_value_get_string( pGconfValue ) ) == 0; - gconf_value_free( pGconfValue ); - if (bOk) return true; - } - } - break; - - case SETTING_WORK_DIRECTORY: - { - OUString aDocumentsDirURL = xdg_user_dir_lookup("Documents"); - osl::Directory aDocumentsDir( aDocumentsDirURL ); - - if( osl::FileBase::E_None == aDocumentsDir.open() ) - return true; - } - break; - - case SETTING_TEMPLATE_DIRECTORY: - { - OUString aTemplatesDirURL = xdg_user_dir_lookup("Templates"); - osl::Directory aTemplatesDir( aTemplatesDirURL ); - - if( osl::FileBase::E_None == aTemplatesDir.open() ) - return true; - } - break; - - case SETTING_USER_GIVENNAME: - { - OUString aCompleteName( OStringToOUString( - g_get_real_name(), osl_getThreadTextEncoding() ) ); - if( aCompleteName != "Unknown" ) - return true; - } - break; - - case SETTING_USER_SURNAME: - { - OUString aCompleteName( OStringToOUString( - g_get_real_name(), osl_getThreadTextEncoding() ) ); - if( aCompleteName != "Unknown" ) - { - if( aCompleteName.trim().indexOf( ' ' ) != -1 ) - return true; - } - } - break; - -#ifdef ENABLE_LOCKDOWN - case SETTING_AUTO_SAVE: - { - GConfValue* pGconfValue = gconf_client_get( pClient, GCONF_AUTO_SAVE_KEY, NULL ); - - if( ( pGconfValue != NULL ) ) - { - bool bOk = gconf_value_get_bool( pGconfValue ); - gconf_value_free( pGconfValue ); - if (bOk) return true; - } - } - break; - case SETTING_USER_AUTO_SAVE: - { - GConfValue* pGconfValue = gconf_client_get( pClient, GCONF_USER_AUTO_SAVE_KEY, NULL ); - - if( ( pGconfValue != NULL ) ) - { - bool bOk = gconf_value_get_bool( pGconfValue ); - gconf_value_free( pGconfValue ); - if (bOk) return true; - } - } - break; -#endif // ENABLE_LOCKDOWN - - default: - fprintf( stderr, "Unhandled setting to check dependency.\n" ); - break; - } - - return false; -} - -} - -ConfigurationValue const ConfigurationValues[] = -{ - { - SETTING_ENABLE_ACCESSIBILITY, - "/desktop/gnome/interface/accessibility", - RTL_CONSTASCII_STRINGPARAM("EnableATToolSupport"), - true, - SETTINGS_LAST - }, - - { - SETTING_PROXY_MODE, - GCONF_PROXY_MODE_KEY, - RTL_CONSTASCII_STRINGPARAM("ooInetProxyType"), - true, - SETTINGS_LAST - }, - - { - SETTING_PROXY_HTTP_HOST, - "/system/http_proxy/host", - RTL_CONSTASCII_STRINGPARAM("ooInetHTTPProxyName"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_PROXY_HTTP_PORT, - "/system/http_proxy/port", - RTL_CONSTASCII_STRINGPARAM("ooInetHTTPProxyPort"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_PROXY_HTTPS_HOST, - "/system/proxy/secure_host", - RTL_CONSTASCII_STRINGPARAM("ooInetHTTPSProxyName"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_PROXY_HTTPS_PORT, - "/system/proxy/secure_port", - RTL_CONSTASCII_STRINGPARAM("ooInetHTTPSProxyPort"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_PROXY_FTP_HOST, - "/system/proxy/ftp_host", - RTL_CONSTASCII_STRINGPARAM("ooInetFTPProxyName"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_PROXY_FTP_PORT, - "/system/proxy/ftp_port", - RTL_CONSTASCII_STRINGPARAM("ooInetFTPProxyPort"), - false, - SETTING_PROXY_MODE - }, - - { - SETTING_NO_PROXY_FOR, - "/system/http_proxy/ignore_hosts", - RTL_CONSTASCII_STRINGPARAM("ooInetNoProxy"), - true, - SETTING_PROXY_MODE - }, - - { - SETTING_MAILER_PROGRAM, - "/desktop/gnome/url-handlers/mailto/command", - RTL_CONSTASCII_STRINGPARAM("ExternalMailer"), - true, - SETTINGS_LAST - }, - { - SETTING_SOURCEVIEWFONT_NAME, - "/desktop/gnome/interface/monospace_font_name", - RTL_CONSTASCII_STRINGPARAM("SourceViewFontName"), - true, - SETTINGS_LAST - }, - { - SETTING_SOURCEVIEWFONT_HEIGHT, - "/desktop/gnome/interface/monospace_font_name", - RTL_CONSTASCII_STRINGPARAM("SourceViewFontHeight"), - true, - SETTINGS_LAST - }, - - { - SETTING_WORK_DIRECTORY, - "/desktop/gnome/url-handlers/mailto/command", // dummy - RTL_CONSTASCII_STRINGPARAM("WorkPathVariable"), - true, - SETTING_WORK_DIRECTORY, // so that the existence of the dir can be checked - }, - - { - SETTING_TEMPLATE_DIRECTORY, - "/desktop/gnome/url-handlers/mailto/command", // dummy - RTL_CONSTASCII_STRINGPARAM("TemplatePathVariable"), - true, - SETTING_TEMPLATE_DIRECTORY, // so that the existence of the dir can be checked - }, - - { - SETTING_USER_GIVENNAME, - "/desktop/gnome/url-handlers/mailto/command", // dummy - RTL_CONSTASCII_STRINGPARAM("givenname"), - true, - SETTING_USER_GIVENNAME - }, - - { - SETTING_USER_SURNAME, - "/desktop/gnome/url-handlers/mailto/command", // dummy - RTL_CONSTASCII_STRINGPARAM("sn"), - true, - SETTING_USER_SURNAME - }, - -#ifdef ENABLE_LOCKDOWN - { - SETTING_WRITER_DEFAULT_DOC_FORMAT, - "/apps/openoffice/writer_default_document_format", - RTL_CONSTASCII_STRINGPARAM("TextDocumentSetupFactoryDefaultFilter"), - false, - SETTINGS_LAST - }, - - { - SETTING_IMPRESS_DEFAULT_DOC_FORMAT, - "/apps/openoffice/impress_default_document_format", - RTL_CONSTASCII_STRINGPARAM("PresentationDocumentSetupFactoryDefaultFilter"), - false, - SETTINGS_LAST - }, - - { - SETTING_CALC_DEFAULT_DOC_FORMAT, - "/apps/openoffice/calc_default_document_format", - RTL_CONSTASCII_STRINGPARAM("SpreadsheetDocumentSetupFactoryDefaultFilter"), - false, - SETTINGS_LAST - }, - - { - SETTING_AUTO_SAVE, - GCONF_AUTO_SAVE_KEY, - RTL_CONSTASCII_STRINGPARAM("AutoSaveEnabled"), - false, - SETTINGS_LAST - }, - - { - SETTING_USER_AUTO_SAVE, - GCONF_USER_AUTO_SAVE_KEY, - RTL_CONSTASCII_STRINGPARAM("UserAutoSaveEnabled"), - false, - SETTINGS_LAST - }, - - { - SETTING_AUTO_SAVE_INTERVAL, - "/apps/openoffice/auto_save_interval", - RTL_CONSTASCII_STRINGPARAM("AutoSaveTimeIntervall"), - false, - SETTING_AUTO_SAVE - }, - - { - SETTING_DISABLE_PRINTING, - "/desktop/gnome/lockdown/disable_printing", - RTL_CONSTASCII_STRINGPARAM("DisablePrinting"), - true, - SETTINGS_LAST - }, - - { - SETTING_USE_SYSTEM_FILE_DIALOG, - "/apps/openoffice/use_system_file_dialog", - RTL_CONSTASCII_STRINGPARAM("UseSystemFileDialog"), - false, - SETTINGS_LAST - }, - - { - SETTING_PRINTING_MODIFIES_DOCUMENT, - "/apps/openoffice/printing_modifies_doc", - RTL_CONSTASCII_STRINGPARAM("PrintingModifiesDocument"), - false, - SETTINGS_LAST - }, - - { - SETTING_SHOW_ICONS_IN_MENUS, - "/apps/openoffice/show_menu_icons", - RTL_CONSTASCII_STRINGPARAM("ShowIconsInMenues"), - false, - SETTINGS_LAST - }, - - { - SETTING_SHOW_INACTIVE_MENUITEMS, - "/apps/openoffice/show_menu_inactive_items", - RTL_CONSTASCII_STRINGPARAM("DontHideDisabledEntry"), - false, - SETTINGS_LAST - }, - - { - SETTING_SHOW_FONT_PREVIEW, - "/apps/openoffice/show_font_preview", - RTL_CONSTASCII_STRINGPARAM("ShowFontBoxWYSIWYG"), - false, - SETTINGS_LAST - }, - - { - SETTING_SHOW_FONT_HISTORY, - "/apps/openoffice/show_font_history", - RTL_CONSTASCII_STRINGPARAM("FontViewHistory"), - false, - SETTINGS_LAST - }, - - { - SETTING_USE_SYSTEM_FONT, - "/apps/openoffice/use_system_font", - RTL_CONSTASCII_STRINGPARAM("AccessibilityIsSystemFont"), - false, - SETTINGS_LAST - }, - - { - SETTING_USE_FONT_ANTI_ALIASING, - "/apps/openoffice/use_font_anti_aliasing", - RTL_CONSTASCII_STRINGPARAM("FontAntiAliasingEnabled"), - false, - SETTINGS_LAST - }, - - { - SETTING_FONT_ANTI_ALIASING_MIN_PIXEL, - "/apps/openoffice/font_anti_aliasing_min_pixel", - RTL_CONSTASCII_STRINGPARAM("FontAntiAliasingMinPixelHeight"), - true, - SETTINGS_LAST - }, - - { - SETTING_WARN_CREATE_PDF, - "/apps/openoffice/lockdown/warn_info_create_pdf", - RTL_CONSTASCII_STRINGPARAM("WarnCreatePDF"), - false, - SETTINGS_LAST - }, - - { - SETTING_WARN_PRINT_DOC, - "/apps/openoffice/lockdown/warn_info_printing", - RTL_CONSTASCII_STRINGPARAM("WarnPrintDoc"), - false, - SETTINGS_LAST - }, - - { - SETTING_WARN_SAVEORSEND_DOC, - "/apps/openoffice/lockdown/warn_info_saving", - RTL_CONSTASCII_STRINGPARAM("WarnSaveOrSendDoc"), - false, - SETTINGS_LAST - }, - - { - SETTING_WARN_SIGN_DOC, - "/apps/openoffice/lockdown/warn_info_signing", - RTL_CONSTASCII_STRINGPARAM("WarnSignDoc"), - false, - SETTINGS_LAST - }, - - { - SETTING_REMOVE_PERSONAL_INFO, - "/apps/openoffice/lockdown/remove_personal_info_on_save", - RTL_CONSTASCII_STRINGPARAM("RemovePersonalInfoOnSaving"), - false, - SETTINGS_LAST - }, - - { - SETTING_RECOMMEND_PASSWORD, - "/apps/openoffice/lockdown/recommend_password_on_save", - RTL_CONSTASCII_STRINGPARAM("RecommendPasswordProtection"), - false, - SETTINGS_LAST - }, - - { - SETTING_UNDO_STEPS, - "/apps/openoffice/undo_steps", - RTL_CONSTASCII_STRINGPARAM("UndoSteps"), - false, - SETTINGS_LAST - }, - - { - SETTING_SYMBOL_SET, - "/apps/openoffice/icon_size", - RTL_CONSTASCII_STRINGPARAM("SymbolSet"), - true, - SETTINGS_LAST - }, - - { - SETTING_MACRO_SECURITY_LEVEL, - "/apps/openoffice/lockdown/macro_security_level", - RTL_CONSTASCII_STRINGPARAM("MacroSecurityLevel"), - false, - SETTINGS_LAST - }, - - { - SETTING_CREATE_BACKUP, - "/apps/openoffice/create_backup", - RTL_CONSTASCII_STRINGPARAM("CreateBackup"), - false, - SETTINGS_LAST - }, - - { - SETTING_WARN_ALIEN_FORMAT, - "/apps/openoffice/warn_alien_format", - RTL_CONSTASCII_STRINGPARAM("WarnAlienFormat"), - false, - SETTINGS_LAST - }, - -#endif // ENABLE_LOCKDOWN -}; - -std::size_t const nConfigurationValues = - sizeof ConfigurationValues / sizeof ConfigurationValues[0]; - -css::beans::Optional< css::uno::Any > getValue(ConfigurationValue const & data) -{ - GConfClient* pClient = getGconfClient(); - if( ( data.nDependsOn == SETTINGS_LAST ) || isDependencySatisfied( pClient, data ) ) - { - GConfValue* pGconfValue = gconf_client_get( pClient, data.GconfItem, NULL ); - - if( pGconfValue != NULL ) - { - css::uno::Any value; - if( data.bNeedsTranslation ) - value = translateToOOo( data, pGconfValue ); - else - value = makeAnyOfGconfValue( pGconfValue ); - - gconf_value_free( pGconfValue ); - - return css::beans::Optional< css::uno::Any >(true, value); - } - } - return css::beans::Optional< css::uno::Any >(); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/shell/source/backends/gconfbe/gconfaccess.hxx b/shell/source/backends/gconfbe/gconfaccess.hxx deleted file mode 100644 index bad128df9b67..000000000000 --- a/shell/source/backends/gconfbe/gconfaccess.hxx +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX -#define INCLUDED_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX - -#include "sal/config.h" - -#include <cstddef> - -#include "com/sun/star/beans/Optional.hpp" -#include "gconf/gconf-client.h" -#include "sal/types.h" - -namespace com { namespace sun { namespace star { namespace uno { - class Any; -} } } } - -namespace gconfaccess { - -enum ConfigurationSetting -{ - SETTING_PROXY_MODE, - SETTING_PROXY_HTTP_HOST, - SETTING_PROXY_HTTP_PORT, - SETTING_PROXY_HTTPS_HOST, - SETTING_PROXY_HTTPS_PORT, - SETTING_PROXY_FTP_HOST, - SETTING_PROXY_FTP_PORT, - SETTING_NO_PROXY_FOR, - SETTING_ENABLE_ACCESSIBILITY, - SETTING_MAILER_PROGRAM, - SETTING_WORK_DIRECTORY, - SETTING_TEMPLATE_DIRECTORY, - SETTING_SOURCEVIEWFONT_NAME, - SETTING_SOURCEVIEWFONT_HEIGHT, - SETTING_USER_GIVENNAME, - SETTING_USER_SURNAME, - -#ifdef ENABLE_LOCKDOWN - - SETTING_DISABLE_PRINTING, - SETTING_USE_SYSTEM_FILE_DIALOG, - SETTING_PRINTING_MODIFIES_DOCUMENT, - SETTING_SHOW_ICONS_IN_MENUS, - SETTING_SHOW_INACTIVE_MENUITEMS, - SETTING_SHOW_FONT_PREVIEW, - SETTING_SHOW_FONT_HISTORY, - SETTING_SAVE_DOCUMENT_WINDOWS, - SETTING_SAVE_DOCUMENT_VIEW_INFO, - SETTING_USE_SYSTEM_FONT, - SETTING_USE_FONT_ANTI_ALIASING, - SETTING_FONT_ANTI_ALIASING_MIN_PIXEL, - SETTING_WARN_CREATE_PDF, - SETTING_WARN_PRINT_DOC, - SETTING_WARN_SAVEORSEND_DOC, - SETTING_WARN_SIGN_DOC, - SETTING_REMOVE_PERSONAL_INFO, - SETTING_RECOMMEND_PASSWORD, - SETTING_UNDO_STEPS, - SETTING_SYMBOL_SET, - SETTING_MACRO_SECURITY_LEVEL, - SETTING_CREATE_BACKUP, - SETTING_WARN_ALIEN_FORMAT, - SETTING_AUTO_SAVE, - SETTING_USER_AUTO_SAVE, - SETTING_AUTO_SAVE_INTERVAL, - SETTING_WRITER_DEFAULT_DOC_FORMAT, - SETTING_IMPRESS_DEFAULT_DOC_FORMAT, - SETTING_CALC_DEFAULT_DOC_FORMAT, - -#endif // ENABLE_LOCKDOWN - - SETTINGS_LAST -}; - -struct ConfigurationValue -{ - const ConfigurationSetting nSettingId; - const gchar *GconfItem; - const char *OOoConfItem; - const sal_Int32 nOOoConfItemLen; - const bool bNeedsTranslation; - const ConfigurationSetting nDependsOn; -}; - -extern ConfigurationValue const ConfigurationValues[]; - -extern std::size_t const nConfigurationValues; - -com::sun::star::beans::Optional< com::sun::star::uno::Any > getValue( - ConfigurationValue const & data); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/shell/source/backends/gconfbe/gconfbackend.cxx b/shell/source/backends/gconfbe/gconfbackend.cxx deleted file mode 100644 index 5b14ab383789..000000000000 --- a/shell/source/backends/gconfbe/gconfbackend.cxx +++ /dev/null @@ -1,210 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "sal/config.h" - -#include <cstddef> - -#include "boost/noncopyable.hpp" -#include "com/sun/star/beans/Optional.hpp" -#include "com/sun/star/beans/PropertyVetoException.hpp" -#include "com/sun/star/beans/UnknownPropertyException.hpp" -#include "com/sun/star/beans/XPropertyChangeListener.hpp" -#include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/beans/XPropertySetInfo.hpp" -#include "com/sun/star/beans/XVetoableChangeListener.hpp" -#include "com/sun/star/lang/IllegalArgumentException.hpp" -#include "com/sun/star/lang/WrappedTargetException.hpp" -#include "com/sun/star/lang/XMultiComponentFactory.hpp" -#include "com/sun/star/lang/XServiceInfo.hpp" -#include "com/sun/star/uno/Any.hxx" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/uno/XCurrentContext.hpp" -#include "cppuhelper/factory.hxx" -#include <cppuhelper/implbase.hxx> -#include "cppuhelper/implementationentry.hxx" -#include "cppuhelper/weak.hxx" -#include "rtl/string.h" -#include "rtl/ustring.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" -#include "uno/current_context.hxx" - -#include "gconfaccess.hxx" - -namespace { - -OUString SAL_CALL getServiceImplementationName() { - return OUString( - "com.sun.star.comp.configuration.backend.GconfBackend"); -} - -css::uno::Sequence< OUString > SAL_CALL getServiceSupportedServiceNames() { - OUString name( - "com.sun.star.configuration.backend.GconfBackend"); - return css::uno::Sequence< OUString >(&name, 1); -} - -class Service: - public cppu::WeakImplHelper< - css::lang::XServiceInfo, css::beans::XPropertySet >, - private boost::noncopyable -{ -public: - Service(); - -private: - virtual ~Service() {} - - virtual OUString SAL_CALL getImplementationName() - throw (css::uno::RuntimeException, std::exception) override - { return getServiceImplementationName(); } - - virtual sal_Bool SAL_CALL supportsService(OUString const & ServiceName) - throw (css::uno::RuntimeException, std::exception) override - { return ServiceName == getSupportedServiceNames()[0]; } - - virtual css::uno::Sequence< OUString > SAL_CALL - getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception) override - { return getServiceSupportedServiceNames(); } - - virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL - getPropertySetInfo() throw (css::uno::RuntimeException, std::exception) override - { return css::uno::Reference< css::beans::XPropertySetInfo >(); } - - virtual void SAL_CALL setPropertyValue( - OUString const &, css::uno::Any const &) - throw ( - css::beans::UnknownPropertyException, - css::beans::PropertyVetoException, - css::lang::IllegalArgumentException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override; - - virtual css::uno::Any SAL_CALL getPropertyValue( - OUString const & PropertyName) - throw ( - css::beans::UnknownPropertyException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override; - - virtual void SAL_CALL addPropertyChangeListener( - OUString const &, - css::uno::Reference< css::beans::XPropertyChangeListener > const &) - throw ( - css::beans::UnknownPropertyException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override - {} - - virtual void SAL_CALL removePropertyChangeListener( - OUString const &, - css::uno::Reference< css::beans::XPropertyChangeListener > const &) - throw ( - css::beans::UnknownPropertyException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override - {} - - virtual void SAL_CALL addVetoableChangeListener( - OUString const &, - css::uno::Reference< css::beans::XVetoableChangeListener > const &) - throw ( - css::beans::UnknownPropertyException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override - {} - - virtual void SAL_CALL removeVetoableChangeListener( - OUString const &, - css::uno::Reference< css::beans::XVetoableChangeListener > const &) - throw ( - css::beans::UnknownPropertyException, - css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override - {} - - bool enabled_; -}; - -Service::Service(): enabled_(false) { - css::uno::Reference< css::uno::XCurrentContext > context( - css::uno::getCurrentContext()); - if (context.is()) { - OUString desktop; - context->getValueByName( - OUString("system.desktop-environment")) >>= - desktop; - enabled_ = desktop == "GNOME"; - } -} - -void Service::setPropertyValue(OUString const &, css::uno::Any const &) - throw ( - css::beans::UnknownPropertyException, css::beans::PropertyVetoException, - css::lang::IllegalArgumentException, css::lang::WrappedTargetException, - css::uno::RuntimeException, std::exception) -{ - throw css::lang::IllegalArgumentException( - OUString("setPropertyValue not supported"), - static_cast< cppu::OWeakObject * >(this), -1); -} - -css::uno::Any Service::getPropertyValue(OUString const & PropertyName) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException, std::exception) -{ - for (std::size_t i = 0; i < gconfaccess::nConfigurationValues; ++i) - { - if (PropertyName.equalsAsciiL( - gconfaccess::ConfigurationValues[i].OOoConfItem, - gconfaccess::ConfigurationValues[i].nOOoConfItemLen)) - { - return css::uno::makeAny( - enabled_ - ? gconfaccess::getValue(gconfaccess::ConfigurationValues[i]) - : css::beans::Optional< css::uno::Any >()); - } - } - throw css::beans::UnknownPropertyException( - PropertyName, static_cast< cppu::OWeakObject * >(this)); -} - -css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance( - SAL_UNUSED_PARAMETER css::uno::Reference< css::uno::XComponentContext > - const &) -{ - return static_cast< cppu::OWeakObject * >(new Service); -} - -static cppu::ImplementationEntry const services[] = { - { &createInstance, &getServiceImplementationName, - &getServiceSupportedServiceNames, &cppu::createSingleComponentFactory, 0, - 0 }, - { 0, 0, 0, 0, 0, 0 } -}; - -} - -extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL gconfbe1_component_getFactory( - char const * pImplName, void * pServiceManager, void * pRegistryKey) -{ - return cppu::component_getFactoryHelper( - pImplName, pServiceManager, pRegistryKey, services); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/shell/source/backends/gconfbe/gconfbe1.component b/shell/source/backends/gconfbe/gconfbe1.component deleted file mode 100644 index d28f624fa9b3..000000000000 --- a/shell/source/backends/gconfbe/gconfbe1.component +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - --> - -<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@" - prefix="gconfbe1" xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.configuration.backend.GconfBackend"> - <service name="com.sun.star.configuration.backend.GconfBackend"/> - </implementation> -</component> |