From d5eec804048ccac4d3dce73c9d1695ca268e878f Mon Sep 17 00:00:00 2001 From: Gökay Şatır Date: Thu, 16 Feb 2023 16:47:22 +0300 Subject: [API CHANGE] Add createShortCutManager function to uiconfigurationmanager. We need to have different accelerator classes for differnt languages. This PR creates a new accelerator class for different languages. Since current code uses single instance for accelerators, i needed to add a create function. Also we now have an unordered map for different languages and modules. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147157 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148680 Tested-by: Miklos Vajna Change-Id: Ia646f20b3206f430ece614fc127e8b748044e4c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151798 Tested-by: Jenkins Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152381 --- offapi/UnoApi_offapi.mk | 2 ++ .../sun/star/ui/ModuleUIConfigurationManager.idl | 2 +- offapi/com/sun/star/ui/UIConfigurationManager.idl | 2 +- .../sun/star/ui/XModuleUIConfigurationManager3.idl | 41 ++++++++++++++++++++++ offapi/com/sun/star/ui/XUIConfigurationManager.idl | 7 ---- .../com/sun/star/ui/XUIConfigurationManager3.idl | 39 ++++++++++++++++++++ 6 files changed, 84 insertions(+), 9 deletions(-) create mode 100644 offapi/com/sun/star/ui/XModuleUIConfigurationManager3.idl create mode 100644 offapi/com/sun/star/ui/XUIConfigurationManager3.idl (limited to 'offapi') diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index 5c8b8e4aad2b..92fd71dd8e12 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -4061,6 +4061,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/ui,\ XImageManager \ XModuleUIConfigurationManager \ XModuleUIConfigurationManager2 \ + XModuleUIConfigurationManager3 \ XModuleUIConfigurationManagerSupplier \ XPanel \ XPanels \ @@ -4073,6 +4074,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/ui,\ XUIConfigurationListener \ XUIConfigurationManager \ XUIConfigurationManager2 \ + XUIConfigurationManager3 \ XUIConfigurationManagerSupplier \ XUIConfigurationPersistence \ XUIConfigurationStorage \ diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl index 6fe18b254fc6..56fd37bcbfef 100644 --- a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module ui { @since OOo 2.0 */ -service ModuleUIConfigurationManager : XModuleUIConfigurationManager2 +service ModuleUIConfigurationManager : XModuleUIConfigurationManager3 { /** provides a function to initialize a module user interface configuration manager instance. diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl index bff584dcdb83..c0ae1683f106 100644 --- a/offapi/com/sun/star/ui/UIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl @@ -25,7 +25,7 @@ module com { module sun { module star { module ui { @since OOo 2.0 */ -service UIConfigurationManager : XUIConfigurationManager2; +service UIConfigurationManager : XUIConfigurationManager3; }; }; }; }; diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager3.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager3.idl new file mode 100644 index 000000000000..494de200b2e9 --- /dev/null +++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager3.idl @@ -0,0 +1,41 @@ +/* -*- 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 . + */ + +module com { module sun { module star { module ui { + +/** + Provides a unified interface for the ModuleUIConfigurationManager service. + + @since LibreOffice 7.6 +*/ +interface XModuleUIConfigurationManager3 +{ + interface com::sun::star::ui::XModuleUIConfigurationManager2; + + /** + Creates a new configuration manager in case there are different views with different languages. + This function enables those views to have short cut keys specific to the languages. + */ + com::sun::star::ui::XAcceleratorConfiguration createShortCutManager(); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl index 19e380a07c43..f5902229f701 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl @@ -204,13 +204,6 @@ interface XUIConfigurationManager : ::com::sun::star::uno::XInterface */ com::sun::star::ui::XAcceleratorConfiguration getShortCutManager(); - /** - @since LibreOffice 7.6 - Creates a new configuration manager in case there are different views with different languages. - This function enables those views to have short cut keys specific to the languages. - */ - com::sun::star::ui::XAcceleratorConfiguration createShortCutManager(); - /** retrieves the events manager from the user interface configuration manager.

diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager3.idl b/offapi/com/sun/star/ui/XUIConfigurationManager3.idl new file mode 100644 index 000000000000..73652fc6c8ef --- /dev/null +++ b/offapi/com/sun/star/ui/XUIConfigurationManager3.idl @@ -0,0 +1,39 @@ +/* -*- 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 . + */ + +module com { module sun { module star { module ui { + +/** + @since LibreOffice 7.6 +*/ +interface XUIConfigurationManager3 +{ + interface com::sun::star::ui::XUIConfigurationManager2; + + /** + Creates a new configuration manager in case there are different views with different languages. + This function enables those views to have short cut keys specific to the languages. + */ + com::sun::star::ui::XAcceleratorConfiguration createShortCutManager(); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit