Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3977

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/77/3977/1

fdo#63035 Add "Match Case" to Find bar.

Change-Id: I1339767de7980426d32960bf5ee60e2f5c011be4
---
M basctl/uiconfig/basicide/toolbar/findbar.xml
M include/svx/dialogs.hrc
M officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
M officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
M sc/uiconfig/scalc/toolbar/findbar.xml
M sd/uiconfig/sdraw/toolbar/findbar.xml
M sd/uiconfig/simpress/toolbar/findbar.xml
M svx/inc/tbunosearchcontrollers.hxx
M svx/source/tbxctrls/tbunosearchcontrollers.cxx
M svx/source/tbxctrls/tbunosearchcontrollers.src
M svx/source/unodraw/unoctabl.cxx
M svx/util/svx.component
M sw/uiconfig/sglobal/toolbar/findbar.xml
M sw/uiconfig/sweb/toolbar/findbar.xml
M sw/uiconfig/swriter/toolbar/findbar.xml
M sw/uiconfig/swxform/toolbar/findbar.xml
16 files changed, 300 insertions(+), 3 deletions(-)



diff --git a/basctl/uiconfig/basicide/toolbar/findbar.xml 
b/basctl/uiconfig/basicide/toolbar/findbar.xml
index 42baa21..57aec06 100644
--- a/basctl/uiconfig/basicide/toolbar/findbar.xml
+++ b/basctl/uiconfig/basicide/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 339cba7..f9e7833 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -928,6 +928,7 @@
 #define RID_SVXSTR_OUTLINENUM_DESCRIPTION_7                 (RID_SVXSTR_OUTLINENUM_DESCRIPTIONS + 
7)//?
 
 #define RID_SVXSTR_FINDBAR_FIND                             (RID_SVX_START + 1190)
+#define RID_SVXSTR_FINDBAR_MATCHCASE                        (RID_SVX_START + 1192)
 
 #define RID_SVXSTR_NEXTFREE                                 (RID_SVX_START + 1191)
 
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
index 56055d4..6fd5def 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Controller.xcu
@@ -429,6 +429,17 @@
           <value>com.sun.star.svx.UpSearchToolboxController</value>
         </prop>
       </node>
+      <node oor:name="com.sun.star.svx.MatchCaseToolboxController" oor:op="replace">
+        <prop oor:name="Command">
+          <value>.uno:MatchCase</value>
+        </prop>
+        <prop oor:name="Module">
+          <value/>
+        </prop>
+        <prop oor:name="Controller">
+          <value>com.sun.star.svx.MatchCaseToolboxController</value>
+        </prop>
+      </node>
       <node oor:name="c4" oor:op="replace" install:module="reportbuilder">
         <prop oor:name="Command">
           <value>.uno:FontColor</value>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 8ff9b74..b9e77a6 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -1470,6 +1470,11 @@
           <value>1</value>
         </prop>
       </node>
+      <node oor:name=".uno:MatchCase" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Match Case</value>
+        </prop>
+      </node>
       <node oor:name=".uno:ExitSearch" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Exit Search</value>
diff --git a/sc/uiconfig/scalc/toolbar/findbar.xml b/sc/uiconfig/scalc/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sc/uiconfig/scalc/toolbar/findbar.xml
+++ b/sc/uiconfig/scalc/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/sd/uiconfig/sdraw/toolbar/findbar.xml b/sd/uiconfig/sdraw/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sd/uiconfig/sdraw/toolbar/findbar.xml
+++ b/sd/uiconfig/sdraw/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/sd/uiconfig/simpress/toolbar/findbar.xml b/sd/uiconfig/simpress/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sd/uiconfig/simpress/toolbar/findbar.xml
+++ b/sd/uiconfig/simpress/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/svx/inc/tbunosearchcontrollers.hxx b/svx/inc/tbunosearchcontrollers.hxx
index 23eb22f..5a83776 100644
--- a/svx/inc/tbunosearchcontrollers.hxx
+++ b/svx/inc/tbunosearchcontrollers.hxx
@@ -33,6 +33,7 @@
 #include <cppuhelper/implbase1.hxx>
 #include <cppuhelper/weak.hxx>
 #include <svtools/toolboxcontroller.hxx>
+#include <vcl/button.hxx>
 #include <vcl/combobox.hxx>
 #include <vcl/window.hxx>
 
@@ -215,6 +216,49 @@
     Type meType;
 };
 
+class MatchCaseToolboxController : public svt::ToolboxController,
+                                      public css::lang::XServiceInfo
+{
+public:
+    MatchCaseToolboxController( const css::uno::Reference< css::uno::XComponentContext >& 
rxContext );
+    ~MatchCaseToolboxController();
+
+    // XInterface
+    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) 
throw ( css::uno::RuntimeException );
+    virtual void SAL_CALL acquire() throw ();
+    virtual void SAL_CALL release() throw ();
+
+    // XServiceInfo
+    virtual OUString SAL_CALL getImplementationName() throw( css::uno::RuntimeException );
+    virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw( 
css::uno::RuntimeException );
+    virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw( 
css::uno::RuntimeException );
+
+    static OUString getImplementationName_Static( ) throw()
+    {
+        return OUString( "com.sun.star.svx.MatchCaseToolboxController" );
+    }
+
+    static css::uno::Sequence< OUString >  getSupportedServiceNames_Static() throw();
+
+    // XComponent
+    virtual void SAL_CALL dispose() throw ( css::uno::RuntimeException );
+
+    // XInitialization
+    virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) 
throw ( css::uno::Exception, css::uno::RuntimeException);
+
+    // XToolbarController
+    virtual void SAL_CALL execute( sal_Int16 KeyModifier ) throw ( css::uno::RuntimeException );
+    virtual css::uno::Reference< css::awt::XWindow > SAL_CALL createItemWindow( const 
css::uno::Reference< css::awt::XWindow >& Parent ) throw ( css::uno::RuntimeException );
+
+    // XStatusListener
+    virtual void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& rEvent ) throw ( 
css::uno::RuntimeException );
+
+    DECL_LINK(ClickHdl, void*);
+
+private:
+    CheckBox* m_pMatchCaseControl;
+};
+
 // protocol handler for "vnd.sun.star.findbar:*" URLs
 // The dispatch object will be used for shortcut commands for findbar
 class FindbarDispatcher : public css::lang::XServiceInfo,
@@ -267,6 +311,7 @@
 css::uno::Reference< css::uno::XInterface > SAL_CALL FindTextToolbarController_createInstance( 
const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
 css::uno::Reference< css::uno::XInterface > SAL_CALL DownSearchToolboxController_createInstance( 
const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
 css::uno::Reference< css::uno::XInterface > SAL_CALL UpSearchToolboxController_createInstance( 
const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
+css::uno::Reference< css::uno::XInterface > SAL_CALL MatchCaseToolboxController_createInstance( 
const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
 css::uno::Reference< css::uno::XInterface > SAL_CALL ExitFindbarToolboxController_createInstance( 
const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
 css::uno::Reference< css::uno::XInterface > SAL_CALL FindbarDispatcher_createInstance( const 
css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr );
 
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx 
b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index d67e5ac..6dc6aa8 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -25,6 +25,7 @@
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
+#include <com/sun/star/i18n/TransliterationModules.hpp>
 #include <com/sun/star/text/XTextRange.hpp>
 #include <com/sun/star/ui/XUIElement.hpp>
 #include <com/sun/star/util/URL.hpp>
@@ -42,12 +43,14 @@
 static const char SEARCHITEM_SEARCHSTRING[] = "SearchItem.SearchString";
 static const char SEARCHITEM_SEARCHBACKWARD[] = "SearchItem.Backward";
 static const char SEARCHITEM_SEARCHFLAGS[] = "SearchItem.SearchFlags";
+static const char SEARCHITEM_TRANSLITERATEFLAGS[] = "SearchItem.TransliterateFlags";
 
 static const char COMMAND_EXECUTESEARCH[] = ".uno:ExecuteSearch";
 static const char COMMAND_FINDTEXT[] = ".uno:FindText";
 static const char COMMAND_DOWNSEARCH[] = ".uno:DownSearch";
 static const char COMMAND_UPSEARCH[] = ".uno:UpSearch";
 static const char COMMAND_EXITSEARCH[] = ".uno:ExitSearch";
+static const char COMMAND_MATCHCASE[] = ".uno:MatchCase";
 static const char COMMAND_APPENDSEARCHHISTORY[] = "AppendSearchHistory";
 
 static const sal_Int32       REMEMBER_SIZE = 10;
@@ -163,8 +166,27 @@
             {
                 Remember_Impl(GetText());
 
+                sal_Bool aMatchCase;
+                Window* pWindow = GetParent();
+                ToolBox* pToolBox = (ToolBox*)pWindow;
+                if ( pToolBox )
+                {
+                    sal_uInt16 nItemCount = pToolBox->GetItemCount();
+                    for ( sal_uInt16 i=0; i<nItemCount; ++i )
+                    {
+                        OUString sItemCommand = pToolBox->GetItemCommand(i);
+                        if ( sItemCommand == COMMAND_MATCHCASE )
+                        {
+                            CheckBox* pItemWin = (CheckBox*) pToolBox->GetItemWindow(i);
+                            if (pItemWin)
+                                aMatchCase = pItemWin->IsChecked();
+                            break;
+                        }
+                    }
+                }
+
                 OUString sFindText = GetText();
-                css::uno::Sequence< css::beans::PropertyValue > lArgs(3);
+                css::uno::Sequence< css::beans::PropertyValue > lArgs(4);
 
                 lArgs[0].Name = OUString(SEARCHITEM_SEARCHSTRING);
                 lArgs[0].Value <<= sFindText;
@@ -177,6 +199,10 @@
 
                 lArgs[2].Name = OUString(SEARCHITEM_SEARCHFLAGS);
                 lArgs[2].Value <<= (sal_Int32)0;
+
+                lArgs[3].Name = OUString(SEARCHITEM_TRANSLITERATEFLAGS);
+                lArgs[3].Value <<= !aMatchCase ?
+                        com::sun::star::i18n::TransliterationModules_IGNORE_CASE : 0;
 
                 impl_executeSearch( m_xContext, m_xFrame, lArgs);
                 nRet = 1;
@@ -561,6 +587,7 @@
         throw css::lang::DisposedException();
 
     OUString sFindText;
+    sal_Bool aMatchCase;
     Window* pWindow = VCLUnoHelper::GetWindow( getParent() );
     ToolBox* pToolBox = (ToolBox*)pWindow;
     if ( pToolBox )
@@ -574,18 +601,25 @@
                 Window* pItemWin = pToolBox->GetItemWindow(i);
                 if (pItemWin)
                     sFindText = pItemWin->GetText();
-                break;
+            } else if ( sItemCommand == COMMAND_MATCHCASE )
+            {
+                CheckBox* pItemWin = (CheckBox*) pToolBox->GetItemWindow(i);
+                if (pItemWin)
+                    aMatchCase = pItemWin->IsChecked();
             }
         }
     }
 
-    css::uno::Sequence< css::beans::PropertyValue > lArgs(3);
+    css::uno::Sequence< css::beans::PropertyValue > lArgs(4);
     lArgs[0].Name = OUString(SEARCHITEM_SEARCHSTRING);
     lArgs[0].Value <<= sFindText;
     lArgs[1].Name = OUString(SEARCHITEM_SEARCHBACKWARD);
     lArgs[1].Value <<= sal_Bool( meType == UP );
     lArgs[2].Name = OUString(SEARCHITEM_SEARCHFLAGS);
     lArgs[2].Value <<= (sal_Int32)0;
+    lArgs[3].Name = OUString(SEARCHITEM_TRANSLITERATEFLAGS);
+    lArgs[3].Value <<= !aMatchCase ?
+        com::sun::star::i18n::TransliterationModules_IGNORE_CASE : 0;
 
     impl_executeSearch(m_xContext, m_xFrame, lArgs);
 
@@ -603,6 +637,177 @@
     if ( m_bDisposed )
         return;
 }
+
+//-----------------------------------------------------------------------------------------------------------
+// MatchCaseToolboxController
+
+MatchCaseToolboxController::MatchCaseToolboxController( const css::uno::Reference< 
css::uno::XComponentContext >& rxContext )
+    :svt::ToolboxController( rxContext,
+    css::uno::Reference< css::frame::XFrame >(),
+    OUString(COMMAND_MATCHCASE) )
+{
+}
+
+MatchCaseToolboxController::~MatchCaseToolboxController()
+{
+}
+
+// XInterface
+css::uno::Any SAL_CALL MatchCaseToolboxController::queryInterface( const css::uno::Type& aType ) 
throw ( css::uno::RuntimeException )
+{
+    css::uno::Any a = ToolboxController::queryInterface( aType );
+    if ( a.hasValue() )
+        return a;
+
+    return ::cppu::queryInterface( aType, static_cast< css::lang::XServiceInfo* >( this ) );
+}
+
+void SAL_CALL MatchCaseToolboxController::acquire() throw ()
+{
+    ToolboxController::acquire();
+}
+
+void SAL_CALL MatchCaseToolboxController::release() throw ()
+{
+    ToolboxController::release();
+}
+
+// XServiceInfo
+OUString SAL_CALL MatchCaseToolboxController::getImplementationName() throw( 
css::uno::RuntimeException )
+{
+    return getImplementationName_Static();
+}
+
+sal_Bool SAL_CALL MatchCaseToolboxController::supportsService( const OUString& ServiceName ) 
throw( css::uno::RuntimeException )
+{
+    const css::uno::Sequence< OUString > aSNL( getSupportedServiceNames() );
+    const OUString * pArray = aSNL.getConstArray();
+
+    for( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
+        if( pArray[i] == ServiceName )
+            return true;
+
+    return false;
+}
+
+css::uno::Sequence< OUString > SAL_CALL MatchCaseToolboxController::getSupportedServiceNames() 
throw( css::uno::RuntimeException )
+{
+    return getSupportedServiceNames_Static();
+}
+
+css::uno::Sequence< OUString >  MatchCaseToolboxController::getSupportedServiceNames_Static() 
throw()
+{
+    css::uno::Sequence< OUString > aSNS( 1 );
+    aSNS.getArray()[0] = OUString( "com.sun.star.frame.ToolbarController" );
+    return aSNS;
+}
+
+// XComponent
+void SAL_CALL MatchCaseToolboxController::dispose() throw ( css::uno::RuntimeException )
+{
+    SolarMutexGuard aSolarMutexGuard;
+
+    SearchToolbarControllersManager::createControllersManager().freeController(m_xFrame, 
css::uno::Reference< css::frame::XStatusListener >(static_cast< ::cppu::OWeakObject* >(this), 
css::uno::UNO_QUERY), m_aCommandURL);
+
+    svt::ToolboxController::dispose();
+
+    delete m_pMatchCaseControl;
+    m_pMatchCaseControl = 0;
+}
+
+// XInitialization
+void SAL_CALL MatchCaseToolboxController::initialize( const css::uno::Sequence< 
::com::sun::star::uno::Any >& aArguments ) throw ( css::uno::Exception, css::uno::RuntimeException)
+{
+    svt::ToolboxController::initialize(aArguments);
+
+    SearchToolbarControllersManager::createControllersManager().registryController(m_xFrame, 
css::uno::Reference< css::frame::XStatusListener >(static_cast< ::cppu::OWeakObject* >(this), 
css::uno::UNO_QUERY), m_aCommandURL);
+}
+
+// XToolbarController
+void SAL_CALL MatchCaseToolboxController::execute( sal_Int16 /*KeyModifier*/ ) throw ( 
css::uno::RuntimeException )
+{
+}
+
+css::uno::Reference< css::awt::XWindow > SAL_CALL MatchCaseToolboxController::createItemWindow( 
const css::uno::Reference< css::awt::XWindow >& Parent ) throw ( css::uno::RuntimeException )
+{
+    css::uno::Reference< css::awt::XWindow > xItemWindow;
+
+    css::uno::Reference< css::awt::XWindow > xParent( Parent );
+    Window* pParent = VCLUnoHelper::GetWindow( xParent );
+    if ( pParent )
+    {
+        ToolBox* pToolbar =  ( ToolBox* )pParent;
+        m_pMatchCaseControl = new CheckBox( pToolbar, 0 );
+        m_pMatchCaseControl->SetText( SVX_RESSTR( RID_SVXSTR_FINDBAR_MATCHCASE ) );
+        Size aSize( m_pMatchCaseControl->GetTextWidth(SVX_RESSTR( RID_SVXSTR_FINDBAR_MATCHCASE )) 
+ 35,
+                                    m_pMatchCaseControl->GetTextHeight() + 15);
+        m_pMatchCaseControl->SetSizePixel( aSize );
+        m_pMatchCaseControl->SetClickHdl(LINK(this, MatchCaseToolboxController, ClickHdl));
+    }
+    xItemWindow = VCLUnoHelper::GetInterface( m_pMatchCaseControl );
+
+    return xItemWindow;
+}
+
+// XStatusListener
+void SAL_CALL MatchCaseToolboxController::statusChanged( const css::frame::FeatureStateEvent& 
rEvent ) throw ( css::uno::RuntimeException )
+{
+    (void) rEvent;
+    SolarMutexGuard aSolarMutexGuard;
+    if ( m_bDisposed )
+        return;
+}
+
+IMPL_LINK_NOARG(MatchCaseToolboxController, ClickHdl)
+{
+    if ( m_bDisposed )
+        throw css::lang::DisposedException();
+
+    OUString sFindText;
+    sal_Bool aMatchCase;
+    Window* pWindow = VCLUnoHelper::GetWindow( getParent() );
+    ToolBox* pToolBox = (ToolBox*)pWindow;
+    if ( pToolBox )
+    {
+        sal_uInt16 nItemCount = pToolBox->GetItemCount();
+        for ( sal_uInt16 i=0; i<nItemCount; ++i )
+        {
+            OUString sItemCommand = pToolBox->GetItemCommand(i);
+            if ( sItemCommand == COMMAND_FINDTEXT )
+            {
+                Window* pItemWin = pToolBox->GetItemWindow(i);
+                if (pItemWin)
+                    sFindText = pItemWin->GetText();
+            } else if ( sItemCommand == COMMAND_MATCHCASE )
+            {
+                CheckBox* pItemWin = (CheckBox*) pToolBox->GetItemWindow(i);
+                if (pItemWin)
+                    aMatchCase = pItemWin->IsChecked();
+            }
+        }
+    }
+
+    css::uno::Sequence< css::beans::PropertyValue > lArgs(4);
+    lArgs[0].Name = OUString(SEARCHITEM_SEARCHSTRING);
+    lArgs[0].Value <<= sFindText;
+    lArgs[1].Name = OUString(SEARCHITEM_SEARCHBACKWARD);
+    lArgs[1].Value <<= sal_False;
+    lArgs[2].Name = OUString(SEARCHITEM_SEARCHFLAGS);
+    lArgs[2].Value <<= (sal_Int32)0;
+    lArgs[3].Name = OUString(SEARCHITEM_TRANSLITERATEFLAGS);
+    lArgs[3].Value <<= !aMatchCase ?
+        com::sun::star::i18n::TransliterationModules_IGNORE_CASE : 0;
+
+    impl_executeSearch(m_xContext, m_xFrame, lArgs);
+
+    css::frame::FeatureStateEvent aEvent;
+    aEvent.FeatureURL.Complete = OUString(COMMAND_APPENDSEARCHHISTORY);
+    css::uno::Reference< css::frame::XStatusListener > xStatusListener = 
SearchToolbarControllersManager::createControllersManager().findController(m_xFrame, 
COMMAND_FINDTEXT);
+    if (xStatusListener.is())
+        xStatusListener->statusChanged( aEvent );
+    return 0;
+}
+
 
//-----------------------------------------------------------------------------------------------------------
 // class ExitSearchToolboxController
 
@@ -899,6 +1104,13 @@
             comphelper::getComponentContext(rSMgr), UpDownSearchToolboxController::UP ) );
 }
 
+css::uno::Reference< css::uno::XInterface > SAL_CALL MatchCaseToolboxController_createInstance(
+    const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr )
+{
+    return static_cast< cppu::OWeakObject * >(
+        new MatchCaseToolboxController( comphelper::getComponentContext(rSMgr) ) );
+}
+
 css::uno::Reference< css::uno::XInterface > SAL_CALL ExitFindbarToolboxController_createInstance(
     const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMgr )
 {
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.src 
b/svx/source/tbxctrls/tbunosearchcontrollers.src
index a9d42b9..d3b8920 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.src
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.src
@@ -24,4 +24,9 @@
     Text [ en-US ] = "Find" ;
 };
 
+String RID_SVXSTR_FINDBAR_MATCHCASE
+{
+    Text [ en-US ] = "Match Case" ;
+};
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/unodraw/unoctabl.cxx b/svx/source/unodraw/unoctabl.cxx
index 0ea4b3a..86b596e 100644
--- a/svx/source/unodraw/unoctabl.cxx
+++ b/svx/source/unodraw/unoctabl.cxx
@@ -306,6 +306,13 @@
                 svx::UpSearchToolboxController_createInstance,
                 svx::UpDownSearchToolboxController::getSupportedServiceNames_Static() );
         }
+        else if ( svx::MatchCaseToolboxController::getImplementationName_Static().equalsAscii( 
pImplName ) )
+        {
+            xFactory = createSingleFactory( reinterpret_cast< lang::XMultiServiceFactory * >( 
pServiceManager ),
+                svx::MatchCaseToolboxController::getImplementationName_Static(),
+                svx::MatchCaseToolboxController_createInstance,
+                svx::MatchCaseToolboxController::getSupportedServiceNames_Static() );
+        }
         else if ( svx::ExitSearchToolboxController::getImplementationName_Static().equalsAscii( 
pImplName ) )
         {
             xFactory = createSingleFactory( reinterpret_cast< lang::XMultiServiceFactory * >( 
pServiceManager ),
diff --git a/svx/util/svx.component b/svx/util/svx.component
index ea9f39c..84b5d36 100644
--- a/svx/util/svx.component
+++ b/svx/util/svx.component
@@ -58,6 +58,9 @@
   <implementation name="com.sun.star.svx.FindTextToolboxController">
     <service name="com.sun.star.frame.ToolbarController"/>
   </implementation>
+  <implementation name="com.sun.star.svx.MatchCaseToolboxController">
+    <service name="com.sun.star.frame.ToolbarController"/>
+  </implementation>
   <implementation name="com.sun.star.svx.FontHeightToolBoxController">
     <service name="com.sun.star.frame.ToolbarController"/>
   </implementation>
diff --git a/sw/uiconfig/sglobal/toolbar/findbar.xml b/sw/uiconfig/sglobal/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sw/uiconfig/sglobal/toolbar/findbar.xml
+++ b/sw/uiconfig/sglobal/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/sw/uiconfig/sweb/toolbar/findbar.xml b/sw/uiconfig/sweb/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sw/uiconfig/sweb/toolbar/findbar.xml
+++ b/sw/uiconfig/sweb/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/sw/uiconfig/swriter/toolbar/findbar.xml b/sw/uiconfig/swriter/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sw/uiconfig/swriter/toolbar/findbar.xml
+++ b/sw/uiconfig/swriter/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>
diff --git a/sw/uiconfig/swxform/toolbar/findbar.xml b/sw/uiconfig/swxform/toolbar/findbar.xml
index a0e6037..f8052a1 100644
--- a/sw/uiconfig/swxform/toolbar/findbar.xml
+++ b/sw/uiconfig/swxform/toolbar/findbar.xml
@@ -22,6 +22,7 @@
   <toolbar:toolbaritem xlink:href=".uno:FindText"/>
   <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
   <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+  <toolbar:toolbaritem xlink:href=".uno:MatchCase"/>
   <toolbar:toolbarseparator/>
   <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
 </toolbar:toolbar>

-- 
To view, visit https://gerrit.libreoffice.org/3977
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1339767de7980426d32960bf5ee60e2f5c011be4
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Andrzej J.R. Hunt <andrzej@ahunt.org>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.