[Libreoffice-commits] core.git: Branch 'feature/ods-edit-cell-import' - 21 commits - beanshell/ExternalProject_beanshell.mk cui/source editeng/source extensions/source helpcontent2 hsqldb/ExternalProject_hsqldb.mk languagetool/ExternalProject_languagetool.mk sal/inc sc/source sd/source svtools/inc svtools/source svx/inc svx/source sw/source vcl/inc vcl/source xmloff/inc xmloff/source

Kohei Yoshida kohei.yoshida at gmail.com
Thu Feb 7 09:23:45 PST 2013


 beanshell/ExternalProject_beanshell.mk       |    2 
 cui/source/dialogs/hangulhanjadlg.cxx        |    2 
 cui/source/tabpages/tparea.cxx               |   14 ++
 cui/source/tabpages/tpbitmap.cxx             |    8 +
 cui/source/tabpages/tpcolor.cxx              |    1 
 cui/source/tabpages/tpgradnt.cxx             |    7 +
 cui/source/tabpages/tphatch.cxx              |    7 +
 cui/source/tabpages/tpshadow.cxx             |    4 
 editeng/source/editeng/impedit3.cxx          |    2 
 extensions/source/propctrlr/usercontrol.cxx  |    8 -
 helpcontent2                                 |    2 
 hsqldb/ExternalProject_hsqldb.mk             |    2 
 languagetool/ExternalProject_languagetool.mk |    2 
 sal/inc/rtl/string.hxx                       |    5 
 sal/inc/rtl/ustrbuf.hxx                      |   13 ++
 sal/inc/rtl/ustring.hxx                      |    5 
 sc/source/core/data/column.cxx               |   89 +++++++-------
 sc/source/core/data/column2.cxx              |  163 +++++++++++++--------------
 sc/source/core/tool/interpr1.cxx             |    6 
 sd/source/ui/dlg/RemoteDialog.cxx            |    7 -
 svtools/inc/svtools/ctrlbox.hxx              |    2 
 svtools/source/control/ctrlbox.cxx           |    9 -
 svx/inc/svx/dialogs.hrc                      |    2 
 svx/source/tbxctrls/tbcontrl.cxx             |   43 ++++++-
 svx/source/tbxctrls/tbcontrl.src             |   12 +
 sw/source/ui/inc/wrtsh.hxx                   |    2 
 sw/source/ui/wrtsh/select.cxx                |    2 
 sw/source/ui/wrtsh/wrtsh1.cxx                |    3 
 vcl/inc/svdata.hxx                           |    2 
 vcl/inc/textlayout.hxx                       |    6 
 vcl/inc/vcl/button.hxx                       |    2 
 vcl/inc/vcl/combobox.hxx                     |    4 
 vcl/inc/vcl/controllayout.hxx                |    2 
 vcl/inc/vcl/ctrl.hxx                         |    4 
 vcl/inc/vcl/field.hxx                        |   28 ++--
 vcl/inc/vcl/outdev.hxx                       |    8 -
 vcl/source/control/button.cxx                |   38 +++---
 vcl/source/control/ctrl.cxx                  |   20 +--
 vcl/source/control/edit.cxx                  |    4 
 vcl/source/control/field.cxx                 |  111 ++++++++----------
 vcl/source/control/field2.cxx                |   26 ++--
 vcl/source/control/fixed.cxx                 |    4 
 vcl/source/control/group.cxx                 |    2 
 vcl/source/control/ilstbox.cxx               |    6 
 vcl/source/control/tabctrl.cxx               |    2 
 vcl/source/gdi/outdev3.cxx                   |   14 +-
 vcl/source/gdi/textlayout.cxx                |   14 +-
 vcl/source/window/menu.cxx                   |    4 
 vcl/source/window/toolbox.cxx                |    6 
 xmloff/inc/xmloff/txtimp.hxx                 |    4 
 xmloff/source/style/xmlstyle.cxx             |   30 +---
 xmloff/source/text/txtimp.cxx                |   35 ++---
 52 files changed, 443 insertions(+), 357 deletions(-)

New commits:
commit fbdaa717e3dc8a59d474b1bb5503cfa6dac609e8
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Feb 6 20:06:34 2013 -0500

    Mark these members mutable to avoid casting them in const method.
    
    Change-Id: Ib5d8ea83e37ab1e3c5a1ad4dc9870d3d5a2d8779

diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 9cf0645..51d391d 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -259,11 +259,11 @@ class SvXMLStylesContext_Impl
     typedef std::set<SvXMLStyleIndex_Impl, SvXMLStyleIndexCmp_Impl> IndicesType;
 
     StylesType aStyles;
-    IndicesType* pIndices;
+    mutable IndicesType* pIndices;
     bool bAutomaticStyle;
 
 #ifdef DBG_UTIL
-    sal_uInt32 nIndexCreated;
+    mutable sal_uInt32 nIndexCreated;
 #endif
 
     void FlushIndex() { delete pIndices; pIndices = 0; }
@@ -345,11 +345,10 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
         DBG_ASSERT( 0==nIndexCreated,
                     "Performance warning: sdbcx::Index created multiple times" );
 #endif
-        ((SvXMLStylesContext_Impl *)this)->pIndices =
-            new IndicesType( aStyles.begin(), aStyles.end() );
+        pIndices = new IndicesType(aStyles.begin(), aStyles.end());
         SAL_WARN_IF(pIndices->size() != aStyles.size(), "xmloff", "Here is a duplicate Style");
 #ifdef DBG_UTIL
-        ((SvXMLStylesContext_Impl *)this)->nIndexCreated++;
+        ++nIndexCreated;
 #endif
     }
 
commit ab0543469433395153874c47ce46ef73fc137203
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Feb 6 19:59:34 2013 -0500

    Move these typedef's inside the class scope & bool cleanups.
    
    Change-Id: I806453efbc5f7bb18f34593c350b05d74a0bc23b

diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index b69f3f6..9cf0645 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -56,8 +56,6 @@
 #include <set>
 #include <vector>
 
-using ::std::vector;
-
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::container;
@@ -254,18 +252,15 @@ struct SvXMLStyleIndexCmp_Impl
     }
 };
 
-// ---------------------------------------------------------------------
-
-typedef SvXMLStyleContext *SvXMLStyleContextPtr;
-typedef vector< SvXMLStyleContextPtr > SvXMLStyleContexts_Impl;
-
-typedef std::set<SvXMLStyleIndex_Impl, SvXMLStyleIndexCmp_Impl> SvXMLStyleIndices_Impl;
 
 class SvXMLStylesContext_Impl
 {
-    SvXMLStyleContexts_Impl aStyles;
-    SvXMLStyleIndices_Impl  *pIndices;
-    sal_Bool bAutomaticStyle;
+    typedef std::vector<SvXMLStyleContext*> StylesType;
+    typedef std::set<SvXMLStyleIndex_Impl, SvXMLStyleIndexCmp_Impl> IndicesType;
+
+    StylesType aStyles;
+    IndicesType* pIndices;
+    bool bAutomaticStyle;
 
 #ifdef DBG_UTIL
     sal_uInt32 nIndexCreated;
@@ -274,7 +269,7 @@ class SvXMLStylesContext_Impl
     void FlushIndex() { delete pIndices; pIndices = 0; }
 
 public:
-    SvXMLStylesContext_Impl( sal_Bool bAuto );
+    SvXMLStylesContext_Impl( bool bAuto );
     ~SvXMLStylesContext_Impl();
 
     size_t GetStyleCount() const { return aStyles.size(); }
@@ -298,7 +293,7 @@ public:
     sal_Bool IsAutomaticStyle() const { return bAutomaticStyle; }
 };
 
-SvXMLStylesContext_Impl::SvXMLStylesContext_Impl( sal_Bool bAuto ) :
+SvXMLStylesContext_Impl::SvXMLStylesContext_Impl( bool bAuto ) :
     pIndices( 0 ),
     bAutomaticStyle( bAuto )
 #ifdef DBG_UTIL
@@ -351,7 +346,7 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
                     "Performance warning: sdbcx::Index created multiple times" );
 #endif
         ((SvXMLStylesContext_Impl *)this)->pIndices =
-            new SvXMLStyleIndices_Impl( aStyles.begin(), aStyles.end() );
+            new IndicesType( aStyles.begin(), aStyles.end() );
         SAL_WARN_IF(pIndices->size() != aStyles.size(), "xmloff", "Here is a duplicate Style");
 #ifdef DBG_UTIL
         ((SvXMLStylesContext_Impl *)this)->nIndexCreated++;
@@ -361,7 +356,7 @@ const SvXMLStyleContext *SvXMLStylesContext_Impl::FindStyleChildContext( sal_uIn
     if( pIndices )
     {
         SvXMLStyleIndex_Impl aIndex( nFamily, rName );
-        SvXMLStyleIndices_Impl::iterator aFind = pIndices->find(aIndex);
+        IndicesType::iterator aFind = pIndices->find(aIndex);
         if( aFind != pIndices->end() )
             pStyle = aFind->GetStyle();
     }
commit 14b9d7c75f65757e0fd281e34012ae2feabd85c1
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Feb 6 19:27:39 2013 -0500

    Those auto_ptr can be replaced with boost::scoped_ptr.
    
    Change-Id: I2aa68c7bf265943e3d015a069fab461882c81554

diff --git a/xmloff/inc/xmloff/txtimp.hxx b/xmloff/inc/xmloff/txtimp.hxx
index a5909ef..0003991 100644
--- a/xmloff/inc/xmloff/txtimp.hxx
+++ b/xmloff/inc/xmloff/txtimp.hxx
@@ -25,9 +25,9 @@
 #include <com/sun/star/uno/Reference.h>
 
 #include <map>
-#include <memory>
 #include <boost/utility.hpp>
 #include <boost/shared_ptr.hpp>
+#include <boost/scoped_ptr.hpp>
 
 #include <xmloff/xmltkmap.hxx>
 #include <comphelper/stl_types.hxx>
@@ -371,7 +371,7 @@ class XMLOFF_DLLPUBLIC XMLTextImportHelper : public UniRefBase,
 {
 private:
     struct Impl;
-    ::std::auto_ptr<Impl> m_pImpl;
+    boost::scoped_ptr<Impl> m_pImpl;
     /// ugly, but implementation of this is in XMLPropertyBackpatcher.cxx
     struct BackpatcherImpl;
     ::boost::shared_ptr<BackpatcherImpl> m_pBackpatcherImpl;
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
index b00b8a2..00ece9d 100644
--- a/xmloff/source/text/txtimp.cxx
+++ b/xmloff/source/text/txtimp.cxx
@@ -489,22 +489,20 @@ static SvXMLTokenMapEntry aTextFieldAttrTokenMap[] =
 struct SAL_DLLPRIVATE XMLTextImportHelper::Impl
     : private ::boost::noncopyable
 {
-    SAL_WNODEPRECATED_DECLARATIONS_PUSH
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextElemTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextPElemTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextPAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextFieldAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextNumberedParagraphAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextListBlockAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextListBlockElemTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextFrameAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextContourAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextHyperlinkAttrTokenMap;
-    ::std::auto_ptr<SvXMLTokenMap> m_pTextMasterPageElemTokenMap;
-    ::std::auto_ptr< std::vector<OUString> > m_pPrevFrmNames;
-    ::std::auto_ptr< std::vector<OUString> > m_pNextFrmNames;
-    ::std::auto_ptr<XMLTextListsHelper> m_pTextListsHelper;
-    SAL_WNODEPRECATED_DECLARATIONS_POP
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextElemTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextPElemTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextPAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextFieldAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextNumberedParagraphAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextListBlockAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextListBlockElemTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextFrameAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextContourAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextHyperlinkAttrTokenMap;
+    boost::scoped_ptr<SvXMLTokenMap> m_pTextMasterPageElemTokenMap;
+    boost::scoped_ptr< std::vector<OUString> > m_pPrevFrmNames;
+    boost::scoped_ptr< std::vector<OUString> > m_pNextFrmNames;
+    boost::scoped_ptr<XMLTextListsHelper> m_pTextListsHelper;
 
     SvXMLImportContextRef m_xAutoStyles;
     SvXMLImportContextRef m_xFontDecls;
@@ -515,9 +513,8 @@ struct SAL_DLLPRIVATE XMLTextImportHelper::Impl
     UniReference< SvXMLImportPropertyMapper > m_xSectionImpPrMap;
     UniReference< SvXMLImportPropertyMapper > m_xRubyImpPrMap;
 
-    SAL_WNODEPRECATED_DECLARATIONS_PUSH
-    ::std::auto_ptr<SvI18NMap> m_pRenameMap;
-    SAL_WNODEPRECATED_DECLARATIONS_POP
+    boost::scoped_ptr<SvI18NMap> m_pRenameMap;
+
     /* Change and extend data structure:
        - data structure contains candidates of paragraph styles, which
          will be assigned to the outline style
commit 72832c448f18381e53cc13dab56df66db21835bd
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Feb 6 09:58:51 2013 +0100

    add some missing member initializations
    
    Change-Id: I36bab07a127f90f651f3db67831a37bbb78900ce

diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index eb31902..9cf8c17 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -240,6 +240,8 @@ void SvxTransparenceTabPage::SetControlState_Impl(XGradientStyle eXGS)
 SvxTransparenceTabPage::SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs)
 :   SvxTabPage          ( pParent, CUI_RES( RID_SVXPAGE_TRANSPARENCE ), rInAttrs),
     rOutAttrs           ( rInAttrs ),
+    eRP                 ( RP_LT ),
+
     nPageType(0),
     nDlgType(0),
 
@@ -644,12 +646,24 @@ SvxAreaTabPage::SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ) :
     aCtlXRectPreview    ( this, CUI_RES( CTL_COLOR_PREVIEW ) ),
 
     rOutAttrs           ( rInAttrs ),
+    eRP( RP_LT ),
 
     pColorList( NULL ),
     pGradientList( NULL ),
     pHatchingList( NULL ),
     pBitmapList( NULL ),
 
+    pnColorListState( 0 ),
+    pnBitmapListState( 0 ),
+    pnGradientListState( 0 ),
+    pnHatchingListState( 0 ),
+
+    nPageType( 0 ),
+    nDlgType( 0 ),
+    nPos( LISTBOX_ENTRY_NOTFOUND ),
+
+    pbAreaTP( 0 ),
+
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFillAttr          ( pXPool ),
     rXFSet              ( aXFillAttr.GetItemSet() )
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index 713adee..e4ae145 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -79,6 +79,14 @@ SvxBitmapTabPage::SvxBitmapTabPage
     aBitmapCtl          ( this, aCtlPreview.GetSizePixel() ),
     rOutAttrs           ( rInAttrs ),
 
+    pnBitmapListState   ( 0 ),
+    pnColorListState    ( 0 ),
+    pPageType           ( 0 ),
+    pDlgType            ( 0 ),
+    pbAreaTP            ( 0 ),
+
+    bBmpChanged         ( false ),
+
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_BITMAP ),
     aXBitmapItem        ( String(), XOBitmap() ),
diff --git a/cui/source/tabpages/tpcolor.cxx b/cui/source/tabpages/tpcolor.cxx
index 97b397f..ac0c085 100644
--- a/cui/source/tabpages/tpcolor.cxx
+++ b/cui/source/tabpages/tpcolor.cxx
@@ -306,6 +306,7 @@ SvxColorTabPage::SvxColorTabPage(Window* pParent, const SfxItemSet& rInAttrs)
     , pShadow             ( new SvxColorTabPageShadow() )
     , rOutAttrs           ( rInAttrs )
     // All the horrific pointers we store and should not
+    , pnColorListState( 0 )
     , pPageType( NULL )
     , pDlgType( NULL )
     , pPos( NULL )
diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx
index 8aa86a4..1967880 100644
--- a/cui/source/tabpages/tpgradnt.cxx
+++ b/cui/source/tabpages/tpgradnt.cxx
@@ -78,6 +78,13 @@ SvxGradientTabPage::SvxGradientTabPage
 
     rOutAttrs           ( rInAttrs ),
 
+    pnGradientListState ( 0 ),
+    pnColorListState    ( 0 ),
+    pPageType           ( 0 ),
+    pDlgType            ( 0 ),
+    pPos                ( 0 ),
+    pbAreaTP            ( 0 ),
+
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_GRADIENT ),
     aXGradientItem      ( String(), XGradient( COL_BLACK, COL_WHITE ) ),
diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx
index ba211f3..5970907 100644
--- a/cui/source/tabpages/tphatch.cxx
+++ b/cui/source/tabpages/tphatch.cxx
@@ -74,6 +74,13 @@ SvxHatchTabPage::SvxHatchTabPage
 
     rOutAttrs           ( rInAttrs ),
 
+    pnHatchingListState ( 0 ),
+    pnColorListState    ( 0 ),
+    pPageType           ( 0 ),
+    pDlgType            ( 0 ),
+    pPos                ( 0 ),
+    pbAreaTP            ( 0 ),
+
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFStyleItem        ( XFILL_HATCH ),
     aXHatchItem         ( String(), XHatch() ),
diff --git a/cui/source/tabpages/tpshadow.cxx b/cui/source/tabpages/tpshadow.cxx
index fa87c6c..66faa42 100644
--- a/cui/source/tabpages/tpshadow.cxx
+++ b/cui/source/tabpages/tpshadow.cxx
@@ -63,6 +63,10 @@ SvxShadowTabPage::SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs
     aMtrTransparent      ( this, CUI_RES( MTR_SHADOW_TRANSPARENT ) ),
     aCtlXRectPreview    ( this, CUI_RES( CTL_COLOR_PREVIEW ) ),
     rOutAttrs           ( rInAttrs ),
+    eRP                 ( RP_LT ),
+    nPageType           ( 0 ),
+    nDlgType            ( 0 ),
+    pbAreaTP            ( 0 ),
     bDisable            ( sal_False ),
     pXPool              ( (XOutdevItemPool*) rInAttrs.GetPool() ),
     aXFillAttr          ( pXPool ),
commit b9f7241f522b913eaf885ee029746edf175c7a1c
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Feb 6 07:04:23 2013 +0100

    use current version as build.label
    
    Change-Id: Id350532d88ba7c9a54d5440748f5ff456ae58722

diff --git a/beanshell/ExternalProject_beanshell.mk b/beanshell/ExternalProject_beanshell.mk
index 983537c..94b1d3a 100644
--- a/beanshell/ExternalProject_beanshell.mk
+++ b/beanshell/ExternalProject_beanshell.mk
@@ -20,7 +20,7 @@ $(call gb_ExternalProject_get_state_target,beanshell,build) :
 	$(ICECREAM_RUN) "$(ANT)" \
 		-q \
 		-f build.xml \
-		-Dbuild.label="build-libreoffice" \
+		-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \
 		$(if $(filter yes,$(JAVACISGCJ))\
 			,-Dbuild.compiler=gcj \
 			,-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
diff --git a/hsqldb/ExternalProject_hsqldb.mk b/hsqldb/ExternalProject_hsqldb.mk
index 6863145..0ed22a3 100644
--- a/hsqldb/ExternalProject_hsqldb.mk
+++ b/hsqldb/ExternalProject_hsqldb.mk
@@ -20,7 +20,7 @@ $(call gb_ExternalProject_get_state_target,hsqldb,build) :
 	$(ICECREAM_RUN) "$(ANT)" \
 		-q \
 		-f build/build.xml \
-		-Dbuild.label="build-libreoffice" \
+		-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \
 		$(if $(filter yes,$(JAVACISGCJ))\
 			,-Dbuild.compiler=gcj \
 			,-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
diff --git a/languagetool/ExternalProject_languagetool.mk b/languagetool/ExternalProject_languagetool.mk
index 363fde5..3040689 100644
--- a/languagetool/ExternalProject_languagetool.mk
+++ b/languagetool/ExternalProject_languagetool.mk
@@ -20,7 +20,7 @@ $(call gb_ExternalProject_get_state_target,languagetool,build) : $(call gb_Jar_g
 	$(ICECREAM_RUN) "$(ANT)" \
 		-q \
 		-f build.xml \
-		-Dbuild.label="build-libreoffice" \
+		-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \
 		$(if $(filter yes,$(JAVACISGCJ))\
 			,-Dbuild.compiler=gcj \
 			,-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
commit e9b89ed9668906ec8c3be932978577997fa0fb7f
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date:   Wed Feb 6 22:43:27 2013 +0900

    Remove useless member variable
    
    Change-Id: I6a28c7285786c08cd52cee59f2babcfa336a00d5

diff --git a/sw/source/ui/inc/wrtsh.hxx b/sw/source/ui/inc/wrtsh.hxx
index 66a7195..38032bb 100644
--- a/sw/source/ui/inc/wrtsh.hxx
+++ b/sw/source/ui/inc/wrtsh.hxx
@@ -251,7 +251,6 @@ typedef sal_Bool (SwWrtShell:: *FNSimpleMove)();
 
     void    NoEdit(sal_Bool bHideCrsr = sal_True);
     void    Edit();
-    sal_Bool    IsNoEdit() const { return bNoEdit; }
 
     sal_Bool IsRetainSelection() const { return mbRetainSelection; }
     void SetRetainSelection( sal_Bool bRet ) { mbRetainSelection = bRet; }
@@ -557,7 +556,6 @@ private:
     sal_Bool    bAddMode        :1;
     sal_Bool    bBlockMode      :1;
     sal_Bool    bLayoutMode     :1;
-    sal_Bool    bNoEdit         :1;
     sal_Bool    bCopy           :1;
     sal_Bool    bSelWrd         :1;
     sal_Bool    bSelLn          :1;
diff --git a/sw/source/ui/wrtsh/select.cxx b/sw/source/ui/wrtsh/select.cxx
index a4a8bee..0679106 100644
--- a/sw/source/ui/wrtsh/select.cxx
+++ b/sw/source/ui/wrtsh/select.cxx
@@ -737,7 +737,7 @@ void SwWrtShell::EnterSelFrmMode(const Point *pPos)
         nStartDragY = pPos->Y();
         bStartDrag = sal_True;
     }
-    bNoEdit = bLayoutMode = sal_True;
+    bLayoutMode = sal_True;
     HideCrsr();
 
         // gleicher Aufruf von BeginDrag an der SwFEShell
diff --git a/sw/source/ui/wrtsh/wrtsh1.cxx b/sw/source/ui/wrtsh/wrtsh1.cxx
index ab48f15..018c1c3 100644
--- a/sw/source/ui/wrtsh/wrtsh1.cxx
+++ b/sw/source/ui/wrtsh/wrtsh1.cxx
@@ -128,7 +128,6 @@ using namespace com::sun::star;
         bInSelect = \
         bCopy = \
         bLayoutMode = \
-        bNoEdit = \
         bSelWrd = \
         bSelLn = \
         mbRetainSelection = sal_False; \
@@ -149,7 +148,6 @@ void SwWrtShell::NoEdit(sal_Bool bHideCrsr)
 {
     if(bHideCrsr)
         HideCrsr();
-    bNoEdit = sal_True;
 }
 
 
@@ -159,7 +157,6 @@ void SwWrtShell::Edit()
     if (CanInsert())
     {
         ShowCrsr();
-        bNoEdit = sal_False;
     }
 }
 
commit 52e47b6e0ec87a4aa0ee0fd1c8a577be1d97cb95
Author: Peter Foley <pefoley2 at verizon.net>
Date:   Wed Feb 6 17:59:18 2013 -0500

    Revert "remove unneeded deps for xsltproc"
    
    Never mind. Seems to be necessary after all.
    
    This reverts commit 0db854a94d39ae1f0535482df61f0c4659c4088f.

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 1b73d48..785b680 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2707,6 +2707,7 @@ else # ! SYSTEM_LIBXSLT_FOR_BUILD
 
 define gb_ExternalExecutable__register_xsltproc
 $(call gb_ExternalExecutable_set_internal,xsltproc)
+$(call gb_ExternalExecutable_add_dependencies,xsltproc,$(call gb_Package_get_target,xslt))
 
 endef
 
commit 0db854a94d39ae1f0535482df61f0c4659c4088f
Author: Peter Foley <pefoley2 at verizon.net>
Date:   Wed Feb 6 17:24:55 2013 -0500

    remove unneeded deps for xsltproc
    
    Change-Id: I945556ecc2cb2f2f2c2636afbf7c02469d74b4c1

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 785b680..1b73d48 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2707,7 +2707,6 @@ else # ! SYSTEM_LIBXSLT_FOR_BUILD
 
 define gb_ExternalExecutable__register_xsltproc
 $(call gb_ExternalExecutable_set_internal,xsltproc)
-$(call gb_ExternalExecutable_add_dependencies,xsltproc,$(call gb_Package_get_target,xslt))
 
 endef
 
commit bdfd8de57bf5767ce5c179a5e8705c7587f7b326
Author: Dávid Vastag <davewwpublic at gmail.com>
Date:   Wed Feb 6 19:10:25 2013 +0100

    Updated core
    Project: help  ba8241b6b1ddd1db8f597152b440c947a8702cd6

diff --git a/helpcontent2 b/helpcontent2
index 46d83d5..ba8241b 160000
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 46d83d5e6cc036c9ec5cad7d3d0d285d6b04dc33
+Subproject commit ba8241b6b1ddd1db8f597152b440c947a8702cd6
commit f60708de8a73cb716cc73e95ded7b0032a47be72
Author: Eric Seynaeve <github at nosperse.com>
Date:   Tue Feb 5 22:08:36 2013 +0100

    Translated german comments
    
    Change-Id: I9ee25faa57397ec2d0e7e9bb77aabade4404e32d

diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 5f30ebd..21f7784 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -74,7 +74,7 @@ inline bool IsAmbiguousScript( sal_uInt8 nScript )
 // -----------------------------------------------------------------------------------------
 
 //
-//  Datei-Operationen
+//  Data operations
 //
 
 // -----------------------------------------------------------------------------------------
@@ -95,8 +95,8 @@ long ScColumn::GetNeededSize(
         if (!pPattern)
             pPattern = pAttrArray->GetPattern( nRow );
 
-        //      zusammengefasst?
-        //      Merge nicht in bedingter Formatierung
+        //      merged?
+        //      Do not merge in conditional formatting
 
         const ScMergeAttr*      pMerge = (const ScMergeAttr*)&pPattern->GetItem(ATTR_MERGE);
         const ScMergeFlagAttr*  pFlag = (const ScMergeFlagAttr*)&pPattern->GetItem(ATTR_MERGE_FLAG);
@@ -116,10 +116,10 @@ long ScColumn::GetNeededSize(
                 return 0;
         }
 
-        //      bedingte Formatierung
+        //      conditional formatting
         const SfxItemSet* pCondSet = pDocument->GetCondResult( nCol, nRow, nTab );
 
-        //  Zeilenumbruch?
+        //  line break?
 
         const SfxPoolItem* pCondItem;
         SvxCellHorJustify eHorJust;
@@ -179,7 +179,7 @@ long ScColumn::GetNeededSize(
                                                 pPattern->GetItem(ATTR_ROTATE_MODE)).GetValue();
 
                 if ( nRotate == 18000 )
-                    eRotMode = SVX_ROTATE_MODE_STANDARD;    // keinen Ueberlauf
+                    eRotMode = SVX_ROTATE_MODE_STANDARD;    // no overflow
             }
         }
 
@@ -229,7 +229,7 @@ long ScColumn::GetNeededSize(
                                 IsAmbiguousScript( nScript ) ||
                                 ((eCellType == CELLTYPE_FORMULA) && ((ScFormulaCell*)pCell)->IsMultilineResult()) );
 
-        if (!bEditEngine)                                   // direkte Ausgabe
+        if (!bEditEngine)                                   // direct output
         {
             Color* pColor;
             rtl::OUString aValStr;
@@ -238,7 +238,7 @@ long ScColumn::GetNeededSize(
                                         true, rOptions.bFormula, ftCheck );
             if (!aValStr.isEmpty())
             {
-                //  SetFont ist nach oben verschoben
+                //  SetFont is moved up
 
                 Size aSize( pDev->GetTextWidth( aValStr ), pDev->GetTextHeight() );
                 if ( eOrient != SVX_ORIENTATION_STANDARD )
@@ -249,9 +249,9 @@ long ScColumn::GetNeededSize(
                 }
                 else if ( nRotate )
                 {
-                    //! unterschiedliche Skalierung X/Y beruecksichtigen
+                    //! take different X/Y scaling into consideration
 
-                    double nRealOrient = nRotate * F_PI18000;   // nRotate sind 1/100 Grad
+                    double nRealOrient = nRotate * F_PI18000;   // nRotate is in 1/100 Grad
                     double nCosAbs = fabs( cos( nRealOrient ) );
                     double nSinAbs = fabs( sin( nRealOrient ) );
                     long nHeight = (long)( aSize.Height() * nCosAbs + aSize.Width() * nSinAbs );
@@ -262,14 +262,14 @@ long ScColumn::GetNeededSize(
                     {
                         nWidth = (long) ( pDocument->GetColWidth( nCol,nTab ) * nPPT );
                         bAddMargin = false;
-                        //  nur nach rechts:
-                        //! unterscheiden nach Ausrichtung oben/unten (nur Text/ganze Hoehe)
+                        //  only to the right:
+                        //! differ on direction up/down (only Text/whole height)
                         if ( pPattern->GetRotateDir( pCondSet ) == SC_ROTDIR_RIGHT )
                             nWidth += (long)( pDocument->GetRowHeight( nRow,nTab ) *
                                                 nPPT * nCosAbs / nSinAbs );
                     }
                     else
-                        nWidth  = (long)( aSize.Height() / nSinAbs );   //! begrenzen?
+                        nWidth  = (long)( aSize.Height() / nSinAbs );   //! limit?
 
                     if ( bBreak && !rOptions.bTotalSize )
                     {
@@ -297,18 +297,18 @@ long ScColumn::GetNeededSize(
                                   (long) ( pMargin->GetBottomMargin() * nPPT );
                 }
 
-                                                //  Zeilenumbruch ausgefuehrt ?
+                //  linebreak done ?
 
                 if ( bBreak && !bWidth )
                 {
-                    //  Test mit EditEngine zur Sicherheit schon bei 90%
-                    //  (wegen Rundungsfehlern und weil EditEngine teilweise anders formatiert)
+                    //  test with EditEngine the safety at 90%
+                    //  (due to rounding errors and because EditEngine formats partially differently)
 
                     long nDocPixel = (long) ( ( pDocument->GetColWidth( nCol,nTab ) -
                                         pMargin->GetLeftMargin() - pMargin->GetRightMargin() -
                                         nIndent )
                                         * nPPT );
-                    nDocPixel = (nDocPixel * 9) / 10;           // zur Sicherheit
+                    nDocPixel = (nDocPixel * 9) / 10;           // for safety
                     if ( aSize.Width() > nDocPixel )
                         bEditEngine = true;
                 }
@@ -317,12 +317,12 @@ long ScColumn::GetNeededSize(
 
         if (bEditEngine)
         {
-            //  der Font wird bei !bEditEngine nicht jedesmal neu gesetzt
+            //  the font is not reset each time with !bEditEngine
             Font aOldFont = pDev->GetFont();
 
             MapMode aHMMMode( MAP_100TH_MM, Point(), rZoomX, rZoomY );
 
-            // am Dokument speichern ?
+            // save in document ?
             ScFieldEditEngine* pEngine = pDocument->CreateFieldEditEngine();
 
             pEngine->SetUpdateMode( false );
@@ -372,7 +372,7 @@ long ScColumn::GetNeededSize(
                         nDocWidth += (long) ( pDocument->GetColWidth(nCol+nColAdd,nTab) * fWidthFactor );
                 nDocWidth -= (long) ( pMargin->GetLeftMargin() * fWidthFactor )
                            + (long) ( pMargin->GetRightMargin() * fWidthFactor )
-                           + 1;     // Ausgabebereich ist Breite-1 Pixel (wegen Gitterlinien)
+                           + 1;     // output size is width-1 pixel (due to gridline)
                 if ( nIndent )
                     nDocWidth -= (long) ( nIndent * fWidthFactor );
 
@@ -414,10 +414,10 @@ long ScColumn::GetNeededSize(
                 bEdWidth = !bEdWidth;
             if ( nRotate )
             {
-                //! unterschiedliche Skalierung X/Y beruecksichtigen
+                //! take different X/Y scaling into consideration
 
                 Size aSize( pEngine->CalcTextWidth(), pEngine->GetTextHeight() );
-                double nRealOrient = nRotate * F_PI18000;   // nRotate sind 1/100 Grad
+                double nRealOrient = nRotate * F_PI18000;   // nRotate is in 1/100 Grad
                 double nCosAbs = fabs( cos( nRealOrient ) );
                 double nSinAbs = fabs( sin( nRealOrient ) );
                 long nHeight = (long)( aSize.Height() * nCosAbs + aSize.Width() * nSinAbs );
@@ -433,7 +433,7 @@ long ScColumn::GetNeededSize(
                                             nPPT * nCosAbs / nSinAbs );
                 }
                 else
-                    nWidth  = (long)( aSize.Height() / nSinAbs );   //! begrenzen?
+                    nWidth  = (long)( aSize.Height() / nSinAbs );   //! limit?
                 aSize = Size( nWidth, nHeight );
 
                 Size aPixSize = pDev->LogicToPixel( aSize, aHMMMode );
@@ -460,7 +460,7 @@ long ScColumn::GetNeededSize(
                     nValue = pDev->LogicToPixel(Size( pEngine->CalcTextWidth(), 0 ),
                                         aHMMMode).Width();
             }
-            else            // Hoehe
+            else            // height
             {
                 nValue = pDev->LogicToPixel(Size( 0, pEngine->GetTextHeight() ),
                                     aHMMMode).Height();
@@ -510,9 +510,9 @@ long ScColumn::GetNeededSize(
 
         if (bWidth)
         {
-            //      Platz fuer Autofilter-Button
+            //      place for Autofilter Button
             //      20 * nZoom/100
-            //      bedingte Formatierung hier nicht interessant
+            //      Conditional formatting is not interesting here
 
             sal_Int16 nFlags = ((const ScMergeFlagAttr&)pPattern->GetItem(ATTR_MERGE_FLAG)).GetValue();
             if (nFlags & SC_MF_AUTO)
@@ -536,7 +536,7 @@ sal_uInt16 ScColumn::GetOptimalColWidth(
     SCSIZE nIndex;
     ScMarkedDataIter aDataIter(this, pMarkData, true);
     if ( pParam && pParam->mbSimpleText )
-    {   // alles eins bis auf NumberFormate
+    {   // all the same except for number format
         const ScPatternAttr* pPattern = GetPattern( 0 );
         Font aFont;
         // font color doesn't matter here
@@ -631,7 +631,7 @@ static sal_uInt16 lcl_GetAttribHeight( const ScPatternAttr& rPattern, sal_uInt16
     sal_uInt16 nHeight = (sal_uInt16) ((const SvxFontHeightItem&) rPattern.GetItem(nFontHeightId)).GetHeight();
     const SvxMarginItem* pMargin = (const SvxMarginItem*) &rPattern.GetItem(ATTR_MARGIN);
     nHeight += nHeight / 5;
-    //  gibt bei 10pt 240
+    //  for 10pt gives 240
 
     if ( ((const SvxEmphasisMarkItem&)rPattern.
             GetItem(ATTR_FONT_EMPHASISMARK)).GetEmphasisMark() != EMPHASISMARK_NONE )
@@ -647,8 +647,8 @@ static sal_uInt16 lcl_GetAttribHeight( const ScPatternAttr& rPattern, sal_uInt16
         nHeight -= 240;
     }
 
-    //  Standard-Hoehe: TextHeight + Raender - 23
-    //  -> 257 unter Windows
+    //  Standard height: TextHeight + margin - 23
+    //  -> 257 for Windows
 
     if (nHeight > STD_ROWHEIGHT_DIFF)
         nHeight -= STD_ROWHEIGHT_DIFF;
@@ -659,8 +659,8 @@ static sal_uInt16 lcl_GetAttribHeight( const ScPatternAttr& rPattern, sal_uInt16
 }
 
 //  pHeight in Twips
-//  nMinHeight, nMinStart zur Optimierung: ab nRow >= nMinStart ist mindestens nMinHeight
-//  (wird nur bei bStdAllowed ausgewertet)
+//  optimize nMinHeight, nMinStart : with nRow >= nMinStart is at least nMinHeight
+//  (is only evaluated with bStdAllowed)
 
 void ScColumn::GetOptimalHeight(
     SCROW nStartRow, SCROW nEndRow, sal_uInt16* pHeight, OutputDevice* pDev,
@@ -674,7 +674,7 @@ void ScColumn::GetOptimalHeight(
     SCROW nEditPos = 0;
     SCROW nNextEnd = 0;
 
-    //  bei bedingter Formatierung werden immer die einzelnen Zellen angesehen
+    //  with conditional formatting, always consider the individual cells
 
     const ScPatternAttr* pPattern = aIter.Next(nStart,nEnd);
     while ( pPattern )
@@ -683,9 +683,9 @@ void ScColumn::GetOptimalHeight(
         const ScMergeFlagAttr*  pFlag = (const ScMergeFlagAttr*)&pPattern->GetItem(ATTR_MERGE_FLAG);
         if ( pMerge->GetRowMerge() > 1 || pFlag->IsOverlapped() )
         {
-            //  nix - vertikal bei der zusammengefassten und den ueberdeckten,
-            //        horizontal nur bei den ueberdeckten (unsichtbaren) -
-            //        eine nur horizontal zusammengefasste wird aber beruecksichtigt
+            //  do nothing - vertically with merged and overlapping,
+            //        horizontally only with overlapped (invisible) -
+            //        only one horizontal merged is always considered
         }
         else
         {
@@ -700,7 +700,7 @@ void ScColumn::GetOptimalHeight(
                                     SVX_HOR_JUSTIFY_BLOCK);
                 bStdOnly = !bBreak;
 
-                // bedingte Formatierung: Zellen durchgehen
+                // conditional formatting: loop all cells
                 if (bStdOnly &&
                     !static_cast<const ScCondFormatItem&>(pPattern->GetItem(
                             ATTR_CONDITIONAL)).GetCondFormatData().empty())
@@ -708,7 +708,7 @@ void ScColumn::GetOptimalHeight(
                     bStdOnly = false;
                 }
 
-                // gedrehter Text: Zellen durchgehen
+                // rotated text: loop all cells
                 if ( bStdOnly && ((const SfxInt32Item&)pPattern->
                                     GetItem(ATTR_ROTATE_VALUE)).GetValue() )
                     bStdOnly = false;
@@ -722,13 +722,13 @@ void ScColumn::GetOptimalHeight(
                         bStdOnly = false;
                         if (nEnd > nEditPos)
                             nNextEnd = nEnd;
-                        nEnd = nEditPos;                // einzeln ausrechnen
-                        bStdAllowed = false;            // wird auf jeden Fall per Zelle berechnet
+                        nEnd = nEditPos;                // calculate single
+                        bStdAllowed = false;            // will be computed in any case per cell
                     }
                     else
                     {
                         nNextEnd = nEnd;
-                        nEnd = nEditPos - 1;            // Standard - Teil
+                        nEnd = nEditPos - 1;            // standard - part
                     }
                 }
 
@@ -795,7 +795,7 @@ void ScColumn::GetOptimalHeight(
                 }
             }
 
-            if (!bStdOnly)                      // belegte Zellen suchen
+            if (!bStdOnly)                      // search covered cells
             {
                 ScNeededSizeOptions aOptions;
 
@@ -803,7 +803,7 @@ void ScColumn::GetOptimalHeight(
                 Search(nStart,nIndex);
                 while ( (nIndex < maItems.size()) ? ((nRow=maItems[nIndex].nRow) <= nEnd) : false )
                 {
-                    //  Zellhoehe nur berechnen, wenn sie spaeter auch gebraucht wird (#37928#)
+                    //  only calculate the cell height when it's used later (#37928#)
 
                     if ( bShrink || !(pDocument->GetRowFlags(nRow, nTab) & CR_MANUALSIZE) )
                     {
@@ -894,27 +894,25 @@ void ScColumn::RemoveAutoSpellObj()
         {
             ScEditCell* pOldCell = (ScEditCell*) maItems[i].pCell;
             const EditTextObject* pData = pOldCell->GetData();
-            //  keine Abfrage auf HasOnlineSpellErrors, damit es auch
-            //  nach dem Laden funktioniert
+            //  no query on HasOnlineSpellErrors, this makes it also work after loading
 
-            //  Fuer den Test auf harte Formatierung (ScEditAttrTester) sind die Defaults
-            //  in der EditEngine unwichtig. Wenn der Tester spaeter einmal gleiche
-            //  Attribute in Default und harter Formatierung erkennen und weglassen sollte,
-            //  muessten an der EditEngine zu jeder Zelle die richtigen Defaults gesetzt
-            //  werden!
+            //  For the test on hard formatting (ScEditAttrTester), are the defaults in the
+            //  EditEngine of no importance. When the tester would later recognise the same
+            //  attributes in default and hard formatting and has to remove them, the correct
+            //  defaults must be set in the EditEngine for each cell.
 
-            //  auf Attribute testen
+            //  test for attributes
             if ( !pEngine )
                 pEngine = new ScTabEditEngine(pDocument);
             pEngine->SetText( *pData );
             ScEditAttrTester aTester( pEngine );
-            if ( aTester.NeedsObject() )                    // nur Spell-Errors entfernen
+            if ( aTester.NeedsObject() )                    // only remove spelling errors
             {
-                EditTextObject* pNewData = pEngine->CreateTextObject(); // ohne BIGOBJ
+                EditTextObject* pNewData = pEngine->CreateTextObject(); // without BIGOBJ
                 pOldCell->SetData( pNewData, pEngine->GetEditTextObjectPool() );
                 delete pNewData;
             }
-            else                                            // String erzeugen
+            else                                            // create a string
             {
                 String aText = ScEditUtil::GetSpaceDelimitedString( *pEngine );
                 ScBaseCell* pNewCell = new ScStringCell( aText );
@@ -939,17 +937,16 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
             ScEditCell* pOldCell = (ScEditCell*) maItems[i].pCell;
             const EditTextObject* pData = pOldCell->GetData();
 
-            //  Fuer den Test auf harte Formatierung (ScEditAttrTester) sind die Defaults
-            //  in der EditEngine unwichtig. Wenn der Tester spaeter einmal gleiche
-            //  Attribute in Default und harter Formatierung erkennen und weglassen sollte,
-            //  muessten an der EditEngine zu jeder Zelle die richtigen Defaults gesetzt
-            //  werden!
+            //  For the test on hard formatting (ScEditAttrTester), are the defaults in the
+            //  EditEngine of no importance. When the tester would later recognise the same
+            //  attributes in default and hard formatting and has to remove them, the correct
+            //  defaults must be set in the EditEngine for each cell.
 
-            //  auf Attribute testen
+            //  test for attributes
             if ( !pEngine )
             {
                 pEngine = new ScFieldEditEngine(pDocument, pDocument->GetEditPool());
-                //  EE_CNTRL_ONLINESPELLING falls schon Fehler drin sind
+                //  EE_CNTRL_ONLINESPELLING if there are errors already
                 pEngine->SetControlWord( pEngine->GetControlWord() | EE_CNTRL_ONLINESPELLING );
                 pDocument->ApplyAsianEditSettings( *pEngine );
             }
@@ -961,18 +958,18 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
                 const SfxItemSet& rOld = pEngine->GetParaAttribs( nPar );
                 if ( rOld.Count() )
                 {
-                    SfxItemSet aNew( *rOld.GetPool(), rOld.GetRanges() );   // leer
+                    SfxItemSet aNew( *rOld.GetPool(), rOld.GetRanges() );   // empty
                     pEngine->SetParaAttribs( nPar, aNew );
                 }
             }
-            //  URL-Felder in Text wandeln (andere gibt's nicht, darum pType=0)
+            //  change URL field to text (not possible otherwise, thus pType=0)
             pEngine->RemoveFields( true );
 
             bool bSpellErrors = pEngine->HasOnlineSpellErrors();
-            bool bNeedObject = bSpellErrors || nParCount>1;         // Errors/Absaetze behalten
-            //  ScEditAttrTester nicht mehr noetig, Felder sind raus
+            bool bNeedObject = bSpellErrors || nParCount>1;         // keep errors/paragraphs
+            //  ScEditAttrTester is not needed anymore, arrays are gone
 
-            if ( bNeedObject )                                      // bleibt Edit-Zelle
+            if ( bNeedObject )                                      // remains edit cell
             {
                 sal_uInt32 nCtrl = pEngine->GetControlWord();
                 sal_uInt32 nWantBig = bSpellErrors ? EE_CNTRL_ALLOWBIGOBJS : 0;
@@ -982,7 +979,7 @@ void ScColumn::RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow )
                 pOldCell->SetData( pNewData, pEngine->GetEditTextObjectPool() );
                 delete pNewData;
             }
-            else                                            // String erzeugen
+            else                                            // create String
             {
                 String aText = ScEditUtil::GetSpaceDelimitedString( *pEngine );
                 ScBaseCell* pNewCell = new ScStringCell( aText );
@@ -1040,9 +1037,9 @@ bool ScColumnIterator::Next( SCROW& rRow, ScBaseCell*& rpCell )
     return false;
 }
 
-SCSIZE ScColumnIterator::GetIndex() const           // Index zur letzen abgefragten Zelle
+SCSIZE ScColumnIterator::GetIndex() const           // Index of the last cell asked
 {
-    return nPos - 1;        // bei Next ist Pos hochgezaehlt worden
+    return nPos - 1;        // next time the position is incremented
 }
 
 // -----------------------------------------------------------------------------------------
@@ -1072,7 +1069,7 @@ bool ScMarkedDataIter::Next( SCSIZE& rIndex )
         {
             if (!pMarkIter || !pMarkIter->Next( nTop, nBottom ))
             {
-                if (bAll)                   // ganze Spalte
+                if (bAll)                   // complete column
                 {
                     nTop    = 0;
                     nBottom = MAXROW;
@@ -1082,7 +1079,7 @@ bool ScMarkedDataIter::Next( SCSIZE& rIndex )
             }
             pColumn->Search( nTop, nPos );
             bNext = false;
-            bAll  = false;                  // nur beim ersten Versuch
+            bAll  = false;                  // only the first time
         }
 
         if ( nPos >= pColumn->maItems.size() )
@@ -1126,7 +1123,7 @@ bool ScColumn::IsEmptyVisData() const
 
 SCSIZE ScColumn::VisibleCount( SCROW nStartRow, SCROW nEndRow ) const
 {
-    //  Notizen werden nicht mitgezaehlt
+    //  Notes are not counted
 
     SCSIZE nVisCount = 0;
     SCSIZE nIndex;
@@ -1436,8 +1433,8 @@ void ScColumn::FindDataAreaPos(SCROW& rRow, bool bDown) const
 
 bool ScColumn::HasDataAt(SCROW nRow) const
 {
-        //  immer nur sichtbare interessant ?
-        //! dann HasVisibleDataAt raus
+        //  are only visible cells interesting ?
+        //! then HasVisibleDataAt out
 
     SCSIZE nIndex;
     if (Search(nRow, nIndex))
@@ -1643,12 +1640,12 @@ static void lcl_UpdateSubTotal( ScFunctionData& rData, const ScBaseCell* pCell )
             break;
         case CELLTYPE_FORMULA:
             {
-                if ( rData.eFunc != SUBTOTAL_FUNC_CNT2 )        // da interessiert's nicht
+                if ( rData.eFunc != SUBTOTAL_FUNC_CNT2 )        // it doesn't interest us
                 {
                     ScFormulaCell* pFC = (ScFormulaCell*)pCell;
                     if ( pFC->GetErrCode() )
                     {
-                        if ( rData.eFunc != SUBTOTAL_FUNC_CNT ) // fuer Anzahl einfach weglassen
+                        if ( rData.eFunc != SUBTOTAL_FUNC_CNT ) // simply remove from count
                             rData.bError = true;
                     }
                     else if (pFC->IsValue())
@@ -1656,14 +1653,14 @@ static void lcl_UpdateSubTotal( ScFunctionData& rData, const ScBaseCell* pCell )
                         nValue = pFC->GetValue();
                         bVal = true;
                     }
-                    // sonst Text
+                    // otherwise text
                 }
             }
             break;
         case CELLTYPE_NOTE:
             bCell = false;
             break;
-        // bei Strings nichts
+        // nothing for strings
         default:
         {
             // added to avoid warnings
@@ -1683,11 +1680,11 @@ static void lcl_UpdateSubTotal( ScFunctionData& rData, const ScBaseCell* pCell )
                         rData.bError = true;
                 }
                 break;
-            case SUBTOTAL_FUNC_CNT:             // nur Werte
+            case SUBTOTAL_FUNC_CNT:             // only the value
                 if (bVal)
                     ++rData.nCount;
                 break;
-            case SUBTOTAL_FUNC_CNT2:            // alle
+            case SUBTOTAL_FUNC_CNT2:            // everything
                 if (bCell)
                     ++rData.nCount;
                 break;
@@ -1709,7 +1706,7 @@ static void lcl_UpdateSubTotal( ScFunctionData& rData, const ScBaseCell* pCell )
     }
 }
 
-//  Mehrfachselektion:
+//  multiple selections:
 void ScColumn::UpdateSelectionFunction(
     const ScMarkData& rMark, ScFunctionData& rData, ScFlatBoolRowSegments& rHiddenRows,
     bool bDoExclude, SCROW nExStartRow, SCROW nExEndRow) const
@@ -1726,7 +1723,7 @@ void ScColumn::UpdateSelectionFunction(
     }
 }
 
-//  bei bNoMarked die Mehrfachselektion weglassen
+//  with bNoMarked ignore the multiple selections
 void ScColumn::UpdateAreaFunction(
     ScFunctionData& rData, ScFlatBoolRowSegments& rHiddenRows, SCROW nStartRow, SCROW nEndRow) const
 {
@@ -1746,7 +1743,7 @@ sal_uInt32 ScColumn::GetWeightedCount() const
 {
     sal_uInt32 nTotal = 0;
 
-    //  Notizen werden nicht gezaehlt
+    //  Notes are not counted
 
     for (SCSIZE i=0; i<maItems.size(); i++)
     {
commit b7820359b945051040c8f2022ec7452107e3210a
Author: Eric Seynaeve <github at nosperse.com>
Date:   Mon Feb 4 22:45:06 2013 +0100

    Translated german comments
    
    Change-Id: Idc31ebc5bb2d11345f68b7275b7fc4d335b633c1

diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index fc22a5b..ad156ef 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -425,7 +425,7 @@ void ScColumn::ApplyPattern( SCROW nRow, const ScPatternAttr& rPatAttr )
 
     const ScPatternAttr* pPattern = pAttrArray->GetPattern( nRow );
 
-    //  true = alten Eintrag behalten
+    //  true = keep old content
 
     ScPatternAttr* pNewPattern = (ScPatternAttr*) &aCache.ApplyTo( *pPattern, true );
     ScDocumentPool::CheckRef( *pPattern );
@@ -548,7 +548,7 @@ const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, bool&
     rFound = false;
     if (!rMark.IsMultiMarked())
     {
-        OSL_FAIL("ScColumn::GetSelectionStyle ohne Selektion");
+        OSL_FAIL("No selection in ScColumn::GetSelectionStyle");
         return NULL;
     }
 
@@ -571,7 +571,7 @@ const ScStyleSheet* ScColumn::GetSelectionStyle( const ScMarkData& rMark, bool&
             pNewStyle = pPattern->GetStyleSheet();
             rFound = true;
             if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
-                bEqual = false;                                             // unterschiedliche
+                bEqual = false;                                             // difference
             pStyle = pNewStyle;
         }
     }
@@ -598,7 +598,7 @@ const ScStyleSheet* ScColumn::GetAreaStyle( bool& rFound, SCROW nRow1, SCROW nRo
         pNewStyle = pPattern->GetStyleSheet();
         rFound = true;
         if ( !pNewStyle || ( pStyle && pNewStyle != pStyle ) )
-            bEqual = false;                                             // unterschiedliche
+            bEqual = false;                                             // difference
         pStyle = pNewStyle;
     }
 
@@ -649,8 +649,8 @@ void ScColumn::SetPatternArea( SCROW nStartRow, SCROW nEndRow,
 
 void ScColumn::ApplyAttr( SCROW nRow, const SfxPoolItem& rAttr )
 {
-    //  um nur ein neues SetItem zu erzeugen, brauchen wir keinen SfxItemPoolCache.
-    //! Achtung: der SfxItemPoolCache scheint zuviele Refs fuer das neue SetItem zu erzeugen ??
+    //  in order to only create a new SetItem, we don't need SfxItemPoolCache.
+    //! Warning: SfxItemPoolCache seems to create to many Refs for the new SetItem ??
 
     ScDocumentPool* pDocPool = pDocument->GetPool();
 
@@ -662,11 +662,9 @@ void ScColumn::ApplyAttr( SCROW nRow, const SfxPoolItem& rAttr )
     if ( pNewPattern != pOldPattern )
         pAttrArray->SetPattern( nRow, pNewPattern );
     else
-        pDocPool->Remove( *pNewPattern );       // ausser Spesen nichts gewesen
+        pDocPool->Remove( *pNewPattern );       // free up resources
 
     delete pTemp;
-
-        // alte Version mit SfxItemPoolCache:
 }
 
 bool ScColumn::Search( SCROW nRow, SCSIZE& nIndex ) const
@@ -775,7 +773,6 @@ void ScColumn::ReserveSize( SCSIZE nSize )
     maItems.reserve(nSize);
 }
 
-//  SwapRow zum Sortieren
 
 namespace {
 
@@ -793,6 +790,7 @@ void lclTakeBroadcaster( ScBaseCell*& rpCell, SvtBroadcaster* pBC )
 
 } // namespace
 
+//  SwapRow for sorting
 void ScColumn::SwapRow(SCROW nRow1, SCROW nRow2)
 {
     /*  Simple swap of cell pointers does not work if broadcasters exist (crash
@@ -887,7 +885,7 @@ void ScColumn::SwapRow(SCROW nRow1, SCROW nRow2)
         ScTokenArray* pCode1 = pFmlaCell1->GetCode();
         ScTokenArray* pCode2 = pFmlaCell2->GetCode();
 
-        if (pCode1->GetLen() == pCode2->GetLen())       // nicht-UPN
+        if (pCode1->GetLen() == pCode2->GetLen())       // not-UPN
         {
             bool bEqual = true;
             sal_uInt16 nLen = pCode1->GetLen();
@@ -971,10 +969,10 @@ void ScColumn::SwapCell( SCROW nRow, ScColumn& rCol)
 
     if ( pCell2 )
     {
-        // Tauschen
+        // swap
         maItems[nIndex1].pCell = pCell2;
         rCol.maItems[nIndex2].pCell = pCell1;
-        // Referenzen aktualisieren
+        // update references
         SCsCOL dx = rCol.nCol - nCol;
         if ( pFmlaCell1 )
         {
@@ -993,9 +991,9 @@ void ScColumn::SwapCell( SCROW nRow, ScColumn& rCol)
     }
     else
     {
-        // Loeschen
+        // remove
         maItems.erase(maItems.begin() + nIndex1);
-        // Referenzen aktualisieren
+        // update references
         SCsCOL dx = rCol.nCol - nCol;
         if ( pFmlaCell1 )
         {
@@ -1004,7 +1002,7 @@ void ScColumn::SwapCell( SCROW nRow, ScColumn& rCol)
             pFmlaCell1->aPos.SetCol( rCol.nCol );
             pFmlaCell1->UpdateReference(URM_MOVE, aRange, dx, 0, 0);
         }
-        // Einfuegen
+        // insert
         rCol.Insert(nRow, pCell1);
     }
 }
@@ -1020,12 +1018,12 @@ bool ScColumn::TestInsertCol( SCROW nStartRow, SCROW nEndRow) const
                 bTest = (maItems[i].nRow < nStartRow) || (maItems[i].nRow > nEndRow)
                         || maItems[i].pCell->IsBlank();
 
-        //  AttrArray testet nur zusammengefasste
+        //  AttrArray only looks for merged cells
 
         if ((bTest) && (pAttrArray))
             bTest = pAttrArray->TestInsertCol(nStartRow, nEndRow);
 
-        //!     rausgeschobene Attribute bei Undo beruecksichtigen
+        //!     consider the removed Attribute at Undo
 
         return bTest;
     }
@@ -1061,7 +1059,7 @@ void ScColumn::InsertRow( SCROW nStartRow, SCSIZE nSize )
         return ;
 
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // avoid recalculations
 
     SCSIZE nNewCount = maItems.size();
     bool bCountChanged = false;
@@ -1169,8 +1167,7 @@ void ScColumn::CopyToClip(SCROW nRow1, SCROW nRow2, ScColumn& rColumn, bool bKee
             nEndIndex = i;
             ++nBlockCount;
 
-            //  im Clipboard muessen interpretierte Zellen stehen, um andere Formate
-            //  (Text, Grafik...) erzueugen zu koennen
+            //  put interpreted cells in the clipboard in order to create other formats (text, graphics, ...)
 
             if ( maItems[i].pCell->GetCellType() == CELLTYPE_FORMULA )
             {
@@ -1338,8 +1335,8 @@ void ScColumn::CopyToColumn(
     if ( (nFlags & IDF_ATTRIB) != 0 )
     {
         if ( (nFlags & IDF_STYLES) != IDF_STYLES )
-        {   // StyleSheets im Zieldokument bleiben erhalten
-            // z.B. DIF und RTF Clipboard-Import
+        {   // keep the StyleSheets in the target document
+            // e.g. DIF and RTF Clipboard-Import
             for ( SCROW nRow = nRow1; nRow <= nRow2; nRow++ )
             {
                 const ScStyleSheet* pStyle =
@@ -1443,7 +1440,7 @@ void ScColumn::CopyUpdated( const ScColumn& rPosCol, ScColumn& rDestCol ) const
 
 void ScColumn::CopyScenarioFrom( const ScColumn& rSrcCol )
 {
-    //  Dies ist die Szenario-Tabelle, die Daten werden hineinkopiert
+    //  This is the scenario table, the data is copied into it
 
     ScAttrIterator aAttrIter( pAttrArray, 0, MAXROW );
     SCROW nStart = -1, nEnd = -1;
@@ -1456,7 +1453,7 @@ void ScColumn::CopyScenarioFrom( const ScColumn& rSrcCol )
             ((ScColumn&)rSrcCol).
                 CopyToColumn( nStart, nEnd, IDF_CONTENTS, false, *this );
 
-            //  UpdateUsed nicht noetig, schon in TestCopyScenario passiert
+            //  UpdateUsed not needed, already done in TestCopyScenario (obsolete comment ?)
 
             SCsTAB nDz = nTab - rSrcCol.nTab;
             UpdateReference(URM_COPY, nCol, nStart, nTab,
@@ -1465,7 +1462,7 @@ void ScColumn::CopyScenarioFrom( const ScColumn& rSrcCol )
             UpdateCompile();
         }
 
-        //! CopyToColumn "const" machen !!!
+        //! make CopyToColumn "const" !!! (obsolete comment ?)
 
         pPattern = aAttrIter.Next( nStart, nEnd );
     }
@@ -1474,7 +1471,7 @@ void ScColumn::CopyScenarioFrom( const ScColumn& rSrcCol )
 
 void ScColumn::CopyScenarioTo( ScColumn& rDestCol ) const
 {
-    //  Dies ist die Szenario-Tabelle, die Daten werden in die andere kopiert
+    //  This is the scenario table, the data is copied to the other
 
     ScAttrIterator aAttrIter( pAttrArray, 0, MAXROW );
     SCROW nStart = -1, nEnd = -1;
@@ -1487,7 +1484,7 @@ void ScColumn::CopyScenarioTo( ScColumn& rDestCol ) const
             ((ScColumn*)this)->
                 CopyToColumn( nStart, nEnd, IDF_CONTENTS, false, rDestCol );
 
-            //  UpdateUsed nicht noetig, schon in TestCopyScenario passiert
+            //  UpdateUsed not needed, is already done in TestCopyScenario (obsolete comment ?)
 
             SCsTAB nDz = rDestCol.nTab - nTab;
             rDestCol.UpdateReference(URM_COPY, rDestCol.nCol, nStart, rDestCol.nTab,
@@ -1496,7 +1493,7 @@ void ScColumn::CopyScenarioTo( ScColumn& rDestCol ) const
             rDestCol.UpdateCompile();
         }
 
-        //! CopyToColumn "const" machen !!!
+        //! make CopyToColumn "const" !!! (obsolete comment ?)
 
         pPattern = aAttrIter.Next( nStart, nEnd );
     }
@@ -1550,7 +1547,7 @@ void ScColumn::SwapCol(ScColumn& rCol)
     rCol.pAttrArray = pAttrArray;
     pAttrArray = pTempAttr;
 
-    // AttrArray muss richtige Spaltennummer haben
+    // AttrArray needs to have the right column number
     pAttrArray->SetCol(nCol);
     rCol.pAttrArray->SetCol(rCol.nCol);
 
@@ -1652,7 +1649,7 @@ bool ScColumn::UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW
         ScRange aRange( ScAddress( nCol1, nRow1, nTab1 ),
                         ScAddress( nCol2, nRow2, nTab2 ) );
         if ( eUpdateRefMode == URM_COPY && nRow1 == nRow2 )
-        {   // z.B. eine einzelne Zelle aus dem Clipboard eingefuegt
+        {   // e.g. put a single cell in the clipboard
             SCSIZE nIndex;
             if ( Search( nRow1, nIndex ) )
             {
@@ -1724,7 +1721,7 @@ void ScColumn::UpdateTranspose( const ScRange& rSource, const ScAddress& rDest,
                 SCROW nRow = maItems[i].nRow;
                 ((ScFormulaCell*)pCell)->UpdateTranspose( rSource, rDest, pUndoDoc );
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );              // Listener geloescht/eingefuegt?
+                    Search( nRow, i );              // Listener deleted/inserted?
             }
         }
 }
@@ -1741,7 +1738,7 @@ void ScColumn::UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY )
                 SCROW nRow = maItems[i].nRow;
                 ((ScFormulaCell*)pCell)->UpdateGrow( rArea, nGrowX, nGrowY );
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );              // Listener geloescht/eingefuegt?
+                    Search( nRow, i );              // Listener deleted/inserted?
             }
         }
 }
@@ -1844,7 +1841,7 @@ void ScColumn::UpdateDeleteTab(SCTAB nDelPos, bool bIsMove, ScColumn* pRefUndo,
 
                 bool bChanged = pOld->UpdateDeleteTab(nDelPos, bIsMove, nSheets);
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );      // Listener geloescht/eingefuegt?
+                    Search( nRow, i );      // Listener deleted/inserted?
 
                 if (pRefUndo)
                 {
@@ -1911,7 +1908,7 @@ void ScColumn::UpdateCompile( bool bForceIfNameInUse )
                 SCROW nRow = maItems[i].nRow;
                 p->UpdateCompile( bForceIfNameInUse );
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );      // Listener geloescht/eingefuegt?
+                    Search( nRow, i );      // Listener deleted/inserted?
             }
         }
 }
@@ -1953,9 +1950,9 @@ void ScColumn::SetDirtyVar()
 
 void ScColumn::SetDirty()
 {
-    // wird nur dokumentweit verwendet, kein FormulaTrack
+    // is only done documentwide, no FormulaTracking
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // no multiple recalculation
     for (SCSIZE i=0; i<maItems.size(); i++)
     {
         ScFormulaCell* p = (ScFormulaCell*) maItems[i].pCell;
@@ -1971,11 +1968,11 @@ void ScColumn::SetDirty()
 
 
 void ScColumn::SetDirty( const ScRange& rRange )
-{   // broadcastet alles innerhalb eines Range, mit FormulaTrack
+{   // broadcasts everything within the range, with FormulaTracking
     if ( maItems.empty() )
         return ;
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // no multiple recalculation
     SCROW nRow2 = rRange.aEnd.Row();
     ScAddress aPos( nCol, 0, nTab );
     ScHint aHint( SC_HINT_DATACHANGED, aPos, NULL );
@@ -2031,7 +2028,7 @@ void ScColumn::SetTableOpDirty( const ScRange& rRange )
 void ScColumn::SetDirtyAfterLoad()
 {
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // no multiple recalculation
     for (SCSIZE i=0; i<maItems.size(); i++)
     {
         ScFormulaCell* p = (ScFormulaCell*) maItems[i].pCell;
@@ -2064,7 +2061,7 @@ void ScColumn::SetDirtyAfterLoad()
 void ScColumn::SetRelNameDirty()
 {
     bool bOldAutoCalc = pDocument->GetAutoCalc();
-    pDocument->SetAutoCalc( false );    // Mehrfachberechnungen vermeiden
+    pDocument->SetAutoCalc( false );    // no multiple recalculation
     for (SCSIZE i=0; i<maItems.size(); i++)
     {
         ScFormulaCell* p = (ScFormulaCell*) maItems[i].pCell;
@@ -2084,7 +2081,7 @@ void ScColumn::CalcAll()
             if (pCell->GetCellType() == CELLTYPE_FORMULA)
             {
 #if OSL_DEBUG_LEVEL > 1
-                // nach F9 ctrl-F9: ueberprueft die Berechnung per FormulaTree
+                // after F9 ctrl-F9: check the calculation for each FormulaTree
                 ScFormulaCell* pFCell = (ScFormulaCell*)pCell;
                 double nOldVal, nNewVal;
                 nOldVal = pFCell->GetValue();
@@ -2111,13 +2108,13 @@ void ScColumn::CompileAll()
             if ( pCell->GetCellType() == CELLTYPE_FORMULA )
             {
                 SCROW nRow = maItems[i].nRow;
-                // fuer unbedingtes kompilieren
-                // bCompile=true und pCode->nError=0
+                // for unconditional compilation
+                // bCompile=true and pCode->nError=0
                 ((ScFormulaCell*)pCell)->GetCode()->SetCodeError( 0 );
                 ((ScFormulaCell*)pCell)->SetCompile( true );
                 ((ScFormulaCell*)pCell)->CompileTokenArray();
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );      // Listener geloescht/eingefuegt?
+                    Search( nRow, i );      // Listener deleted/inserted?
             }
         }
 }
@@ -2134,7 +2131,7 @@ void ScColumn::CompileXML( ScProgress& rProgress )
                 SCROW nRow = maItems[i].nRow;
                 ((ScFormulaCell*)pCell)->CompileXML( rProgress );
                 if ( nRow != maItems[i].nRow )
-                    Search( nRow, i );      // Listener geloescht/eingefuegt?
+                    Search( nRow, i );      // Listener deleted/inserted?
             }
         }
 }
commit fb697ed0ab6e0182b45c78412563c51d6f22f9d5
Author: navin patidar <patidar at kacst.edu.sa>
Date:   Sun Feb 3 10:24:54 2013 +0300

    fix logic to get L/R direction
    
    Change-Id: I481f9ea57f8c5b71eb849df3f71c75f8b9b0f1fa
    Reviewed-on: https://gerrit.libreoffice.org/1972
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index 4458937..8108770 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -4287,7 +4287,7 @@ void ImpEditEngine::ImplInitLayoutMode( OutputDevice* pOutDev, sal_uInt16 nPara,
         short nScriptType = GetScriptType( EditPaM( pNode, nIndex+1 ) );
         bCTL = nScriptType == i18n::ScriptType::COMPLEX;
         // this change was discussed in issue 37190
-        bR2L = GetRightToLeft( nPara, nIndex + 1) == 1 /*RTL*/ ? true : false;
+        bR2L = GetRightToLeft( nPara, nIndex + 1) % 2 ? sal_True : sal_False;
         // it also works for issue 55927
     }
 
commit 145eda4c4de2bcbb3cd255e1ccd353e81bf6c96f
Author: David Ostrovsky <david at ostrovsky.org>
Date:   Tue Feb 5 11:39:06 2013 +0100

    O(U)String::valueOf don't duplicate code
    
    Change-Id: I586fca181f63999a8f2d19d600b69f6788fd61d9
    Reviewed-on: https://gerrit.libreoffice.org/1992
    Reviewed-by: Luboš Luňák <l.lunak at suse.cz>
    Tested-by: Luboš Luňák <l.lunak at suse.cz>

diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx
index 05ba18f..345827c 100644
--- a/sal/inc/rtl/string.hxx
+++ b/sal/inc/rtl/string.hxx
@@ -1540,10 +1540,7 @@ public:
     */
     SAL_DEPRECATED_INTERNAL("use number()") static OString valueOf( sal_Int32 i, sal_Int16 radix = 10 ) SAL_THROW(())
     {
-        sal_Char aBuf[RTL_STR_MAX_VALUEOFINT32];
-        rtl_String* pNewData = 0;
-        rtl_string_newFromStr_WithLength( &pNewData, aBuf, rtl_str_valueOfInt32( aBuf, i, radix ) );
-        return OString( pNewData, (DO_NOT_ACQUIRE*)0 );
+        return number( i, radix );
     }
 
     /**
diff --git a/sal/inc/rtl/ustring.hxx b/sal/inc/rtl/ustring.hxx
index f7d793a..7024bf4 100644
--- a/sal/inc/rtl/ustring.hxx
+++ b/sal/inc/rtl/ustring.hxx
@@ -2191,10 +2191,7 @@ public:
     */
     SAL_DEPRECATED_INTERNAL("use number()") static OUString valueOf( sal_Int32 i, sal_Int16 radix = 10 ) SAL_THROW(())
     {
-        sal_Unicode aBuf[RTL_USTR_MAX_VALUEOFINT32];
-        rtl_uString* pNewData = 0;
-        rtl_uString_newFromStr_WithLength( &pNewData, aBuf, rtl_ustr_valueOfInt32( aBuf, i, radix ) );
-        return OUString( pNewData, (DO_NOT_ACQUIRE*)0 );
+        return number( i, radix );
     }
 
     /**
commit 535dd86dfa4fbe0f2555205cb925586176267800
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Wed Feb 6 17:21:41 2013 +0000

    fdo#58699 - sdremote - fix it so it closes even with no bluetooth.
    
    Change-Id: I09588f4e4b22466843f855d99c06f616c04518ac

diff --git a/sd/source/ui/dlg/RemoteDialog.cxx b/sd/source/ui/dlg/RemoteDialog.cxx
index b41db5e76..d98eda7 100644
--- a/sd/source/ui/dlg/RemoteDialog.cxx
+++ b/sd/source/ui/dlg/RemoteDialog.cxx
@@ -27,9 +27,10 @@ RemoteDialog::RemoteDialog( Window *pWindow ) :
 {
     (void) mPreviouslyDiscoverable; // avoid warnings about unused member
 
-#ifdef ENABLE_SDREMOTE
     FreeResource();
 
+#ifdef ENABLE_SDREMOTE
+
 #ifdef ENABLE_SDREMOTE_BLUETOOTH
     mPreviouslyDiscoverable = RemoteServer::isBluetoothDiscoverable();
     if ( !mPreviouslyDiscoverable )
@@ -45,11 +46,11 @@ RemoteDialog::RemoteDialog( Window *pWindow ) :
     {
         mClientBox.addEntry( *aIt );
     }
+#endif
 
     mButtonConnect.SetClickHdl( LINK( this, RemoteDialog, HandleConnectButton ) );
     SetCloseHdl( LINK( this, RemoteDialog, CloseHdl ) );
     mButtonCancel.SetClickHdl( LINK( this, RemoteDialog, CloseHdl ) );
-#endif
 }
 
 RemoteDialog::~RemoteDialog()
@@ -87,8 +88,8 @@ IMPL_LINK_NOARG( RemoteDialog, CloseHdl )
     {
         RemoteServer::setBluetoothDiscoverable( false );
     }
-    Close();
 #endif
+    Close();
     return 0;
 }
 
commit 17d86df23e7be3ab0a161f69ff0f703728e0e135
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Wed Feb 6 18:31:14 2013 +0100

    also change the font combo tooltip to say font is not available
    
    Change-Id: I68e31498aa4916e11e04c57171e32cf9b3204108

diff --git a/svx/inc/svx/dialogs.hrc b/svx/inc/svx/dialogs.hrc
index 2ab14c7..8fe6bb5 100644
--- a/svx/inc/svx/dialogs.hrc
+++ b/svx/inc/svx/dialogs.hrc
@@ -277,6 +277,8 @@
 #define RID_SVXSTR_EXTRAS_CHARBACKGROUND    (RID_SVX_START + 196)
 #define RID_SVXSTR_CLEARFORM                (RID_SVX_START + 197)
 #define RID_SVXSTR_MORE                     (RID_SVX_START + 198)
+#define RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE (RID_SVX_START + 199)
+#define RID_SVXSTR_CHARFONTNAME             (RID_SVX_START + 200)
 
 // Strings for insert/overwrite mode
 #define RID_SVXSTR_INSERT_HELPTEXT          (RID_SVX_START + 210)
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 2f2812c..d827854 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -809,6 +809,7 @@ void SvxFontNameBox_Impl::CheckAndMarkUnknownFont( const OUString& fontname )
         {
             font.SetItalic( ITALIC_NONE );
             SetControlFont( font );
+            SetQuickHelpText( SVX_RESSTR( RID_SVXSTR_CHARFONTNAME ));
         }
     }
     else
@@ -817,6 +818,7 @@ void SvxFontNameBox_Impl::CheckAndMarkUnknownFont( const OUString& fontname )
         {
             font.SetItalic( ITALIC_NORMAL );
             SetControlFont( font );
+            SetQuickHelpText( SVX_RESSTR( RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE ));
         }
     }
 }
diff --git a/svx/source/tbxctrls/tbcontrl.src b/svx/source/tbxctrls/tbcontrl.src
index 678fec5..a438a2a 100644
--- a/svx/source/tbxctrls/tbcontrl.src
+++ b/svx/source/tbxctrls/tbcontrl.src
@@ -152,5 +152,17 @@ String RID_SVXSTR_TEXTCOLOR
 {
     Text [ en-US ] = "Font color";
 };
+
+// This is duplicated in GenericCommands.xcu in officecfg.
+String RID_SVXSTR_CHARFONTNAME
+{
+    Text [ en-US ] = "Font Name";
+};
+
+String RID_SVXSTR_CHARFONTNAME_NOTAVAILABLE
+{
+    Text [ en-US ] = "Font Name. The current font is not available and will be substituted.";
+};
+
 // ********************************************************************** EOF
 
commit 445ad883611e4343e19174bfa1259f0477d3e788
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Tue Feb 5 17:17:00 2013 +0100

    remove unused variable
    
    Change-Id: Ie81d49f5aec6a4d87b2b49b015afbcaa94e12e50

diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 01f0e5e..2f2812c 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1314,7 +1314,6 @@ void SvxFrameWindow_Impl::DataChanged( const DataChangedEvent& rDCEvt )
 
 IMPL_LINK_NOARG(SvxFrameWindow_Impl, SelectHdl)
 {
-    ::Color             aColBlack( COL_BLACK );
     SvxBoxItem          aBorderOuter( SID_ATTR_BORDER_OUTER );
     SvxBoxInfoItem      aBorderInner( SID_ATTR_BORDER_INNER );
     SvxBorderLine       theDefLine;
commit 0376a4c13ccffa64c938c6361a337264ad8f2b67
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Tue Feb 5 16:40:29 2013 +0100

    if a font is not available, show its name in italic in the font combo
    
    Change-Id: Ia7d0de2c3017f450b9ace31753a351601ca6f1f0

diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index d49fc25..01f0e5e 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -191,6 +191,7 @@ private:
 
     void            ReleaseFocus_Impl();
     void            EnableControls_Impl();
+    void            CheckAndMarkUnknownFont( const OUString& fontname );
 
 protected:
     virtual void    Select();
@@ -208,6 +209,8 @@ public:
     void            Fill( const FontList* pList )
                         { FontNameBox::Fill( pList );
                           nFtCount = pList->GetFontNameCount(); }
+    virtual void    SetText( const OUString& rStr ) SAL_OVERRIDE;
+    virtual void    SetText( const OUString& rStr, const Selection& rNewSelection ) SAL_OVERRIDE;
     virtual long    PreNotify( NotifyEvent& rNEvt );
     virtual long    Notify( NotifyEvent& rNEvt );
     virtual Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
@@ -781,6 +784,43 @@ void SvxFontNameBox_Impl::FillList()
     SetSelection( aOldSel );
 }
 
+void SvxFontNameBox_Impl::SetText( const OUString& rStr )
+{
+    CheckAndMarkUnknownFont( rStr );
+    return FontNameBox::SetText( rStr );
+}
+
+void SvxFontNameBox_Impl::SetText( const OUString& rStr, const Selection& rNewSelection )
+{
+    CheckAndMarkUnknownFont( rStr );
+    return FontNameBox::SetText( rStr, rNewSelection );
+}
+
+void SvxFontNameBox_Impl::CheckAndMarkUnknownFont( const OUString& fontname )
+{
+    if( fontname == GetText())
+        return;
+    GetDocFontList_Impl( &pFontList, this );
+    // If the font is unknown, show it in italic.
+    Font font = GetControlFont();
+    if( pFontList != NULL && pFontList->IsAvailable( fontname ))
+    {
+        if( font.GetItalic() != ITALIC_NONE )
+        {
+            font.SetItalic( ITALIC_NONE );
+            SetControlFont( font );
+        }
+    }
+    else
+    {
+        if( font.GetItalic() != ITALIC_NORMAL )
+        {
+            font.SetItalic( ITALIC_NORMAL );
+            SetControlFont( font );
+        }
+    }
+}
+
 // -----------------------------------------------------------------------
 
 void SvxFontNameBox_Impl::Update( const SvxFontItem* pFontItem )
diff --git a/vcl/inc/vcl/combobox.hxx b/vcl/inc/vcl/combobox.hxx
index 4994797..33a4382 100644
--- a/vcl/inc/vcl/combobox.hxx
+++ b/vcl/inc/vcl/combobox.hxx
@@ -123,8 +123,8 @@ public:
 
     void            EnableDDAutoWidth( sal_Bool b );
 
-    void            SetText( const OUString& rStr );
-    void            SetText( const OUString& rStr, const Selection& rNewSelection );
+    virtual void    SetText( const OUString& rStr );
+    virtual void    SetText( const OUString& rStr, const Selection& rNewSelection );
 
     sal_uInt16          InsertEntry( const XubString& rStr, sal_uInt16 nPos = COMBOBOX_APPEND );
     sal_uInt16          InsertEntry( const XubString& rStr, const Image& rImage, sal_uInt16 nPos = COMBOBOX_APPEND );
commit 624d46964215c1f066ded64ab684d6ccc98705d9
Author: Luboš Luňák <l.lunak at suse.cz>
Date:   Mon Feb 4 18:18:01 2013 +0100

    remove unused variable
    
    Change-Id: Iadc8b161c2742c1b92938c39c00c263b597693f5

diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 0b6d591..bb35ebc 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -1296,7 +1296,6 @@ void FontNameBox::UserDraw( const UserDrawEvent& rUDEvt )
         long nVertAdjust = nDesiredGap - aTextRect.Top();
         Point aPos( nX, aTopLeft.Y() + nVertAdjust );
         rUDEvt.GetDevice()->DrawText( aPos, sFontName );
-        Rectangle aHack(aPos.X(), aTopLeft.Y() + nH/2 - 5, aPos.X() + 40, aTopLeft.Y() + nH/2 + 5);
         long nTextX = aPos.X() + aTextRect.GetWidth() + GAPTOEXTRAPREVIEW;
 
         if (!bUsingCorrectFont)
commit c0fdab890086c2cb749c348db42eb760e31539de
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Feb 6 18:14:52 2013 +0100

    resolved fdo#60366 make MATCH() accept a single cell reference
    
    Change-Id: I7059abdb6232b95e0b940b34f74bf87182510146

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 2ab779a..1f0206c 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5045,6 +5045,12 @@ void ScInterpreter::ScMatch()
 
         switch (GetStackType())
         {
+            case svSingleRef:
+                PopSingleRef( nCol1, nRow1, nTab1);
+                nCol2 = nCol1;
+                nRow2 = nRow1;
+                nTab2 = nTab1;
+            break;
             case svDoubleRef:
             {
                 PopDoubleRef(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
commit 82e3760855fdb3f549b21fa6d37eb75a2adf31b4
Author: Chr. Rossmanith <ChrRossmanith at gmx.de>
Date:   Wed Feb 6 16:19:18 2013 +0100

    replace (Xub)String with OUString in vcl
    
    Change-Id: I0a44bab196ae239d3bdea75fd2b657bdfa4ecf31
    Reviewed-on: https://gerrit.libreoffice.org/2011
    Tested-by: LibreOffice gerrit bot <gerrit at libreoffice.org>
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx
index cc4fde8..0c623d3 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -118,7 +118,7 @@ namespace svx
     {
         bool            bLayoutOnly  = NULL != _pLayoutData;
         MetricVector*   pTextMetrics = bLayoutOnly ? &_pLayoutData->m_aUnicodeBoundRects : NULL;
-        String*         pDisplayText = bLayoutOnly ? &_pLayoutData->m_aDisplayText       : NULL;
+        OUString*       pDisplayText = bLayoutOnly ? &_pLayoutData->m_aDisplayText       : NULL;
 
         Size aPlaygroundSize( _rRect.GetSize() );
 
diff --git a/extensions/source/propctrlr/usercontrol.cxx b/extensions/source/propctrlr/usercontrol.cxx
index 7f23e6a..24964ad 100644
--- a/extensions/source/propctrlr/usercontrol.cxx
+++ b/extensions/source/propctrlr/usercontrol.cxx
@@ -337,13 +337,13 @@ namespace pcr
     IMPL_LINK( OTimeDurationControl, OnCustomConvert, MetricField*, /*pField*/ )
     {
         long nMultiplier = 1;
-        if ( getTypedControlWindow()->GetCurUnitText().EqualsIgnoreCaseAscii( "ms" ) )
+        if ( getTypedControlWindow()->GetCurUnitText().equalsIgnoreAsciiCase( "ms" ) )
             nMultiplier = 1;
-        if ( getTypedControlWindow()->GetCurUnitText().EqualsIgnoreCaseAscii( "s" ) )
+        if ( getTypedControlWindow()->GetCurUnitText().equalsIgnoreAsciiCase( "s" ) )
             nMultiplier = 1000;
-        else if ( getTypedControlWindow()->GetCurUnitText().EqualsIgnoreCaseAscii( "m" ) )
+        else if ( getTypedControlWindow()->GetCurUnitText().equalsIgnoreAsciiCase( "m" ) )
             nMultiplier = 1000 * 60;
-        else if ( getTypedControlWindow()->GetCurUnitText().EqualsIgnoreCaseAscii( "h" ) )
+        else if ( getTypedControlWindow()->GetCurUnitText().equalsIgnoreAsciiCase( "h" ) )
             nMultiplier = 1000 * 60 * 60;
 
         getTypedControlWindow()->SetValue( getTypedControlWindow()->GetLastValue() * nMultiplier );
diff --git a/svtools/inc/svtools/ctrlbox.hxx b/svtools/inc/svtools/ctrlbox.hxx
index 6b83e9f..0a8e566 100644
--- a/svtools/inc/svtools/ctrlbox.hxx
+++ b/svtools/inc/svtools/ctrlbox.hxx
@@ -512,7 +512,7 @@ class SVT_DLLPUBLIC FontSizeBox : public MetricBox
 #endif
 
 protected:
-    virtual XubString CreateFieldText( sal_Int64 nValue ) const;
+    virtual OUString CreateFieldText( sal_Int64 nValue ) const;
 
 public:
                     FontSizeBox( Window* pParent, WinBits nWinStyle = 0 );
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 09cf09f..0b6d591 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -1954,11 +1954,11 @@ void FontSizeBox::SetRelative( sal_Bool bNewRelative )
 
 // -----------------------------------------------------------------------
 
-XubString FontSizeBox::CreateFieldText( sal_Int64 nValue ) const
+OUString FontSizeBox::CreateFieldText( sal_Int64 nValue ) const
 {
-    XubString sRet( MetricBox::CreateFieldText( nValue ) );
-    if ( bRelativeMode && bPtRelative && (0 <= nValue) && sRet.Len() )
-        sRet.Insert( '+', 0 );
+    OUString sRet( MetricBox::CreateFieldText( nValue ) );
+    if ( bRelativeMode && bPtRelative && (0 <= nValue) && !sRet.isEmpty() )
+        sRet = "+" + sRet;
     return sRet;
 }
 
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index bca3ea7..b4b59b5 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -223,7 +223,7 @@ struct ImplSVWinData
 // - ImplSVCtrlData -
 // ------------------
 
-typedef std::vector< std::pair< String, FieldUnit > > FieldUnitStringList;
+typedef std::vector< std::pair< OUString, FieldUnit > > FieldUnitStringList;
 
 struct ImplSVCtrlData
 {
diff --git a/vcl/inc/textlayout.hxx b/vcl/inc/textlayout.hxx
index d20ea5f..5e95eab 100644
--- a/vcl/inc/textlayout.hxx
+++ b/vcl/inc/textlayout.hxx
@@ -42,7 +42,7 @@ namespace vcl
     public:
         virtual long        GetTextWidth( const XubString& _rText, xub_StrLen _nStartIndex, xub_StrLen _nLength ) const = 0;
         virtual void        DrawText( const Point& _rStartPoint, const XubString& _rText, xub_StrLen _nStartIndex, xub_StrLen _nLength,
-                                MetricVector* _pVector, String* _pDisplayText ) = 0;
+                                MetricVector* _pVector, OUString* _pDisplayText ) = 0;
         virtual bool        GetCaretPositions( const XubString& _rText, sal_Int32* _pCaretXArray, xub_StrLen _nStartIndex, xub_StrLen _nLength ) const = 0;
         virtual xub_StrLen  GetTextBreak( const XubString& _rText, long _nMaxTextWidth, xub_StrLen _nStartIndex, xub_StrLen _nLength ) const = 0;
         virtual bool        DecomposeTextRectAction() const = 0;
@@ -78,7 +78,7 @@ namespace vcl
                                 xub_StrLen _nStartIndex,
                                 xub_StrLen _nLength,
                                 MetricVector* _pVector,
-                                String* _pDisplayText
+                                OUString* _pDisplayText
                             );
         virtual bool        GetCaretPositions(
                                 const XubString& _rText,
@@ -113,7 +113,7 @@ namespace vcl
 
         Rectangle   DrawText( const Rectangle& _rRect,
                               const XubString& _rText, sal_uInt16 _nStyle = 0,
-                              MetricVector* _pVector = NULL, String* _pDisplayText = NULL );
+                              MetricVector* _pVector = NULL, OUString* _pDisplayText = NULL );
 
     private:
         ControlTextRenderer();                                                  // never implemented
diff --git a/vcl/inc/vcl/button.hxx b/vcl/inc/vcl/button.hxx
index 03ba3d6..349f9cc 100644
--- a/vcl/inc/vcl/button.hxx
+++ b/vcl/inc/vcl/button.hxx
@@ -49,7 +49,7 @@ private:
 public:
     SAL_DLLPRIVATE sal_uInt16           ImplGetButtonState() const;
     SAL_DLLPRIVATE sal_uInt16&          ImplGetButtonState();
-    SAL_DLLPRIVATE sal_uInt16           ImplGetTextStyle( XubString& rText, WinBits nWinStyle, sal_uLong nDrawFlags );
+    SAL_DLLPRIVATE sal_uInt16           ImplGetTextStyle( OUString& rText, WinBits nWinStyle, sal_uLong nDrawFlags );
     SAL_DLLPRIVATE void             ImplDrawAlignedImage( OutputDevice* pDev, Point& rPos, Size& rSize,
                                               sal_Bool bLayout, sal_uLong nImageSep, sal_uLong nDrawFlags,
                                               sal_uInt16 nTextStyle, Rectangle *pSymbolRect=NULL, bool bAddImageSep = false );
diff --git a/vcl/inc/vcl/controllayout.hxx b/vcl/inc/vcl/controllayout.hxx
index 7961208..5d1d133 100644
--- a/vcl/inc/vcl/controllayout.hxx
+++ b/vcl/inc/vcl/controllayout.hxx
@@ -35,7 +35,7 @@ struct VCL_DLLPUBLIC ControlLayoutData
     // contains the string really displayed
     // there must be exactly one bounding rectangle in m_aUnicodeBoundRects
     // for every character in m_aDisplayText
-    String                              m_aDisplayText;
+    OUString                            m_aDisplayText;
     // the bounding rectangle of every character
     // where one character may consist of many glyphs
     std::vector< Rectangle >            m_aUnicodeBoundRects;
diff --git a/vcl/inc/vcl/ctrl.hxx b/vcl/inc/vcl/ctrl.hxx
index 03ddcdc..390f416 100644
--- a/vcl/inc/vcl/ctrl.hxx
+++ b/vcl/inc/vcl/ctrl.hxx
@@ -91,8 +91,8 @@ protected:
         directly at the target device, or taking the reference device into account) when returning.
     */
     void        DrawControlText( OutputDevice& _rTargetDevice, Rectangle& _io_rRect,
-                                 const XubString& _rStr, sal_uInt16 _nStyle,
-                                 MetricVector* _pVector, String* _pDisplayText ) const;
+                                 const OUString& _rStr, sal_uInt16 _nStyle,
+                                 MetricVector* _pVector, OUString* _pDisplayText ) const;
 
     virtual const Font&
                 GetCanonicalFont( const StyleSettings& _rStyle ) const;
diff --git a/vcl/inc/vcl/field.hxx b/vcl/inc/vcl/field.hxx
index c37b306..0f47d5f 100644
--- a/vcl/inc/vcl/field.hxx
+++ b/vcl/inc/vcl/field.hxx
@@ -170,7 +170,7 @@ protected:
     void                    FieldLast();
 
     SAL_DLLPRIVATE void     ImplLoadRes( const ResId& rResId );
-    SAL_DLLPRIVATE sal_Bool     ImplNumericReformat( const XubString& rStr, double& rValue, XubString& rOutStr );
+    SAL_DLLPRIVATE sal_Bool ImplNumericReformat( const OUString& rStr, double& rValue, OUString& rOutStr );
     SAL_DLLPRIVATE void     ImplNewFieldValue( sal_Int64 nNewValue );
     SAL_DLLPRIVATE void     ImplSetUserValue( sal_Int64 nNewValue, Selection* pNewSelection = NULL );
 
@@ -204,7 +204,7 @@ public:
     void                    SetUserValue( sal_Int64 nNewValue );
     virtual void            SetValue( sal_Int64 nNewValue );
     virtual sal_Int64       GetValue() const;
-    virtual XubString       CreateFieldText( sal_Int64 nValue ) const;
+    virtual OUString        CreateFieldText( sal_Int64 nValue ) const;
     sal_Bool                    IsValueModified() const;
     sal_Int64               GetCorrectedValue() const { return mnCorrectedValue; }
 
@@ -222,8 +222,8 @@ private:
     SAL_DLLPRIVATE  void    ImplInit();
 
 protected:
-    XubString               maCustomUnitText;
-    XubString               maCurUnitText;
+    OUString                maCustomUnitText;
+    OUString                maCurUnitText;
     sal_Int64               mnBaseValue;
     FieldUnit               meUnit;
     Link                    maCustomConvertLink;
@@ -232,7 +232,7 @@ protected:
                             MetricFormatter();
 
     SAL_DLLPRIVATE void     ImplLoadRes( const ResId& rResId );
-    SAL_DLLPRIVATE sal_Bool     ImplMetricReformat( const XubString& rStr, double& rValue, XubString& rOutStr );
+    SAL_DLLPRIVATE sal_Bool     ImplMetricReformat( const OUString& rStr, double& rValue, OUString& rOutStr );
 
 public:
                             ~MetricFormatter();
@@ -243,8 +243,8 @@ public:
     virtual void            SetUnit( FieldUnit meUnit );
     FieldUnit               GetUnit() const { return meUnit; }
     void                    SetCustomUnitText( const XubString& rStr );
-    const XubString&        GetCustomUnitText() const { return maCustomUnitText; }
-    const XubString&        GetCurUnitText() const { return maCurUnitText; }
+    const OUString&         GetCustomUnitText() const { return maCustomUnitText; }
+    const OUString&         GetCurUnitText() const { return maCurUnitText; }
 
     using NumericFormatter::SetMax;
     void                    SetMax( sal_Int64 nNewMax, FieldUnit eInUnit );
@@ -263,7 +263,7 @@ public:
     void                    SetUserValue( sal_Int64 nNewValue, FieldUnit eInUnit );
     virtual sal_Int64       GetValue( FieldUnit eOutUnit ) const;
     virtual sal_Int64       GetValue() const;
-    virtual XubString       CreateFieldText( sal_Int64 nValue ) const;
+    virtual OUString        CreateFieldText( sal_Int64 nValue ) const;
     using NumericFormatter::GetCorrectedValue;
     sal_Int64               GetCorrectedValue( FieldUnit eOutUnit ) const;
 
@@ -283,7 +283,7 @@ private:
 
 protected:
                             CurrencyFormatter();
-    SAL_DLLPRIVATE sal_Bool     ImplCurrencyReformat( const XubString& rStr, XubString& rOutStr );
+    SAL_DLLPRIVATE sal_Bool     ImplCurrencyReformat( const OUString& rStr, OUString& rOutStr );
 
 public:
                             ~CurrencyFormatter();
@@ -294,7 +294,7 @@ public:
 
     virtual void            SetValue( sal_Int64 nNewValue );
     virtual sal_Int64       GetValue() const;
-    virtual XubString       CreateFieldText( sal_Int64 nValue ) const;
+    virtual OUString        CreateFieldText( sal_Int64 nValue ) const;
 };
 
 
@@ -324,12 +324,12 @@ protected:
 
     SAL_DLLPRIVATE void     ImplLoadRes( const ResId& rResId );
     SAL_DLLPRIVATE const Date& ImplGetFieldDate() const    { return maFieldDate; }
-    SAL_DLLPRIVATE sal_Bool     ImplDateReformat( const XubString& rStr, XubString& rOutStr,
+    SAL_DLLPRIVATE sal_Bool     ImplDateReformat( const OUString& rStr, OUString& rOutStr,
                                               const AllSettings& rSettings );
     SAL_DLLPRIVATE void     ImplSetUserDate( const Date& rNewDate,
                                              Selection* pNewSelection = NULL );
-    SAL_DLLPRIVATE XubString ImplGetDateAsText( const Date& rDate,
-                                                const AllSettings& rSettings ) const;
+    SAL_DLLPRIVATE OUString ImplGetDateAsText( const Date& rDate,
+                                               const AllSettings& rSettings ) const;
     SAL_DLLPRIVATE void     ImplNewFieldValue( const Date& rDate );
     CalendarWrapper&        GetCalendarWrapper() const;
 
@@ -419,7 +419,7 @@ protected:
                             TimeFormatter();
 
     SAL_DLLPRIVATE void     ImplLoadRes( const ResId& rResId );
-    SAL_DLLPRIVATE sal_Bool     ImplTimeReformat( const XubString& rStr, XubString& rOutStr );
+    SAL_DLLPRIVATE sal_Bool     ImplTimeReformat( const OUString& rStr, OUString& rOutStr );
     SAL_DLLPRIVATE void     ImplNewFieldValue( const Time& rTime );
     SAL_DLLPRIVATE void     ImplSetUserTime( const Time& rNewTime, Selection* pNewSelection = NULL );
     SAL_DLLPRIVATE sal_Bool     ImplAllowMalformedInput() const;
diff --git a/vcl/inc/vcl/outdev.hxx b/vcl/inc/vcl/outdev.hxx
index ce1e7ec..0eba3a1 100644
--- a/vcl/inc/vcl/outdev.hxx
+++ b/vcl/inc/vcl/outdev.hxx
@@ -394,7 +394,7 @@ public:
     static
     SAL_DLLPRIVATE void         ImplDrawText( OutputDevice& rTargetDevice, const Rectangle& rRect,
                                               const String& rOrigStr, sal_uInt16 nStyle,
-                                              MetricVector* pVector, String* pDisplayText, ::vcl::ITextLayout& _rLayout );
+                                              MetricVector* pVector, OUString* pDisplayText, ::vcl::ITextLayout& _rLayout );
     SAL_DLLPRIVATE void         ImplDrawTextBackground( const SalLayout& );
     SAL_DLLPRIVATE void         ImplDrawTextLines( SalLayout&, FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, sal_Bool bWordLine, sal_Bool bUnderlineAbove );
     SAL_DLLPRIVATE bool         ImplDrawRotateText( SalLayout& );
@@ -575,7 +575,7 @@ public:
 
     void                DrawText( const Point& rStartPt, const XubString& rStr,
                                   xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN,
-                                  MetricVector* pVector = NULL, String* pDisplayText = NULL );
+                                  MetricVector* pVector = NULL, OUString* pDisplayText = NULL );
     long                GetTextWidth( const XubString& rStr, xub_StrLen nIndex = 0,
                                       xub_StrLen nLen = STRING_LEN ) const;
     /// Height where any character of the current font fits; in logic coordinates.
@@ -615,7 +615,7 @@ public:
                                             GDIMetaFile&     rMtf );
     void                DrawText( const Rectangle& rRect,
                                   const XubString& rStr, sal_uInt16 nStyle = 0,
-                                  MetricVector* pVector = NULL, String* pDisplayText = NULL,
+                                  MetricVector* pVector = NULL, OUString* pDisplayText = NULL,
                                   ::vcl::ITextLayout* _pTextLayout = NULL );
     Rectangle           GetTextRect( const Rectangle& rRect,
                                      const XubString& rStr, sal_uInt16 nStyle = TEXT_DRAW_WORDBREAK,
@@ -625,7 +625,7 @@ public:
                                            sal_uInt16 nStyle = TEXT_DRAW_ENDELLIPSIS ) const;
     void                DrawCtrlText( const Point& rPos, const XubString& rStr,
                                       xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN,
-                                      sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC, MetricVector* pVector = NULL, String* pDisplayText = NULL );
+                                      sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC, MetricVector* pVector = NULL, OUString* pDisplayText = NULL );
     long                GetCtrlTextWidth( const XubString& rStr, xub_StrLen nIndex = 0,
                                           xub_StrLen nLen = STRING_LEN,
                                           sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC ) const;
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index e2f8b76..a925ded 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -224,7 +224,7 @@ void Button::ImplSetSeparatorX( long nX )
 
 // -----------------------------------------------------------------------
 
-sal_uInt16 Button::ImplGetTextStyle( XubString& rText, WinBits nWinStyle,
+sal_uInt16 Button::ImplGetTextStyle( OUString& rText, WinBits nWinStyle,
                                  sal_uLong nDrawFlags )
 {
     const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
@@ -260,9 +260,9 @@ void Button::ImplDrawAlignedImage( OutputDevice* pDev, Point& rPos,
                                    sal_uInt16 nTextStyle, Rectangle *pSymbolRect,
                                    bool bAddImageSep )
 {
-    XubString   aText( GetText() );
+    OUString        aText( GetText() );
     sal_Bool        bDrawImage = HasImage() && ! ( ImplGetButtonState() & BUTTON_DRAW_NOIMAGE );
-    sal_Bool        bDrawText  = aText.Len() && ! ( ImplGetButtonState() & BUTTON_DRAW_NOTEXT );
+    sal_Bool        bDrawText  = !aText.isEmpty() && ! ( ImplGetButtonState() & BUTTON_DRAW_NOTEXT );
     sal_Bool        bHasSymbol = pSymbolRect ? sal_True : sal_False;
 
     // No text and no image => nothing to do => return
@@ -272,7 +272,7 @@ void Button::ImplDrawAlignedImage( OutputDevice* pDev, Point& rPos,
     WinBits         nWinStyle = GetStyle();
     Rectangle       aOutRect( rPos, rSize );
     MetricVector   *pVector = bLayout ? &mpControlData->mpLayoutData->m_aUnicodeBoundRects : NULL;
-    String         *pDisplayText = bLayout ? &mpControlData->mpLayoutData->m_aDisplayText : NULL;
+    OUString       *pDisplayText = bLayout ? &mpControlData->mpLayoutData->m_aDisplayText : NULL;
     ImageAlign      eImageAlign = mpButtonData->meImageAlign;
     Size            aImageSize = mpButtonData->maImage.GetSizePixel();
 
@@ -815,9 +815,9 @@ void PushButton::ImplDrawPushButtonContent( OutputDevice* pDev, sal_uLong nDrawF
     const StyleSettings&    rStyleSettings = GetSettings().GetStyleSettings();
     Rectangle               aInRect = rRect;
     Color                   aColor;
-    XubString               aText = PushButton::GetText(); // PushButton:: wegen MoreButton
-    sal_uInt16                  nTextStyle = ImplGetTextStyle( nDrawFlags );
-    sal_uInt16                  nStyle;
+    OUString                aText = PushButton::GetText(); // PushButton:: because of MoreButton
+    sal_uInt16              nTextStyle = ImplGetTextStyle( nDrawFlags );
+    sal_uInt16              nStyle;
 
     if( aInRect.Right() < aInRect.Left() || aInRect.Bottom() < aInRect.Top() )
         aInRect.SetEmpty();
@@ -851,7 +851,7 @@ void PushButton::ImplDrawPushButtonContent( OutputDevice* pDev, sal_uLong nDrawF
     {
         long nSeparatorX = 0;
         Rectangle aSymbolRect = aInRect;
-        if ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
+        if ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
         {
             // calculate symbol size
             long nSymbolSize    = pDev->GetTextHeight() / 2 + 1;
@@ -2136,10 +2136,10 @@ void RadioButton::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
                             Rectangle& rMouseRect, bool bLayout )
 {
     WinBits                 nWinStyle = GetStyle();
-    XubString               aText( GetText() );
+    OUString                aText( GetText() );
     Rectangle               aRect( rPos, rSize );
     MetricVector*           pVector = bLayout ? &mpControlData->mpLayoutData->m_aUnicodeBoundRects : NULL;
-    String*                 pDisplayText = bLayout ? &mpControlData->mpLayoutData->m_aDisplayText : NULL;
+    OUString*               pDisplayText = bLayout ? &mpControlData->mpLayoutData->m_aDisplayText : NULL;
 
     pDev->Push( PUSH_CLIPREGION );
     pDev->IntersectClipRegion( Rectangle( rPos, rSize ) );
@@ -2147,7 +2147,7 @@ void RadioButton::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
     // no image radio button
     if ( !maImage )
     {
-        if ( ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) ) ||
+        if ( ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) ) ||
              ( HasImage() &&  ! (ImplGetButtonState() & BUTTON_DRAW_NOIMAGE) ) )
         {
             sal_uInt16 nTextStyle = Button::ImplGetTextStyle( aText, nWinStyle, nDrawFlags );
@@ -2224,14 +2224,14 @@ void RadioButton::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
     }
     else
     {
-        sal_Bool        bTopImage   = (nWinStyle & WB_TOP) != 0;
+        sal_Bool    bTopImage   = (nWinStyle & WB_TOP) != 0;
         Size        aImageSize  = maImage.GetSizePixel();
         Rectangle   aImageRect( rPos, rSize );
         long        nTextHeight = pDev->GetTextHeight();
         long        nTextWidth  = pDev->GetCtrlTextWidth( aText );
 
         // calculate position and sizes
-        if ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
+        if ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
         {
             Size aTmpSize( (aImageSize.Width()+8), (aImageSize.Height()+8) );
             if ( bTopImage )
@@ -3041,8 +3041,8 @@ Size RadioButton::CalcMinimumSize( long nMaxWidth ) const
 
     nMaxWidth -= aSize.Width();
 
-    XubString aText = GetText();
-    if ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
+    OUString aText = GetText();
+    if ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
     {
         // subtract what will be added later
         nMaxWidth-=2;
@@ -3235,13 +3235,13 @@ void CheckBox::ImplDraw( OutputDevice* pDev, sal_uLong nDrawFlags,
                          Rectangle& rMouseRect, bool bLayout )
 {
     WinBits                 nWinStyle = GetStyle();
-    XubString               aText( GetText() );
+    OUString                aText( GetText() );
 
     pDev->Push( PUSH_CLIPREGION | PUSH_LINECOLOR );
     pDev->IntersectClipRegion( Rectangle( rPos, rSize ) );
 
     long nLineY = rPos.Y() + (rSize.Height()-1)/2;
-    if ( ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) ) ||
+    if ( ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) ) ||
          ( HasImage() && !  (ImplGetButtonState() & BUTTON_DRAW_NOIMAGE) ) )
     {
         sal_uInt16 nTextStyle = Button::ImplGetTextStyle( aText, nWinStyle, nDrawFlags );
@@ -3949,8 +3949,8 @@ Size CheckBox::CalcMinimumSize( long nMaxWidth ) const
     Size aSize = ImplGetCheckImageSize();
     nMaxWidth -= aSize.Width();
 
-    XubString aText = GetText();
-    if ( aText.Len() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
+    OUString aText = GetText();
+    if ( !aText.isEmpty() && ! (ImplGetButtonState() & BUTTON_DRAW_NOTEXT) )
     {
         // subtract what will be added later
         nMaxWidth-=2;
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 845aba8..c5de9ca 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -187,7 +187,7 @@ long Control::GetIndexForPoint( const Point& rPoint ) const
 long ControlLayoutData::GetLineCount() const
 {
     long nLines = m_aLineIndices.size();
-    if( nLines == 0 && m_aDisplayText.Len() )
+    if( nLines == 0 && !m_aDisplayText.isEmpty() )
         nLines = 1;
     return nLines;
 }
@@ -205,14 +205,14 @@ Pair ControlLayoutData::GetLineStartEnd( long nLine ) const
         if( nLine+1 < nDisplayLines )
             aPair.B() = m_aLineIndices[nLine+1]-1;
         else
-            aPair.B() = m_aDisplayText.Len()-1;
+            aPair.B() = m_aDisplayText.getLength()-1;
     }
-    else if( nLine == 0 && nDisplayLines == 0 && m_aDisplayText.Len() )
+    else if( nLine == 0 && nDisplayLines == 0 && !m_aDisplayText.isEmpty() )
     {
         // special case for single line controls so the implementations
         // in that case do not have to fill in the line indices
         aPair.A() = 0;
-        aPair.B() = m_aDisplayText.Len()-1;
+        aPair.B() = m_aDisplayText.getLength()-1;
     }
     return aPair;
 }
@@ -231,7 +231,7 @@ Pair Control::GetLineStartEnd( long nLine ) const
 long ControlLayoutData::ToRelativeLineIndex( long nIndex ) const
 {
     // is the index sensible at all ?
-    if( nIndex >= 0 && nIndex < m_aDisplayText.Len() )
+    if( nIndex >= 0 && nIndex < m_aDisplayText.getLength() )
     {
         int nDisplayLines = m_aLineIndices.size();
         // if only 1 line exists, then absolute and relative index are
@@ -334,11 +334,11 @@ void Control::AppendLayoutData( const Control& rSubControl ) const
 {
     if( !rSubControl.HasLayoutData() )
         rSubControl.FillLayoutData();
-    if( !rSubControl.HasLayoutData() || !rSubControl.mpControlData->mpLayoutData->m_aDisplayText.Len() )
+    if( !rSubControl.HasLayoutData() || rSubControl.mpControlData->mpLayoutData->m_aDisplayText.isEmpty() )
         return;
 
-    long nCurrentIndex = mpControlData->mpLayoutData->m_aDisplayText.Len();
-    mpControlData->mpLayoutData->m_aDisplayText.Append( rSubControl.mpControlData->mpLayoutData->m_aDisplayText );
+    long nCurrentIndex = mpControlData->mpLayoutData->m_aDisplayText.getLength();
+    mpControlData->mpLayoutData->m_aDisplayText += rSubControl.mpControlData->mpLayoutData->m_aDisplayText;
     int nLines = rSubControl.mpControlData->mpLayoutData->m_aLineIndices.size();
     int n;
     mpControlData->mpLayoutData->m_aLineIndices.push_back( nCurrentIndex );
@@ -520,8 +520,8 @@ void Control::ImplInitSettings( const sal_Bool _bFont, const sal_Bool _bForegrou
 
 // -----------------------------------------------------------------
 
-void Control::DrawControlText( OutputDevice& _rTargetDevice, Rectangle& _io_rRect, const XubString& _rStr,
-    sal_uInt16 _nStyle, MetricVector* _pVector, String* _pDisplayText ) const
+void Control::DrawControlText( OutputDevice& _rTargetDevice, Rectangle& _io_rRect, const OUString& _rStr,
+    sal_uInt16 _nStyle, MetricVector* _pVector, OUString* _pDisplayText ) const
 {
 #ifdef FS_DEBUG
     if ( !_pVector )
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index 80ed748..69ac949 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -562,7 +562,7 @@ void Edit::ImplRepaint( xub_StrLen nStart, xub_StrLen nEnd, bool bLayout )
         aPos.X() = nPos + mnXOffset + ImplGetExtraOffset();
 
         MetricVector* pVector = &mpControlData->mpLayoutData->m_aUnicodeBoundRects;
-        String* pDisplayText = &mpControlData->mpLayoutData->m_aDisplayText;
+        OUString* pDisplayText = &mpControlData->mpLayoutData->m_aDisplayText;
 
         DrawText( aPos, aText, nStart, nEnd - nStart, pVector, pDisplayText );
 
@@ -1992,7 +1992,7 @@ void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_u
         }
     }
 
-    XubString   aText = ImplGetText();
+    OUString    aText = ImplGetText();

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list