[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