<?xml version='1.0' encoding='UTF-8'?>
<!--***********************************************************
 * 
 * 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
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


<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="OfficeMenuBarMerging">
            <node oor:name="com.sun.star.wiki" oor:op="replace">
                <node oor:name="S1" oor:op="replace">
                    <prop oor:name="MergePoint">
                        <value>.uno:PickList\.uno:SendToMenu\.uno:SendMailDocAsPDF</value>
                    </prop>
                    <prop oor:name="MergeCommand">
                        <value>AddAfter</value>
                    </prop>
                    <prop oor:name="MergeFallback">
                        <value>AddLast</value>
                    </prop>
                    <prop oor:name="MergeContext" oor:type="xs:string">
                        <value>com.sun.star.text.TextDocument,com.sun.star.text.WebDocument</value>
                    </prop>
                    <node oor:name="MenuItems">
                        <node oor:name="M1" oor:op="replace">
                            <prop oor:name="URL">
                                <value>private:separator</value>
                            </prop>
                        </node>
                        <node oor:name="M2" oor:op="replace">
                            <prop oor:name="Title">
                                <value xml:lang="en-US">To Media~Wiki...</value>
                            </prop>
                            <prop oor:name="URL">
                                <value>vnd.com.sun.star.wiki:send</value>
                            </prop>
                            <prop oor:name="Target" oor:type="xs:string">
                                <value>_self</value>
                            </prop>
                        </node>
                    </node>
                </node>
            </node>
        </node>
    </node>
</oor:component-data>
