You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ja...@apache.org on 2013/02/03 14:24:38 UTC

svn commit: r1441909 [17/45] - in /openoffice/branches/l10n: ./ ext_libraries/apr-util/ ext_libraries/apr/ ext_libraries/hunspell/ ext_sources/ extras/l10n/source/ast/ extras/l10n/source/da/ extras/l10n/source/eu/ extras/l10n/source/gd/ extras/l10n/sou...

Modified: openoffice/branches/l10n/main/framework/source/uielement/statusbarmanager.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/framework/source/uielement/statusbarmanager.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/framework/source/uielement/statusbarmanager.cxx (original)
+++ openoffice/branches/l10n/main/framework/source/uielement/statusbarmanager.cxx Sun Feb  3 13:23:59 2013
@@ -1,5 +1,5 @@
 /**************************************************************
- * 
+ *
  * 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
@@ -7,16 +7,16 @@
  * 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.
- * 
+ *
  *************************************************************/
 
 
@@ -25,13 +25,14 @@
 #include "precompiled_framework.hxx"
 
 #include <uielement/statusbarmanager.hxx>
+#include <uielement/genericstatusbarcontroller.hxx>
 
-//_________________________________________________________________________________________________________________
-//	my own includes
-//_________________________________________________________________________________________________________________
 #include <threadhelp/threadhelpbase.hxx>
 #include <threadhelp/resetableguard.hxx>
 #include <framework/sfxhelperfunctions.hxx>
+#include <framework/addonsoptions.hxx>
+#include <uielement/statusbarmerger.hxx>
+#include <uielement/statusbaritem.hxx>
 #include <macros/generic.hxx>
 #include <macros/xinterface.hxx>
 #include <macros/xtypeprovider.hxx>
@@ -41,9 +42,6 @@
 #include "properties.h"
 #include <helper/mischelper.hxx>
 
-//_________________________________________________________________________________________________________________
-//	interface includes
-//_________________________________________________________________________________________________________________
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 #include <com/sun/star/util/XUpdatable.hpp>
@@ -52,21 +50,19 @@
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/Command.hpp>
+#include <com/sun/star/ui/XStatusbarItem.hdl>
 #include <com/sun/star/lang/DisposedException.hpp>
 
-//_________________________________________________________________________________________________________________
-//	other includes
-//_________________________________________________________________________________________________________________
+#include <toolkit/helper/vclunohelper.hxx>
 
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
-#include <toolkit/unohlp.hxx>
-#endif
 #include <svtools/statusbarcontroller.hxx>
 
 #include <vcl/status.hxx>
 #include <vcl/svapp.hxx>
 #include <rtl/logfile.hxx>
 
+#include <functional>
+
 using namespace ::com::sun::star;
 #ifndef css
 #define css ::com::sun::star
@@ -89,6 +85,43 @@ static const char ITEM_DESCRIPTOR_TYPE[]
 namespace framework
 {
 
+namespace
+{
+
+template< class MAP >
+struct lcl_UpdateController : public std::unary_function< typename MAP::value_type, void >
+{
+    void operator()( typename MAP::value_type &rElement ) const
+    {
+        try
+        {
+            uno::Reference< util::XUpdatable > xUpdatable( rElement.second, uno::UNO_QUERY );
+            if ( xUpdatable.is() )
+                xUpdatable->update();
+        }
+        catch ( uno::Exception& )
+        {
+        }
+    }
+};
+
+template< class MAP >
+struct lcl_RemoveController : public std::unary_function< typename MAP::value_type, void >
+{
+    void operator()( typename MAP::value_type &rElement ) const
+    {
+        try
+        {
+            uno::Reference< lang::XComponent > xComponent( rElement.second, uno::UNO_QUERY );
+            if ( xComponent.is() )
+                xComponent->dispose();
+        }
+        catch ( uno::Exception& )
+        {
+        }
+    }
+};
+
 static sal_uInt16 impl_convertItemStyleToItemBits( sal_Int16 nStyle )
 {
     sal_uInt16 nItemBits( 0 );
@@ -114,7 +147,8 @@ static sal_uInt16 impl_convertItemStyleT
     
     return nItemBits;
 }
-    
+
+}
 //*****************************************************************************************************************
 //	XInterface, XTypeProvider, XServiceInfo
 //*****************************************************************************************************************
@@ -212,13 +246,22 @@ void SAL_CALL StatusBarManager::dispose(
 
     lang::EventObject aEvent( xThis );
     m_aListenerContainer.disposeAndClear( aEvent );
-    
+
     {
 	    ResetableGuard aGuard( m_aLock );
         if ( !m_bDisposed )
         {
             RemoveControllers();
-            
+
+            // destroy the item data
+            for ( sal_uInt16 n = 0; n < m_pStatusBar->GetItemCount(); n++ )
+            {
+                AddonStatusbarItemData *pUserData = static_cast< AddonStatusbarItemData *>(
+                    m_pStatusBar->GetItemData( m_pStatusBar->GetItemId( n ) ) );
+                if ( pUserData )
+                    delete pUserData;
+            }
+
             delete m_pStatusBar;
             m_pStatusBar = 0;
 
@@ -268,8 +311,7 @@ void SAL_CALL StatusBarManager::elementI
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::elementInserted" );
     ResetableGuard aGuard( m_aLock );
-    
-	/* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
     if ( m_bDisposed )
         return;
 }
@@ -278,18 +320,16 @@ void SAL_CALL StatusBarManager::elementR
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::elementRemoved" );
     ResetableGuard aGuard( m_aLock );
-    
-	/* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
     if ( m_bDisposed )
         return;
 }
-    
+
 void SAL_CALL StatusBarManager::elementReplaced( const css::ui::ConfigurationEvent& ) throw ( uno::RuntimeException )
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::elementReplaced" );
     ResetableGuard aGuard( m_aLock );
-    
-	/* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
     if ( m_bDisposed )
         return;
 }
@@ -300,19 +340,9 @@ void StatusBarManager::UpdateControllers
     if ( !m_bUpdateControllers )
     {
         m_bUpdateControllers = sal_True;
-        const sal_uInt32 nCount = m_aControllerVector.size();
-        for ( sal_uInt32 n = 0; n < nCount; n++ )
-        {
-            try
-            {
-                uno::Reference< util::XUpdatable > xUpdatable( m_aControllerVector[n], uno::UNO_QUERY );
-                if ( xUpdatable.is() )
-                    xUpdatable->update();
-            }
-            catch ( uno::Exception& )
-            {
-            }
-        }
+        std::for_each( m_aControllerMap.begin(),
+                       m_aControllerMap.end(),
+                       lcl_UpdateController< StatusBarControllerMap >() );
     }
     m_bUpdateControllers = sal_False;
 }
@@ -325,22 +355,10 @@ void StatusBarManager::RemoveControllers
     if ( m_bDisposed )
         return;
 
-    const sal_uInt32 nCount = m_aControllerVector.size();
-    for ( sal_uInt32 n = 0; n < nCount; n++ )
-    {
-        try
-        {
-            uno::Reference< lang::XComponent > xComponent( 
-                m_aControllerVector[n], uno::UNO_QUERY );
-            if ( xComponent.is() )
-                xComponent->dispose();
-        }
-        catch ( uno::Exception& )
-        {
-        }
-        
-        m_aControllerVector[n].clear();
-    }
+    std::for_each( m_aControllerMap.begin(),
+                   m_aControllerMap.end(),
+                   lcl_RemoveController< StatusBarControllerMap >() );
+    m_aControllerMap.clear();
 }
 
 rtl::OUString StatusBarManager::RetrieveLabelFromCommand( const rtl::OUString& aCmdURL )
@@ -355,49 +373,65 @@ void StatusBarManager::CreateControllers
     uno::Reference< uno::XComponentContext > xComponentContext;
     uno::Reference< beans::XPropertySet > xProps( m_xServiceManager, uno::UNO_QUERY );
     uno::Reference< awt::XWindow > xStatusbarWindow = VCLUnoHelper::GetInterface( m_pStatusBar );
-    
+
     if ( xProps.is() )
         xProps->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))) >>= xComponentContext;
-    
+
     for ( sal_uInt16 i = 0; i < m_pStatusBar->GetItemCount(); i++ )
     {
         sal_uInt16 nId = m_pStatusBar->GetItemId( i );
         if ( nId == 0 )
             continue;
-        
+
         rtl::OUString                            aCommandURL( m_pStatusBar->GetItemCommand( nId ));
         sal_Bool                                 bInit( sal_True );
         uno::Reference< frame::XStatusListener > xController;
-        
+        AddonStatusbarItemData *pItemData = static_cast< AddonStatusbarItemData *>( m_pStatusBar->GetItemData( nId ) );
+        uno::Reference< ui::XStatusbarItem > xStatusbarItem(
+            static_cast< cppu::OWeakObject *>( new StatusbarItem( m_pStatusBar, pItemData, nId, aCommandURL ) ),
+            uno::UNO_QUERY );
+
         svt::StatusbarController* pController( 0 );
-   
+
+        // 1º) UNO Statusbar controllers, registered in Controllers.xcu
         if ( m_xStatusbarControllerRegistration.is() && 
              m_xStatusbarControllerRegistration->hasController( aCommandURL, m_aModuleIdentifier ))
         {
             if ( xStatusbarControllerFactory.is() )
             {
-                uno::Sequence< uno::Any > aSeq( 5 );    
                 beans::PropertyValue aPropValue;
-                    
+                std::vector< uno::Any > aPropVector;
+
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ModuleName" ));
                 aPropValue.Value    = uno::makeAny( m_aModuleIdentifier );
-                aSeq[0] = uno::makeAny( aPropValue );
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
+
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Frame" ));
                 aPropValue.Value    = uno::makeAny( m_xFrame );
-                aSeq[1] = uno::makeAny( aPropValue );
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
+
+                // TODO remove this
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ServiceManager" ));
                 aPropValue.Value    = uno::makeAny( m_xServiceManager );
-                aSeq[2] = uno::makeAny( aPropValue );
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
+
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ParentWindow" ));
                 aPropValue.Value    = uno::makeAny( xStatusbarWindow );
-                aSeq[3] = uno::makeAny( aPropValue );
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
+
+                // TODO still needing with the css::ui::XStatusbarItem?
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Identifier" ));
                 aPropValue.Value    = uno::makeAny( nId );
-                aSeq[4] = uno::makeAny( aPropValue );
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
 
+                aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StatusbarItem" ));
+                aPropValue.Value    <<= xStatusbarItem;
+                aPropVector.push_back( uno::makeAny( aPropValue ) );
+
+                uno::Sequence< uno::Any > aArgs( comphelper::containerToSequence( aPropVector ) );
                 xController = uno::Reference< frame::XStatusListener >( 
                                 xStatusbarControllerFactory->createInstanceWithArgumentsAndContext(	
-                                    aCommandURL, aSeq, xComponentContext ), 
+                                    aCommandURL, aArgs, xComponentContext ),
                                 uno::UNO_QUERY );
                 bInit = sal_False; // Initialization is done through the factory service
             }
@@ -405,25 +439,40 @@ void StatusBarManager::CreateControllers
   
         if ( !xController.is() )
         {
+            // 2º) Old SFX2 Statusbar controllers
             pController = CreateStatusBarController( m_xFrame, m_pStatusBar, nId, aCommandURL );
             if ( !pController )
-                pController = new svt::StatusbarController( m_xServiceManager, m_xFrame, aCommandURL, nId );
-        
+            {
+                // 3º) Is Add-on? Generic statusbar controller
+                if ( pItemData )
+                {
+                    pController = new GenericStatusbarController( m_xServiceManager,
+                                                                  m_xFrame,
+                                                                  xStatusbarItem,
+                                                                  pItemData );
+                }
+                else
+                {
+                    // 4º) Default Statusbar controller
+                    pController = new svt::StatusbarController( m_xServiceManager, m_xFrame, aCommandURL, nId );
+                }
+            }
+
             if ( pController )
                 xController = uno::Reference< frame::XStatusListener >( 
                                 static_cast< ::cppu::OWeakObject *>( pController ), 
                                 uno::UNO_QUERY );
         }
-    
-        m_aControllerVector.push_back( xController );
+
+        m_aControllerMap[nId] = xController;
         uno::Reference< lang::XInitialization > xInit( xController, uno::UNO_QUERY );
-    
+
         if ( xInit.is() )
         {
             if ( bInit )
             {
                 beans::PropertyValue aPropValue;
-                uno::Sequence< uno::Any > aArgs( 5 );
+                uno::Sequence< uno::Any > aArgs( 6 );
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Frame" ));
                 aPropValue.Value    = uno::makeAny( m_xFrame );
                 aArgs[0] = uno::makeAny( aPropValue );
@@ -439,6 +488,9 @@ void StatusBarManager::CreateControllers
                 aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Identifier" ));
                 aPropValue.Value    = uno::makeAny( nId );
                 aArgs[4] = uno::makeAny( aPropValue );
+                aPropValue.Name     = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StatusbarItem" ));
+                aPropValue.Value    <<= xStatusbarItem;
+                aArgs[5] = uno::makeAny( aPropValue );
                 xInit->initialize( aArgs );
             }
         }
@@ -474,7 +526,7 @@ void StatusBarManager::FillStatusBar( co
 
     // reset and fill command map 
     m_pStatusBar->Clear();
-    m_aControllerVector.clear();
+    m_aControllerMap.clear();// TODO already done in RemoveControllers
 
     for ( sal_Int32 n = 0; n < rItemContainer->getCount(); n++ )
     {
@@ -523,7 +575,7 @@ void StatusBarManager::FillStatusBar( co
                 {
                     rtl::OUString aString( RetrieveLabelFromCommand( aCommandURL ));
                     sal_uInt16        nItemBits( impl_convertItemStyleToItemBits( nStyle ));
-                    
+
                     m_pStatusBar->InsertItem( nId, nWidth, nItemBits, nOffset );
                     m_pStatusBar->SetItemCommand( nId, aCommandURL );
                     m_pStatusBar->SetAccessibleName( nId, aString );
@@ -537,6 +589,47 @@ void StatusBarManager::FillStatusBar( co
         }
     }
 
+    // Statusbar Merging
+    const sal_uInt16 STATUSBAR_ITEM_STARTID = 1000;
+    MergeStatusbarInstructionContainer aMergeInstructions = AddonsOptions().GetMergeStatusbarInstructions();
+    if ( !aMergeInstructions.empty() )
+    {
+        const sal_uInt32 nCount = aMergeInstructions.size();
+        sal_uInt16 nItemId( STATUSBAR_ITEM_STARTID );
+
+        for ( sal_uInt32 i = 0; i < nCount; i++ )
+        {
+            MergeStatusbarInstruction &rInstruction = aMergeInstructions[i];
+            if ( !StatusbarMerger::IsCorrectContext( rInstruction.aMergeContext, m_aModuleIdentifier ) )
+                continue;
+
+            AddonStatusbarItemContainer aItems;
+            StatusbarMerger::ConvertSeqSeqToVector( rInstruction.aMergeStatusbarItems, aItems );
+
+            sal_uInt16 nRefPos = StatusbarMerger::FindReferencePos( m_pStatusBar, rInstruction.aMergePoint );
+            if ( nRefPos != STATUSBAR_ITEM_NOTFOUND )
+            {
+                StatusbarMerger::ProcessMergeOperation( m_pStatusBar,
+                                                        nRefPos,
+                                                        nItemId,
+                                                        m_aModuleIdentifier,
+                                                        rInstruction.aMergeCommand,
+                                                        rInstruction.aMergeCommandParameter,
+                                                        aItems );
+            }
+            else
+            {
+                StatusbarMerger::ProcessMergeFallback( m_pStatusBar,
+                                                       nRefPos,
+                                                       nItemId,
+                                                       m_aModuleIdentifier,
+                                                       rInstruction.aMergeCommand,
+                                                       rInstruction.aMergeCommandParameter,
+                                                       aItems );
+            }
+        }
+    }
+
     // Create controllers
     CreateControllers();
 
@@ -576,26 +669,26 @@ void StatusBarManager::UserDraw( const U
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::UserDraw" );
     ResetableGuard aGuard( m_aLock );
-    
+
     if ( m_bDisposed )
         return;
-    
+
     sal_uInt16 nId( rUDEvt.GetItemId() );
-    if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+    StatusBarControllerMap::const_iterator it = m_aControllerMap.find( nId );
+    if (( nId > 0 ) && ( it != m_aControllerMap.end() ))
     {
-        uno::Reference< frame::XStatusbarController > xController( 
-            m_aControllerVector[nId-1], uno::UNO_QUERY );
+        uno::Reference< frame::XStatusbarController > xController( it->second, uno::UNO_QUERY );
         if ( xController.is() && rUDEvt.GetDevice() )
         {
-            uno::Reference< awt::XGraphics > xGraphics = 
+            uno::Reference< awt::XGraphics > xGraphics =
                 rUDEvt.GetDevice()->CreateUnoGraphics();
 
-            awt::Rectangle aRect( rUDEvt.GetRect().Left(), 
+            awt::Rectangle aRect( rUDEvt.GetRect().Left(),
                                   rUDEvt.GetRect().Top(),
-                                  rUDEvt.GetRect().GetWidth(), 
+                                  rUDEvt.GetRect().GetWidth(),
                                   rUDEvt.GetRect().GetHeight() );
             aGuard.unlock();
-            xController->paint( xGraphics, aRect, rUDEvt.GetItemId(), rUDEvt.GetStyle() );
+            xController->paint( xGraphics, aRect, rUDEvt.GetStyle() );
         }
     }
 }
@@ -604,17 +697,17 @@ void StatusBarManager::Command( const Co
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::Command" );
     ResetableGuard aGuard( m_aLock );
-    
+
     if ( m_bDisposed )
         return;
-    
+
     if ( rEvt.GetCommand() == COMMAND_CONTEXTMENU )
     {
         sal_uInt16 nId = m_pStatusBar->GetItemId( rEvt.GetMousePosPixel() );
-        if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+        StatusBarControllerMap::const_iterator it = m_aControllerMap.find( nId );
+        if (( nId > 0 ) && ( it != m_aControllerMap.end() ))
         {
-            uno::Reference< frame::XStatusbarController > xController(
-                m_aControllerVector[nId-1], uno::UNO_QUERY );
+            uno::Reference< frame::XStatusbarController > xController( it->second, uno::UNO_QUERY );
             if ( xController.is() )
             {
                 awt::Point aPos;
@@ -631,18 +724,19 @@ void StatusBarManager::MouseMove( const 
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::MouseMove" );
     MouseButton(rMEvt,&frame::XStatusbarController::mouseMove);
 }
+
 void StatusBarManager::MouseButton( const MouseEvent& rMEvt ,sal_Bool ( SAL_CALL frame::XStatusbarController::*_pMethod )(const ::com::sun::star::awt::MouseEvent&))
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::MouseButton" );
     ResetableGuard aGuard( m_aLock );
-    
+
     if ( !m_bDisposed )
     {
         sal_uInt16 nId = m_pStatusBar->GetItemId( rMEvt.GetPosPixel() );
-        if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+        StatusBarControllerMap::const_iterator it = m_aControllerMap.find( nId );
+        if (( nId > 0 ) && ( it != m_aControllerMap.end() ))
         {
-            uno::Reference< frame::XStatusbarController > xController( 
-                m_aControllerVector[nId-1], uno::UNO_QUERY );
+            uno::Reference< frame::XStatusbarController > xController( it->second, uno::UNO_QUERY );
             if ( xController.is() )
             {
                 ::com::sun::star::awt::MouseEvent aMouseEvent;
@@ -652,9 +746,10 @@ void StatusBarManager::MouseButton( cons
                 aMouseEvent.ClickCount = rMEvt.GetClicks();
                 (xController.get()->*_pMethod)( aMouseEvent);
             }
-        } // if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+        }
     }
 }
+
 void StatusBarManager::MouseButtonDown( const MouseEvent& rMEvt )
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "StatusBarManager::MouseButtonDown" );
@@ -670,38 +765,46 @@ void StatusBarManager::MouseButtonUp( co
 IMPL_LINK( StatusBarManager, Click, StatusBar*, EMPTYARG )
 {
     ResetableGuard aGuard( m_aLock );
-    
+
     if ( m_bDisposed )
         return 1;
-    
+
     sal_uInt16 nId = m_pStatusBar->GetCurItemId();
-    if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+    StatusBarControllerMap::const_iterator it = m_aControllerMap.find( nId );
+    if (( nId > 0 ) && ( it != m_aControllerMap.end() ))
     {
-        uno::Reference< frame::XStatusbarController > xController( 
-            m_aControllerVector[nId-1], uno::UNO_QUERY );
+        uno::Reference< frame::XStatusbarController > xController( it->second, uno::UNO_QUERY );
         if ( xController.is() )
-            xController->click();
+        {
+            const Point aVCLPos = m_pStatusBar->GetPointerPosPixel();
+            const awt::Point aAWTPoint( aVCLPos.X(), aVCLPos.Y() );
+            xController->click( aAWTPoint );
+        }
     }
-    
+
     return 1;
 }
 
 IMPL_LINK( StatusBarManager, DoubleClick, StatusBar*, EMPTYARG )
 {
     ResetableGuard aGuard( m_aLock );
-    
+
     if ( m_bDisposed )
         return 1;
-    
+
     sal_uInt16 nId = m_pStatusBar->GetCurItemId();
-    if (( nId > 0 ) && ( nId <= m_aControllerVector.size() ))
+    StatusBarControllerMap::const_iterator it = m_aControllerMap.find( nId );
+    if (( nId > 0 ) && ( it != m_aControllerMap.end() ))
     {
-        uno::Reference< frame::XStatusbarController > xController(
-            m_aControllerVector[nId-1], uno::UNO_QUERY );
+        uno::Reference< frame::XStatusbarController > xController( it->second, uno::UNO_QUERY );
         if ( xController.is() )
-            xController->doubleClick();
+        {
+            const Point aVCLPos = m_pStatusBar->GetPointerPosPixel();
+            const awt::Point aAWTPoint( aVCLPos.X(), aVCLPos.Y() );
+            xController->doubleClick( aAWTPoint );
+        }
     }
-    
+
     return 1;
 }
 

Modified: openoffice/branches/l10n/main/framework/source/uielement/toolbarmerger.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/framework/source/uielement/toolbarmerger.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/framework/source/uielement/toolbarmerger.cxx (original)
+++ openoffice/branches/l10n/main/framework/source/uielement/toolbarmerger.cxx Sun Feb  3 13:23:59 2013
@@ -33,56 +33,33 @@
 namespace framework
 {
 
-static const char MERGE_TOOLBAR_URL[]              = "URL";
-static const sal_uInt32 MERGE_TOOLBAR_URL_LEN      = 3;
-static const char MERGE_TOOLBAR_TITLE[]            = "Title";
-static const sal_uInt32 MERGE_TOOLBAR_TITLE_LEN    = 5;
-static const char MERGE_TOOLBAR_IMAGEID[]          = "ImageIdentifier";
-static const sal_uInt32 MERGE_TOOLBAR_IMAGEID_LEN  = 15;
-static const char MERGE_TOOLBAR_CONTEXT[]          = "Context";
-static const sal_uInt32 MERGE_TOOLBAR_CONTEXT_LEN  = 7;
-static const char MERGE_TOOLBAR_TARGET[]           = "Target";
-static const sal_uInt32 MERGE_TOOLBAR_TARGET_LEN   = 6;
-static const char MERGE_TOOLBAR_CONTROLTYPE[]      = "ControlType";
-static const char MERGE_TOOLBAR_CONTROLTYPE_LEN    = 11;
-static const char MERGE_TOOLBAR_WIDTH[]            = "Width";
-static const char MERGE_TOOLBAR_WIDTH_LEN          = 5;
-
-static const char MERGECOMMAND_ADDAFTER[]          = "AddAfter";
-static const sal_uInt32 MERGECOMMAND_ADDAFTER_LEN  = 8;
-static const char MERGECOMMAND_ADDBEFORE[]         = "AddBefore";
-static const sal_uInt32 MERGECOMMAND_ADDBEFORE_LEN = 9;
-static const char MERGECOMMAND_REPLACE[]           = "Replace";
-static const sal_uInt32 MERGECOMMAND_REPLACE_LEN   = 7;
-static const char MERGECOMMAND_REMOVE[]            = "Remove";
-static const sal_uInt32 MERGECOMMAND_REMOVE_LEN    = 6;
-
-static const char MERGEFALLBACK_ADDLAST[]          = "AddLast";
-static const char MERGEFALLBACK_ADDLAST_LEN        = 7;
-static const char MERGEFALLBACK_ADDFIRST[]         = "AddFirst";
-static const char MERGEFALLBACK_ADDFIRST_LEN       = 8;
-static const char MERGEFALLBACK_IGNORE[]           = "Ignore";
-static const char MERGEFALLBACK_IGNORE_LEN         = 6;
-
-static const char TOOLBARCONTROLLER_BUTTON[]              = "Button";
-static const sal_uInt32 TOOLBARCONTROLLER_BUTTON_LEN      = 6;
-static const char TOOLBARCONTROLLER_COMBOBOX[]            = "Combobox";
-static const sal_uInt32 TOOLBARCONTROLLER_COMBOBOX_LEN    = 8;
-static const char TOOLBARCONTROLLER_EDIT[]                = "Editfield";
-static const sal_uInt32 TOOLBARCONTROLLER_EDIT_LEN        = 9;
-static const char TOOLBARCONTROLLER_SPINFIELD[]           = "Spinfield";
-static const sal_uInt32 TOOLBARCONTROLLER_SPINFIELD_LEN   = 9;
-static const char TOOLBARCONTROLLER_IMGBUTTON[]           = "ImageButton";
-static const sal_uInt32 TOOLBARCONTROLLER_IMGBUTTON_LEN   = 11;
-static const char TOOLBARCONTROLLER_DROPDOWNBOX[]         = "Dropdownbox";
-static const sal_uInt32 TOOLBARCONTROLLER_DROPDOWNBOX_LEN = 11;
-static const char TOOLBARCONTROLLER_DROPDOWNBTN[]         = "DropdownButton";
-static const sal_uInt32 TOOLBARCONTROLLER_DROPDOWNBTN_LEN = 14;
-static const char TOOLBARCONTROLLER_TOGGLEDDBTN[]         = "ToggleDropdownButton";
-static const sal_uInt32 TOOLBARCONTROLLER_TOGGLEDDBTN_LEN = 20;
+static const char MERGE_TOOLBAR_URL[]             = "URL";
+static const char MERGE_TOOLBAR_TITLE[]           = "Title";
+static const char MERGE_TOOLBAR_IMAGEID[]         = "ImageIdentifier";
+static const char MERGE_TOOLBAR_CONTEXT[]         = "Context";
+static const char MERGE_TOOLBAR_TARGET[]          = "Target";
+static const char MERGE_TOOLBAR_CONTROLTYPE[]     = "ControlType";
+static const char MERGE_TOOLBAR_WIDTH[]           = "Width";
+
+static const char MERGECOMMAND_ADDAFTER[]         = "AddAfter";
+static const char MERGECOMMAND_ADDBEFORE[]        = "AddBefore";
+static const char MERGECOMMAND_REPLACE[]          = "Replace";
+static const char MERGECOMMAND_REMOVE[]           = "Remove";
+
+static const char MERGEFALLBACK_ADDLAST[]         = "AddLast";
+static const char MERGEFALLBACK_ADDFIRST[]        = "AddFirst";
+static const char MERGEFALLBACK_IGNORE[]          = "Ignore";
+
+static const char TOOLBARCONTROLLER_BUTTON[]      = "Button";
+static const char TOOLBARCONTROLLER_COMBOBOX[]    = "Combobox";
+static const char TOOLBARCONTROLLER_EDIT[]        = "Editfield";
+static const char TOOLBARCONTROLLER_SPINFIELD[]   = "Spinfield";
+static const char TOOLBARCONTROLLER_IMGBUTTON[]   = "ImageButton";
+static const char TOOLBARCONTROLLER_DROPDOWNBOX[] = "Dropdownbox";
+static const char TOOLBARCONTROLLER_DROPDOWNBTN[] = "DropdownButton";
+static const char TOOLBARCONTROLLER_TOGGLEDDBTN[] = "ToggleDropdownButton";
 
 static const char   TOOLBOXITEM_SEPARATOR_STR[]   = "private:separator";
-static const sal_uInt16 TOOLBOXITEM_SEPARATOR_STR_LEN = sizeof( TOOLBOXITEM_SEPARATOR_STR )-1;
 
 using namespace ::com::sun::star;
 
@@ -220,19 +197,19 @@ void ToolBarMerger::ConvertSequenceToVal
 {
     for ( sal_Int32 i = 0; i < rSequence.getLength(); i++ )
     {
-        if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_URL, MERGE_TOOLBAR_URL_LEN ))
+        if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_URL ) ) )
             rSequence[i].Value >>= rCommandURL;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_TITLE, MERGE_TOOLBAR_TITLE_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_TITLE ) ) )
             rSequence[i].Value >>= rLabel;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_IMAGEID, MERGE_TOOLBAR_IMAGEID_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_IMAGEID ) ) )
             rSequence[i].Value >>= rImageIdentifier;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_CONTEXT, MERGE_TOOLBAR_CONTEXT_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_CONTEXT ) ) )
             rSequence[i].Value >>= rContext;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_TARGET, MERGE_TOOLBAR_TARGET_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_TARGET ) ) )
             rSequence[i].Value >>= rTarget;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_CONTROLTYPE, MERGE_TOOLBAR_CONTROLTYPE_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_CONTROLTYPE ) ) )
             rSequence[i].Value >>= rControlType;
-        else if ( rSequence[i].Name.equalsAsciiL( MERGE_TOOLBAR_WIDTH, MERGE_TOOLBAR_WIDTH_LEN ))
+        else if ( rSequence[i].Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGE_TOOLBAR_WIDTH ) ) )
         {
             sal_Int32 aValue = 0;
             rSequence[i].Value >>= aValue;
@@ -352,13 +329,13 @@ bool ToolBarMerger::ProcessMergeOperatio
     const ::rtl::OUString&                 rMergeCommandParameter,
     const AddonToolbarItemContainer&       rItems )
 {
-    if ( rMergeCommand.equalsAsciiL( MERGECOMMAND_ADDAFTER, MERGECOMMAND_ADDAFTER_LEN ))
+    if ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_ADDAFTER ) ) )
         return MergeItems( xFrame, pToolbar, nPos, 1, rItemId, rCommandMap, rModuleIdentifier, rItems );
-    else if ( rMergeCommand.equalsAsciiL( MERGECOMMAND_ADDBEFORE, MERGECOMMAND_ADDBEFORE_LEN ))
+    else if ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_ADDBEFORE ) ) )
         return MergeItems( xFrame, pToolbar, nPos, 0, rItemId, rCommandMap, rModuleIdentifier, rItems );
-    else if ( rMergeCommand.equalsAsciiL( MERGECOMMAND_REPLACE, MERGECOMMAND_REPLACE_LEN ))
+    else if ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_REPLACE ) ) )
         return ReplaceItem( xFrame, pToolbar, nPos, rItemId, rCommandMap, rModuleIdentifier, rItems );
-    else if ( rMergeCommand.equalsAsciiL( MERGECOMMAND_REMOVE, MERGECOMMAND_REMOVE_LEN ))
+    else if ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_REMOVE ) ) )
         return RemoveItems( pToolbar, nPos, rMergeCommandParameter );
 
     return false;
@@ -421,18 +398,18 @@ bool ToolBarMerger::ProcessMergeFallback
     const ::rtl::OUString&           rMergeFallback,
     const AddonToolbarItemContainer& rItems )
 {
-    if (( rMergeFallback.equalsAsciiL( MERGEFALLBACK_IGNORE, MERGEFALLBACK_IGNORE_LEN )) ||
-        ( rMergeCommand.equalsAsciiL(  MERGECOMMAND_REPLACE, MERGECOMMAND_REPLACE_LEN )) ||
-        ( rMergeCommand.equalsAsciiL(  MERGECOMMAND_REMOVE, MERGECOMMAND_REMOVE_LEN   )) )
+    if (( rMergeFallback.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGEFALLBACK_IGNORE ))) ||
+        ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(  MERGECOMMAND_REPLACE ))) ||
+        ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(  MERGECOMMAND_REMOVE  ))) )
     {
         return true;
     }
-    else if (( rMergeCommand.equalsAsciiL( MERGECOMMAND_ADDBEFORE, MERGECOMMAND_ADDBEFORE_LEN )) ||
-             ( rMergeCommand.equalsAsciiL( MERGECOMMAND_ADDAFTER, MERGECOMMAND_ADDAFTER_LEN   )) )
+    else if (( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_ADDBEFORE ))) ||
+             ( rMergeCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGECOMMAND_ADDAFTER ))) )
     {
-        if ( rMergeFallback.equalsAsciiL( MERGEFALLBACK_ADDFIRST, MERGEFALLBACK_ADDFIRST_LEN ))
+        if ( rMergeFallback.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGEFALLBACK_ADDFIRST )))
             return MergeItems( xFrame, pToolbar, 0, 0, rItemId, rCommandMap, rModuleIdentifier, rItems );
-        else if ( rMergeFallback.equalsAsciiL( MERGEFALLBACK_ADDLAST, MERGEFALLBACK_ADDLAST_LEN ))
+        else if ( rMergeFallback.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( MERGEFALLBACK_ADDLAST )))
             return MergeItems( xFrame, pToolbar, TOOLBOX_APPEND, 0, rItemId, rCommandMap, rModuleIdentifier, rItems );
     }
 
@@ -504,7 +481,7 @@ bool ToolBarMerger::MergeItems(
             if ( nInsPos > sal_Int32( pToolbar->GetItemCount() ))
                 nInsPos = TOOLBOX_APPEND;
 
-            if ( rItem.aCommandURL.equalsAsciiL( TOOLBOXITEM_SEPARATOR_STR, TOOLBOXITEM_SEPARATOR_STR_LEN ))
+            if ( rItem.aCommandURL.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBOXITEM_SEPARATOR_STR )))
                 pToolbar->InsertSeparator( sal_uInt16( nInsPos ));
             else
             {
@@ -664,22 +641,22 @@ bool ToolBarMerger::RemoveItems(
 {
     ::cppu::OWeakObject* pResult( 0 );
 
-    if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_BUTTON, TOOLBARCONTROLLER_BUTTON_LEN ))
+    if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_BUTTON )))
         pResult = new ButtonToolbarController( xSMGR, pToolbar, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_COMBOBOX, TOOLBARCONTROLLER_COMBOBOX_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_COMBOBOX )))
         pResult = new ComboboxToolbarController( xSMGR, xFrame, pToolbar, nId, nWidth, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_EDIT, TOOLBARCONTROLLER_EDIT_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_EDIT )))
         pResult = new EditToolbarController( xSMGR, xFrame, pToolbar, nId, nWidth, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_SPINFIELD, TOOLBARCONTROLLER_SPINFIELD_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_SPINFIELD )))
         pResult = new SpinfieldToolbarController( xSMGR, xFrame, pToolbar, nId, nWidth, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_IMGBUTTON, TOOLBARCONTROLLER_IMGBUTTON_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_IMGBUTTON )))
         pResult = new ImageButtonToolbarController( xSMGR, xFrame, pToolbar, nId, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_DROPDOWNBOX, TOOLBARCONTROLLER_DROPDOWNBOX_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_DROPDOWNBOX )))
         pResult = new DropdownToolbarController( xSMGR, xFrame, pToolbar, nId, nWidth, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_DROPDOWNBTN, TOOLBARCONTROLLER_DROPDOWNBTN_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_DROPDOWNBTN )))
         pResult = new ToggleButtonToolbarController( xSMGR, xFrame, pToolbar, nId,
                                                      ToggleButtonToolbarController::STYLE_DROPDOWNBUTTON, rCommandURL );
-    else if ( rControlType.equalsAsciiL( TOOLBARCONTROLLER_TOGGLEDDBTN, TOOLBARCONTROLLER_TOGGLEDDBTN_LEN ))
+    else if ( rControlType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( TOOLBARCONTROLLER_TOGGLEDDBTN )))
         pResult = new ToggleButtonToolbarController( xSMGR, xFrame, pToolbar, nId,
                                                      ToggleButtonToolbarController::STYLE_TOGGLE_DROPDOWNBUTTON, rCommandURL );
     else

Modified: openoffice/branches/l10n/main/framework/source/uielement/toolbarsmenucontroller.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/framework/source/uielement/toolbarsmenucontroller.cxx?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/framework/source/uielement/toolbarsmenucontroller.cxx (original)
+++ openoffice/branches/l10n/main/framework/source/uielement/toolbarsmenucontroller.cxx Sun Feb  3 13:23:59 2013
@@ -187,8 +187,7 @@ void ToolbarsMenuController::addCommand(
         aLabel = rLabel;
 
 	rPopupMenu->insertItem( nItemId, aLabel, 0, nItemId );
-    Reference< awt::XMenuExtended > xMenuExtended( m_xPopupMenu, UNO_QUERY );
-    xMenuExtended->setCommand( nItemId, rCommandURL );
+    rPopupMenu->setCommand( nItemId, rCommandURL );
 
     bool bInternal = ( rCommandURL.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( STATIC_INTERNAL_CMD_PART ))) == 0);
     if ( !bInternal )
@@ -377,9 +376,8 @@ void ToolbarsMenuController::fillPopupMe
     m_aCommandVector.clear();
 
     // Retrieve layout manager for additional information
-    rtl::OUString                   aEmptyString;
-    Reference< awt::XMenuExtended > xMenuExtended( rPopupMenu, UNO_QUERY );
-    Reference< XLayoutManager >     xLayoutManager( getLayoutManagerFromFrame( m_xFrame ));
+    rtl::OUString aEmptyString;
+    Reference< XLayoutManager > xLayoutManager( getLayoutManagerFromFrame( m_xFrame ));
 
     m_bResetActive = sal_False;
     if ( xLayoutManager.is() )
@@ -490,7 +488,7 @@ void ToolbarsMenuController::fillPopupMe
 
             // Store complete uno-command so it can also be dispatched. This is necessary to support
             // the test tool!
-		    xMenuExtended->setCommand( nIndex, aCmd );
+		    rPopupMenu->setCommand( nIndex, aCmd );
             ++nIndex;
         }
 
@@ -619,7 +617,7 @@ void SAL_CALL ToolbarsMenuController::st
 }
 
 // XMenuListener
-void SAL_CALL ToolbarsMenuController::select( const css::awt::MenuEvent& rEvent ) throw (RuntimeException)
+void SAL_CALL ToolbarsMenuController::itemSelected( const css::awt::MenuEvent& rEvent ) throw (RuntimeException)
 {
     Reference< css::awt::XPopupMenu >   xPopupMenu;
     Reference< XMultiServiceFactory >   xServiceManager;
@@ -780,7 +778,7 @@ void SAL_CALL ToolbarsMenuController::se
     }
 }
 
-void SAL_CALL ToolbarsMenuController::activate( const css::awt::MenuEvent& ) throw (RuntimeException)
+void SAL_CALL ToolbarsMenuController::itemActivated( const css::awt::MenuEvent& ) throw (RuntimeException)
 {
     std::vector< rtl::OUString >   aCmdVector;
     Reference< XDispatchProvider > xDispatchProvider( m_xFrame, UNO_QUERY );

Modified: openoffice/branches/l10n/main/framework/util/fwl.component
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/framework/util/fwl.component?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/framework/util/fwl.component (original)
+++ openoffice/branches/l10n/main/framework/util/fwl.component Sun Feb  3 13:23:59 2013
@@ -48,12 +48,6 @@
   <implementation name="com.sun.star.comp.framework.License">
     <service name="com.sun.star.task.Job"/>
   </implementation>
-  <implementation name="com.sun.star.comp.framework.LogoImageStatusbarController">
-    <service name="com.sun.star.frame.StatusbarController"/>
-  </implementation>
-  <implementation name="com.sun.star.comp.framework.LogoTextStatusbarController">
-    <service name="com.sun.star.frame.StatusbarController"/>
-  </implementation>
   <implementation name="com.sun.star.comp.framework.MacrosMenuController">
     <service name="com.sun.star.frame.PopupMenuController"/>
   </implementation>
@@ -78,9 +72,6 @@
   <implementation name="com.sun.star.comp.framework.ServiceHandler">
     <service name="com.sun.star.frame.ProtocolHandler"/>
   </implementation>
-  <implementation name="com.sun.star.comp.framework.SimpleTextStatusbarController">
-    <service name="com.sun.star.frame.StatusbarController"/>
-  </implementation>
   <implementation name="com.sun.star.comp.framework.ToolBarsMenuController">
     <service name="com.sun.star.frame.PopupMenuController"/>
   </implementation>

Modified: openoffice/branches/l10n/main/graphite/graphite-2.3.1.patch
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/graphite/graphite-2.3.1.patch?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/graphite/graphite-2.3.1.patch (original)
+++ openoffice/branches/l10n/main/graphite/graphite-2.3.1.patch Sun Feb  3 13:23:59 2013
@@ -2394,3 +2394,16 @@
  {
  	bool fRet = true;
  
+--- misc/silgraphite-2.3.1/engine/include/graphite/GrFeature.h		2009-01-21 17:36:40.000000000 -0500
++++ misc/build/silgraphite-2.3.1/engine/include/graphite/GrFeature.h	2013-01-15 15:38:54.000000000 -0500
+@@ -21,6 +21,10 @@
+ 
+ //:End Ignore
+ 
++#ifdef __FreeBSD__
++#define wstring basic_string<wchar_t> //quick dirty hack for not finding _STL::wstring
++#endif
++
+ #include "GrAppData.h"
+ 
+ namespace gr

Modified: openoffice/branches/l10n/main/helpauthoring/Addons.xcu
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpauthoring/Addons.xcu?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpauthoring/Addons.xcu (original)
+++ openoffice/branches/l10n/main/helpauthoring/Addons.xcu Sun Feb  3 13:23:59 2013
@@ -22,547 +22,190 @@
 
 
 <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="org.openoffice.helpauthoring" oor:op="replace">
-				<prop oor:name="Title" oor:type="xs:string">
-					<value/>
-					<value xml:lang="en-US">Help Authoring</value>
-				</prop>
-				<prop oor:name="Context" oor:type="xs:string">
-					<value>com.sun.star.text.TextDocument</value>
-				</prop>
-				<node oor:name="Submenu">
-					<node oor:name="m01" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring._Main.CreateFile?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Create Help File</value>
-						</prop>
-					</node>
-					<node oor:name="m02" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring._Main.DisplayVersion?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">About</value>
-						</prop>
-					</node>
-					<node oor:name="m03" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Helpers.SetDocumentRoot?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Set Document Root</value>
-						</prop>
-					</node>
-					<node oor:name="m04" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Meta.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Edit Meta Data </value>
-						</prop>
-					</node>
-					<node oor:name="m05" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Validate.Validate?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Validate this Help File </value>
-						</prop>
-					</node>
-					<node oor:name="m06" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.ToggleParaL10NStatus?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Toggle L10N </value>
-						</prop>
-					</node>
-					<node oor:name="m07" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Helpers.InsertNewParaData?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Assign ID </value>
-						</prop>
-					</node>
-					<node oor:name="m08" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Comment.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Comment </value>
-						</prop>
-					</node>
-					<node oor:name="m09" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Table.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Table </value>
-						</prop>
-					</node>
-					<node oor:name="m10" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Link.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Link </value>
-						</prop>
-					</node>
-					<node oor:name="m11" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.HID.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Help ID </value>
-						</prop>
-					</node>
-					<node oor:name="m12" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.IND.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Index Entry </value>
-						</prop>
-					</node>
-					<node oor:name="m13" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertExtendedTip?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Extended Tip </value>
-						</prop>
-					</node>
-					<node oor:name="m14" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertHowToGet?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">&quot;How to Get&quot; Section </value>
-						</prop>
-					</node>
-					<node oor:name="m15" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertGraphic?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Image </value>
-						</prop>
-					</node>
-					<node oor:name="m16" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertSection?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Section </value>
-						</prop>
-					</node>
-					<node oor:name="m17" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertVariable?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Insert Variable </value>
-						</prop>
-					</node>
-					<node oor:name="m18" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.Embed.Main?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">Transclude (Embed) </value>
-						</prop>
-					</node>
-					<node oor:name="m19" oor:op="replace">
-						<prop oor:name="URL" oor:type="xs:string">
-							<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertRelatedTopics?language=Basic&amp;location=application</value>
-						</prop>
-						<prop oor:name="Title" oor:type="xs:string">
-							<value/>
-							<value xml:lang="en-US">&quot;Related Topics&quot; Section </value>
-						</prop>
-					</node>
-				</node>
-			</node>
-		</node>
-		<!--
-		<node oor:name="OfficeToolBar">
-			<node oor:name="org.openoffice.helpauthoring" oor:op="replace">
-				<prop oor:name="Title" oor:type="xs:string">
-					<value/>
-					<value xml:lang="en-US">Help Authoring</value>
-				</prop>
-				<prop oor:name="Context" oor:type="xs:string">
-					<value>com.sun.star.text.TextDocument</value>
-				</prop>
-				<node oor:name="m01" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring._Main.CreateFile?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Create Help File</value>
-					</prop>
-					<prop oor:name="ImageIdentifier" oor:type="xs:string">
-						<value xml:lang="en-US">images/favorites.png</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="m02" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring._Main.DisplayVersion?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">About</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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-					
-				<node oor:name="m03" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Helpers.SetDocumentRoot?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Set Document Root</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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m04" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Meta.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Edit Meta Data </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m05" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Validate.Validate?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Validate this Help File </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m06" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.ToggleParaL10NStatus?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Toggle L10N </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m07" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Helpers.InsertNewParaData?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Assign ID </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m08" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Comment.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Comment </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m09" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Table.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Table </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m10" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Link.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Link </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m11" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.HID.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Help ID </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m12" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.IND.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Index Entry </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m13" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertExtendedTip?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Extended Tip </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m14" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertHowToGet?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">&quot;How to Get&quot; Section </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m15" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertGraphic?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Image </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m16" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertSection?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Section </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m17" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertVariable?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Insert Variable </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m18" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.Embed.Main?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">Transclude (Embed) </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-				<node oor:name="m19" oor:op="replace">
-					<prop oor:name="URL" oor:type="xs:string">
-						<value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertRelatedTopics?language=Basic&amp;location=application</value>
-					</prop>
-					<prop oor:name="Title" oor:type="xs:string">
-						<value/>
-						<value xml:lang="en-US">&quot;Related Topics&quot; Section </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="Context" oor:type="xs:string">
-						<value>com.sun.star.text.TextDocument</value>
-					</prop>
-				</node>
-			</node>
-		</node>
-		//-->
-	</node>
+    <node oor:name="AddonUI">
+        <node oor:name="OfficeMenuBar">
+            <node oor:name="org.openoffice.helpauthoring" oor:op="replace">
+                <prop oor:name="Title" oor:type="xs:string">
+                    <value/>
+                    <value xml:lang="en-US">Help Authoring</value>
+                </prop>
+                <prop oor:name="Context" oor:type="xs:string">
+                    <value>com.sun.star.text.TextDocument</value>
+                </prop>
+                <node oor:name="Submenu">
+                    <node oor:name="m01" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring._Main.CreateFile?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Create Help File</value>
+                        </prop>
+                    </node>
+                    <node oor:name="m02" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring._Main.DisplayVersion?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">About</value>
+                        </prop>
+                    </node>
+                    <node oor:name="m03" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Helpers.SetDocumentRoot?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Set Document Root</value>
+                        </prop>
+                    </node>
+                    <node oor:name="m04" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Meta.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Edit Meta Data </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m05" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Validate.Validate?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Validate this Help File </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m06" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.ToggleParaL10NStatus?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Toggle L10N </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m07" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Helpers.InsertNewParaData?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Assign ID </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m08" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Comment.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Comment </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m09" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Table.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Table </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m10" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Link.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Link </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m11" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.HID.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Help ID </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m12" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.IND.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Index Entry </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m13" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertExtendedTip?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Extended Tip </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m14" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertHowToGet?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">&quot;How to Get&quot; Section </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m15" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertGraphic?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Image </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m16" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertSection?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Section </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m17" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertVariable?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Insert Variable </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m18" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.Embed.Main?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">Transclude (Embed) </value>
+                        </prop>
+                    </node>
+                    <node oor:name="m19" oor:op="replace">
+                        <prop oor:name="URL" oor:type="xs:string">
+                            <value>vnd.sun.star.script:HelpAuthoring.OtherElements.InsertRelatedTopics?language=Basic&amp;location=application</value>
+                        </prop>
+                        <prop oor:name="Title" oor:type="xs:string">
+                            <value/>
+                            <value xml:lang="en-US">&quot;Related Topics&quot; Section </value>
+                        </prop>
+                    </node>
+                </node>
+            </node>
+        </node>
+    </node>
 </oor:component-data>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/00/00000021.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/00/00000021.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/00/00000021.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/00/00000021.xhp Sun Feb  3 13:23:59 2013
@@ -217,10 +217,10 @@
                <paragraph xml-lang="en-US" id="par_id0514200811565762" role="tablecontent" l10n="NEW">ODF 1.2</paragraph>
             </tablecell>
             <tablecell>
-               <paragraph xml-lang="en-US" id="par_id0519200811530440" role="tablecontent" l10n="NEW">to be announced</paragraph>
+               <paragraph xml-lang="en-US" id="par_id0519200811530440" role="tablecontent" l10n="NEW">2011-09-29</paragraph>
             </tablecell>
             <tablecell>
-               <paragraph role="tablecontent" id="par_id0519200811530471" xml-lang="en-US" l10n="NEW">OpenOffice.org 3, StarOffice 9, Oracle Open Office</paragraph>
+               <paragraph role="tablecontent" id="par_id0519200811530471" xml-lang="en-US" l10n="NEW">OpenOffice.org 3, StarOffice 9, Apache Open Office</paragraph>
             </tablecell>
          </tablerow>
          <tablerow>
@@ -263,7 +263,7 @@
 <paragraph role="heading" id="hd_id3154299" xml-lang="en-US" level="2" l10n="U" oldref="38">Definition of the XML formats</paragraph>
 <paragraph role="paragraph" id="par_idN10AAD" xml-lang="en-US" l10n="NEW">The schema for the OpenDocument formats can be found on the <link href="http://www.oasis-open.org">www.oasis-open.org</link> web site.</paragraph>
 <paragraph role="paragraph" id="par_id3149561" xml-lang="en-US" l10n="CHG" oldref="39">The DTD (Document Type Description) files for the older formats can be found in the installation folder.<comment>removed path</comment></paragraph>
-<paragraph role="paragraph" id="par_id3152596" xml-lang="en-US" l10n="U" oldref="40">Note that the formats are subject to certain licenses. You can find notes on the licenses at the start of the DTD files. More detailed information can be found on the <link href="http://www.openoffice.org" name="OpenOffice.org">OpenOffice.org</link> website.</paragraph>
+<paragraph role="paragraph" id="par_id3152596" xml-lang="en-US" l10n="U" oldref="40">Note that the formats are subject to certain licenses. You can find notes on the licenses at the start of the DTD files. More detailed information can be found on the <link href="http://www.openoffice.org" name="Apache OpenOffice">Apache OpenOffice</link> website.</paragraph>
 <section id="relatedtopics">
 <embed href="text/shared/guide/doc_open.xhp#doc_open"/>
 <embed href="text/shared/guide/doc_save.xhp#doc_save"/>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/01/06150200.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/01/06150200.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/01/06150200.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/01/06150200.xhp Sun Feb  3 13:23:59 2013
@@ -65,7 +65,7 @@
 <paragraph role="heading" id="hd_id3163802" xml-lang="en-US" level="3" l10n="U" oldref="15">Transform file</paragraph>
 <bookmark xml-lang="en-US" branch="hid/FILTER_HID_XML_FILTER_TEST_IMPORT_DISPLAY_SOURCE" id="bm_id3149812" localize="false"/>
 <paragraph role="heading" id="hd_id3147242" xml-lang="en-US" level="4" l10n="U" oldref="16">Display source</paragraph>
-<paragraph role="paragraph" id="par_id3150444" xml-lang="en-US" l10n="U" oldref="17"><ahelp hid="HID_XML_FILTER_TEST_IMPORT_DISPLAY_SOURCE">Opens the <embedvar href="text/shared/01/06150210.xhp#xmlfilteroutput"/> window, where the XML source of the selected document is displayed. The document is used to test the import filter.</ahelp> The <emph>Validate</emph> button in the window validates the XML source of the document against the OpenOffice.org DTD.</paragraph>
+<paragraph role="paragraph" id="par_id3150444" xml-lang="en-US" l10n="U" oldref="17"><ahelp hid="HID_XML_FILTER_TEST_IMPORT_DISPLAY_SOURCE">Opens the <embedvar href="text/shared/01/06150210.xhp#xmlfilteroutput"/> window, where the XML source of the selected document is displayed. The document is used to test the import filter.</ahelp> The <emph>Validate</emph> button in the window validates the XML source of the document.</paragraph>
 <bookmark xml-lang="en-US" branch="hid/FILTER_HID_XML_FILTER_TEST_IMPORT_BROWSE" id="bm_id3154577" localize="false"/>
 <paragraph role="heading" id="hd_id3147078" xml-lang="en-US" level="4" l10n="U" oldref="18">Browse</paragraph>
 <paragraph role="paragraph" id="par_id3149885" xml-lang="en-US" l10n="U" oldref="19"><ahelp hid="HID_XML_FILTER_TEST_IMPORT_BROWSE">Opens a file selection dialog. The selected file is opened using the current XML import filter.</ahelp></paragraph>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/explorer/database/rep_main.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/explorer/database/rep_main.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/explorer/database/rep_main.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/explorer/database/rep_main.xhp Sun Feb  3 13:23:59 2013
@@ -33,7 +33,7 @@
    </meta>
    <body>
 <bookmark xml-lang="en-US" branch="index" id="bm_id1614429"><bookmark_value>Report Builder</bookmark_value>
-<bookmark_value>Oracle Report Builder</bookmark_value>
+<bookmark_value>Apache OpenOffice Report Builder</bookmark_value>
 </bookmark>
 <paragraph xml-lang="en-US" id="hd_id8773155" role="heading" level="1" l10n="NEW"><variable id="rep_main"><link href="text/shared/explorer/database/rep_main.xhp">Report Builder</link>
 </variable></paragraph>
@@ -245,4 +245,4 @@
 	</image> and double-click your last saved report. A new Writer document will be created which shows the new data.</paragraph>
       <paragraph xml-lang="en-US" id="par_id8147221" role="paragraph" l10n="NEW">To print a report, choose <item type="menuitem">File - Print</item> from the Writer document.</paragraph>
    </body>
-</helpdocument>
\ No newline at end of file
+</helpdocument>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/assistive.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/assistive.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/assistive.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/assistive.xhp Sun Feb  3 13:23:59 2013
@@ -43,7 +43,7 @@
 <paragraph role="heading" id="hd_id3147399" xml-lang="en-US" level="1" l10n="U" oldref="22"><variable id="assistive"><link href="text/shared/guide/assistive.xhp" name="Assistive Tools in $[officename]">Assistive Tools in $[officename]</link>
 </variable></paragraph>
 <paragraph role="paragraph" id="par_id3143267" xml-lang="en-US" l10n="U" oldref="25">$[officename] supports some assistive technology tools like screen magnification software, screen readers, and on-screen keyboards. Most of these tools communicate with $[officename] by means of the Java(TM) Access Bridge software, that uses the Java Accessibility API, a part of the Java runtime environment.</paragraph>
-<paragraph role="tip" id="par_id8847010" xml-lang="en-US" l10n="NEW">A current list of supported assistive tools can be found on the OpenOffice.org Wiki at <link href="http://wiki.services.openoffice.org/wiki/Accessibility">http://wiki.services.openoffice.org/wiki/Accessibility</link>.</paragraph>
+<paragraph role="tip" id="par_id8847010" xml-lang="en-US" l10n="NEW">A current list of supported assistive tools can be found on the Apache OpenOffice Wiki at <link href="http://wiki.services.openoffice.org/wiki/Accessibility">http://wiki.services.openoffice.org/wiki/Accessibility</link>.</paragraph>
 <paragraph role="heading" id="hd_id3145345" xml-lang="en-US" level="2" l10n="U" oldref="12">Requirements to use assistive tools in $[officename]</paragraph>
 <list type="unordered">
 <listitem>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/language_select.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/language_select.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/language_select.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/language_select.xhp Sun Feb  3 13:23:59 2013
@@ -148,7 +148,7 @@
             <paragraph xml-lang="en-US" id="par_id121158" role="paragraph" l10n="NEW">Select another UI language in the "User interface" listbox.</paragraph>
          </listitem>
          <listitem>
-            <paragraph xml-lang="en-US" id="par_id3806878" role="paragraph" l10n="NEW">Click OK and restart the OpenOffice.org software.</paragraph>
+            <paragraph xml-lang="en-US" id="par_id3806878" role="paragraph" l10n="NEW">Click OK and restart the %PRODUCTNAME software.</paragraph>
          </listitem>
          <listitem>
             <paragraph xml-lang="en-US" id="par_id130619" role="paragraph" l10n="NEW">If the listbox doesn't list the language that you want, see "Adding More UI Languages".</paragraph>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/scripting.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/scripting.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/scripting.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/guide/scripting.xhp Sun Feb  3 13:23:59 2013
@@ -60,7 +60,7 @@
             <paragraph xml-lang="en-US" id="par_id6797082" role="paragraph" l10n="CHG">Python</paragraph>
          </listitem>
       </list>
-      <paragraph xml-lang="en-US" id="par_idN1091F" role="paragraph" l10n="NEW">In addition, developers can use high-level languages, for example Java programming language, to control %PRODUCTNAME externally. See the API project at OpenOffice.org.</paragraph>
+      <paragraph xml-lang="en-US" id="par_idN1091F" role="paragraph" l10n="NEW">In addition, developers can use high-level languages, for example Java programming language, to control %PRODUCTNAME externally. See the API project at Apache OpenOffice.</paragraph>
       <paragraph xml-lang="en-US" id="par_idN10751" role="heading" level="2" l10n="NEW">To assign a script to a new menu entry</paragraph>
       <list type="ordered">
          <listitem>

Modified: openoffice/branches/l10n/main/helpcontent2/source/text/shared/optionen/improvement.xhp
URL: http://svn.apache.org/viewvc/openoffice/branches/l10n/main/helpcontent2/source/text/shared/optionen/improvement.xhp?rev=1441909&r1=1441908&r2=1441909&view=diff
==============================================================================
--- openoffice/branches/l10n/main/helpcontent2/source/text/shared/optionen/improvement.xhp (original)
+++ openoffice/branches/l10n/main/helpcontent2/source/text/shared/optionen/improvement.xhp Sun Feb  3 13:23:59 2013
@@ -46,7 +46,7 @@
       <section id="howtoget">
          <embed href="text/shared/00/00000406.xhp#improvement"/>
       </section>
-      <paragraph xml-lang="en-US" id="par_id0526200903594966" role="paragraph" l10n="NEW">The Improvement Program was initiated by the User Experience project to improve the usability of %PRODUCTNAME. The User Experience project can be found at the OpenOffice.org web site: <link href="http://ux.openoffice.org/">http://ux.openoffice.org/</link>.</paragraph>
+      <paragraph xml-lang="en-US" id="par_id0526200903594966" role="paragraph" l10n="NEW">The Improvement Program was initiated by the User Experience project to improve the usability of %PRODUCTNAME. The User Experience project can be found at the Apache OpenOffice website: <link href="http://ux.openoffice.org/">http://ux.openoffice.org/</link>.</paragraph>
       <paragraph xml-lang="en-US" id="par_id0526200903594946" role="paragraph" l10n="NEW">The second time you start your new %PRODUCTNAME software, you see a window that gives information about the Improvement Program. </paragraph>
       <paragraph xml-lang="en-US" id="par_id0526200904094345" role="paragraph" l10n="NEW">At this time you can choose to accept or deny your participation.</paragraph>
       <list type="ordered">