Kaydet (Commit) 189bb791 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

fdo#66691: Revert fix for i#121577 Allow setting toolbar name in Addons.xcu

...which incompatibly changed Addons.xcs and breaks extensions (and LibreLogo,
which adds to Addons.xcu even though it is not an extension).  See the mail
thread starting at
<http://lists.freedesktop.org/archives/libreoffice/2013-July/054612.html>
"[Libreoffice-commits] core.git: #i121577# Allow setting toolbar name in
Addons.xcu" for details.

This reverts commit 85f072ef
"Resolves: #i121577# Allow setting toolbar name in Addons.xcu" plus follow-up
af572d9f "Related: #i121577# Allow setting
toolbar name in Addons.xcu," f13f9b5c "various
.xcus are gone now," and 37d99217
"odk/examples/python/toolpanel/CalcWindowState.xcu is still in use," plus those
parts of f97ca6f6 "Resolves: #i116455# Make
toolbar style settings persistent" that apparently belong to the fix for
i#121577 rather than i#116455.

Change-Id: Ib744566f3d8da7d9008d7dad8bec60f1bf32e743
üst 7137605e
......@@ -1040,10 +1040,7 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
}
}
OUString aAddonUIName = m_pAddonOptions->GetAddonsToolbarUIName( i );
const bool bAddonUIName = aAddonUIName.getLength();
OUString aAddonTitle = bAddonUIName ?
aAddonUIName : implts_generateGenericAddonToolbarTitle( i+1 );
OUString aGenericAddonTitle = implts_generateGenericAddonToolbarTitle( i+1 );
if ( !aElement.m_aName.isEmpty() )
{
......@@ -1051,9 +1048,9 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
// UI changes for this document.
implts_setElementData( aElement, xDockWindow );
aElement.m_xUIElement = xUIElement;
if ( aElement.m_aUIName.isEmpty() && !bAddonUIName)
if ( aElement.m_aUIName.isEmpty() )
{
aElement.m_aUIName = aAddonTitle;
aElement.m_aUIName = aGenericAddonTitle;
implts_writeWindowStateData( aElement );
}
}
......@@ -1064,9 +1061,9 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
aNewToolbar.m_bFloating = true;
implts_readWindowStateData( aAddonToolBarName, aNewToolbar );
implts_setElementData( aNewToolbar, xDockWindow );
if ( aNewToolbar.m_aUIName.isEmpty() && !bAddonUIName)
if ( aNewToolbar.m_aUIName.isEmpty() )
{
aNewToolbar.m_aUIName = aAddonTitle;
aNewToolbar.m_aUIName = aGenericAddonTitle;
implts_writeWindowStateData( aNewToolbar );
}
implts_insertToolbar( aNewToolbar );
......@@ -1079,7 +1076,7 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
SolarMutexGuard aGuard;
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pWindow->GetText().isEmpty() )
pWindow->SetText( aAddonTitle );
pWindow->SetText( aGenericAddonTitle );
if ( pWindow->GetType() == WINDOW_TOOLBOX )
{
ToolBox* pToolbar = (ToolBox *)pWindow;
......
......@@ -282,13 +282,6 @@ class FWE_DLLPUBLIC AddonsOptions
*//*-*****************************************************************************************************/
bool GetMergeToolbarInstructions( const OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbar ) const;
/**
* @short Gets the UI name of a single addon toolbar
* @return The UI name of the toolbar as specified in the Addons.xcu configuration
* @onerror Returns an empty string
*/
const ::rtl::OUString GetAddonsToolbarUIName( sal_uInt32 nIndex ) const;
/*-****************************************************************************************************//**
@short Gets the Add-On help menu part of all addon components registered
@descr -
......
......@@ -397,6 +397,7 @@ $(eval $(call gb_Package_add_files_with_dir,odk_examples,$(gb_Package_SDKDIRNAME
cpp/DocumentLoader/test.odt \
cpp/complextoolbarcontrols/Addons.xcu \
cpp/complextoolbarcontrols/CalcListener.cxx \
cpp/complextoolbarcontrols/CalcWindowState.xcu \
cpp/complextoolbarcontrols/Jobs.xcu \
cpp/complextoolbarcontrols/ListenerHelper.cxx \
cpp/complextoolbarcontrols/ListenerHelper.h \
......@@ -409,6 +410,7 @@ $(eval $(call gb_Package_add_files_with_dir,odk_examples,$(gb_Package_SDKDIRNAME
cpp/complextoolbarcontrols/MyProtocolHandler.h \
cpp/complextoolbarcontrols/ProtocolHandler.xcu \
cpp/complextoolbarcontrols/WriterListener.cxx \
cpp/complextoolbarcontrols/WriterWindowState.xcu \
cpp/complextoolbarcontrols/exports.cxx \
cpp/complextoolbarcontrols/logo_big.png \
cpp/complextoolbarcontrols/logo_small.png \
......
......@@ -136,46 +136,41 @@
</node>
<node oor:name="OfficeToolBar">
<node oor:name="org.openoffice.Office.addon.example" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Cpp Addon Example</value>
</prop>
<node oor:name="ToolBarItems">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function1</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 1</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m2" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function2</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 2</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function1</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 1</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m2" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function2</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 2</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
</node>
</node>
......
......@@ -136,46 +136,41 @@
</node>
<node oor:name="OfficeToolBar">
<node oor:name="org.openoffice.Office.addon.example" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Java Addon Example</value>
</prop>
<node oor:name="ToolBarItems">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function1</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 1</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m2" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function2</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 2</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function1</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 1</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
<node oor:name="m2" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.example:Function2</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en-US">Function 2</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
</node>
</node>
......
......@@ -17,63 +17,58 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
<node oor:name="AddonUI">
<node oor:name="OfficeMenuBar">
<node oor:name="com.foocorp.foo-ext:Menu" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en">Foo E~xtension</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<node oor:name="Submenu">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en">Start Foo Dialog...</value>
</prop>
</node>
<node oor:name="m3" oor:op="replace">
</node>
</node>
</node>
<node oor:name="AddonUI">
<node oor:name="OfficeMenuBar">
<node oor:name="com.foocorp.foo-ext:Menu" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en">Foo E~xtension</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<node oor:name="Submenu">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
</prop>
<prop oor:name="ImageIdentifier" oor:type="xs:string">
<value/>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value/>
<value xml:lang="en">Start Foo Dialog...</value>
</prop>
</node>
<node oor:name="m3" oor:op="replace">
</node>
</node>
<node oor:name="OfficeToolBar">
<node oor:name="com.foocorp.foo-ext:ToolbarItem1" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Foo Toolbar</value>
</prop>
<node oor:name="ToolBarItems">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL">
<value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
</prop>
<prop oor:name="Title">
<value xml:lang="en-US">Foo Toolbar Item</value>
<value xml:lang="de">Foo Toolbar Eintrag</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
</node>
</node>
</node>
</node>
<node oor:name="OfficeToolBar">
<node oor:name="com.foocorp.foo-ext:ToolbarItem1" oor:op="replace">
<node oor:name="m1" oor:op="replace">
<prop oor:name="URL">
<value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
</prop>
<prop oor:name="Title">
<value xml:lang="en-US">Foo Toolbar Item</value>
<value xml:lang="de">Foo Toolbar Eintrag</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
</node>
</node>
</node>
</node>
</oor:component-data>
<?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 .
-->
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="CalcWindowState" oor:package="org.openoffice.Office.UI">
<node oor:name="UIElements">
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_com.sun.star.comp.framework.addon.complextoolbarcontrols" oor:op="replace">
<prop oor:name="ContextSensitive" oor:type="xs:boolean">
<value>false</value>
</prop>
<prop oor:name="UIName" oor:type="xs:string">
<value xml:lang="en-US">Complex Toolbar Controls</value>
</prop>
<prop oor:name="Visible" oor:type="xs:boolean">
<value>true</value>
</prop>
<prop oor:name="Docked" oor:type="xs:boolean">
<value>false</value>
</prop>
</node>
</node>
</node>
</oor:component-data>
\ No newline at end of file
......@@ -104,6 +104,10 @@ $(OUT_COMP_GEN)/%/manifest.xml :
@echo $(SQM) $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
@echo $(SQM) $(SQM)manifest:full-path="$(QM)Addons.xcu$(QM)"/$(CSEP) >> $@
@echo $(SQM) $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
@echo $(SQM) $(SQM)manifest:full-path="$(QM)WriterWindowState.xcu$(QM)"/$(CSEP) >> $@
@echo $(SQM) $(SQM)$(OSEP)manifest:file-entry manifest:meda-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
@echo $(SQM) $(SQM)manifest:full-path="$(QM)CalcWindowState.xcu$(QM)"/$(CSEP) >> $@
@echo $(SQM) $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
@echo $(SQM) $(SQM)manifest:full-path="$(QM)ProtocolHandler.xcu$(QM)"/$(CSEP) >> $@
@echo $(SQM) $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.uno-components;platform=$(UNOPKG_PLATFORM)$(QM)">> $@
@echo $(SQM) $(SQM)manifest:full-path="$(QM)$(COMP_NAME).components$(QM)"/$(CSEP)>> $@
......@@ -127,13 +131,13 @@ $(COMP_COMPONENTS) :
@echo $(OSEP)/components$(CSEP) >> $@
# rule for component package file
$(COMP_PACKAGE) : $(SHAREDLIB_OUT)/$(COMP_IMPL_NAME) Addons.xcu ProtocolHandler.xcu $(COMP_UNOPKG_MANIFEST) $(COMP_COMPONENTS)
$(COMP_PACKAGE) : $(SHAREDLIB_OUT)/$(COMP_IMPL_NAME) Addons.xcu ProtocolHandler.xcu WriterWindowState.xcu CalcWindowState.xcu $(COMP_UNOPKG_MANIFEST) $(COMP_COMPONENTS)
-$(MKDIR) $(subst /,$(PS),$(@D)) && $(DEL) $(subst \\,\,$(subst /,$(PS),$@))
-$(MKDIR) $(subst /,$(PS),$(OUT_COMP_GEN)/$(UNOPKG_PLATFORM))
$(COPY) $(subst /,$(PS),$<) $(subst /,$(PS),$(OUT_COMP_GEN)/$(UNOPKG_PLATFORM))
cd $(subst /,$(PS),$(OUT_COMP_GEN)) && $(SDK_ZIP) -u ../../bin/$(@F) $(COMP_NAME).components
cd $(subst /,$(PS),$(OUT_COMP_GEN)) && $(SDK_ZIP) -u ../../bin/$(@F) $(UNOPKG_PLATFORM)/$(<F)
$(SDK_ZIP) -u $@ Addons.xcu ProtocolHandler.xcu logo_small.png logo_big.png
$(SDK_ZIP) -u $@ Addons.xcu ProtocolHandler.xcu WriterWindowState.xcu CalcWindowState.xcu logo_small.png logo_big.png
cd $(subst /,$(PS),$(OUT_COMP_GEN)/$(subst .$(UNOOXT_EXT),,$(@F))) && $(SDK_ZIP) -u ../../../bin/$(@F) META-INF/manifest.xml
$(COMP_REGISTERFLAG) : $(COMP_PACKAGE)
......
<?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 .
-->
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="WriterWindowState" oor:package="org.openoffice.Office.UI">
<node oor:name="UIElements">
<node oor:name="States">
<node oor:name="private:resource/toolbar/addon_com.sun.star.comp.framework.addon.complextoolbarcontrols" oor:op="replace">
<prop oor:name="ContextSensitive" oor:type="xs:boolean">
<value>false</value>
</prop>
<prop oor:name="UIName" oor:type="xs:string">
<value xml:lang="en-US">Complex Toolbar Controls</value>
</prop>
<prop oor:name="Visible" oor:type="xs:boolean">
<value>true</value>
</prop>
<prop oor:name="Docked" oor:type="xs:boolean">
<value>false</value>
</prop>
</node>
</node>
</node>
</oor:component-data>
\ No newline at end of file
......@@ -20,24 +20,19 @@
<node oor:name="AddonUI">
<node oor:name="OfficeToolBar">
<node oor:name="org.openoffice.Office.addon.Inspector" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Object Inspector</value>
</prop>
<node oor:name="ToolBarItems">
<node oor:name="toolBar_Inspector" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.Inspector:inspect</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Object Inspector</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value></value>
</prop>
</node>
<node oor:name="toolBar_Inspector" oor:op="replace">
<prop oor:name="URL" oor:type="xs:string">
<value>org.openoffice.Office.addon.Inspector:inspect</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Object Inspector</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<prop oor:name="Context" oor:type="xs:string">
<value></value>
</prop>
</node>
</node>
</node>
......
......@@ -152,22 +152,6 @@
</info>
</set>
</group>
<group oor:name="ToolBar">
<info>
<desc>Contains the structure of a toolbar.</desc>
</info>
<prop oor:name="Title" oor:type="xs:string" oor:localized="true">
<info>
<desc>A localized string used as the toolbar title.</desc>
</info>
<value></value>
</prop>
<set oor:name="ToolBarItems" oor:node-type="ToolBarItem">
<info>
<desc>Contains a list of sets of toolbar items that are part of add-on toolbars.</desc>
</info>
</set>
</group>
<group oor:name="ToolBarItem">
<info>
<desc>Describes a toolbar item representing a function of of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment