[ooo-build-commit] .: 2 commits - patches/dev300

Cédric Bosdonnat cbosdo at kemper.freedesktop.org
Mon Sep 13 06:49:50 PDT 2010


 patches/dev300/apply                                                |   14 
 patches/dev300/cjk-character-units-fix-376788.diff                  |  230 ---
 patches/dev300/cjk-character-units-fix.diff                         |  189 --
 patches/dev300/cjk-character-units-imp.diff                         |  647 ----------
 patches/dev300/cjk-character-units-in-pggrid-fix.diff               |  132 --
 patches/dev300/cjk-character-units-rulers-sync-with-pggrid-fix.diff |  118 -
 patches/dev300/cjk-character-units-ui.diff                          |  529 --------
 patches/dev300/plus-minus-sw-navigator.diff                         |  225 ---
 patches/dev300/plus-minus-sw-navigator2.diff                        |  164 --
 9 files changed, 2248 deletions(-)

New commits:
commit 6eeb5cd712af13d7c800e11d5ea8c13b0fff8998
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date:   Mon Sep 13 14:54:07 2010 +0200

    Pushed the CJK character unit to git repos

diff --git a/patches/dev300/apply b/patches/dev300/apply
index b16cd93..137c020 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -270,19 +270,9 @@ speed-sal-fewer-lstats.diff, i#89730, jholesov
 ooo4kids-allpatches.diff
 
 [ CJK ]
-# add a new unit 'character unit'
-cjk-character-units-imp.diff, Amelia Wang
-
 #set default CJK font fontsize as 10.5pt
 sw-default-cjk-fontsize.diff i#72010, jianhua
 
-# add a new unit 'character unit'
-cjk-character-units-ui.diff, Amelia Wang
-cjk-character-units-rulers-sync-with-pggrid-fix.diff, Amelia Wang
-cjk-character-units-fix.diff, i#356101, Amelia Wang
-cjk-character-units-fix-376788.diff, i#376788, Amelia Wang
-cjk-character-units-in-pggrid-fix.diff, Amelia Wang
-
 # Doesn't expand spaces for lines with manual break for CJK locales
 cjk-default-compatibility.diff, i#54320, cbosdo
 
diff --git a/patches/dev300/cjk-character-units-fix-376788.diff b/patches/dev300/cjk-character-units-fix-376788.diff
deleted file mode 100644
index 9398d36..0000000
--- a/patches/dev300/cjk-character-units-fix-376788.diff
+++ /dev/null
@@ -1,230 +0,0 @@
----
- cui/source/tabpages/paragrph.cxx |   32 +++++++++++++++++++++++---------
- svtools/source/control/ruler.cxx |    6 ++++++
- sw/source/ui/app/swmodul1.cxx    |   14 ++++++++++----
- sw/source/ui/config/optload.cxx  |    8 +++++---
- sw/source/ui/misc/pggrid.cxx     |    4 ++--
- sw/source/ui/uiview/view.cxx     |   36 ++++++++++++++++++++++++++++++------
- 6 files changed, 76 insertions(+), 24 deletions(-)
-
-diff --git cui/source/tabpages/paragrph.cxx cui/source/tabpages/paragrph.cxx
-index aa70c22..0c765b5 100644
---- cui/source/tabpages/paragrph.cxx
-+++ cui/source/tabpages/paragrph.cxx
-@@ -442,17 +442,25 @@ void SvxStdParagraphTabPage::Reset( const SfxItemSet& rSet )
- 
-     BOOL bApplyCharUnit = GetApplyCharUnit( rSet );
- 
--    if ( bApplyCharUnit )
-+    SvtCJKOptions aCJKOptions;
-+    if(aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
-         eFUnit = FUNIT_CHAR;
-+
-     SetFieldUnit( aLeftIndent, eFUnit );
-     SetFieldUnit( aRightIndent, eFUnit );
-     SetFieldUnit( aFLineIndent, eFUnit );
--    if ( bApplyCharUnit )
--        eFUnit = FUNIT_LINE;
--    SetFieldUnit( aTopDist, eFUnit );
--    SetFieldUnit( aBottomDist, eFUnit );
--    eFUnit = FUNIT_POINT;
--    SetFieldUnit( aLineDistAtMetricBox, eFUnit );
-+    if ( eFUnit == FUNIT_CHAR )
-+    {
-+        SetFieldUnit( aTopDist, FUNIT_LINE );
-+        SetFieldUnit( aBottomDist, FUNIT_LINE );
-+        SetFieldUnit( aLineDistAtMetricBox, FUNIT_POINT );
-+    }
-+    else
-+    {
-+        SetFieldUnit( aTopDist, eFUnit );
-+        SetFieldUnit( aBottomDist, eFUnit );
-+        SetFieldUnit( aLineDistAtMetricBox, eFUnit );
-+    }
- 
-     USHORT _nWhich = GetWhich( SID_ATTR_LRSPACE );
-     SfxItemState eItemState = rSet.GetItemState( _nWhich );
-@@ -544,7 +552,10 @@ void SvxStdParagraphTabPage::Reset( const SfxItemSet& rSet )
-             else
-             {
-                 aTopDist.SetRelative();
--                SetFieldUnit( aTopDist, eFUnit );
-+                if ( eFUnit == FUNIT_CHAR )
-+                    SetFieldUnit( aTopDist, FUNIT_LINE );
-+                else
-+                    SetFieldUnit( aTopDist, eFUnit );
-                 SetMetricValue( aTopDist, rOldItem.GetUpper(), eUnit );
-             }
- 
-@@ -556,7 +567,10 @@ void SvxStdParagraphTabPage::Reset( const SfxItemSet& rSet )
-             else
-             {
-                 aBottomDist.SetRelative();
--                SetFieldUnit( aBottomDist, eFUnit );
-+                if ( eFUnit == FUNIT_CHAR )
-+                    SetFieldUnit( aBottomDist, FUNIT_LINE );
-+                else
-+                    SetFieldUnit( aBottomDist, eFUnit );
-                 SetMetricValue( aBottomDist, rOldItem.GetLower(), eUnit );
-             }
-         }
-diff --git svtools/source/control/ruler.cxx svtools/source/control/ruler.cxx
-index 24092c3..ba56da2 100644
---- svtools/source/control/ruler.cxx
-+++ svtools/source/control/ruler.cxx
-@@ -268,6 +268,8 @@ void Ruler::ImplInit( WinBits nWinBits )
-     mnExtraStyle    = 0;                    // Style des Extra-Feldes
-     mnExtraClicks   = 0;                    // Click-Anzahl fuer Extra-Feld
-     mnExtraModifier = 0;                    // Modifier-Tasten beim Click im Extrafeld
-+    mnCharWidth     = 371;
-+    mnLineHeight    = 551;
-     mbCalc          = TRUE;                 // Muessen Pagebreiten neu berechnet werden
-     mbFormat        = TRUE;                 // Muss neu ausgegeben werden
-     mbDrag          = FALSE;                // Sind wir im Drag-Modus
-@@ -476,6 +478,8 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-     long    nTick2 ;
-     if ( mnUnitIndex == RULER_UNIT_CHAR )
-     {
-+        if ( mnCharWidth == 0 )
-+            mnCharWidth = 371;
-         nTick3 = mnCharWidth*2;
-         nTickCount = mnCharWidth;
-         nTickUnit = mnCharWidth;
-@@ -483,6 +487,8 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-     }
-     else if ( mnUnitIndex == RULER_UNIT_LINE )
-     {
-+        if ( mnLineHeight == 0 )
-+            mnLineHeight = 551;
-         nTick3 = mnLineHeight*2;
-         nTickCount = mnLineHeight;
-         nTickUnit = mnLineHeight;
-diff --git sw/source/ui/app/swmodul1.cxx sw/source/ui/app/swmodul1.cxx
-index 07430ed..1927c66 100644
---- sw/source/ui/app/swmodul1.cxx
-+++ sw/source/ui/app/swmodul1.cxx
-@@ -47,6 +47,7 @@
- #include <editeng/colritem.hxx>
- #include <editeng/brshitem.hxx>
- #include <vcl/msgbox.hxx>
-+#include <svl/cjkoptions.hxx>
- #include <swmodule.hxx>
- #include <swtypes.hxx>
- #include <usrpref.hxx>
-@@ -348,10 +349,15 @@ void SwModule::ApplyUserCharUnit(BOOL bApplyChar, BOOL bWeb)
-     }
-     else
-     {
--        if ( eHScrollMetric == FUNIT_CHAR )
--            eHScrollMetric == FUNIT_CM;
--        if ( eVScrollMetric == FUNIT_LINE )
--            eVScrollMetric == FUNIT_CM;
-+        SvtCJKOptions aCJKOptions;
-+        if ( !aCJKOptions.IsAsianTypographyEnabled() && ( eHScrollMetric == FUNIT_CHAR ))
-+            eHScrollMetric = FUNIT_INCH;
-+        else if ( eHScrollMetric == FUNIT_CHAR )
-+            eHScrollMetric = FUNIT_CM;
-+        if ( !aCJKOptions.IsAsianTypographyEnabled() && ( eVScrollMetric == FUNIT_LINE ))
-+            eVScrollMetric = FUNIT_INCH;
-+        else if ( eVScrollMetric == FUNIT_LINE )
-+            eVScrollMetric = FUNIT_CM;
-     }
-     SwView* pTmpView = SwModule::GetFirstView();
-     // fuer alle MDI-Fenster das Lineal umschalten
-diff --git sw/source/ui/config/optload.cxx sw/source/ui/config/optload.cxx
-index 9814626..8fe85c4 100644
---- sw/source/ui/config/optload.cxx
-+++ sw/source/ui/config/optload.cxx
-@@ -127,7 +127,6 @@ SwLoadOptPage::SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ) :
-             case FUNIT_POINT:
-             case FUNIT_PICA:
-             case FUNIT_INCH:
--            case FUNIT_CHAR:
-             {
-                 // nur diese Metriken benutzen
-                 USHORT nPos = aMetricLB.InsertEntry( sMetric );
-@@ -229,9 +228,12 @@ BOOL __EXPORT SwLoadOptPage::FillItemSet( SfxItemSet& rSet )
-         bRet = TRUE;
-     }
- 
--    if(aUseCharUnit.IsChecked() != aUseCharUnit.GetSavedValue())
-+    sal_Bool bIsUseCharUnitFlag = aUseCharUnit.IsChecked();
-+    SvtCJKOptions aCJKOptions;
-+        bIsUseCharUnitFlag = bIsUseCharUnitFlag && aCJKOptions.IsAsianTypographyEnabled();
-+    if( bIsUseCharUnitFlag != aUseCharUnit.GetSavedValue())
-     {
--        rSet.Put(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, aUseCharUnit.IsChecked()));
-+        rSet.Put(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, bIsUseCharUnitFlag ));
-         bRet = TRUE;
-     }
-     
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index bcfc76d..17d2148 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -331,9 +331,9 @@ void SwTextGridPage::PutGridItem(SfxItemSet& rSet)
-                 m_bHRulerChanged = sal_True;
-             }
-             m_bVRulerChanged = sal_True;
-+            pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-+            pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
-         }
--        pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
--        pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
- }
- /* -----------------------------08.02.2002 10:54------------------------------
- 
-diff --git sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view.cxx
-index 7887ed7..496e683 100644
---- sw/source/ui/uiview/view.cxx
-+++ sw/source/ui/uiview/view.cxx
-@@ -955,16 +955,40 @@ SwView::SwView( SfxViewFrame *_pFrame, SfxViewShell* pOldSh )
- 
-     BOOL bApplyCharUnit = pUsrPref->IsApplyCharUnit();
-     SvtCJKOptions aCJKOptions;
--    if ( aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
--        pHRuler->SetUnit( FUNIT_CHAR );
-+    if ( aCJKOptions.IsAsianTypographyEnabled() )
-+    {
-+        if ( bApplyCharUnit )
-+            eMetric = FUNIT_CHAR;
-+        else
-+        {
-+            if ( eMetric == FUNIT_CHAR )
-+                eMetric = FUNIT_CM;
-+        }
-+    }
-     else
--        pHRuler->SetUnit( eMetric );
-+    {
-+        if ( eMetric == FUNIT_CHAR )
-+            eMetric = FUNIT_INCH;
-+    }
-+    pHRuler->SetUnit( eMetric );
- 
-     eMetric = pUsrPref->GetVScrollMetric();
--    if ( aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
--        pVRuler->SetUnit(FUNIT_LINE);
-+    if ( aCJKOptions.IsAsianTypographyEnabled() )
-+    {
-+        if ( bApplyCharUnit )
-+            eMetric = FUNIT_LINE;
-+        else
-+        {
-+            if ( eMetric == FUNIT_LINE )
-+                eMetric = FUNIT_CM;
-+        }
-+    }
-     else
--        pVRuler->SetUnit( eMetric );
-+    {
-+        if ( eMetric == FUNIT_LINE )
-+            eMetric = FUNIT_INCH;
-+    }
-+    pVRuler->SetUnit( eMetric );
- 
-         pHRuler->SetCharWidth( 371 );  // default character width
-         pVRuler->SetLineHeight( 551 );  // default line height
--- 
-1.7.0.1
-
diff --git a/patches/dev300/cjk-character-units-fix.diff b/patches/dev300/cjk-character-units-fix.diff
deleted file mode 100644
index 53c5189..0000000
--- a/patches/dev300/cjk-character-units-fix.diff
+++ /dev/null
@@ -1,189 +0,0 @@
----
- .../schema/org/openoffice/Office/Writer.xcs        |   24 ++++++++++----------
- sw/source/ui/app/appopt.cxx                        |    1 +
- sw/source/ui/app/swmodul1.cxx                      |    6 +++-
- sw/source/ui/config/optload.cxx                    |    3 ++
- sw/source/ui/config/optload.src                    |    3 +-
- sw/source/ui/config/usrpref.cxx                    |    3 +-
- sw/source/ui/misc/pggrid.cxx                       |    6 ++--
- sw/source/ui/uiview/view.cxx                       |    6 +++-
- 8 files changed, 30 insertions(+), 22 deletions(-)
-
-diff --git officecfg/registry/schema/org/openoffice/Office/Writer.xcs officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-index 7dc2ee5..9abada4 100644
---- officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-+++ officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-@@ -1588,6 +1588,18 @@
- 					</info>
- 					<value>true</value>
- 				</prop>
-+                <!-- added for apply char unit 2006-12-1 -->
-+                <prop oor:name="ApplyCharUnit" oor:type="xs:boolean">
-+                    <!-- OldPath: Writer/Layout -->
-+                    <!-- OldLocation: Soffice.cfg -->
-+                    <!-- UIHints: Tools - Options - Text document - Layout - [Section] Apply char unit -->
-+                    <info>
-+                        <author>OS</author>
-+                        <desc>apply char unit to calculate the paragraph's indent</desc>
-+                        <label>apply char unit</label>
-+                    </info>
-+                    <value>true</value>
-+                </prop>
- 			</group>
- 			<group oor:name="Zoom">
- 				<info>
-@@ -1651,18 +1663,6 @@
- 					</info>
- 					<value>false</value>
- 				</prop>
--                <!-- added for apply char unit 2006-12-1 -->
--                <prop oor:name="ApplyCharUnit" oor:type="xs:boolean">
--                    <!-- OldPath: Writer/Layout -->
--                    <!-- OldLocation: Soffice.cfg -->
--                    <!-- UIHints: Tools - Options - Text document - Layout - [Section] Apply char unit -->
--                    <info>
--                        <author>OS</author>
--                        <desc>apply char unit to calculate the paragraph's indent</desc>
--                        <label>apply char unit</label>
--                    </info>
--                    <value>true</value>
--                </prop>
- 			</group>
- 		</group>
- 		<group oor:name="Grid">
-diff --git sw/source/ui/app/appopt.cxx sw/source/ui/app/appopt.cxx
-index 28d0163..9f3008c 100644
---- sw/source/ui/app/appopt.cxx
-+++ sw/source/ui/app/appopt.cxx
-@@ -230,6 +230,7 @@ SfxItemSet*	 SwModule::CreateItemSet( USHORT nId )
-         pAppView->GetVLinealMetric(eUnit);
-     pRet->Put(SfxUInt16Item( FN_VSCROLL_METRIC, static_cast< UINT16 >(eUnit) ));
-     pRet->Put(SfxUInt16Item( SID_ATTR_METRIC, static_cast< UINT16 >(pPref->GetMetric()) ));
-+    pRet->Put(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, pPref->IsApplyCharUnit()));
-     if(bTextDialog)
-     {
-         if(pAppView)
-diff --git sw/source/ui/app/swmodul1.cxx sw/source/ui/app/swmodul1.cxx
-index 3cb1d4f..07430ed 100644
---- sw/source/ui/app/swmodul1.cxx
-+++ sw/source/ui/app/swmodul1.cxx
-@@ -348,8 +348,10 @@ void SwModule::ApplyUserCharUnit(BOOL bApplyChar, BOOL bWeb)
-     }
-     else
-     {
--        eHScrollMetric = FUNIT_CM;
--        eVScrollMetric = FUNIT_CM;
-+        if ( eHScrollMetric == FUNIT_CHAR )
-+            eHScrollMetric == FUNIT_CM;
-+        if ( eVScrollMetric == FUNIT_LINE )
-+            eVScrollMetric == FUNIT_CM;
-     }
-     SwView* pTmpView = SwModule::GetFirstView();
-     // fuer alle MDI-Fenster das Lineal umschalten
-diff --git sw/source/ui/config/optload.cxx sw/source/ui/config/optload.cxx
-index 15f99c2..9814626 100644
---- sw/source/ui/config/optload.cxx
-+++ sw/source/ui/config/optload.cxx
-@@ -148,7 +148,10 @@ SwLoadOptPage::SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ) :
-     
-     SvtCJKOptions aCJKOptions;
-     if(!aCJKOptions.IsAsianTypographyEnabled())
-+        {
-         aUseSquaredPageMode.Hide();
-+                aUseCharUnit.Hide();
-+        }
- }
- 
- /*-----------------18.01.97 12.43-------------------
-diff --git sw/source/ui/config/optload.src sw/source/ui/config/optload.src
-index 5e0c8c7..a20d578 100644
---- sw/source/ui/config/optload.src
-+++ sw/source/ui/config/optload.src
-@@ -144,8 +144,7 @@ TabPage TP_OPTLOAD_PAGE
-     {
-         Pos = MAP_APPFONT ( 12 , 130) ;
-         Size = MAP_APPFONT ( 109 , 10 ) ;
--        Text [ de ] = "appy char unit" ;
--        Text [ en-US ] = "apply char unit";
-+        Text [ en-US ] = "Enable char unit";
-         Text [ x-comment ] = " ";
-     };
- 
-diff --git sw/source/ui/config/usrpref.cxx sw/source/ui/config/usrpref.cxx
-index 22b2d37..c6be3b6 100644
---- sw/source/ui/config/usrpref.cxx
-+++ sw/source/ui/config/usrpref.cxx
-@@ -63,6 +63,7 @@ SwMasterUsrPref::SwMasterUsrPref(BOOL bWeb) :
-     bIsVScrollMetricSet(sal_False),
-     nDefTab( MM50 * 4 ),
-     bIsSquaredPageMode(sal_False),
-+    bApplyCharUnit(sal_False),
-     aContentConfig(bWeb, *this),
-     aLayoutConfig(bWeb, *this),
-     aGridConfig(bWeb, *this),
-@@ -333,7 +334,7 @@ void SwLayoutViewConfig::Commit()
-             case 16: pValues[nProp] <<= (sal_Int32)rParent.GetViewLayoutColumns(); break;// "ViewLayout/Columns",
-             case 17: bSet = rParent.IsViewLayoutBookMode(); break;// "ViewLayout/BookMode",
-             case 18: bSet = rParent.IsSquaredPageMode(); break;// "Other/IsSquaredPageMode",
--            case 19: bSet = rParent.IsApplyCharUnit(); break;// "Other/IsApplyCharUnit",
-+            case 19: bSet = rParent.IsApplyCharUnit(); break;// "Other/ApplyCharUnit",
-         }
-         if(nProp < 8 || nProp == 10 || nProp == 15 || nProp == 17 || nProp == 18 || nProp == 19 )
-             pValues[nProp].setValue(&bSet, ::getBooleanCppuType());
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index ee7ac77..bcfc76d 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -323,17 +323,17 @@ void SwTextGridPage::PutGridItem(SfxItemSet& rSet)
-         aGridItem.SetColor(aColorLB.GetSelectEntryColor());
-         rSet.Put(aGridItem);
- /// Amelia
-+            SwView * pView = ::GetActiveView();
-         if ( aGridItem.GetGridType() != GRID_NONE )
-         {
--            SwView * pView = ::GetActiveView();
-             if ( aGridItem.GetGridType() == GRID_LINES_CHARS )
-             {
--                pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-                 m_bHRulerChanged = sal_True;
-             }
--            pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
-             m_bVRulerChanged = sal_True;
-         }
-+        pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-+        pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
- }
- /* -----------------------------08.02.2002 10:54------------------------------
- 
-diff --git sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view.cxx
-index ed9edc4..7887ed7 100644
---- sw/source/ui/uiview/view.cxx
-+++ sw/source/ui/uiview/view.cxx
-@@ -116,6 +116,7 @@
- #include <com/sun/star/document/XDocumentProperties.hpp>
- #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
- 
-+#include <svl/cjkoptions.hxx>
- 
- 
- using namespace ::com::sun::star;
-@@ -953,13 +954,14 @@ SwView::SwView( SfxViewFrame *_pFrame, SfxViewShell* pOldSh )
-     FieldUnit eMetric = pUsrPref->GetHScrollMetric();
- 
-     BOOL bApplyCharUnit = pUsrPref->IsApplyCharUnit();
--    if ( bApplyCharUnit )
-+    SvtCJKOptions aCJKOptions;
-+    if ( aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
-         pHRuler->SetUnit( FUNIT_CHAR );
-     else
-         pHRuler->SetUnit( eMetric );
- 
-     eMetric = pUsrPref->GetVScrollMetric();
--    if ( bApplyCharUnit )
-+    if ( aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
-         pVRuler->SetUnit(FUNIT_LINE);
-     else
-         pVRuler->SetUnit( eMetric );
--- 
-1.7.0.1
-
diff --git a/patches/dev300/cjk-character-units-imp.diff b/patches/dev300/cjk-character-units-imp.diff
deleted file mode 100644
index fd4d757..0000000
--- a/patches/dev300/cjk-character-units-imp.diff
+++ /dev/null
@@ -1,647 +0,0 @@
----
- cui/source/tabpages/paragrph.cxx |    9 ++++++
- svtools/inc/ruler.hxx            |    7 ++++
- svtools/source/control/ruler.cxx |   42 ++++++++++++++++++++++++++--
- svtools/source/misc/unitconv.cxx |    3 ++
- svx/inc/dlgutil.hxx              |    1 +
- svx/source/dialog/dlgutil.cxx    |   33 ++++++++++++++++++++++
- sw/inc/swmodule.hxx              |    2 +
- sw/source/ui/app/appopt.cxx      |   10 ++++++
- sw/source/ui/app/swmodul1.cxx    |   57 ++++++++++++++++++++++++++++++++++++++
- sw/source/ui/config/optload.cxx  |   17 +++++++++++
- sw/source/ui/config/usrpref.cxx  |   11 ++++--
- sw/source/ui/inc/pggrid.hxx      |    2 +-
- sw/source/ui/inc/uitool.hxx      |    3 ++
- sw/source/ui/inc/usrpref.hxx     |   12 ++++++++
- sw/source/ui/misc/pggrid.cxx     |   32 ++++++++++++++++++---
- sw/source/ui/shells/textsh1.cxx  |    4 ++
- sw/source/ui/uiview/view.cxx     |   17 ++++++++++-
- sw/source/ui/utlui/uitool.cxx    |   13 ++++++++
- 18 files changed, 260 insertions(+), 15 deletions(-)
-
-diff --git cui/source/tabpages/paragrph.cxx cui/source/tabpages/paragrph.cxx
-index d500078..aa70c22 100644
---- cui/source/tabpages/paragrph.cxx
-+++ cui/source/tabpages/paragrph.cxx
-@@ -38,6 +38,7 @@
- #define _SVX_PARAGRPH_CXX   0
- 
- #include <svl/languageoptions.hxx>
-+#include <svl/cjkoptions.hxx>
- #include <editeng/pgrditem.hxx>
- #include <cuires.hrc>
- #include "paragrph.hrc"
-@@ -438,11 +439,19 @@ void SvxStdParagraphTabPage::Reset( const SfxItemSet& rSet )
- 
-     // Metrik einstellen
-     FieldUnit eFUnit = GetModuleFieldUnit( rSet );
-+
-+    BOOL bApplyCharUnit = GetApplyCharUnit( rSet );
-+
-+    if ( bApplyCharUnit )
-+        eFUnit = FUNIT_CHAR;
-     SetFieldUnit( aLeftIndent, eFUnit );
-     SetFieldUnit( aRightIndent, eFUnit );
-     SetFieldUnit( aFLineIndent, eFUnit );
-+    if ( bApplyCharUnit )
-+        eFUnit = FUNIT_LINE;
-     SetFieldUnit( aTopDist, eFUnit );
-     SetFieldUnit( aBottomDist, eFUnit );
-+    eFUnit = FUNIT_POINT;
-     SetFieldUnit( aLineDistAtMetricBox, eFUnit );
- 
-     USHORT _nWhich = GetWhich( SID_ATTR_LRSPACE );
-diff --git svtools/inc/ruler.hxx svtools/inc/ruler.hxx
-index 48df5f7..a77a517 100644
---- svtools/inc/ruler.hxx
-+++ svtools/inc/ruler.hxx
-@@ -690,6 +690,10 @@ private:
-     USHORT              mnExtraStyle;
-     USHORT              mnExtraClicks;
-     USHORT              mnExtraModifier;
-+// Amelia
-+    long                mnCharWidth;
-+    long                mnLineHeight;
-+
-     RulerExtra          meExtraType;
-     RulerType           meDragType;
-     MapUnit             meSourceUnit;
-@@ -869,6 +873,9 @@ public:
- 
-     //set text direction right-to-left
-     void                SetTextRTL(BOOL bRTL);
-+
-+    void                SetCharWidth( long nWidth ) { mnCharWidth = nWidth ; }
-+    void                SetLineHeight( long nHeight ) { mnLineHeight = nHeight ; }
- };
- 
- #endif  // _RULER_HXX
-diff --git svtools/source/control/ruler.cxx svtools/source/control/ruler.cxx
-index c013b89..dc8ee54 100644
---- svtools/source/control/ruler.cxx
-+++ svtools/source/control/ruler.cxx
-@@ -467,6 +467,25 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-     long    nY;
-     BOOL    bNoTicks = FALSE;
- 
-+    //Amelia
-+    long    nTickUnit ;
-+    long    nTick2 ;
-+    if ( mnUnitIndex == RULER_UNIT_CHAR )
-+    {
-+        nTick3 = mnCharWidth;
-+        nTickCount = mnCharWidth;
-+        nTickUnit = mnCharWidth;
-+        nTick2 = mnCharWidth;
-+    }
-+    else if ( mnUnitIndex == RULER_UNIT_LINE )
-+    {
-+        nTick3 = mnLineHeight;
-+        nTickCount = mnLineHeight;
-+        nTickUnit = mnLineHeight;
-+        nTick2 = mnLineHeight;
-+    }
-+    aPixSize = maVirDev.LogicToPixel( Size( nTick3, nTick3 ), maMapMode );
-+
-     // Groessenvorberechnung
-     BOOL bVertRight = FALSE;
-     if ( mnWinStyle & WB_HORZ )
-@@ -487,7 +506,11 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-     long nMaxWidth = maVirDev.PixelToLogic( Size( mpData->nPageWidth, 0 ), maMapMode ).Width();
-     if ( nMaxWidth < 0 )
-         nMaxWidth *= -1;
--    nMaxWidth /= aImplRulerUnitTab[mnUnitIndex].nTickUnit;
-+// Amelia
-+    if (( mnUnitIndex == RULER_UNIT_CHAR ) || ( mnUnitIndex == RULER_UNIT_LINE ))
-+        nMaxWidth /= nTickUnit;
-+    else
-+        nMaxWidth /= aImplRulerUnitTab[mnUnitIndex].nTickUnit;
-     UniString aNumStr( UniString::CreateFromInt32( nMaxWidth ) );
-     long nTxtWidth = GetTextWidth( aNumStr );
-     if ( (nTxtWidth*2) > nTickWidth )
-@@ -567,7 +590,11 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-                 // Tick3 - Ausgabe (Text)
-                 if ( !(nTick % nTick3) )
-                 {
--                    aNumStr = UniString::CreateFromInt32( nTick / aImplRulerUnitTab[mnUnitIndex].nTickUnit );
-+                    //aNumStr = UniString::CreateFromInt32( nTick / aImplRulerUnitTab[mnUnitIndex].nTickUnit );
-+                    if ( ( mnUnitIndex == RULER_UNIT_CHAR ) || ( mnUnitIndex == RULER_UNIT_LINE ) )
-+                        aNumStr = UniString::CreateFromInt32( nTick / nTickUnit );
-+                    else
-+                        aNumStr = UniString::CreateFromInt32( nTick / aImplRulerUnitTab[mnUnitIndex].nTickUnit );
-                     nTxtWidth2 = GetTextWidth( aNumStr )/2;
- 
-                     nX = nStart+n;
-@@ -594,7 +621,10 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-                 // Tick/Tick2 - Ausgabe (Striche)
-                 else
-                 {
--                    if ( !(nTick % aImplRulerUnitTab[mnUnitIndex].nTick2) )
-+        /// Amelia
-+                    if ( ( mnUnitIndex != RULER_UNIT_CHAR ) && ( mnUnitIndex != RULER_UNIT_LINE ) )
-+                        nTick2 = aImplRulerUnitTab[mnUnitIndex].nTick2;
-+                    if ( !(nTick % nTick2 ) )
-                         nTickWidth = RULER_TICK2_WIDTH;
-                     else
-                         nTickWidth = RULER_TICK1_WIDTH;
-@@ -2804,6 +2834,12 @@ void Ruler::SetUnit( FieldUnit eNewUnit )
-             case FUNIT_PICA:
-                 mnUnitIndex = RULER_UNIT_PICA;
-                 break;
-+            case FUNIT_CHAR:
-+                mnUnitIndex = RULER_UNIT_CHAR;
-+                break;
-+            case FUNIT_LINE:
-+                mnUnitIndex = RULER_UNIT_LINE;
-+                break;
-             default:
- #ifdef DBG_UTIL
-                 DBG_ERRORFILE( "Ruler::SetUnit() - Wrong Unit" );
-diff --git svtools/source/misc/unitconv.cxx svtools/source/misc/unitconv.cxx
-index f900004..6f8516a 100644
---- svtools/source/misc/unitconv.cxx
-+++ svtools/source/misc/unitconv.cxx
-@@ -63,6 +63,9 @@ void SetFieldUnit( MetricField& rField, FieldUnit eUnit, BOOL bAll )
-     rField.SetUnit( eUnit );
-     switch( eUnit )
-     {
-+        // _CHAR and _LINE sets the step of "char" and "line" unit, they are same as FUNIT_MM
-+        case FUNIT_CHAR:
-+        case FUNIT_LINE:
-         case FUNIT_MM:
-             rField.SetSpinSize( 50 );
-             break;
-diff --git svx/inc/dlgutil.hxx svx/inc/dlgutil.hxx
-index 861203c..3e4f736 100644
---- svx/inc/dlgutil.hxx
-+++ svx/inc/dlgutil.hxx
-@@ -39,6 +39,7 @@
- class SfxItemSet;
- 
- SVX_DLLPUBLIC FieldUnit GetModuleFieldUnit( const SfxItemSet& );
-+SVX_DLLPUBLIC BOOL GetApplyCharUnit( const SfxItemSet& );
- 
- #define OUTPUT_DRAWMODE_COLOR		(DRAWMODE_DEFAULT)
- #define OUTPUT_DRAWMODE_CONTRAST	(DRAWMODE_SETTINGSLINE | DRAWMODE_SETTINGSFILL | DRAWMODE_SETTINGSTEXT | DRAWMODE_SETTINGSGRADIENT)
-diff --git svx/source/dialog/dlgutil.cxx svx/source/dialog/dlgutil.cxx
-index 5fa005d..884b49e 100644
---- svx/source/dialog/dlgutil.cxx
-+++ svx/source/dialog/dlgutil.cxx
-@@ -35,6 +35,9 @@
- #include <sfx2/sfxsids.hrc>
- #include <sfx2/module.hxx>
- #include <svl/intitem.hxx>
-+#include <svl/eitem.hxx>
-+#include <sfx2/viewfrm.hxx>
-+#include <sfx2/objsh.hxx>
- 
- // -----------------------------------------------------------------------
- 
-@@ -53,3 +56,33 @@ FieldUnit GetModuleFieldUnit( const SfxItemSet& rSet )
-     return eUnit;
- }
- 
-+BOOL GetApplyCharUnit( const SfxItemSet& rSet )
-+{
-+    BOOL  bUseCharUnit = FALSE;
-+    const SfxPoolItem* pItem = NULL;
-+    if ( SFX_ITEM_SET == rSet.GetItemState( SID_ATTR_APPLYCHARUNIT, FALSE, &pItem ) )
-+        bUseCharUnit = (BOOL)( (const SfxBoolItem*)pItem )->GetValue();
-+    else
-+    {
-+        // FIXME - this might be wrong, cf. the DEV300 changes in GetModuleFieldUnit()
-+        SfxViewFrame* pFrame = SfxViewFrame::Current();
-+        SfxObjectShell* pSh = NULL;
-+        if ( pFrame )
-+            pSh = pFrame->GetObjectShell();
-+        if ( pSh )  // #93209# the object shell is not always available during reload
-+        {
-+            SfxModule* pModule = pSh->GetModule();
-+            if ( pModule )
-+            {
-+                pItem = pModule->GetItem( SID_ATTR_APPLYCHARUNIT );
-+                if ( pItem )
-+                    bUseCharUnit = (BOOL)( (SfxBoolItem*)pItem )->GetValue();
-+            }
-+            else
-+            {
-+                DBG_ERRORFILE( "GetApplyCharUnit(): no module found" );
-+            }
-+        }
-+    }
-+    return bUseCharUnit;
-+}
-diff --git sw/inc/swmodule.hxx sw/inc/swmodule.hxx
-index 24e7fa0..cd661f3 100644
---- sw/inc/swmodule.hxx
-+++ sw/inc/swmodule.hxx
-@@ -169,6 +169,8 @@ public:
-     //default page mode for text grid
-     void ApplyDefaultPageMode(sal_Bool bIsSquaredPageMode);
- 
-+    void ApplyUserCharUnit(BOOL bApplyChar, BOOL bWeb);  // apply_char_unit
-+
-     // ConfigItems erzeugen
-     SwModuleOptions*    GetModuleConfig()		{ return pModuleConfig;}
-     SwPrintOptions* 	GetPrtOptions(sal_Bool bWeb);
-diff --git sw/source/ui/app/appopt.cxx sw/source/ui/app/appopt.cxx
-index a248ac8..28d0163 100644
---- sw/source/ui/app/appopt.cxx
-+++ sw/source/ui/app/appopt.cxx
-@@ -139,6 +139,7 @@ SfxItemSet*	 SwModule::CreateItemSet( USHORT nId )
-                                     FN_PARAM_WRTSHELL,		FN_PARAM_WRTSHELL,
-                                     FN_PARAM_ADDPRINTER, 	FN_PARAM_ADDPRINTER,
-                                     SID_ATTR_METRIC,		SID_ATTR_METRIC,
-+                                    SID_ATTR_APPLYCHARUNIT, SID_ATTR_APPLYCHARUNIT,
-                                     SID_ATTR_DEFTABSTOP, 	SID_ATTR_DEFTABSTOP,
-                                     RES_BACKGROUND,			RES_BACKGROUND,
-                                     SID_HTML_MODE,			SID_HTML_MODE,
-@@ -379,6 +380,15 @@ void SwModule::ApplyItemSet( USHORT nId, const SfxItemSet& rSet )
-         const SfxUInt16Item* pMetricItem = (const SfxUInt16Item*)pItem;
-         ::SetDfltMetric((FieldUnit)pMetricItem->GetValue(), !bTextDialog);
-     }
-+
-+    if( SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_APPLYCHARUNIT,
-+                                                    FALSE, &pItem ) )
-+    {
-+        SFX_APP()->SetOptions(rSet);
-+        const SfxBoolItem* pCharItem = (const SfxBoolItem*)pItem;
-+        ::SetApplyCharUnit(pCharItem->GetValue(), !bTextDialog);
-+    }
-+
-     if( SFX_ITEM_SET == rSet.GetItemState(FN_HSCROLL_METRIC,
-                                                     FALSE, &pItem ) )
-     {
-diff --git sw/source/ui/app/swmodul1.cxx sw/source/ui/app/swmodul1.cxx
-index cc3be1a..3cb1d4f 100644
---- sw/source/ui/app/swmodul1.cxx
-+++ sw/source/ui/app/swmodul1.cxx
-@@ -308,6 +308,63 @@ void SwModule::ApplyRulerMetric( FieldUnit eMetric, BOOL bHorizontal, BOOL bWeb
-         pTmpView = SwModule::GetNextView(pTmpView);
-     }
- }
-+
-+/*-------------------------------------------------
-+set the usrpref 's char unit attribute and set ruler
-+'s unit as char if the "apply char unit" is checked
-+--------------------------------------------------*/
-+void SwModule::ApplyUserCharUnit(BOOL bApplyChar, BOOL bWeb)
-+{
-+    SwMasterUsrPref* pPref;
-+    if(bWeb)
-+    {
-+        if(!pWebUsrPref)
-+        GetUsrPref(sal_True);
-+        pPref = pWebUsrPref;
-+    }
-+    else
-+    {
-+        if(!pUsrPref)
-+        GetUsrPref(sal_False);
-+        pPref = pUsrPref;
-+    }
-+    BOOL  bOldApplyCharUnit = pPref->IsApplyCharUnit();
-+    BOOL    bHasChanged = FALSE;
-+    if(bOldApplyCharUnit != bApplyChar)
-+    {
-+        pPref->SetApplyCharUnit(bApplyChar);
-+        bHasChanged = TRUE;
-+    }
-+
-+    if( !bHasChanged )
-+        return;
-+
-+    FieldUnit eHScrollMetric = pPref->IsHScrollMetric() ? pPref->GetHScrollMetric() : pPref->GetMetric();
-+    FieldUnit eVScrollMetric = pPref->IsVScrollMetric() ? pPref->GetVScrollMetric() : pPref->GetMetric();
-+    if(bApplyChar)
-+    {
-+        eHScrollMetric = FUNIT_CHAR;
-+        eVScrollMetric = FUNIT_LINE;
-+    }
-+    else
-+    {
-+        eHScrollMetric = FUNIT_CM;
-+        eVScrollMetric = FUNIT_CM;
-+    }
-+    SwView* pTmpView = SwModule::GetFirstView();
-+    // fuer alle MDI-Fenster das Lineal umschalten
-+    while(pTmpView)
-+    {
-+        if(bWeb == (0 != PTR_CAST(SwWebView, pTmpView)))
-+        {
-+            pTmpView->ChangeVLinealMetric(eVScrollMetric);
-+            pTmpView->ChangeTabMetric(eHScrollMetric);
-+        }
-+
-+        pTmpView = SwModule::GetNextView(pTmpView);
-+    }
-+}
-+
- /*-----------------13.11.96 11.57-------------------
- 
- --------------------------------------------------*/
-diff --git sw/source/ui/config/optload.cxx sw/source/ui/config/optload.cxx
-index 808ad95..956e774 100644
---- sw/source/ui/config/optload.cxx
-+++ sw/source/ui/config/optload.cxx
-@@ -219,6 +219,12 @@ BOOL __EXPORT SwLoadOptPage::FillItemSet( SfxItemSet& rSet )
-                     (USHORT)aTabMF.Denormalize(aTabMF.GetValue(FUNIT_TWIP))));
-         bRet = TRUE;
-     }
-+
-+    if(aUseCharUnit.IsChecked() != aUseCharUnit.GetSavedValue())
-+    {
-+        rSet.Put(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, aUseCharUnit.IsChecked()));
-+        bRet = TRUE;
-+    }
-     
-     sal_Bool bIsSquaredPageModeFlag = aUseSquaredPageMode.IsChecked();
-     if ( bIsSquaredPageModeFlag != aUseSquaredPageMode.GetSavedValue() )
-@@ -306,6 +312,17 @@ void __EXPORT SwLoadOptPage::Reset( const SfxItemSet& rSet)
-         aUseSquaredPageMode.Check( bSquaredPageMode );
-             aUseSquaredPageMode.SaveValue();
-     }
-+
-+    if(SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_APPLYCHARUNIT, FALSE, &pItem))
-+    {
-+        BOOL bUseCharUnit = ((const SfxBoolItem*)pItem)->GetValue();
-+        aUseCharUnit.Check(bUseCharUnit);
-+    }
-+    else
-+    {
-+        aUseCharUnit.Check(pUsrPref->IsApplyCharUnit());
-+    }
-+    aUseCharUnit.SaveValue();
- }
- /*-----------------13.01.97 14.44-------------------
-     Metric des Deftabstops umschalten
-diff --git sw/source/ui/config/usrpref.cxx sw/source/ui/config/usrpref.cxx
-index 2571361..22b2d37 100644
---- sw/source/ui/config/usrpref.cxx
-+++ sw/source/ui/config/usrpref.cxx
-@@ -263,9 +263,10 @@ Sequence<OUString> SwLayoutViewConfig::GetPropertyNames()
-         "Window/IsVerticalRulerRight",      //15
-         "ViewLayout/Columns",               //16
-         "ViewLayout/BookMode",              //17
--        "Other/IsSquaredPageMode"           //18
-+        "Other/IsSquaredPageMode",        //18
-+        "Other/ApplyCharUnit"               //19
-     };
--    const int nCount = bWeb ? 14 : 19;
-+    const int nCount = bWeb ? 14 : 20;
-     Sequence<OUString> aNames(nCount);
-     OUString* pNames = aNames.getArray();
-     for(int i = 0; i < nCount; i++)
-@@ -332,8 +333,9 @@ void SwLayoutViewConfig::Commit()
-             case 16: pValues[nProp] <<= (sal_Int32)rParent.GetViewLayoutColumns(); break;// "ViewLayout/Columns",
-             case 17: bSet = rParent.IsViewLayoutBookMode(); break;// "ViewLayout/BookMode",
-             case 18: bSet = rParent.IsSquaredPageMode(); break;// "Other/IsSquaredPageMode",
-+            case 19: bSet = rParent.IsApplyCharUnit(); break;// "Other/IsApplyCharUnit",
-         }
--        if(nProp < 8 || nProp == 10 || nProp == 15 || nProp == 17 || nProp == 18 )
-+        if(nProp < 8 || nProp == 10 || nProp == 15 || nProp == 17 || nProp == 18 || nProp == 19 )
-             pValues[nProp].setValue(&bSet, ::getBooleanCppuType());
-     }
-     PutProperties(aNames, aValues);
-@@ -353,7 +355,7 @@ void SwLayoutViewConfig::Load()
-         {
-             if(pValues[nProp].hasValue())
-             {
--                sal_Bool bSet = nProp < 8 || nProp == 10 || nProp == 17 || nProp == 18 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
-+                sal_Bool bSet = nProp < 8 || nProp == 10 || nProp == 17 || nProp == 18 || nProp == 19 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False;
-                 switch(nProp)
-                 {
-                     case  0: rParent.SetCrossHair(bSet); break;// "Line/Guide",
-@@ -419,6 +421,7 @@ void SwLayoutViewConfig::Load()
-                     break;// "ViewLayout/Columns",
-                     case 17: rParent.SetViewLayoutBookMode(bSet); break;// "ViewLayout/BookMode",
-                     case 18: rParent.SetDefaultPageMode(bSet,TRUE); break;// "Other/IsSquaredPageMode",
-+                    case 19: rParent.SetApplyCharUnit(bSet); break;// "Other/ApplyUserChar"
-                 }
-             }
-         }
-diff --git sw/source/ui/inc/pggrid.hxx sw/source/ui/inc/pggrid.hxx
-index 281009a..7111d77 100644
---- sw/source/ui/inc/pggrid.hxx
-+++ sw/source/ui/inc/pggrid.hxx
-@@ -76,7 +76,7 @@ class SwTextGridPage: public SfxTabPage
-     FixedText       aColorFT;
-     ColorListBox    aColorLB;
- 
--    Window*         aControls[18];
-+    Window*         aControls[20];
- 
-     sal_Int32       m_nRubyUserValue;
-     sal_Bool        m_bRubyUserValue;
-diff --git sw/source/ui/inc/uitool.hxx sw/source/ui/inc/uitool.hxx
-index 65abd12..eaaf99f 100644
---- sw/source/ui/inc/uitool.hxx
-+++ sw/source/ui/inc/uitool.hxx
-@@ -73,6 +73,9 @@ void SfxToSwPageDescAttr( const SwWrtShell& rShell, SfxItemSet& rSet );
- SW_DLLPUBLIC FieldUnit	GetDfltMetric(BOOL bWeb);
- void		SetDfltMetric(FieldUnit	eMetric, BOOL bWeb);
- 
-+SW_DLLPUBLIC BOOL HasCharUnit( BOOL bWeb );
-+void SetApplyCharUnit(BOOL bApplyChar, BOOL bWeb);
-+
- // ListBox mit allen Zeichenvorlagen fuellen - ausser Standard!
- SW_DLLPUBLIC void FillCharStyleListBox(ListBox& rToFill, SwDocShell* pDocSh, BOOL bSorted = FALSE, BOOL bWithDefault = FALSE);
- 
-diff --git sw/source/ui/inc/usrpref.hxx sw/source/ui/inc/usrpref.hxx
-index 9f3f3e4..c35db3a 100644
---- sw/source/ui/inc/usrpref.hxx
-+++ sw/source/ui/inc/usrpref.hxx
-@@ -153,6 +153,7 @@ class SwMasterUsrPref : public SwViewOption
-     SwCursorConfig      aCursorConfig;
-     SwWebColorConfig*   pWebColorConfig;
- 
-+    sal_Bool bApplyCharUnit; // apply_char_unit
- public:
-     SwMasterUsrPref(BOOL bWeb);
-     ~SwMasterUsrPref();
-@@ -254,6 +255,17 @@ public:
-                         aLayoutConfig.SetModified();
-                 }
- 
-+    sal_Bool    IsApplyCharUnit() const
-+    {
-+        return bApplyCharUnit;
-+    }
-+    void   SetApplyCharUnit(BOOL bSet, sal_Bool bNoModify = sal_False)
-+    {
-+        bApplyCharUnit = bSet;
-+        if(!bNoModify)
-+            aLayoutConfig.SetModified();
-+    }
-+
-     sal_Int32   GetDefTab() const { return nDefTab;}
-     void        SetDefTab( sal_Int32  nSet, sal_Bool bNoModify = sal_False )
-                 {
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index 673f78b..d054574 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -113,7 +113,9 @@ SwTextGridPage::SwTextGridPage(Window *pParent, const SfxItemSet &rSet) :
-     aControls[14] =&aPrintCB;
-     aControls[15] =&aColorFT;
-     aControls[16] =&aColorLB;
--    aControls[17] =0;
-+    aControls[17] =&aLinesRangeFT;
-+    aControls[18] =&aCharsRangeFT;
-+    aControls[19] =0;
- 
-     Link aLink = LINK(this, SwTextGridPage, CharorLineChangedHdl);
-     aCharsPerLineNF.SetUpHdl(aLink);
-@@ -309,6 +311,10 @@ void SwTextGridPage::PutGridItem(SfxItemSet& rSet)
-         aGridItem.SetPrintGrid(aPrintCB.IsChecked());
-         aGridItem.SetColor(aColorLB.GetSelectEntryColor());
-         rSet.Put(aGridItem);
-+/// Amelia
-+        SwView * pView = ::GetActiveView();
-+        pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-+        pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
- }
- /* -----------------------------08.02.2002 10:54------------------------------
- 
-@@ -413,6 +419,10 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
-             long nHeight = static_cast< sal_Int32 >(m_aPageSize.Height() / aLinesPerPageNF.GetValue());
-             aTextSizeMF.SetValue(aTextSizeMF.Normalize(nHeight), FUNIT_TWIP);
-             aRubySizeMF.SetValue(0, FUNIT_TWIP);
-+            String aMaxLinesFTStr = String::CreateFromAscii("( 1 - ");
-+            aMaxLinesFTStr += String::CreateFromInt32(aLinesPerPageNF.GetValue());
-+            aMaxLinesFTStr += String::CreateFromAscii(" )");
-+            aLinesRangeFT.SetText( aMaxLinesFTStr );
-             
-             m_nRubyUserValue = nHeight;
-             m_bRubyUserValue = sal_True;
-@@ -421,6 +431,10 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
-         {
-             long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / aCharsPerLineNF.GetValue());
-             aCharWidthMF.SetValue(aCharWidthMF.Normalize(nWidth), FUNIT_TWIP);
-+            String aMaxCharsFTStr = String::CreateFromAscii("( 1 - ");
-+            aMaxCharsFTStr += String::CreateFromInt32(aCharsPerLineNF.GetValue());
-+            aMaxCharsFTStr += String::CreateFromAscii(" )");
-+            aCharsRangeFT.SetText( aMaxCharsFTStr );
-         }
-     }
-     GridModifyHdl(0);
-@@ -436,7 +450,6 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
-         if (&aTextSizeMF == pField)
-         {
-             sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
--            aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
-             m_bRubyUserValue = sal_False;
-         }
-         //set maximum line per page
-@@ -454,14 +467,22 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
-             sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
-             aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
-             m_bRubyUserValue = sal_False;
-+            String aRangesStr = String::CreateFromAscii("( 1 - ");
-+            aRangesStr += String::CreateFromInt32( m_aPageSize.Height() / nTextSize );
-+            aRangesStr += String::CreateFromAscii(" )");
-+            aLinesRangeFT.SetText( aRangesStr );
-         }
-         else if (&aCharWidthMF == pField)
-         {
-             sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP)));
-+            sal_Int32 nMaxChar = 45 ;
-             if (nTextWidth)
--                aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 
--            else
--                aCharsPerLineNF.SetValue( 45 );
-+                nMaxChar = m_aPageSize.Width() / nTextWidth;
-+            aCharsPerLineNF.SetValue( nMaxChar );
-+            String aCharRangeStr = String::CreateFromAscii("( 1 - ");
-+            aCharRangeStr += String::CreateFromInt32( nMaxChar );
-+            aCharRangeStr += String::CreateFromAscii(" )");
-+            aCharsRangeFT.SetText( aCharRangeStr );
-         }
-         //rubySize is disabled
-     }
-@@ -489,6 +510,7 @@ IMPL_LINK(SwTextGridPage, GridTypeHdl, RadioButton*, pButton)
-     {
-         aCharsPerLineFT.Enable(sal_False);
-         aCharsPerLineNF.Enable(sal_False);
-+        aCharsRangeFT.Enable(sal_False);
-         aCharWidthFT.Enable(sal_False);
-         aCharWidthMF.Enable(sal_False);
-     }
-diff --git sw/source/ui/shells/textsh1.cxx sw/source/ui/shells/textsh1.cxx
-index 8a02ce6..1e3b6ff 100644
---- sw/source/ui/shells/textsh1.cxx
-+++ sw/source/ui/shells/textsh1.cxx
-@@ -877,6 +877,10 @@ void SwTextShell::Execute(SfxRequest &rReq)
-         {
-             FieldUnit eMetric = ::GetDfltMetric(0 != PTR_CAST(SwWebView, &GetView()));
-             SW_MOD()->PutItem(SfxUInt16Item(SID_ATTR_METRIC, static_cast< UINT16 >(eMetric)));
-+
-+            BOOL bApplyCharUnit = ::HasCharUnit(0 != PTR_CAST(SwWebView, &GetView()));
-+            SW_MOD()->PutItem(SfxBoolItem(SID_ATTR_APPLYCHARUNIT, bApplyCharUnit));
-+
-             SfxItemSet aCoreSet( GetPool(),
-                             RES_PARATR_BEGIN,           RES_PARATR_END - 1,
-                             // --> OD 2008-02-25 #refactorlists#
-diff --git sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view.cxx
-index 10b3c58..ed9edc4 100644
---- sw/source/ui/uiview/view.cxx
-+++ sw/source/ui/uiview/view.cxx
-@@ -117,6 +117,7 @@
- #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
- 
- 
-+
- using namespace ::com::sun::star;
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star::lang;
-@@ -950,9 +951,21 @@ SwView::SwView( SfxViewFrame *_pFrame, SfxViewShell* pOldSh )
-     pVRuler->SetZoom( aZoomFract );
-     pHRuler->SetDoubleClickHdl(LINK( this, SwView, ExecRulerClick ));
-     FieldUnit eMetric = pUsrPref->GetHScrollMetric();
--    pHRuler->SetUnit( eMetric );
-+
-+    BOOL bApplyCharUnit = pUsrPref->IsApplyCharUnit();
-+    if ( bApplyCharUnit )
-+        pHRuler->SetUnit( FUNIT_CHAR );
-+    else
-+        pHRuler->SetUnit( eMetric );
-+
-     eMetric = pUsrPref->GetVScrollMetric();
--    pVRuler->SetUnit( eMetric );
-+    if ( bApplyCharUnit )
-+        pVRuler->SetUnit(FUNIT_LINE);
-+    else
-+        pVRuler->SetUnit( eMetric );
-+
-+        pHRuler->SetCharWidth( 371 );  // default character width
-+        pVRuler->SetLineHeight( 551 );  // default line height
- 
-     // DocShell setzen
-     pDocSh->SetView( this );
-diff --git sw/source/ui/utlui/uitool.cxx sw/source/ui/utlui/uitool.cxx
-index c9e10d6..08cae53 100644
---- sw/source/ui/utlui/uitool.cxx
-+++ sw/source/ui/utlui/uitool.cxx
-@@ -736,6 +736,19 @@ String GetAppLangDateTimeString( const DateTime& rDT )
-     return sRet;
- }
- 
-+/*----------------------------------------------------------------------------
-+ * add a new function which can get and set the current "SID_ATTR_APPLYCHARUNIT" value
-+ *---------------------------------------------------------------------------*/
-+BOOL HasCharUnit( BOOL bWeb)
-+{
-+    return SW_MOD()->GetUsrPref(bWeb)->IsApplyCharUnit();
-+}
-+
-+void SetApplyCharUnit(BOOL bApplyChar, BOOL bWeb)
-+{
-+    SW_MOD()->ApplyUserCharUnit(bApplyChar, bWeb);
-+}
-+
- /*-- 26.01.2006 08:06:33---------------------------------------------------
- 
-   -----------------------------------------------------------------------*/
--- 
-1.7.0.1
-
diff --git a/patches/dev300/cjk-character-units-in-pggrid-fix.diff b/patches/dev300/cjk-character-units-in-pggrid-fix.diff
deleted file mode 100644
index ea78ba8..0000000
--- a/patches/dev300/cjk-character-units-in-pggrid-fix.diff
+++ /dev/null
@@ -1,132 +0,0 @@
----
- sw/source/ui/inc/pggrid.hxx  |    1 +
- sw/source/ui/misc/pggrid.cxx |   42 ++++++++++++++++++++++++++----------------
- 2 files changed, 27 insertions(+), 16 deletions(-)
-
-diff --git sw/source/ui/inc/pggrid.hxx sw/source/ui/inc/pggrid.hxx
-index 4a584a4..5317f48 100644
---- sw/source/ui/inc/pggrid.hxx
-+++ sw/source/ui/inc/pggrid.hxx
-@@ -93,6 +93,7 @@ class SwTextGridPage: public SfxTabPage
- 
-     void UpdatePageSize(const SfxItemSet& rSet);
-     void PutGridItem(SfxItemSet& rSet);
-+    void SetLinesOrCharsRanges(FixedText & rField, const sal_Int32 nValue );
- 
-     DECL_LINK(GridTypeHdl, RadioButton*);
-     DECL_LINK(CharorLineChangedHdl, SpinField*);
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index 17d2148..9fa8515 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -259,6 +259,7 @@ void    SwTextGridPage::Reset(const SfxItemSet &rSet)
-         GridTypeHdl(pButton);
-         aSnapToCharsCB.Check(rGridItem.IsSnapToChars());
-         aLinesPerPageNF.SetValue(rGridItem.GetLines());
-+        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-         m_nRubyUserValue = rGridItem.GetBaseHeight();
-         m_bRubyUserValue = sal_True;
-         aTextSizeMF.SetValue(aTextSizeMF.Normalize(m_nRubyUserValue), FUNIT_TWIP);
-@@ -384,6 +385,12 @@ void SwTextGridPage::UpdatePageSize(const SfxItemSet& rSet)
-         if ( m_bSquaredMode )
-         {
-             aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
-+        aCharsPerLineNF.SetMax( aCharsPerLineNF.GetValue() );
-+            aLinesPerPageNF.SetMax( m_aPageSize.Height() /
-+        (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
-+                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-+            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-+            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-         }
-         else
-         {
-@@ -393,9 +400,21 @@ void SwTextGridPage::UpdatePageSize(const SfxItemSet& rSet)
-                 aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth); 
-             else
-                 aCharsPerLineNF.SetValue( 45 );
-+        SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-+        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-         }
-     }
- }
-+/* -----------------------------30.05.2008 14:12------------------------------
-+
-+ ---------------------------------------------------------------------------*/
-+void SwTextGridPage::SetLinesOrCharsRanges(FixedText & rField, const sal_Int32 nValue )
-+{
-+    String aFieldStr = String::CreateFromAscii("( 1 -");
-+    aFieldStr += String::CreateFromInt32( nValue );
-+    aFieldStr += String::CreateFromAscii(" )");
-+    rField.SetText( aFieldStr );
-+}
- /* -----------------------------06.02.2002 15:24------------------------------
- 
-  ---------------------------------------------------------------------------*/
-@@ -430,6 +449,8 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
-                     aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-             aLinesPerPageNF.SetMax(nMaxLines);
-         }
-+        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-+    SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-     }
-     else//in normal mode
-     {
-@@ -438,10 +459,7 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
-             long nHeight = static_cast< sal_Int32 >(m_aPageSize.Height() / aLinesPerPageNF.GetValue());
-             aTextSizeMF.SetValue(aTextSizeMF.Normalize(nHeight), FUNIT_TWIP);
-             aRubySizeMF.SetValue(0, FUNIT_TWIP);
--            String aMaxLinesFTStr = String::CreateFromAscii("( 1 - ");
--            aMaxLinesFTStr += String::CreateFromInt32(aLinesPerPageNF.GetValue());
--            aMaxLinesFTStr += String::CreateFromAscii(" )");
--            aLinesRangeFT.SetText( aMaxLinesFTStr );
-+            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-             
-             m_nRubyUserValue = nHeight;
-             m_bRubyUserValue = sal_True;
-@@ -450,10 +468,7 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField*, pField)
-         {
-             long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / aCharsPerLineNF.GetValue());
-             aCharWidthMF.SetValue(aCharWidthMF.Normalize(nWidth), FUNIT_TWIP);
--            String aMaxCharsFTStr = String::CreateFromAscii("( 1 - ");
--            aMaxCharsFTStr += String::CreateFromInt32(aCharsPerLineNF.GetValue());
--            aMaxCharsFTStr += String::CreateFromAscii(" )");
--            aCharsRangeFT.SetText( aMaxCharsFTStr );
-+            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-         }
-     }
-     GridModifyHdl(0);
-@@ -477,6 +492,7 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
-                 (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
-                     aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-             aLinesPerPageNF.SetMax(nMaxLines);
-+            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-         }
-     }
-     else
-@@ -486,10 +502,7 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
-             sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
-             aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
-             m_bRubyUserValue = sal_False;
--            String aRangesStr = String::CreateFromAscii("( 1 - ");
--            aRangesStr += String::CreateFromInt32( m_aPageSize.Height() / nTextSize );
--            aRangesStr += String::CreateFromAscii(" )");
--            aLinesRangeFT.SetText( aRangesStr );
-+            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-         }
-         else if (&aCharWidthMF == pField)
-         {
-@@ -498,10 +511,7 @@ IMPL_LINK(SwTextGridPage, TextSizeChangedHdl, SpinField*, pField)
-             if (nTextWidth)
-                 nMaxChar = m_aPageSize.Width() / nTextWidth;
-             aCharsPerLineNF.SetValue( nMaxChar );
--            String aCharRangeStr = String::CreateFromAscii("( 1 - ");
--            aCharRangeStr += String::CreateFromInt32( nMaxChar );
--            aCharRangeStr += String::CreateFromAscii(" )");
--            aCharsRangeFT.SetText( aCharRangeStr );
-+            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-         }
-         //rubySize is disabled
-     }
--- 
-1.7.0.1
-
diff --git a/patches/dev300/cjk-character-units-rulers-sync-with-pggrid-fix.diff b/patches/dev300/cjk-character-units-rulers-sync-with-pggrid-fix.diff
deleted file mode 100644
index 72c9706..0000000
--- a/patches/dev300/cjk-character-units-rulers-sync-with-pggrid-fix.diff
+++ /dev/null
@@ -1,118 +0,0 @@
----
- svtools/inc/ruler.hxx            |    2 ++
- svtools/source/control/ruler.cxx |   12 ++++++++++--
- sw/source/ui/inc/pggrid.hxx      |    2 ++
- sw/source/ui/misc/pggrid.cxx     |   24 ++++++++++++++++++++----
- 4 files changed, 34 insertions(+), 6 deletions(-)
-
-diff --git svtools/inc/ruler.hxx svtools/inc/ruler.hxx
-index a77a517..22eec9f 100644
---- svtools/inc/ruler.hxx
-+++ svtools/inc/ruler.hxx
-@@ -876,6 +876,8 @@ public:
- 
-     void                SetCharWidth( long nWidth ) { mnCharWidth = nWidth ; }
-     void                SetLineHeight( long nHeight ) { mnLineHeight = nHeight ; }
-+
-+    void                DrawTicks();
- };
- 
- #endif  // _RULER_HXX
-diff --git svtools/source/control/ruler.cxx svtools/source/control/ruler.cxx
-index df4b461..24092c3 100644
---- svtools/source/control/ruler.cxx
-+++ svtools/source/control/ruler.cxx
-@@ -476,14 +476,14 @@ void Ruler::ImplDrawTicks( long nMin, long nMax, long nStart, long nCenter )
-     long    nTick2 ;
-     if ( mnUnitIndex == RULER_UNIT_CHAR )
-     {
--        nTick3 = mnCharWidth;
-+        nTick3 = mnCharWidth*2;
-         nTickCount = mnCharWidth;
-         nTickUnit = mnCharWidth;
-         nTick2 = mnCharWidth;
-     }
-     else if ( mnUnitIndex == RULER_UNIT_LINE )
-     {
--        nTick3 = mnLineHeight;
-+        nTick3 = mnLineHeight*2;
-         nTickCount = mnLineHeight;
-         nTickUnit = mnLineHeight;
-         nTick2 = mnLineHeight;
-@@ -3219,3 +3219,11 @@ const RulerBorder*  Ruler::GetBorders() const { return mpData->pBorders; }
- USHORT              Ruler::GetIndentCount() const { return mpData->nIndents; }
- const RulerIndent*  Ruler::GetIndents() const { return mpData->pIndents; }
- 
-+/* ---------------------------------------------------
-+ *
-+ * ---------------------------------------------------*/
-+void Ruler::DrawTicks()
-+{
-+    mbFormat = TRUE;
-+    ImplDraw();
-+}
-diff --git sw/source/ui/inc/pggrid.hxx sw/source/ui/inc/pggrid.hxx
-index a05adbd..4a584a4 100644
---- sw/source/ui/inc/pggrid.hxx
-+++ sw/source/ui/inc/pggrid.hxx
-@@ -85,6 +85,8 @@ class SwTextGridPage: public SfxTabPage
-     Size            m_aPageSize;
-     sal_Bool        m_bVertical;
-     sal_Bool		m_bSquaredMode;
-+    sal_Bool        m_bHRulerChanged;
-+    sal_Bool        m_bVRulerChanged;
- 
-     SwTextGridPage(Window *pParent, const SfxItemSet &rSet);
-     ~SwTextGridPage();
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index 22e2472..ee7ac77 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -95,7 +95,9 @@ SwTextGridPage::SwTextGridPage(Window *pParent, const SfxItemSet &rSet) :
-     m_bRubyUserValue(sal_False),
-     m_aPageSize(MM50, MM50),
-     m_bVertical(sal_False),
--    m_bSquaredMode(sal_False)
-+    m_bSquaredMode(sal_False),
-+    m_bHRulerChanged( sal_False ),
-+    m_bVRulerChanged( sal_False )
- {
-     FreeResource();
- 
-@@ -229,6 +231,12 @@ BOOL    SwTextGridPage::FillItemSet(SfxItemSet &rSet)
-         bRet = TRUE;
-     }
- 
-+    // draw ticks of ruler
-+    SwView * pView = ::GetActiveView();
-+    if ( m_bHRulerChanged )
-+        pView->GetHLineal().DrawTicks();
-+    if ( m_bVRulerChanged )
-+        pView->GetVLineal().DrawTicks();
-     return bRet;
- }
- /*-- 06.02.2002 15:25:40---------------------------------------------------
-@@ -315,9 +323,17 @@ void SwTextGridPage::PutGridItem(SfxItemSet& rSet)
-         aGridItem.SetColor(aColorLB.GetSelectEntryColor());
-         rSet.Put(aGridItem);
- /// Amelia
--        SwView * pView = ::GetActiveView();
--        pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
--        pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
-+        if ( aGridItem.GetGridType() != GRID_NONE )
-+        {
-+            SwView * pView = ::GetActiveView();
-+            if ( aGridItem.GetGridType() == GRID_LINES_CHARS )
-+            {
-+                pView->GetHLineal().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-+                m_bHRulerChanged = sal_True;
-+            }
-+            pView->GetVLineal().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
-+            m_bVRulerChanged = sal_True;
-+        }
- }
- /* -----------------------------08.02.2002 10:54------------------------------
- 
--- 
-1.7.0.1
-
diff --git a/patches/dev300/cjk-character-units-ui.diff b/patches/dev300/cjk-character-units-ui.diff
deleted file mode 100644
index 9176f16..0000000
--- a/patches/dev300/cjk-character-units-ui.diff
+++ /dev/null
@@ -1,529 +0,0 @@
----
- .../schema/org/openoffice/Office/Writer.xcs        |   12 +++++++
- rsc/inc/vclrsc.hxx                                 |    2 +-
- rsc/source/parser/rscibas.cxx                      |    3 ++
- sfx2/inc/sfx2/sfxsids.hrc                          |    1 +
- sfx2/sdi/sfx.sdi                                   |   27 +++++++++++++++
- svl/inc/svl/poolitem.hxx                           |    2 +-
- svtools/source/control/ruler.cxx                   |    8 +++-
- svx/source/dialog/ruler.hrc                        |    3 +-
- svx/source/dialog/ruler.src                        |   12 +++++++
- svx/source/dialog/sdstring.src                     |    2 +
- svx/source/dialog/svxruler.cxx                     |   11 +++++-
- sw/source/ui/config/optload.cxx                    |    6 +++
- sw/source/ui/config/optload.hrc                    |    1 +
- sw/source/ui/config/optload.src                    |   12 +++++++
- sw/source/ui/config/optpage.cxx                    |   23 ++++++++++---
- sw/source/ui/inc/optload.hxx                       |    1 +
- sw/source/ui/inc/pggrid.hxx                        |    2 +
- sw/source/ui/misc/pggrid.cxx                       |    3 ++
- sw/source/ui/misc/pggrid.hrc                       |    2 +
- sw/source/ui/misc/pggrid.src                       |   12 +++++++
- tools/inc/tools/fldunit.hxx                        |    2 +-
- vcl/source/control/field.cxx                       |   34 ++++++++++++-------
- vcl/source/src/units.src                           |    3 ++
- 23 files changed, 157 insertions(+), 27 deletions(-)
-
-diff --git officecfg/registry/schema/org/openoffice/Office/Writer.xcs officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-index 4a3c2c0..7dc2ee5 100644
---- officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-+++ officecfg/registry/schema/org/openoffice/Office/Writer.xcs
-@@ -1651,6 +1651,18 @@
- 					</info>
- 					<value>false</value>
- 				</prop>
-+                <!-- added for apply char unit 2006-12-1 -->
-+                <prop oor:name="ApplyCharUnit" oor:type="xs:boolean">
-+                    <!-- OldPath: Writer/Layout -->
-+                    <!-- OldLocation: Soffice.cfg -->
-+                    <!-- UIHints: Tools - Options - Text document - Layout - [Section] Apply char unit -->
-+                    <info>
-+                        <author>OS</author>
-+                        <desc>apply char unit to calculate the paragraph's indent</desc>
-+                        <label>apply char unit</label>
-+                    </info>
-+                    <value>true</value>
-+                </prop>
- 			</group>
- 		</group>
- 		<group oor:name="Grid">
-diff --git rsc/inc/vclrsc.hxx rsc/inc/vclrsc.hxx
-index b384495..d565984 100644
---- rsc/inc/vclrsc.hxx
-+++ rsc/inc/vclrsc.hxx
-@@ -173,7 +173,7 @@ typedef sal_Int64 WinBits;
- // from vcl/inc/fldunit.hxx
- enum FieldUnit { FUNIT_NONE, FUNIT_MM, FUNIT_CM, FUNIT_M, FUNIT_KM,
-                  FUNIT_TWIP, FUNIT_POINT, FUNIT_PICA,
--                 FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CUSTOM,
-+                 FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CHAR, FUNIT_LINE, FUNIT_CUSTOM,
-                  FUNIT_PERCENT, FUNIT_100TH_MM };
- 
- 
-diff --git rsc/source/parser/rscibas.cxx rsc/source/parser/rscibas.cxx
-index ddf223f..793e884 100644
---- rsc/source/parser/rscibas.cxx
-+++ rsc/source/parser/rscibas.cxx
-@@ -237,6 +237,9 @@ RscEnum * RscTypCont::InitFieldUnitsType()
-     SETCONST( pFieldUnits, "FUNIT_FOOT", FUNIT_FOOT );
-     SETCONST( pFieldUnits, "FUNIT_MILE", FUNIT_MILE );
-     SETCONST( pFieldUnits, "FUNIT_CUSTOM", FUNIT_CUSTOM );
-+    // Amelia : adds two units ,"char" and "line"
-+    SETCONST( pFieldUnits, "FUNIT_CHAR", FUNIT_CHAR );
-+    SETCONST( pFieldUnits, "FUNIT_LINE", FUNIT_LINE );
-     SETCONST( pFieldUnits, "FUNIT_PERCENT", FUNIT_PERCENT );
- 
-     return pFieldUnits;
-diff --git sfx2/inc/sfx2/sfxsids.hrc sfx2/inc/sfx2/sfxsids.hrc
-index 846b6c5..9000359 100644
---- sfx2/inc/sfx2/sfxsids.hrc
-+++ sfx2/inc/sfx2/sfxsids.hrc
-@@ -754,6 +754,7 @@
- #define SID_ATTR_QUICKLAUNCHER			(SID_OPTIONS_START + 74)
- #define SID_ATTR_YEAR2000				(SID_OPTIONS_START + 87)
- #define SID_ATTR_ALLOWFOLDERWEBVIEW   	(SID_OPTIONS_START + 92)
-+#define SID_ATTR_APPLYCHARUNIT          (SID_OPTIONS_START + 88)
- 
- 
- // PathTabPage
-diff --git sfx2/sdi/sfx.sdi sfx2/sdi/sfx.sdi
-index bfff106..d50d271 100644
---- sfx2/sdi/sfx.sdi
-+++ sfx2/sdi/sfx.sdi
-@@ -3802,6 +3802,33 @@ SfxUInt16Item MetricUnit SID_ATTR_METRIC
- ]
- 
- //--------------------------------------------------------------------------
-+SfxBoolItem ApplyCharUnit SID_ATTR_APPLYCHARUNIT
-+
-+[
-+    /* flags: */
-+    AutoUpdate = TRUE,
-+    Cachable = Cachable,
-+    FastCall = FALSE,
-+    HasCoreId = FALSE,
-+    HasDialog = FALSE,
-+    ReadOnlyDoc = TRUE,
-+    Toggle = FALSE,
-+    Container = FALSE,
-+    RecordAbsolute = FALSE,
-+    RecordPerSet;
-+    Synchron;
-+
-+    Readonly = FALSE,
-+
-+    /* config: */
-+    AccelConfig = FALSE,
-+    MenuConfig = FALSE,
-+    StatusBarConfig = FALSE,
-+    ToolBoxConfig = FALSE,
-+    GroupId = GID_VIEW;
-+]
-+
-+//--------------------------------------------------------------------------
- SfxBoolItem Modified SID_MODIFIED
- 
- [
-diff --git svl/inc/svl/poolitem.hxx svl/inc/svl/poolitem.hxx
-index 480c0dd..e371bc5 100644
---- svl/inc/svl/poolitem.hxx
-+++ svl/inc/svl/poolitem.hxx
-@@ -100,7 +100,7 @@ enum SfxFieldUnit
- {
-     SFX_FUNIT_NONE, SFX_FUNIT_MM, SFX_FUNIT_CM, SFX_FUNIT_M, SFX_FUNIT_KM,
-     SFX_FUNIT_TWIP, SFX_FUNIT_POINT, SFX_FUNIT_PICA,
--    SFX_FUNIT_INCH, SFX_FUNIT_FOOT, SFX_FUNIT_MILE, SFX_FUNIT_CUSTOM
-+    SFX_FUNIT_INCH, SFX_FUNIT_FOOT, SFX_FUNIT_MILE, SFX_FUNIT_CHAR, SFX_FUNIT_LINE, SFX_FUNIT_CUSTOM
- };
- 
- enum SfxMapUnit
-diff --git svtools/source/control/ruler.cxx svtools/source/control/ruler.cxx
-index dc8ee54..df4b461 100644
---- svtools/source/control/ruler.cxx
-+++ svtools/source/control/ruler.cxx
-@@ -81,7 +81,9 @@
- #define RULER_UNIT_MILE     6
- #define RULER_UNIT_POINT    7
- #define RULER_UNIT_PICA     8
--#define RULER_UNIT_COUNT    9
-+#define RULER_UNIT_CHAR	    9
-+#define RULER_UNIT_LINE    10
-+#define RULER_UNIT_COUNT    11
- 
- // -----------------
- // - ImplRulerData -
-@@ -145,7 +147,9 @@ static ImplRulerUnitData aImplRulerUnitTab[RULER_UNIT_COUNT] =
- { MAP_100TH_INCH,     1200,   120,    600,   1200,   30480, 3, "'"      }, // FOOT
- { MAP_10TH_INCH,    633600, 63360, 316800, 633600, 1609344, 4, " miles" }, // MILE
- { MAP_POINT,             1,    12,     12,     36,     353, 2, " pt"    }, // POINT
--{ MAP_100TH_MM,        423,   423,    423,    846,     423, 3, " pi"    }  // PICA
-+{ MAP_100TH_MM,        423,   423,    423,    846,     423, 3, " pi"    }, // PICA
-+{ MAP_100TH_MM,	       371,   371,    371,    743,     371, 3, " ch"    }, // CHAR
-+{ MAP_100TH_MM,        551,   551,    551,   1102,     551, 3, " li"    }  // LINE
- };
- 
- // =======================================================================
-diff --git svx/source/dialog/ruler.hrc svx/source/dialog/ruler.hrc
-index 8031270..101130b 100644
---- svx/source/dialog/ruler.hrc
-+++ svx/source/dialog/ruler.hrc
-@@ -34,4 +34,5 @@
- #define ID_MILE 10
- #define ID_POINT 6
- #define ID_PICA 7
--
-+#define ID_CHAR 11
-+#define ID_LINE 12
-diff --git svx/source/dialog/ruler.src svx/source/dialog/ruler.src
-index 5937ab9..b30ca44 100644
---- svx/source/dialog/ruler.src
-+++ svx/source/dialog/ruler.src
-@@ -87,6 +87,18 @@ Menu RID_SVXMN_RULER
-             Checkable = TRUE ;
-             Text [ en-US ] = "Pica" ;
-         };
-+        MenuItem
-+        {
-+            Identifier = ID_CHAR ;
-+            Checkable = TRUE ;
-+            Text[ en-US ] = "Char" ;
-+        };
-+        MenuItem
-+        {
-+            Identifier = ID_LINE ;
-+            Checkable = TRUE ;
-+            Text[ en-US ] = "Line" ;
-+        };
-     };
- };
- String RID_SVXSTR_RULER_TAB_LEFT
-diff --git svx/source/dialog/sdstring.src svx/source/dialog/sdstring.src
-index d862c1a..4a5be0d 100644
---- svx/source/dialog/sdstring.src
-+++ svx/source/dialog/sdstring.src
-@@ -1178,6 +1178,8 @@ StringArray RID_SVXSTR_FIELDUNIT_TABLE
-         < "Miles" ; FUNIT_MILE ; > ;
-         < "Pica" ; FUNIT_PICA ; > ;
-         < "Point" ; FUNIT_POINT ; > ;
-+        < "Char" ; FUNIT_CHAR ; > ;
-+        < "Line" ; FUNIT_LINE ; > ;
-     };
-     };
- 
-diff --git svx/source/dialog/svxruler.cxx svx/source/dialog/svxruler.cxx
-index 7e8d41b..3e05ad5 100644
---- svx/source/dialog/svxruler.cxx
-+++ svx/source/dialog/svxruler.cxx
-@@ -3763,8 +3763,15 @@ void SvxRuler::Command( const CommandEvent& rCEvt )
-                         (nId == FUNIT_M ||
-                          nId == FUNIT_KM ||
-                          nId == FUNIT_FOOT ||
--                         nId == FUNIT_MILE ))
--                    aMenu.RemoveItem(i - 1);
-+                         nId == FUNIT_MILE ||
-+                         nId == FUNIT_CHAR ||
-+                         nId == FUNIT_LINE ))
-+                    if (( nId == FUNIT_CHAR ) && bHorz )
-+                           ;
-+                    else if (( nId == FUNIT_LINE ) && !bHorz )
-+                           ;
-+                    else
-+                           aMenu.RemoveItem(i - 1);
-             }
-             aMenu.Execute( this, rCEvt.GetMousePosPixel() );
-         }
-diff --git sw/source/ui/config/optload.cxx sw/source/ui/config/optload.cxx
-index 956e774..15f99c2 100644
---- sw/source/ui/config/optload.cxx
-+++ sw/source/ui/config/optload.cxx
-@@ -77,6 +77,10 @@
- 
- using namespace ::com::sun::star;
- 
-+#ifndef _SFXENUMITEM_HXX //autogen
-+#include <svl/eitem.hxx>
-+#endif
-+
- /* -----------------22.10.98 15:12-------------------
-  *
-  * --------------------------------------------------*/
-@@ -100,6 +104,7 @@ SwLoadOptPage::SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ) :
-     aTabFT              ( this, SW_RES( FT_TAB ) ),
-     aTabMF              ( this, SW_RES( MF_TAB ) ),
-     aUseSquaredPageMode ( this, SW_RES( CB_USE_SQUARE_PAGE_MODE ) ),
-+    aUseCharUnit             ( this , SW_RES( CB_USE_CHAR_UNIT ) ),
- 
-     pWrtShell	( NULL ),
-     bHTMLMode   ( FALSE ),
-@@ -122,6 +127,7 @@ SwLoadOptPage::SwLoadOptPage( Window* pParent, const SfxItemSet& rSet ) :
-             case FUNIT_POINT:
-             case FUNIT_PICA:
-             case FUNIT_INCH:
-+            case FUNIT_CHAR:
-             {
-                 // nur diese Metriken benutzen
-                 USHORT nPos = aMetricLB.InsertEntry( sMetric );
-diff --git sw/source/ui/config/optload.hrc sw/source/ui/config/optload.hrc
-index 89aff72..12b7a3c 100644
---- sw/source/ui/config/optload.hrc
-+++ sw/source/ui/config/optload.hrc
-@@ -41,6 +41,7 @@
- #define FT_TAB					21
- #define MF_TAB					22
- #define CB_USE_SQUARE_PAGE_MODE 23
-+#define CB_USE_CHAR_UNIT    			24
- 
- // SwCaptionOptPage -----------------------------
- 
-diff --git sw/source/ui/config/optload.src sw/source/ui/config/optload.src
-index 618c0db..5e0c8c7 100644
---- sw/source/ui/config/optload.src
-+++ sw/source/ui/config/optload.src
-@@ -139,6 +139,16 @@ TabPage TP_OPTLOAD_PAGE
-         Text [ en-US ] = "Use square page mode for text grid";
-         Text [ zh-CN ] = "使用稿纸模式";
-     };
-+
-+    CheckBox CB_USE_CHAR_UNIT
-+    {
-+        Pos = MAP_APPFONT ( 12 , 130) ;
-+        Size = MAP_APPFONT ( 109 , 10 ) ;
-+        Text [ de ] = "appy char unit" ;
-+        Text [ en-US ] = "apply char unit";
-+        Text [ x-comment ] = " ";
-+    };
-+
- };
- /**************************************************************************/
- /*                                                                        */
-@@ -394,6 +404,8 @@ StringArray STR_ARR_METRIC
-         < "Miles" ; FUNIT_MILE ; > ;
-         < "Pica" ; FUNIT_PICA ; > ;
-         < "Point" ; FUNIT_POINT ; > ;
-+        < "Char" ; FUNIT_CHAR ; >;
-+        < "Line" ; FUNIT_LINE ; >;
-     };
- };
- 
-diff --git sw/source/ui/config/optpage.cxx sw/source/ui/config/optpage.cxx
-index 8d39438..de4f359 100755
---- sw/source/ui/config/optpage.cxx
-+++ sw/source/ui/config/optpage.cxx
-@@ -176,14 +176,25 @@ SwContentOptPage::SwContentOptPage( Window* pParent,
-             case FUNIT_POINT:
-             case FUNIT_PICA:
-             case FUNIT_INCH:
-+            case FUNIT_CHAR:    // add two units , 'character' and 'line' , their ticks are not fixed
-+            case FUNIT_LINE:
-             {
-                 // nur diese Metriken benutzen
--                USHORT nPos = aMetricLB.InsertEntry( sMetric );
--                aMetricLB.SetEntryData( nPos, (void*)(long)eFUnit );
--                aVMetric.InsertEntry( sMetric );
--                aVMetric.SetEntryData( nPos, (void*)(long)eFUnit );
--                aHMetric.InsertEntry( sMetric );
--                aHMetric.SetEntryData( nPos, (void*)(long)eFUnit );
-+                                // a horizontal ruler has not the 'line' unit
-+                                // there isn't 'line' unit in HTML format
-+                                if ( eFUnit != FUNIT_LINE )
-+                                {
-+                        USHORT nPos = aMetricLB.InsertEntry( sMetric );
-+                        aMetricLB.SetEntryData( nPos, (void*)(long)eFUnit );
-+                            aHMetric.InsertEntry( sMetric );
-+                                    aHMetric.SetEntryData( nPos, (void*)(long)eFUnit );
-+                                }
-+                                // a vetical ruler has not the 'character' unit
-+                if ( eFUnit != FUNIT_CHAR )
-+                {
-+                            USHORT nPos = aVMetric.InsertEntry( sMetric );
-+                            aVMetric.SetEntryData( nPos, (void*)(long)eFUnit );
-+                }
-             }
-             default:;//prevent warning
-         }
-diff --git sw/source/ui/inc/optload.hxx sw/source/ui/inc/optload.hxx
-index 4adfb96..2e17cb6 100644
---- sw/source/ui/inc/optload.hxx
-+++ sw/source/ui/inc/optload.hxx
-@@ -68,6 +68,7 @@ private:
-     FixedText   aTabFT;
-     MetricField aTabMF;
-     CheckBox    aUseSquaredPageMode;
-+    CheckBox    aUseCharUnit;
- 
-     SwWrtShell*	pWrtShell;
-     sal_Bool    bHTMLMode;
-diff --git sw/source/ui/inc/pggrid.hxx sw/source/ui/inc/pggrid.hxx
-index 7111d77..a05adbd 100644
---- sw/source/ui/inc/pggrid.hxx
-+++ sw/source/ui/inc/pggrid.hxx
-@@ -54,12 +54,14 @@ class SwTextGridPage: public SfxTabPage
- 
-     FixedText       aLinesPerPageFT;
-     NumericField    aLinesPerPageNF;
-+    FixedText       aLinesRangeFT;
- 
-     FixedText       aTextSizeFT;
-     MetricField     aTextSizeMF;
- 
-     FixedText       aCharsPerLineFT;
-     NumericField    aCharsPerLineNF;
-+    FixedText       aCharsRangeFT;
- 
-     FixedText       aCharWidthFT;
-     MetricField     aCharWidthMF;    
-diff --git sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/pggrid.cxx
-index d054574..22e2472 100644
---- sw/source/ui/misc/pggrid.cxx
-+++ sw/source/ui/misc/pggrid.cxx
-@@ -51,6 +51,7 @@
- #include <editeng/ulspitem.hxx>
- #include <editeng/boxitem.hxx>
- #include <editeng/frmdiritem.hxx>
-+#include <svx/ruler.hxx>
- #include <pggrid.hxx>
- #include <tgrditem.hxx>
- #include <pggrid.hrc>
-@@ -74,10 +75,12 @@ SwTextGridPage::SwTextGridPage(Window *pParent, const SfxItemSet &rSet) :
-     aLayoutFL               (this, SW_RES(FL_LAYOUT          )),
-     aLinesPerPageFT         (this, SW_RES(FT_LINESPERPAGE    )),
-     aLinesPerPageNF         (this, SW_RES(NF_LINESPERPAGE    )),
-+    aLinesRangeFT           (this, SW_RES(FT_LINERANGE    )),
-     aTextSizeFT             (this, SW_RES(FT_TEXTSIZE        )),
-     aTextSizeMF             (this, SW_RES(MF_TEXTSIZE        )),
-     aCharsPerLineFT         (this, SW_RES(FT_CHARSPERLINE    )),
-     aCharsPerLineNF         (this, SW_RES(NF_CHARSPERLINE    )),
-+    aCharsRangeFT           (this, SW_RES(FT_CHARRANGE       )),
-     aCharWidthFT            (this, SW_RES(FT_CHARWIDTH        )),
-     aCharWidthMF            (this, SW_RES(MF_CHARWIDTH        )),
-     aRubySizeFT             (this, SW_RES(FT_RUBYSIZE        )),
-diff --git sw/source/ui/misc/pggrid.hrc sw/source/ui/misc/pggrid.hrc
-index 695bad1..567a1df 100644
---- sw/source/ui/misc/pggrid.hrc
-+++ sw/source/ui/misc/pggrid.hrc
-@@ -50,3 +50,5 @@
- #define CB_SNAPTOCHARS      23
- #define FT_CHARWIDTH        24
- #define MF_CHARWIDTH        25
-+#define FT_LINERANGE       26
-+#define FT_CHARRANGE       27
-diff --git sw/source/ui/misc/pggrid.src sw/source/ui/misc/pggrid.src
-index 76bd702..a6377dd 100644
---- sw/source/ui/misc/pggrid.src
-+++ sw/source/ui/misc/pggrid.src
-@@ -97,6 +97,12 @@ TabPage TP_TEXTGRID_PAGE
-         Last = 154 ;
-         SpinSize = 1 ;
-     };
-+    FixedText       FT_LINERANGE
-+    {
-+        Pos = MAP_APPFONT ( 103 , 82 ) ;
-+        Size = MAP_APPFONT ( 25 , 8 );
-+        Text [ en-US ] = "( 1 - 48 )" ;
-+    };
-     FixedText       FT_TEXTSIZE
-     {
-         Pos = MAP_APPFONT ( 133 , 82 ) ;
-@@ -166,6 +172,12 @@ TabPage TP_TEXTGRID_PAGE
-         Last = 5600 ;
-         SpinSize = 5 ;
-     };
-+    FixedText       FT_CHARRANGE
-+    {
-+        Pos = MAP_APPFONT ( 103 , 96 ) ;
-+        Size = MAP_APPFONT ( 25 , 8 ) ;
-+        Text [ en-US ] = "( 1 - 45 )" ;
-+    };
-     FixedText       FT_RUBYSIZE
-     {
-         Pos = MAP_APPFONT ( 133 , 98 ) ;
-diff --git tools/inc/tools/fldunit.hxx tools/inc/tools/fldunit.hxx
-index b89ff85..d3d7dca 100644
---- tools/inc/tools/fldunit.hxx
-+++ tools/inc/tools/fldunit.hxx
-@@ -35,7 +35,7 @@
- // By changes you must also change: rsc/vclrsc.hxx
- enum FieldUnit { FUNIT_NONE, FUNIT_MM, FUNIT_CM, FUNIT_M, FUNIT_KM,
-                  FUNIT_TWIP, FUNIT_POINT, FUNIT_PICA,
--                 FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CUSTOM,
-+                 FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CHAR, FUNIT_LINE, FUNIT_CUSTOM,
-                  FUNIT_PERCENT, FUNIT_100TH_MM };
- 
- #endif // _TOOLS_FLDUNIT_HXX
-diff --git vcl/source/control/field.cxx vcl/source/control/field.cxx
-index f66ce78..88be56a 100644
---- vcl/source/control/field.cxx
-+++ vcl/source/control/field.cxx
-@@ -1128,6 +1128,10 @@ static FieldUnit ImplStringToMetric( const String &rMetricString )
-         if ( strAllUnits->GetString( i ).Equals( aStr ) )
-             return (FieldUnit) strAllUnits->GetValue( i );
- 
-+    // Amelia : about character unit
-+    if (aStr.EqualsIgnoreCaseAscii("cm"))
-+        return FUNIT_CM;
-+
-     return FUNIT_NONE;
- }
- 
-@@ -1143,20 +1147,24 @@ static FieldUnit ImplMetricGetUnit( const XubString& rStr )
- #define M *1000000L
- #define X *5280L
- 
--static const sal_Int64 aImplFactor[FUNIT_MILE+1][FUNIT_MILE+1] =
-+// Amelia : about measurement unit, 'char' and 'line'
-+//static const sal_Int64 aImplFactor[FUNIT_MILE+1][FUNIT_MILE+1] =
-+static const sal_Int64 aImplFactor[FUNIT_LINE+1][FUNIT_LINE+1] =
- { /*
--mm/100    mm    cm       m     km  twip point  pica  inch    foot     mile */
--{    1,  100,  1 K,  100 K, 100 M, 2540, 2540, 2540, 2540,2540*12,2540*12 X },
--{    1,    1,   10,    1 K,   1 M, 2540, 2540, 2540, 2540,2540*12,2540*12 X },
--{    1,    1,    1,    100, 100 K,  254,  254,  254,  254, 254*12, 254*12 X },
--{    1,    1,    1,      1,   1 K,  254,  254,  254,  254, 254*12, 254*12 X },
--{    1,    1,    1,      1,     1,    0,  254,  254,  254, 254*12, 254*12 X },
--{ 1440,144 K,144 K,14400 K,     0,    1,   20,  240, 1440,1440*12,1440*12 X },
--{   72, 7200, 7200,  720 K, 720 M,    1,    1,   12,   72,  72*12,  72*12 X },
--{    6,  600,  600,   60 K,  60 M,    1,    1,    1,    6,   6*12,   6*12 X },
--{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,     12,     12 X },
--{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,      1,      1 X },
--{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,      1,        1 }
-+mm/100    mm    cm       m     km  twip point  pica  inch    foot     mile    char    line*/
-+{    1,  100,  1 K,  100 K, 100 M, 2540, 2540, 2540, 2540,2540*12,2540*12 X ,   53340, 396240},
-+{    1,    1,   10,    1 K,   1 M, 2540, 2540, 2540, 2540,2540*12,2540*12 X ,    5334, 396240},
-+{    1,    1,    1,    100, 100 K,  254,  254,  254,  254, 254*12, 254*12 X ,    5334,  39624},
-+{    1,    1,    1,      1,   1 K,  254,  254,  254,  254, 254*12, 254*12 X ,  533400,  39624},
-+{    1,    1,    1,      1,     1,    0,  254,  254,  254, 254*12, 254*12 X ,533400 K,  39624},
-+{ 1440,144 K,144 K,14400 K,     0,    1,   20,  240, 1440,1440*12,1440*12 X ,     210,   3120},
-+{   72, 7200, 7200,  720 K, 720 M,    1,    1,   12,   72,  72*12,  72*12 X ,     210,    156},
-+{    6,  600,  600,   60 K,  60 M,    1,    1,    1,    6,   6*12,   6*12 X ,     210,     10},
-+{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,     12,     12 X ,     210,     45},
-+{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,      1,      1 X ,     210,     45},
-+{    1,  100,  100,   10 K,  10 M,    1,    1,    1,    1,      1,        1 ,     210,     45},
-+{  144, 1440,14400,  14400, 14400,    1,   20,  240, 1440,1440*12, 1440*12 X,       1,   156 },
-+{  720,72000,72000, 7200 K,7200 M,   20,   10,   13,   11,  11*12,   11*12 X,     105,     1 }
- };
- 
- #undef X
-diff --git vcl/source/src/units.src vcl/source/src/units.src
-index f50ea6b..aff92ad 100644
---- vcl/source/src/units.src
-+++ vcl/source/src/units.src
-@@ -30,6 +30,7 @@
- #include <vcl/svids.hrc>
- #endif
- 
-+// Amelia : adds two units , 'ch' and 'line'
- StringArray SV_FUNIT_STRINGS
- {
-     ItemList [ en-US ] =
-@@ -51,6 +52,8 @@ StringArray SV_FUNIT_STRINGS
-         < "feet" ; FUNIT_FOOT ; > ;
-         < "miles" ; FUNIT_MILE ; > ;
-         < "mile" ; FUNIT_MILE ; > ;
-+        < "ch" ; FUNIT_CHAR ; > ;
-+        < "line" ; FUNIT_LINE ; > ;
-         < "%" ; FUNIT_PERCENT ; > ;
-     };
- };
--- 
-1.7.0.1
-
commit dbe04e7719bb5931b9b9df43f3f2491647485a95
Author: Cédric Bosdonnat <cedricbosdo at openoffice.org>
Date:   Mon Sep 13 14:10:14 2010 +0200

    Moved plus-minus-sw-navigator*.diff to git repos

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 9cff46d..b16cd93 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -217,10 +217,6 @@ speed-pagein.diff, i#57679, michael
 # also guess office path from testtool.bin path i#FIXME?
 testtool-more-defaults.diff, martink
 
-#Fix plus/minus in to each heading in Navigator
-plus-minus-sw-navigator.diff, i#64886, n#129410, jianhua
-plus-minus-sw-navigator2.diff, i#64886, n#129410, jianhua
-
 #set default varchar lenght to 100.
 dbaccess-default-varchar-lenght.diff, i#62664, jianhua
 #for selection delete crash
diff --git a/patches/dev300/plus-minus-sw-navigator.diff b/patches/dev300/plus-minus-sw-navigator.diff
deleted file mode 100644
index 43a9433..0000000
--- a/patches/dev300/plus-minus-sw-navigator.diff
+++ /dev/null
@@ -1,225 +0,0 @@
----
- sw/source/ui/utlui/content.cxx |  134 +++++++++++++++++++++++++++++++---------
- 1 files changed, 105 insertions(+), 29 deletions(-)
-
-diff --git sw/source/ui/utlui/content.cxx sw/source/ui/utlui/content.cxx
-index 418d9ac..b15ee57 100644
---- sw/source/ui/utlui/content.cxx
-+++ sw/source/ui/utlui/content.cxx
-@@ -1240,18 +1240,63 @@ void  SwContentTree::RequestingChilds( SvLBoxEntry* pParent )
-             SwContentType* pCntType = (SwContentType*)pParent->GetUserData();
- 
-             sal_uInt16 nCount = pCntType->GetMemberCount();
--            for(sal_uInt16 i = 0; i < nCount; i++)
--            {
--                const SwContent* pCnt = pCntType->GetMember(i);
--                if(pCnt)
--                {
--                    String sEntry = pCnt->GetName();
--                    if(!sEntry.Len())
--                        sEntry = sSpace;
--                    InsertEntry(sEntry, pParent,
--                            sal_False, LIST_APPEND, (void*)pCnt);
--                }
--
-+             /**************************************************************
-+                 Add for outline plus/minus
-+             ***************************************************************/
-+             if(pCntType->GetType() == CONTENT_TYPE_OUTLINE)
-+             {
-+                 SvLBoxEntry* pChild = 0;
-+                 for(sal_uInt16 i = 0; i < nCount; i++)
-+                 {
-+                     const SwContent* pCnt = pCntType->GetMember(i);
-+                     if(pCnt)
-+                     {
-+                         sal_uInt16 nLevel = ((SwOutlineContent*)pCnt)->GetOutlineLevel();
-+                         String sEntry = pCnt->GetName();
-+                         if(!sEntry.Len())
-+                             sEntry = sSpace;
-+                         if(!pChild || (nLevel == 0))
-+                             pChild = InsertEntry(sEntry, pParent,
-+                                         sal_False, LIST_APPEND,(void*)pCnt);
-+                         else
-+                         {
-+                             //back search parent.
-+                             if(((SwOutlineContent*)pCntType->GetMember(i-1))->GetOutlineLevel() < nLevel)
-+                                 pChild = InsertEntry(sEntry, pChild,
-+                                         sal_False, LIST_APPEND, (void*)pCnt);
-+                             else
-+                             {
-+                                 pChild = Prev(pChild);
-+                                 while(pChild &&
-+                                         lcl_IsContent(pChild) &&
-+                                         !(((SwOutlineContent*)pChild->GetUserData())->GetOutlineLevel() < nLevel)
-+                                      )
-+                                 {
-+                                     pChild = Prev(pChild);
-+                                 }
-+                                 if(pChild)
-+                                     pChild = InsertEntry(sEntry, pChild,
-+                                                 sal_False, LIST_APPEND, (void*)pCnt);
-+                             }
-+                        }
-+                     }
-+                 }
-+             }
-+             else
-+             {
-+                 for(sal_uInt16 i = 0; i < nCount; i++)
-+                 {
-+                     const SwContent* pCnt = pCntType->GetMember(i);
-+                     if(pCnt)
-+                     {
-+                         String sEntry = pCnt->GetName();
-+                         if(!sEntry.Len())
-+                             sEntry = sSpace;
-+                         InsertEntry(sEntry, pParent,
-+                             sal_False, LIST_APPEND, (void*)pCnt);
-+                     }
-+
-+                 }
-             }
-         }
-     }
-@@ -1263,7 +1308,7 @@ void  SwContentTree::RequestingChilds( SvLBoxEntry* pParent )
- 
- sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
- {
--    if(!bIsRoot)
-+    if(!bIsRoot || ((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE)
-     {
-         if(lcl_IsContentType(pParent))
-         {
-@@ -1276,6 +1321,19 @@ sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
-             }
-             else
-                 nHiddenBlock |= nOr;
-+            if((pCntType->GetType() == CONTENT_TYPE_OUTLINE))
-+            {
-+                sal_Bool bBool = SvTreeListBox::Expand(pParent);
-+                SvLBoxEntry* pChild = Next(pParent);
-+                while(pChild && lcl_IsContent(pChild) && pParent->HasChilds())
-+                {
-+                    if(pChild->HasChilds())
-+                        SvTreeListBox::Expand(pChild);
-+                    pChild = Next(pChild);
-+                }
-+                return bBool;
-+            }
-+
-         }
-     }
-     return SvTreeListBox::Expand(pParent);
-@@ -1288,10 +1346,12 @@ sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
- sal_Bool  SwContentTree::Collapse( SvLBoxEntry* pParent )
- {
-     sal_Bool bRet;
--    if(!bIsRoot)
-+    if(!bIsRoot || ((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE)
-     {
-         if(lcl_IsContentType(pParent))
-         {
-+            if(bIsRoot)
-+                return bRet = sal_False;
-             SwContentType* pCntType = (SwContentType*)pParent->GetUserData();
-             sal_uInt16 nAnd = 1 << pCntType->GetType();
-             nAnd = ~nAnd;
-@@ -1306,7 +1366,8 @@ sal_Bool  SwContentTree::Collapse( SvLBoxEntry* pParent )
-             bRet = SvTreeListBox::Collapse(pParent);
-     }
-     else
--        bRet = sal_False;
-+//		bRet = sal_False;
-+        bRet = SvTreeListBox::Collapse(pParent);
-     return bRet;
- }
- 
-@@ -1323,9 +1384,9 @@ IMPL_LINK( SwContentTree, ContentDoubleClickHdl, SwContentTree *, EMPTYARG )
-     DBG_ASSERT(pEntry, "kein aktueller Eintrag!");
-     if(pEntry)
-     {
--        if(lcl_IsContentType(pEntry))
-+        if(lcl_IsContentType(pEntry) && !pEntry->HasChilds())
-             RequestingChilds(pEntry);
--        else if(bIsActive || bIsConstant)
-+        else if(!lcl_IsContentType(pEntry) && (bIsActive || bIsConstant))
-         {
-             if(bIsConstant)
-             {
-@@ -1369,9 +1430,14 @@ void SwContentTree::Display( sal_Bool bActive )
-             nOldScrollPos = pVScroll->GetThumbPos();
- 
-         sEntryName = GetEntryText(pOldSelEntry);
-+        SvLBoxEntry* pParantEntry = pOldSelEntry;
-+        while( GetParent(pParantEntry))
-+        {
-+            pParantEntry = GetParent(pParantEntry);
-+        }
-         if(GetParent(pOldSelEntry))
-         {
--            nEntryRelPos = (sal_uInt16)(GetModel()->GetAbsPos(pOldSelEntry) - GetModel()->GetAbsPos(GetParent(pOldSelEntry)));
-+            nEntryRelPos = (sal_uInt16)(GetModel()->GetAbsPos(pOldSelEntry) - GetModel()->GetAbsPos(pParantEntry));
-         }
-     }
-     Clear();
-@@ -1465,18 +1531,24 @@ void SwContentTree::Display( sal_Bool bActive )
-                     (*ppRootContentT)->GetName(), rImage, rImage,
-                         0, sal_False, LIST_APPEND, *ppRootContentT);
- 
--            for(sal_uInt16 i = 0; i < (*ppRootContentT)->GetMemberCount(); i++ )
-+            if(nRootType != CONTENT_TYPE_OUTLINE)
-             {
--                const SwContent* pCnt = (*ppRootContentT)->GetMember(i);
--                if(pCnt)
-+                SvLBoxEntry* pEntry;
-+                for(sal_uInt16 i = 0; i < (*ppRootContentT)->GetMemberCount(); i++ )
-                 {
--                    String sEntry = pCnt->GetName();
--                    if(!sEntry.Len())
--                        sEntry = sSpace;
--                    InsertEntry( sEntry, pParent,
--                                sal_False, LIST_APPEND, (void*)pCnt);
-+                    const SwContent* pCnt = (*ppRootContentT)->GetMember(i);
-+                    if(pCnt)
-+                    {
-+                        String sEntry = pCnt->GetName();
-+                        if(!sEntry.Len())
-+                            sEntry = sSpace;
-+                        InsertEntry( sEntry, pParent,
-+                            sal_False, LIST_APPEND, (void*)pCnt);
-+                    }
-                 }
--            }
-+             }
-+             else
-+                 RequestingChilds(pParent);
-             Expand(pParent);
-             if( nRootType == CONTENT_TYPE_OUTLINE && bIsActive )
-             {
-@@ -1851,9 +1923,9 @@ sal_Bool SwContentTree::HasContentChanged()
-                     // or if the visibility of objects (frames, sections, tables) has changed
-                     // i.e. in header/footer
-                     pArrType->FillMemberList(&bLevelOrVisibiblityChanged);
--                    if(bLevelOrVisibiblityChanged)
--                        bInvalidate = sal_True;
-                     sal_uInt16 nChildCount = (sal_uInt16)GetChildCount(pEntry);
-+                    if((nType == CONTENT_TYPE_OUTLINE) && bLevelOrVisibiblityChanged)
-+                        bRepaint = sal_True;
-                     if(bLevelOrVisibiblityChanged)
-                         bInvalidate = sal_True;
- 
-@@ -2760,6 +2832,10 @@ sal_Bool  SwContentTree::Select( SvLBoxEntry* pEntry, sal_Bool bSelect )
-         return sal_False;
-     sal_Bool bEnable = sal_False;
-     SvLBoxEntry* pParentEntry = GetParent(pEntry);
-+    while(pParentEntry && (!lcl_IsContentType(pParentEntry)))
-+    {
-+        pParentEntry = GetParent(pParentEntry);
-+    }
-     if(!bIsLastReadOnly && (!IsVisible() ||
-         (bIsRoot && nRootType == CONTENT_TYPE_OUTLINE && pParentEntry ||
-             lcl_IsContent(pEntry) && ((SwContentType*)pParentEntry->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE)))
--- 
-1.7.0.1
-
diff --git a/patches/dev300/plus-minus-sw-navigator2.diff b/patches/dev300/plus-minus-sw-navigator2.diff
deleted file mode 100644
index be6f706..0000000
--- a/patches/dev300/plus-minus-sw-navigator2.diff
+++ /dev/null
@@ -1,164 +0,0 @@
----
- sw/source/ui/inc/conttree.hxx  |    5 +++
- sw/source/ui/utlui/content.cxx |   74 +++++++++++++++++++++++++++++++++++++--
- 2 files changed, 75 insertions(+), 4 deletions(-)
-
-diff --git sw/source/ui/inc/conttree.hxx sw/source/ui/inc/conttree.hxx
-index 2e0d8e4..1b56866 100644
---- sw/source/ui/inc/conttree.hxx
-+++ sw/source/ui/inc/conttree.hxx
-@@ -30,6 +30,9 @@
- #include <svtools/svtreebx.hxx>
- #include "swcont.hxx"
- 
-+#include<map>
-+//using namespace std;
-+
- class SwWrtShell;
- class SwContentType;
- class SwNavigationPI;
-@@ -74,6 +77,8 @@ class SwContentTree : public SvTreeListBox
-     SwWrtShell* 		pActiveShell;   // die aktive oder eine konst. offene View
-     SwNavigationConfig*	pConfig;
- 
-+    std::map< void*, sal_Bool > mOutLineNodeMap;
-+
-     sal_Int32           nActiveBlock;
-     USHORT				nHiddenBlock;
-     USHORT 				nRootType;
-diff --git sw/source/ui/utlui/content.cxx sw/source/ui/utlui/content.cxx
-index b15ee57..a59244a 100644
---- sw/source/ui/utlui/content.cxx
-+++ sw/source/ui/utlui/content.cxx
-@@ -968,7 +968,6 @@ SwContentTree::~SwContentTree()
- /***************************************************************************
-     Drag&Drop methods
- ***************************************************************************/
--
- void SwContentTree::StartDrag( sal_Int8 nAction, const Point& rPosPixel )
- {
-     if( !bIsRoot || nRootType != CONTENT_TYPE_OUTLINE )
-@@ -1018,8 +1017,45 @@ sal_Int8 SwContentTree::AcceptDrop( const AcceptDropEvent& rEvt )
- /***************************************************************************
-     Beschreibung:	Drop wird im Navigator ausgefuehrt
- ***************************************************************************/
-+void* lcl_GetOutlineKey( SwContentTree* pTree, SwOutlineContent* pContent)
-+{
-+    void* key = 0;
-+    if( pTree && pContent )
-+    {
-+        SwWrtShell* pShell = pTree->GetWrtShell();
-+        sal_Int32 nPos = pContent->GetYPos();
-+        if( nPos )
-+        {
-+            key = (void*)pShell->getIDocumentOutlineNodesAccess()->getOutlineNode( nPos );
-+        }
-+    }
-+    return key;
-+}
-+
- sal_Int8 SwContentTree::ExecuteDrop( const ExecuteDropEvent& rEvt )
- {
-+    SvLBoxEntry* pEntry = pTargetEntry;
-+    if( pEntry && ( nRootType == CONTENT_TYPE_OUTLINE ) && lcl_IsContent( pEntry ) )
-+    {
-+        SwOutlineContent* pOutlineContent = ( SwOutlineContent* )( pEntry->GetUserData() );
-+        if( pOutlineContent )
-+        {
-+            void* key = lcl_GetOutlineKey(this, pOutlineContent);
-+            if( !mOutLineNodeMap[key] )
-+            {
-+                while( pEntry->HasChilds() )
-+                {
-+                    SvLBoxEntry* pChildEntry = FirstChild( pEntry );
-+                    while( pChildEntry )
-+                    {
-+                        pEntry = pChildEntry;
-+                        pChildEntry = NextSibling( pChildEntry );
-+                    }
-+                }
-+                pTargetEntry = pEntry;
-+            }
-+        }
-+    }
-     if( bIsRoot )
-         return SvTreeListBox::ExecuteDrop( rEvt );
-     return bIsInDrag ? DND_ACTION_NONE : GetParentWindow()->ExecuteDrop(rEvt);
-@@ -1308,7 +1344,8 @@ void  SwContentTree::RequestingChilds( SvLBoxEntry* pParent )
- 
- sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
- {
--    if(!bIsRoot || ((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE)
-+    if(!bIsRoot || (((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE) ||
-+            (nRootType == CONTENT_TYPE_OUTLINE))
-     {
-         if(lcl_IsContentType(pParent))
-         {
-@@ -1323,18 +1360,39 @@ sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
-                 nHiddenBlock |= nOr;
-             if((pCntType->GetType() == CONTENT_TYPE_OUTLINE))
-             {
-+                std::map< void*, sal_Bool > mCurrOutLineNodeMap;
-+
-+                SwWrtShell* pShell = GetWrtShell();
-                 sal_Bool bBool = SvTreeListBox::Expand(pParent);
-                 SvLBoxEntry* pChild = Next(pParent);
-                 while(pChild && lcl_IsContent(pChild) && pParent->HasChilds())
-                 {
-                     if(pChild->HasChilds())
--                        SvTreeListBox::Expand(pChild);
-+                    {
-+                        sal_Int32 nPos = ((SwContent*)pChild->GetUserData())->GetYPos();
-+                        void* key = (void*)pShell->getIDocumentOutlineNodesAccess()->getOutlineNode( nPos );
-+                        mCurrOutLineNodeMap.insert(std::map<void*, sal_Bool>::value_type( key, sal_False ) );
-+                        std::map<void*,sal_Bool>::iterator iter = mOutLineNodeMap.find( key );
-+                        if( iter != mOutLineNodeMap.end() && mOutLineNodeMap[key])
-+                        {
-+                            mCurrOutLineNodeMap[key] = sal_True;
-+                            SvTreeListBox::Expand(pChild);
-+                        }
-+                    }
-                     pChild = Next(pChild);
-                 }
-+                mOutLineNodeMap = mCurrOutLineNodeMap;
-                 return bBool;
-             }
- 
-         }
-+        else if( lcl_IsContent(pParent) )
-+        {
-+            SwWrtShell* pShell = GetWrtShell();
-+            sal_Int32 nPos = ((SwContent*)pParent->GetUserData())->GetYPos();
-+            void* key = (void*)pShell->getIDocumentOutlineNodesAccess()->getOutlineNode( nPos );
-+            mOutLineNodeMap[key] = sal_True;
-+        }
-     }
-     return SvTreeListBox::Expand(pParent);
- }
-@@ -1346,7 +1404,8 @@ sal_Bool  SwContentTree::Expand( SvLBoxEntry* pParent )
- sal_Bool  SwContentTree::Collapse( SvLBoxEntry* pParent )
- {
-     sal_Bool bRet;
--    if(!bIsRoot || ((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE)
-+    if(!bIsRoot || (((SwContentType*)pParent->GetUserData())->GetType() == CONTENT_TYPE_OUTLINE) ||
-+            (nRootType == CONTENT_TYPE_OUTLINE))
-     {
-         if(lcl_IsContentType(pParent))
-         {
-@@ -1363,6 +1422,13 @@ sal_Bool  SwContentTree::Collapse( SvLBoxEntry* pParent )
-             else
-                 nHiddenBlock &= nAnd;
-         }
-+        else if( lcl_IsContent(pParent) )
-+        {
-+            SwWrtShell* pShell = GetWrtShell();
-+            sal_Int32 nPos = ((SwContent*)pParent->GetUserData())->GetYPos();
-+            void* key = (void*)pShell->getIDocumentOutlineNodesAccess()->getOutlineNode( nPos );
-+            mOutLineNodeMap[key] = sal_False;
-+        }
-             bRet = SvTreeListBox::Collapse(pParent);
-     }
-     else
--- 
-1.7.0.1
-


More information about the ooo-build-commit mailing list