[Libreoffice-commits] core.git: Branch 'aoo/trunk' - officecfg/registry sw/source

Tsutomu Uchino hanya at apache.org
Sat Jan 31 10:08:49 PST 2015


 officecfg/registry/schema/org/openoffice/Office/Labels.xcs |    4 
 officecfg/registry/schema/org/openoffice/Office/Writer.xcs |   12 
 sw/source/ui/app/applab.cxx                                |   18 -
 sw/source/ui/envelp/label1.cxx                             |    4 
 sw/source/ui/envelp/labelcfg.cxx                           |    6 
 sw/source/ui/envelp/labfmt.cxx                             |   16 +
 sw/source/ui/envelp/labfmt.hrc                             |    4 
 sw/source/ui/envelp/labfmt.hxx                             |    4 
 sw/source/ui/envelp/labfmt.src                             |   72 +++-
 sw/source/ui/envelp/labimg.cxx                             |  206 +++++++------
 sw/source/ui/envelp/labimp.hxx                             |    2 
 sw/source/ui/inc/labimg.hxx                                |    2 
 12 files changed, 234 insertions(+), 116 deletions(-)

New commits:
commit 7fb6496ef1c553b2d186505b18672bb8b984ce9a
Author: Tsutomu Uchino <hanya at apache.org>
Date:   Sat Jan 31 16:55:56 2015 +0000

    #i53718# add support of paper size for label document

diff --git a/officecfg/registry/schema/org/openoffice/Office/Labels.xcs b/officecfg/registry/schema/org/openoffice/Office/Labels.xcs
index 996bdcc..488640d 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Labels.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Labels.xcs
@@ -40,10 +40,10 @@
 			</prop>
 			<prop oor:name="Measure" oor:type="xs:string">
 				<!--Label: Contains the measurement data of the label contatenated by a colon (;) in the following order: 
-				'C' or 'S';Horizontal Distance;Vertical Distance;Width;Height;Left margin;Upper margin;Columns;Rows" while 'C' marks a continuous label and 'S' marks a sheet
+				'C' or 'S';Horizontal Distance;Vertical Distance;Width;Height;Left margin;Upper margin;Columns;Rows;Paper Width;Paper Height" while 'C' marks a continuous label and 'S' marks a sheet
 				-->
 				<info>
-					<desc>Contains the measurement data of the label concatenated by a colon (;) in the following order: 'C' or 'S';Horizontal Distance;Vertical Distance;Width;Height;Left margin;Upper margin;Columns;Rows" while 'C' marks a continuous label and 'S' marks a sheet.</desc>
+					<desc>Contains the measurement data of the label concatenated by a colon (;) in the following order: 'C' or 'S';Horizontal Distance;Vertical Distance;Width;Height;Left margin;Upper margin;Columns;Rows;Paper Width;Paper Height" while 'C' marks a continuous label and 'S' marks a sheet.</desc>
 				</info>
 			</prop>
 		</group>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
index 1610f18..30f25ac3 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
@@ -5026,6 +5026,18 @@
 					</info>
 					<value>0</value>
 				</prop>
+				<prop oor:name="PaperWidth" oor:type="xs:int">
+					<info>
+						<desc>Specifies the width of the paper [UNIT=1/100 mm].</desc>
+					</info>
+					<value>10000</value>
+				</prop>
+				<prop oor:name="PaperHeight" oor:type="xs:int">
+					<info>
+						<desc>Specifies the height of the paper [UNIT=1/100 mm].</desc>
+					</info>
+					<value>10000</value>
+				</prop>
 			</group>
 			<group oor:name="Option">
 				<info>
diff --git a/sw/source/ui/app/applab.cxx b/sw/source/ui/app/applab.cxx
index 5eb0b96..425b469 100644
--- a/sw/source/ui/app/applab.cxx
+++ b/sw/source/ui/app/applab.cxx
@@ -97,7 +97,8 @@ const SwFrmFmt *lcl_InsertBCText( SwWrtShell& rSh, const SwLabItem& rItem,
                         sal_uInt16 nCol, sal_uInt16 nRow, sal_Bool bPage)
 {
     SfxItemSet aSet(rSh.GetAttrPool(), RES_ANCHOR, RES_ANCHOR,
-                        RES_VERT_ORIENT, RES_VERT_ORIENT, RES_HORI_ORIENT, RES_HORI_ORIENT, 0 );
+                        RES_VERT_ORIENT, RES_VERT_ORIENT, RES_HORI_ORIENT, RES_HORI_ORIENT,
+                        RES_LR_SPACE, RES_LR_SPACE, 0 );
     sal_uInt16 nPhyPageNum, nVirtPageNum;
     rSh.GetPageNum( nPhyPageNum, nVirtPageNum );
 
@@ -109,6 +110,10 @@ const SwFrmFmt *lcl_InsertBCText( SwWrtShell& rSh, const SwLabItem& rItem,
         aSet.Put(SwFmtVertOrient(rItem.lUpper + nRow * rItem.lVDist,
                                                     text::VertOrientation::NONE, text::RelOrientation::PAGE_FRAME ));
     }
+    if ( nCol == rItem.nCols -1 )
+    {
+        aSet.Put( SvxLRSpaceItem( 0, 0, 0, 0, RES_LR_SPACE ) );
+    }
     const SwFrmFmt *pFmt = rSh.NewFlyFrm(aSet, sal_True,  &rFmt );  // Fly einfuegen
     ASSERT( pFmt, "Fly not inserted" );
 
@@ -137,7 +142,8 @@ const SwFrmFmt *lcl_InsertLabText( SwWrtShell& rSh, const SwLabItem& rItem,
                         sal_uInt16 nCol, sal_uInt16 nRow, sal_Bool bLast, sal_Bool bPage)
 {
     SfxItemSet aSet(rSh.GetAttrPool(), RES_ANCHOR, RES_ANCHOR,
-                        RES_VERT_ORIENT, RES_VERT_ORIENT, RES_HORI_ORIENT, RES_HORI_ORIENT, 0 );
+                        RES_VERT_ORIENT, RES_VERT_ORIENT, RES_HORI_ORIENT, RES_HORI_ORIENT,
+                        RES_LR_SPACE, RES_LR_SPACE, 0 );
     sal_uInt16 nPhyPageNum, nVirtPageNum;
     rSh.GetPageNum( nPhyPageNum, nVirtPageNum );
 
@@ -149,6 +155,10 @@ const SwFrmFmt *lcl_InsertLabText( SwWrtShell& rSh, const SwLabItem& rItem,
         aSet.Put(SwFmtVertOrient(rItem.lUpper + nRow * rItem.lVDist,
                                                     text::VertOrientation::NONE, text::RelOrientation::PAGE_FRAME ));
     }
+    if ( nCol == rItem.nCols -1 )
+    {
+        aSet.Put( SvxLRSpaceItem( 0, 0, 0, 0, RES_LR_SPACE ) );
+    }
     const SwFrmFmt *pFmt = rSh.NewFlyFrm(aSet, sal_True,  &rFmt );  // Fly einfuegen
     ASSERT( pFmt, "Fly not inserted" );
 
@@ -272,8 +282,8 @@ static sal_uInt16 nBCTitleNo = 0;
 
             // Einstellen der Seitengroesse
             rFmt.SetFmtAttr(SwFmtFrmSize(ATT_FIX_SIZE,
-                                        rItem.lLeft  + rItem.nCols * rItem.lHDist + MINLAY,
-                                        rItem.lUpper + rItem.nRows * rItem.lVDist + MINLAY));
+                                    rItem.lPaperWidth == 0 ? rItem.lLeft  + rItem.nCols * rItem.lHDist + MINLAY : rItem.lPaperWidth,
+                                    rItem.bCont || rItem.lPaperHeight == 0 ? rItem.lUpper + rItem.nRows * rItem.lVDist + MINLAY : rItem.lPaperHeight));
 
             // Numerierungsart
             SvxNumberType aType;
diff --git a/sw/source/ui/envelp/label1.cxx b/sw/source/ui/envelp/label1.cxx
index 02328e0..5ed4c95 100644
--- a/sw/source/ui/envelp/label1.cxx
+++ b/sw/source/ui/envelp/label1.cxx
@@ -71,6 +71,8 @@ void SwLabRec::SetFromItem( const SwLabItem& rItem )
     lUpper  = rItem.lUpper;
     nCols   = rItem.nCols;
     nRows   = rItem.nRows;
+    lPaperWidth  = rItem.lPaperWidth;
+    lPaperHeight = rItem.lPaperHeight;
     bCont   = rItem.bCont;
 }
 
@@ -84,6 +86,8 @@ void SwLabRec::FillItem( SwLabItem& rItem ) const
     rItem.lUpper  = lUpper;
     rItem.nCols   = nCols;
     rItem.nRows   = nRows;
+    rItem.lPaperWidth  = lPaperWidth;
+    rItem.lPaperHeight = lPaperHeight;
 }
 
 // --------------------------------------------------------------------------
diff --git a/sw/source/ui/envelp/labelcfg.cxx b/sw/source/ui/envelp/labelcfg.cxx
index 76885a5..2984d65 100644
--- a/sw/source/ui/envelp/labelcfg.cxx
+++ b/sw/source/ui/envelp/labelcfg.cxx
@@ -111,6 +111,8 @@ SwLabRec* lcl_CreateSwLabRec(Sequence<Any>& rValues, const OUString& rManufactur
                             case 6 : pNewRec->lUpper    = MM100_TO_TWIP(nVal);break;
                             case 7 : pNewRec->nCols     = nVal; break;
                             case 8 : pNewRec->nRows     = nVal; break;
+                            case 9 : pNewRec->lPaperWidth = MM100_TO_TWIP(nVal);break;
+                            case 10: pNewRec->lPaperHeight = MM100_TO_TWIP(nVal);break;
                         }
                     }
                 }
@@ -146,7 +148,9 @@ Sequence<PropertyValue> lcl_CreateProperties(
                 sTmp += OUString::valueOf(TWIP_TO_MM100(rRec.lLeft)   );          sTmp += sColon;
                 sTmp += OUString::valueOf(TWIP_TO_MM100(rRec.lUpper)  );          sTmp += sColon;
                 sTmp += OUString::valueOf(rRec.nCols   );sTmp += sColon;
-                sTmp += OUString::valueOf(rRec.nRows   );
+                sTmp += OUString::valueOf(rRec.nRows   );sTmp += sColon;
+                sTmp += OUString::valueOf(TWIP_TO_MM100(rRec.lPaperWidth));sTmp += sColon;
+                sTmp += OUString::valueOf(TWIP_TO_MM100(rRec.lPaperHeight));
                 pValues[nProp].Value <<= sTmp;
             }
             break;
diff --git a/sw/source/ui/envelp/labfmt.cxx b/sw/source/ui/envelp/labfmt.cxx
index d81a0ff..60030d0 100644
--- a/sw/source/ui/envelp/labfmt.cxx
+++ b/sw/source/ui/envelp/labfmt.cxx
@@ -329,6 +329,10 @@ SwLabFmtPage::SwLabFmtPage(Window* pParent, const SfxItemSet& rSet) :
     aColsField   (this, SW_RES(FLD_COLUMNS)),
     aRowsText    (this, SW_RES(TXT_ROWS  )),
     aRowsField   (this, SW_RES(FLD_ROWS  )),
+    aPaperWidthText  (this, SW_RES(TXT_PAPER_WIDTH)),
+    aPaperWidthField (this, SW_RES(FLD_PAPER_WIDTH)),
+    aPaperHeightText (this, SW_RES(TXT_PAPER_HEIGHT)),
+    aPaperHeightField(this, SW_RES(FLD_PAPER_HEIGHT)),
     aSavePB      (this, SW_RES(PB_SAVE  )),
     bModified(sal_False),
     aItem        ((const SwLabItem&) rSet.Get(FN_LABEL))
@@ -344,6 +348,8 @@ SwLabFmtPage::SwLabFmtPage(Window* pParent, const SfxItemSet& rSet) :
     SetMetric(aHeightField, aMetric);
     SetMetric(aLeftField  , aMetric);
     SetMetric(aUpperField , aMetric);
+    SetMetric(aPaperWidthField, aMetric);
+    SetMetric(aPaperHeightField, aMetric);
 
     // Handler installieren
     Link aLk = LINK(this, SwLabFmtPage, ModifyHdl);
@@ -355,6 +361,8 @@ SwLabFmtPage::SwLabFmtPage(Window* pParent, const SfxItemSet& rSet) :
     aUpperField .SetModifyHdl( aLk );
     aColsField  .SetModifyHdl( aLk );
     aRowsField  .SetModifyHdl( aLk );
+    aPaperWidthField .SetModifyHdl( aLk );
+    aPaperHeightField.SetModifyHdl( aLk );
 
     aLk = LINK(this, SwLabFmtPage, LoseFocusHdl);
     aHDistField .SetLoseFocusHdl( aLk );
@@ -533,6 +541,8 @@ void SwLabFmtPage::FillItem(SwLabItem& rItem)
         rItem.lUpper  = rRec.lUpper  = static_cast< long >(GETFLDVAL(aUpperField ));
         rItem.nCols   = rRec.nCols   = (sal_uInt16) aColsField.GetValue();
         rItem.nRows   = rRec.nRows   = (sal_uInt16) aRowsField.GetValue();
+        rItem.lPaperWidth  = rRec.lPaperWidth  = static_cast< long >(GETFLDVAL(aPaperWidthField));
+        rItem.lPaperHeight = rRec.lPaperHeight = static_cast< long >(GETFLDVAL(aPaperHeightField));
     }
 }
 
@@ -567,6 +577,8 @@ void SwLabFmtPage::Reset(const SfxItemSet& )
     SETFLDVAL(aHeightField, aItem.lHeight);
     SETFLDVAL(aLeftField  , aItem.lLeft  );
     SETFLDVAL(aUpperField , aItem.lUpper );
+    SETFLDVAL(aPaperWidthField , aItem.lPaperWidth );
+    SETFLDVAL(aPaperHeightField, aItem.lPaperHeight);
 
     aColsField.SetMax(aItem.nCols);
     aRowsField.SetMax(aItem.nRows);
@@ -592,6 +604,8 @@ IMPL_LINK( SwLabFmtPage, SaveHdl, PushButton *, EMPTYARG )
     aRec.lUpper  = static_cast< long >(GETFLDVAL(aUpperField ));
     aRec.nCols   = (sal_uInt16) aColsField.GetValue();
     aRec.nRows   = (sal_uInt16) aRowsField.GetValue();
+    aRec.lPaperWidth  = static_cast< long >(GETFLDVAL(aPaperWidthField ));
+    aRec.lPaperHeight = static_cast< long >(GETFLDVAL(aPaperHeightField));
     aRec.bCont = aItem.bCont;
     SwSaveLabelDlg* pSaveDlg = new SwSaveLabelDlg(this, aRec);
     pSaveDlg->SetLabel(aItem.aLstMake, aItem.aLstType);
@@ -702,6 +716,8 @@ sal_Bool SwSaveLabelDlg::GetLabel(SwLabItem& rItem)
         rItem.lUpper  = rLabRec.lUpper;
         rItem.nCols   = rLabRec.nCols;
         rItem.nRows   = rLabRec.nRows;
+        rItem.lPaperWidth  = rLabRec.lPaperWidth;
+        rItem.lPaperHeight = rLabRec.lPaperHeight;
     }
     return bSuccess;
 }
diff --git a/sw/source/ui/envelp/labfmt.hrc b/sw/source/ui/envelp/labfmt.hrc
index aaea4b5..8075104 100644
--- a/sw/source/ui/envelp/labfmt.hrc
+++ b/sw/source/ui/envelp/labfmt.hrc
@@ -51,6 +51,10 @@
 #define PB_SAVE      19
 #define FI_MAKE      20
 #define FI_TYPE      21
+#define TXT_PAPER_WIDTH  22
+#define FLD_PAPER_WIDTH  23
+#define TXT_PAPER_HEIGHT 24
+#define FLD_PAPER_HEIGHT 25
 
 #define FL_OPTIONS              1
 #define FT_MAKE         2
diff --git a/sw/source/ui/envelp/labfmt.hxx b/sw/source/ui/envelp/labfmt.hxx
index e61a411..a981916 100644
--- a/sw/source/ui/envelp/labfmt.hxx
+++ b/sw/source/ui/envelp/labfmt.hxx
@@ -100,6 +100,10 @@ class SwLabFmtPage : public SfxTabPage
     NumericField aColsField;
     FixedText    aRowsText;
     NumericField aRowsField;
+    FixedText    aPaperWidthText;
+    MetricField  aPaperWidthField;
+    FixedText    aPaperHeightText;
+    MetricField  aPaperHeightField;
     PushButton   aSavePB;
 
     Timer aPreviewTimer;
diff --git a/sw/source/ui/envelp/labfmt.src b/sw/source/ui/envelp/labfmt.src
index 1b856a7..6027dbb 100644
--- a/sw/source/ui/envelp/labfmt.src
+++ b/sw/source/ui/envelp/labfmt.src
@@ -71,7 +71,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_VDIST
     {
-        Pos = MAP_APPFONT ( 6 , 35 ) ;
+        Pos = MAP_APPFONT ( 6 , 33 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Vertical pitch" ;
         Left = TRUE ;
@@ -80,7 +80,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:MetricField:TP_LAB_FMT:FLD_VDIST";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 33 ) ;
+        Pos = MAP_APPFONT ( 60 , 31 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -92,7 +92,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_WIDTH
     {
-        Pos = MAP_APPFONT ( 6 , 51 ) ;
+        Pos = MAP_APPFONT ( 6 , 47 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Width" ;
         Left = TRUE ;
@@ -101,7 +101,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:MetricField:TP_LAB_FMT:FLD_WIDTH";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 49 ) ;
+        Pos = MAP_APPFONT ( 60 , 45 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -113,7 +113,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_HEIGHT
     {
-        Pos = MAP_APPFONT ( 6 , 67 ) ;
+        Pos = MAP_APPFONT ( 6 , 61 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Height" ;
         Left = TRUE ;
@@ -122,7 +122,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:MetricField:TP_LAB_FMT:FLD_HEIGHT";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 65 ) ;
+        Pos = MAP_APPFONT ( 60 , 59 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -134,7 +134,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_LEFT
     {
-        Pos = MAP_APPFONT ( 6 , 83 ) ;
+        Pos = MAP_APPFONT ( 6 , 75 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Left margin" ;
         Left = TRUE ;
@@ -143,7 +143,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:MetricField:TP_LAB_FMT:FLD_LEFT";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 81 ) ;
+        Pos = MAP_APPFONT ( 60 , 73 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -157,7 +157,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_UPPER
     {
-        Pos = MAP_APPFONT ( 6 , 99 ) ;
+        Pos = MAP_APPFONT ( 6 , 89 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Top margin" ;
         Left = TRUE ;
@@ -166,7 +166,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:MetricField:TP_LAB_FMT:FLD_UPPER";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 97 ) ;
+        Pos = MAP_APPFONT ( 60 , 87 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -180,7 +180,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_COLUMNS
     {
-        Pos = MAP_APPFONT ( 6 , 115 ) ;
+        Pos = MAP_APPFONT ( 6 , 103 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "~Columns" ;
         Left = TRUE ;
@@ -189,7 +189,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:NumericField:TP_LAB_FMT:FLD_COLUMNS";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 113 ) ;
+        Pos = MAP_APPFONT ( 60 , 101 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -200,7 +200,7 @@ TabPage TP_LAB_FMT
     };
     FixedText TXT_ROWS
     {
-        Pos = MAP_APPFONT ( 6 , 131 ) ;
+        Pos = MAP_APPFONT ( 6 , 117 ) ;
         Size = MAP_APPFONT ( 50 , 8 ) ;
         Text [ en-US ] = "R~ows" ;
         Left = TRUE ;
@@ -209,7 +209,7 @@ TabPage TP_LAB_FMT
     {
         HelpID = "sw:NumericField:TP_LAB_FMT:FLD_ROWS";
         Border = TRUE ;
-        Pos = MAP_APPFONT ( 60 , 129 ) ;
+        Pos = MAP_APPFONT ( 60 , 115 ) ;
         Size = MAP_APPFONT ( 40 , 12 ) ;
         TabStop = TRUE ;
         Left = TRUE ;
@@ -218,10 +218,52 @@ TabPage TP_LAB_FMT
         Minimum = 1 ;
         First = 1 ;
     };
+    FixedText TXT_PAPER_WIDTH
+    {
+        Pos = MAP_APPFONT ( 6 , 131 ) ;
+        Size = MAP_APPFONT ( 50 , 8 ) ;
+        Text [ en-US ] = "~Paper Width" ;
+        Left = TRUE ;
+    };
+    MetricField FLD_PAPER_WIDTH
+    {
+        HelpID = "sw:MetricField:TP_LAB_FMT:FLD_PAPER_WIDTH";
+        Border = TRUE ;
+        Pos = MAP_APPFONT ( 60 , 129 ) ;
+        Size = MAP_APPFONT ( 40 , 12 ) ;
+        TabStop = TRUE ;
+        Left = TRUE ;
+        Spin = TRUE ;
+        DecimalDigits = 2 ;
+        Unit = FUNIT_CM ;
+        Repeat = TRUE ;
+        SpinSize = 10 ;
+    };
+    FixedText TXT_PAPER_HEIGHT
+    {
+        Pos = MAP_APPFONT ( 6 , 145 ) ;
+        Size = MAP_APPFONT ( 50 , 8 ) ;
+        Text [ en-US ] = "Pape~r Height" ;
+        Left = TRUE ;
+    };
+    MetricField FLD_PAPER_HEIGHT
+    {
+        HelpID = "sw:MetricField:TP_LAB_FMT:FLD_PAPER_HEIGHT";
+        Border = TRUE ;
+        Pos = MAP_APPFONT ( 60 , 143 ) ;
+        Size = MAP_APPFONT ( 40 , 12 ) ;
+        TabStop = TRUE ;
+        Left = TRUE ;
+        Spin = TRUE ;
+        DecimalDigits = 2 ;
+        Unit = FUNIT_CM ;
+        Repeat = TRUE ;
+        SpinSize = 10 ;
+    };
     PushButton  PB_SAVE
     {
         HelpID = "sw:PushButton:TP_LAB_FMT:PB_SAVE";
-        Pos = MAP_APPFONT ( 50 , 148 ) ;
+        Pos = MAP_APPFONT ( 50 , 164 ) ;
         Size = MAP_APPFONT ( 50 , 14 ) ;
         Text [ en-US ] = "~Save...";
     };
diff --git a/sw/source/ui/envelp/labimg.cxx b/sw/source/ui/envelp/labimg.cxx
index 694ac9d..56fdbf2 100644
--- a/sw/source/ui/envelp/labimg.cxx
+++ b/sw/source/ui/envelp/labimg.cxx
@@ -53,7 +53,9 @@ SwLabItem::SwLabItem() :
     nCols (1),
     nRows (1),
     nCol  (1),
-    nRow  (1)
+    nRow  (1),
+    lPaperWidth(0),
+    lPaperHeight(0)
 {
     bAddr = bCont = bSynchron = sal_False;
     bPage = sal_True;
@@ -93,6 +95,8 @@ SwLabItem& SwLabItem::operator =(const SwLabItem& rItem)
     lUpper   = rItem.lUpper;
     nCols    = rItem.nCols;
     nRows    = rItem.nRows;
+    lPaperWidth  = rItem.lPaperWidth;
+    lPaperHeight  = rItem.lPaperHeight;
     aPrivFirstName =        rItem.aPrivFirstName;
     aPrivName =             rItem.aPrivName;
     aPrivShortCut =         rItem.aPrivShortCut;
@@ -153,6 +157,8 @@ int SwLabItem::operator ==(const SfxPoolItem& rItem) const
            lUpper   == rLab.lUpper  &&
            nCols    == rLab.nCols   &&
            nRows    == rLab.nRows   &&
+           lPaperWidth  == rLab.lPaperWidth &&
+           lPaperHeight == rLab.lPaperHeight &&
            aWriting == rLab.aWriting&&
            aMake    == rLab.aMake   &&
            aType    == rLab.aType   &&
@@ -219,13 +225,15 @@ Sequence<rtl::OUString> SwLabCfgItem::GetPropertyNames()
         "Format/Height",            // 8
         "Format/LeftMargin",        // 9
         "Format/TopMargin",         //10
-        "Option/Synchronize",       //11
-        "Option/Page",              //12
-        "Option/Column",            //13
-        "Option/Row",               //14
-        "Inscription/UseAddress",   //15
-        "Inscription/Address",      //16
-        "Inscription/Database"      //17
+        "Format/PaperWidth",        //11
+        "Format/PaperHeight",       //12
+        "Option/Synchronize",       //13
+        "Option/Page",              //14
+        "Option/Column",            //15
+        "Option/Row",               //16
+        "Inscription/UseAddress",   //17
+        "Inscription/Address",      //18
+        "Inscription/Database"      //19
     };
     static const char* aBusinessPropNames[] =
     {
@@ -265,7 +273,7 @@ Sequence<rtl::OUString> SwLabCfgItem::GetPropertyNames()
         "AutoText/Block"                        // 33
     };
     const int nBusinessCount = bIsLabel ? 0 : 34;
-    const int nLabelCount = bIsLabel ? 18 : 15;
+    const int nLabelCount = bIsLabel ? 20 : 17;
     Sequence<OUString> aNames(nBusinessCount + nLabelCount);
     OUString* pNames = aNames.getArray();
     int nIndex = 0;
@@ -296,9 +304,9 @@ SwLabCfgItem::SwLabCfgItem(sal_Bool bLabel) :
             if(pValues[nProp].hasValue())
             {
                 //to have a contiuous switch an offset is added
-                if(nProp == 15 && !bIsLabel)
+                if(nProp == 17 && !bIsLabel)
                     nProperty += 3;
-                if(nProperty >= 18)
+                if(nProperty >= 20)
                     bNoConfigValues = sal_False;
                 switch(nProperty)
                 {
@@ -331,47 +339,55 @@ SwLabCfgItem::SwLabCfgItem(sal_Bool bLabel) :
                         pValues[nProp] >>= aItem.lUpper;
                         aItem.lUpper = MM100_TO_TWIP(aItem.lUpper);
                     break;// "Format/TopMargin",
-                    case 11: aItem.bSynchron = *(sal_Bool*)pValues[nProp].getValue(); break;// "Option/Synchronize",
-                    case 12: aItem.bPage = *(sal_Bool*)pValues[nProp].getValue(); break;// "Option/Page",
-                    case 13: pValues[nProp] >>= aItem.nCol;     break;// "Option/Column",
-                    case 14: pValues[nProp] >>= aItem.nRow;     break;// "Option/Row"
-                    case 15: aItem.bAddr = *(sal_Bool*)pValues[nProp].getValue();       break;// "Inscription/UseAddress",
-                    case 16: pValues[nProp] >>= aItem.aWriting;         break;// "Inscription/Address",
-                    case 17: pValues[nProp] >>= aItem.sDBName;          break;// "Inscription/Database"
-                    case 18: pValues[nProp] >>= aItem.aPrivFirstName;   break;// "PrivateAddress/FirstName",
-                    case 19: pValues[nProp] >>= aItem.aPrivName;        break;// "PrivateAddress/Name",
-                    case 20: pValues[nProp] >>= aItem.aPrivShortCut;    break;// "PrivateAddress/ShortCut",
-                    case 21: pValues[nProp] >>= aItem.aPrivFirstName2;  break;// "PrivateAddress/SecondFirstName",
-                    case 22: pValues[nProp] >>= aItem.aPrivName2;       break;// "PrivateAddress/SecondName",
-                    case 23: pValues[nProp] >>= aItem.aPrivShortCut2;   break;// "PrivateAddress/SecondShortCut",
-                    case 24: pValues[nProp] >>= aItem.aPrivStreet;      break;// "PrivateAddress/Street",
-                    case 25: pValues[nProp] >>= aItem.aPrivZip;         break;// "PrivateAddress/Zip",
-                    case 26: pValues[nProp] >>= aItem.aPrivCity;        break;// "PrivateAddress/City",
-                    case 27: pValues[nProp] >>= aItem.aPrivCountry;     break;// "PrivateAddress/Country",
-                    case 28: pValues[nProp] >>= aItem.aPrivState;       break;// "PrivateAddress/State",
-                    case 29: pValues[nProp] >>= aItem.aPrivTitle;       break;// "PrivateAddress/Title",
-                    case 30: pValues[nProp] >>= aItem.aPrivProfession;  break;// "PrivateAddress/Profession",
-                    case 31: pValues[nProp] >>= aItem.aPrivPhone;       break;// "PrivateAddress/Phone",
-                    case 32: pValues[nProp] >>= aItem.aPrivMobile;      break;// "PrivateAddress/Mobile",
-                    case 33: pValues[nProp] >>= aItem.aPrivFax;         break;// "PrivateAddress/Fax",
-                    case 34: pValues[nProp] >>= aItem.aPrivWWW;         break;// "PrivateAddress/WebAddress",
-                    case 35: pValues[nProp] >>= aItem.aPrivMail;        break;// "PrivateAddress/Email",
-                    case 36: pValues[nProp] >>= aItem.aCompCompany;     break;// "BusinessAddress/Company",
-                    case 37: pValues[nProp] >>= aItem.aCompCompanyExt;  break;// "BusinessAddress/CompanyExt",
-                    case 38: pValues[nProp] >>= aItem.aCompSlogan;      break;// "BusinessAddress/Slogan",
-                    case 39: pValues[nProp] >>= aItem.aCompStreet;      break;// "BusinessAddress/Street",
-                    case 40: pValues[nProp] >>= aItem.aCompZip;         break;// "BusinessAddress/Zip",
-                    case 41: pValues[nProp] >>= aItem.aCompCity;        break;// "BusinessAddress/City",
-                    case 42: pValues[nProp] >>= aItem.aCompCountry;     break;// "BusinessAddress/Country",
-                    case 43: pValues[nProp] >>= aItem.aCompState;       break;// "BusinessAddress/State",
-                    case 44: pValues[nProp] >>= aItem.aCompPosition;    break;// "BusinessAddress/Position",
-                    case 45: pValues[nProp] >>= aItem.aCompPhone;       break;// "BusinessAddress/Phone",
-                    case 46: pValues[nProp] >>= aItem.aCompMobile;      break;// "BusinessAddress/Mobile",
-                    case 47: pValues[nProp] >>= aItem.aCompFax;         break;// "BusinessAddress/Fax",
-                    case 48: pValues[nProp] >>= aItem.aCompWWW;         break;// "BusinessAddress/WebAddress",
-                    case 49: pValues[nProp] >>= aItem.aCompMail;        break;// "BusinessAddress/Email",
-                    case 50: pValues[nProp] >>= aItem.sGlossaryGroup;   break;// "AutoText/Group"
-                    case 51: pValues[nProp] >>= aItem.sGlossaryBlockName; break;// "AutoText/Block"
+                    case  11:
+                        pValues[nProp] >>= aItem.lPaperWidth;
+                        aItem.lPaperWidth = MM100_TO_TWIP(aItem.lPaperWidth);
+                    break;// "Format/PaperWidth",
+                    case  12:
+                        pValues[nProp] >>= aItem.lPaperHeight;
+                        aItem.lPaperHeight = MM100_TO_TWIP(aItem.lPaperHeight);
+                    break;// "Format/PaperHeight",
+                    case 13: aItem.bSynchron = *(sal_Bool*)pValues[nProp].getValue(); break;// "Option/Synchronize",
+                    case 14: aItem.bPage = *(sal_Bool*)pValues[nProp].getValue(); break;// "Option/Page",
+                    case 15: pValues[nProp] >>= aItem.nCol;     break;// "Option/Column",
+                    case 16: pValues[nProp] >>= aItem.nRow;     break;// "Option/Row"
+                    case 17: aItem.bAddr = *(sal_Bool*)pValues[nProp].getValue();       break;// "Inscription/UseAddress",
+                    case 18: pValues[nProp] >>= aItem.aWriting;         break;// "Inscription/Address",
+                    case 19: pValues[nProp] >>= aItem.sDBName;          break;// "Inscription/Database"
+                    case 20: pValues[nProp] >>= aItem.aPrivFirstName;   break;// "PrivateAddress/FirstName",
+                    case 21: pValues[nProp] >>= aItem.aPrivName;        break;// "PrivateAddress/Name",
+                    case 22: pValues[nProp] >>= aItem.aPrivShortCut;    break;// "PrivateAddress/ShortCut",
+                    case 23: pValues[nProp] >>= aItem.aPrivFirstName2;  break;// "PrivateAddress/SecondFirstName",
+                    case 24: pValues[nProp] >>= aItem.aPrivName2;       break;// "PrivateAddress/SecondName",
+                    case 25: pValues[nProp] >>= aItem.aPrivShortCut2;   break;// "PrivateAddress/SecondShortCut",
+                    case 26: pValues[nProp] >>= aItem.aPrivStreet;      break;// "PrivateAddress/Street",
+                    case 27: pValues[nProp] >>= aItem.aPrivZip;         break;// "PrivateAddress/Zip",
+                    case 28: pValues[nProp] >>= aItem.aPrivCity;        break;// "PrivateAddress/City",
+                    case 29: pValues[nProp] >>= aItem.aPrivCountry;     break;// "PrivateAddress/Country",
+                    case 30: pValues[nProp] >>= aItem.aPrivState;       break;// "PrivateAddress/State",
+                    case 31: pValues[nProp] >>= aItem.aPrivTitle;       break;// "PrivateAddress/Title",
+                    case 32: pValues[nProp] >>= aItem.aPrivProfession;  break;// "PrivateAddress/Profession",
+                    case 33: pValues[nProp] >>= aItem.aPrivPhone;       break;// "PrivateAddress/Phone",
+                    case 34: pValues[nProp] >>= aItem.aPrivMobile;      break;// "PrivateAddress/Mobile",
+                    case 35: pValues[nProp] >>= aItem.aPrivFax;         break;// "PrivateAddress/Fax",
+                    case 36: pValues[nProp] >>= aItem.aPrivWWW;         break;// "PrivateAddress/WebAddress",
+                    case 37: pValues[nProp] >>= aItem.aPrivMail;        break;// "PrivateAddress/Email",
+                    case 38: pValues[nProp] >>= aItem.aCompCompany;     break;// "BusinessAddress/Company",
+                    case 39: pValues[nProp] >>= aItem.aCompCompanyExt;  break;// "BusinessAddress/CompanyExt",
+                    case 40: pValues[nProp] >>= aItem.aCompSlogan;      break;// "BusinessAddress/Slogan",
+                    case 41: pValues[nProp] >>= aItem.aCompStreet;      break;// "BusinessAddress/Street",
+                    case 42: pValues[nProp] >>= aItem.aCompZip;         break;// "BusinessAddress/Zip",
+                    case 43: pValues[nProp] >>= aItem.aCompCity;        break;// "BusinessAddress/City",
+                    case 44: pValues[nProp] >>= aItem.aCompCountry;     break;// "BusinessAddress/Country",
+                    case 45: pValues[nProp] >>= aItem.aCompState;       break;// "BusinessAddress/State",
+                    case 46: pValues[nProp] >>= aItem.aCompPosition;    break;// "BusinessAddress/Position",
+                    case 47: pValues[nProp] >>= aItem.aCompPhone;       break;// "BusinessAddress/Phone",
+                    case 48: pValues[nProp] >>= aItem.aCompMobile;      break;// "BusinessAddress/Mobile",
+                    case 49: pValues[nProp] >>= aItem.aCompFax;         break;// "BusinessAddress/Fax",
+                    case 50: pValues[nProp] >>= aItem.aCompWWW;         break;// "BusinessAddress/WebAddress",
+                    case 51: pValues[nProp] >>= aItem.aCompMail;        break;// "BusinessAddress/Email",
+                    case 52: pValues[nProp] >>= aItem.sGlossaryGroup;   break;// "AutoText/Group"
+                    case 53: pValues[nProp] >>= aItem.sGlossaryBlockName; break;// "AutoText/Block"
                 }
             }
         }
@@ -415,7 +431,7 @@ void    SwLabCfgItem::Commit()
     for(int nProp = 0, nProperty = 0; nProp < aNames.getLength(); nProp++, nProperty++)
     {
         //to have a contiuous switch an offset is added
-        if(nProp == 15 && !bIsLabel)
+        if(nProp == 17 && !bIsLabel)
             nProperty += 3;
         switch(nProperty)
         {
@@ -430,47 +446,49 @@ void    SwLabCfgItem::Commit()
             case  8: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(aItem.lHeight));           break;// "Format/Height",
             case  9: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(aItem.lLeft));         break;// "Format/LeftMargin",
             case 10: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(aItem.lUpper));            break;// "Format/TopMargin",
-            case 11: pValues[nProp].setValue(&aItem.bSynchron, rType); break;// "Option/Synchronize",
-            case 12: pValues[nProp].setValue(&aItem.bPage, rType); break;// "Option/Page",
-            case 13: pValues[nProp] <<= aItem.nCol;     break;// "Option/Column",
-            case 14: pValues[nProp] <<= aItem.nRow;     break;// "Option/Row"
-            case 15: pValues[nProp].setValue(&aItem.bAddr, rType);      break;// "Inscription/UseAddress",
-            case 16: pValues[nProp] <<= aItem.aWriting;         break;// "Inscription/Address",
-            case 17: pValues[nProp] <<= aItem.sDBName;          break;// "Inscription/Database"
-            case 18: pValues[nProp] <<= aItem.aPrivFirstName;   break;// "PrivateAddress/FirstName",
-            case 19: pValues[nProp] <<= aItem.aPrivName;        break;// "PrivateAddress/Name",
-            case 20: pValues[nProp] <<= aItem.aPrivShortCut;    break;// "PrivateAddress/ShortCut",
-            case 21: pValues[nProp] <<= aItem.aPrivFirstName2;  break;// "PrivateAddress/SecondFirstName",
-            case 22: pValues[nProp] <<= aItem.aPrivName2;       break;// "PrivateAddress/SecondName",
-            case 23: pValues[nProp] <<= aItem.aPrivShortCut2;   break;// "PrivateAddress/SecondShortCut",
-            case 24: pValues[nProp] <<= aItem.aPrivStreet;      break;// "PrivateAddress/Street",
-            case 25: pValues[nProp] <<= aItem.aPrivZip;         break;// "PrivateAddress/Zip",
-            case 26: pValues[nProp] <<= aItem.aPrivCity;        break;// "PrivateAddress/City",
-            case 27: pValues[nProp] <<= aItem.aPrivCountry;     break;// "PrivateAddress/Country",
-            case 28: pValues[nProp] <<= aItem.aPrivState;       break;// "PrivateAddress/State",
-            case 29: pValues[nProp] <<= aItem.aPrivTitle;       break;// "PrivateAddress/Title",
-            case 30: pValues[nProp] <<= aItem.aPrivProfession;  break;// "PrivateAddress/Profession",
-            case 31: pValues[nProp] <<= aItem.aPrivPhone;       break;// "PrivateAddress/Phone",
-            case 32: pValues[nProp] <<= aItem.aPrivMobile;      break;// "PrivateAddress/Mobile",
-            case 33: pValues[nProp] <<= aItem.aPrivFax;         break;// "PrivateAddress/Fax",
-            case 34: pValues[nProp] <<= aItem.aPrivWWW;         break;// "PrivateAddress/WebAddress",
-            case 35: pValues[nProp] <<= aItem.aPrivMail;        break;// "PrivateAddress/Email",
-            case 36: pValues[nProp] <<= aItem.aCompCompany;     break;// "BusinessAddress/Company",
-            case 37: pValues[nProp] <<= aItem.aCompCompanyExt;  break;// "BusinessAddress/CompanyExt",
-            case 38: pValues[nProp] <<= aItem.aCompSlogan;      break;// "BusinessAddress/Slogan",
-            case 39: pValues[nProp] <<= aItem.aCompStreet;      break;// "BusinessAddress/Street",
-            case 40: pValues[nProp] <<= aItem.aCompZip;         break;// "BusinessAddress/Zip",
-            case 41: pValues[nProp] <<= aItem.aCompCity;        break;// "BusinessAddress/City",
-            case 42: pValues[nProp] <<= aItem.aCompCountry;     break;// "BusinessAddress/Country",
-            case 43: pValues[nProp] <<= aItem.aCompState;       break;// "BusinessAddress/State",
-            case 44: pValues[nProp] <<= aItem.aCompPosition;    break;// "BusinessAddress/Position",
-            case 45: pValues[nProp] <<= aItem.aCompPhone;       break;// "BusinessAddress/Phone",
-            case 46: pValues[nProp] <<= aItem.aCompMobile;      break;// "BusinessAddress/Mobile",
-            case 47: pValues[nProp] <<= aItem.aCompFax;         break;// "BusinessAddress/Fax",
-            case 48: pValues[nProp] <<= aItem.aCompWWW;         break;// "BusinessAddress/WebAddress",
-            case 49: pValues[nProp] <<= aItem.aCompMail;        break;// "BusinessAddress/Email",
-            case 50: pValues[nProp] <<= aItem.sGlossaryGroup;   break;// "AutoText/Group"
-            case 51: pValues[nProp] <<= aItem.sGlossaryBlockName; break;// "AutoText/Block"
+            case 11: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(aItem.lPaperWidth));           break;// "Format/PaperWidth",
+            case 12: pValues[nProp] <<= static_cast<sal_Int32>(TWIP_TO_MM100(aItem.lPaperHeight));          break;// "Format/PaperHeight",
+            case 13: pValues[nProp].setValue(&aItem.bSynchron, rType); break;// "Option/Synchronize",
+            case 14: pValues[nProp].setValue(&aItem.bPage, rType); break;// "Option/Page",
+            case 15: pValues[nProp] <<= aItem.nCol;     break;// "Option/Column",
+            case 16: pValues[nProp] <<= aItem.nRow;     break;// "Option/Row"
+            case 17: pValues[nProp].setValue(&aItem.bAddr, rType);      break;// "Inscription/UseAddress",
+            case 18: pValues[nProp] <<= aItem.aWriting;         break;// "Inscription/Address",
+            case 19: pValues[nProp] <<= aItem.sDBName;          break;// "Inscription/Database"
+            case 20: pValues[nProp] <<= aItem.aPrivFirstName;   break;// "PrivateAddress/FirstName",
+            case 21: pValues[nProp] <<= aItem.aPrivName;        break;// "PrivateAddress/Name",
+            case 22: pValues[nProp] <<= aItem.aPrivShortCut;    break;// "PrivateAddress/ShortCut",
+            case 23: pValues[nProp] <<= aItem.aPrivFirstName2;  break;// "PrivateAddress/SecondFirstName",
+            case 24: pValues[nProp] <<= aItem.aPrivName2;       break;// "PrivateAddress/SecondName",
+            case 25: pValues[nProp] <<= aItem.aPrivShortCut2;   break;// "PrivateAddress/SecondShortCut",
+            case 26: pValues[nProp] <<= aItem.aPrivStreet;      break;// "PrivateAddress/Street",
+            case 27: pValues[nProp] <<= aItem.aPrivZip;         break;// "PrivateAddress/Zip",
+            case 28: pValues[nProp] <<= aItem.aPrivCity;        break;// "PrivateAddress/City",
+            case 29: pValues[nProp] <<= aItem.aPrivCountry;     break;// "PrivateAddress/Country",
+            case 30: pValues[nProp] <<= aItem.aPrivState;       break;// "PrivateAddress/State",
+            case 31: pValues[nProp] <<= aItem.aPrivTitle;       break;// "PrivateAddress/Title",
+            case 32: pValues[nProp] <<= aItem.aPrivProfession;  break;// "PrivateAddress/Profession",
+            case 33: pValues[nProp] <<= aItem.aPrivPhone;       break;// "PrivateAddress/Phone",
+            case 34: pValues[nProp] <<= aItem.aPrivMobile;      break;// "PrivateAddress/Mobile",
+            case 35: pValues[nProp] <<= aItem.aPrivFax;         break;// "PrivateAddress/Fax",
+            case 36: pValues[nProp] <<= aItem.aPrivWWW;         break;// "PrivateAddress/WebAddress",
+            case 37: pValues[nProp] <<= aItem.aPrivMail;        break;// "PrivateAddress/Email",
+            case 38: pValues[nProp] <<= aItem.aCompCompany;     break;// "BusinessAddress/Company",
+            case 39: pValues[nProp] <<= aItem.aCompCompanyExt;  break;// "BusinessAddress/CompanyExt",
+            case 40: pValues[nProp] <<= aItem.aCompSlogan;      break;// "BusinessAddress/Slogan",
+            case 41: pValues[nProp] <<= aItem.aCompStreet;      break;// "BusinessAddress/Street",
+            case 42: pValues[nProp] <<= aItem.aCompZip;         break;// "BusinessAddress/Zip",
+            case 43: pValues[nProp] <<= aItem.aCompCity;        break;// "BusinessAddress/City",
+            case 44: pValues[nProp] <<= aItem.aCompCountry;     break;// "BusinessAddress/Country",
+            case 45: pValues[nProp] <<= aItem.aCompState;       break;// "BusinessAddress/State",
+            case 46: pValues[nProp] <<= aItem.aCompPosition;    break;// "BusinessAddress/Position",
+            case 47: pValues[nProp] <<= aItem.aCompPhone;       break;// "BusinessAddress/Phone",
+            case 48: pValues[nProp] <<= aItem.aCompMobile;      break;// "BusinessAddress/Mobile",
+            case 49: pValues[nProp] <<= aItem.aCompFax;         break;// "BusinessAddress/Fax",
+            case 50: pValues[nProp] <<= aItem.aCompWWW;         break;// "BusinessAddress/WebAddress",
+            case 51: pValues[nProp] <<= aItem.aCompMail;        break;// "BusinessAddress/Email",
+            case 52: pValues[nProp] <<= aItem.sGlossaryGroup;   break;// "AutoText/Group"
+            case 53: pValues[nProp] <<= aItem.sGlossaryBlockName; break;// "AutoText/Block"
         }
     }
     PutProperties(aNames, aValues);
diff --git a/sw/source/ui/envelp/labimp.hxx b/sw/source/ui/envelp/labimp.hxx
index 7c8aa1c..c54982b 100644
--- a/sw/source/ui/envelp/labimp.hxx
+++ b/sw/source/ui/envelp/labimp.hxx
@@ -101,6 +101,8 @@ public:
     long            lUpper;
     sal_Int32       nCols;
     sal_Int32       nRows;
+    long            lPaperWidth;
+    long            lPaperHeight;
     sal_Bool        bCont;
 };
 
diff --git a/sw/source/ui/inc/labimg.hxx b/sw/source/ui/inc/labimg.hxx
index 5e38882..232aeef 100644
--- a/sw/source/ui/inc/labimg.hxx
+++ b/sw/source/ui/inc/labimg.hxx
@@ -63,6 +63,8 @@ public:
     sal_Int32       nRows;   // Anzahl Zeilen          (Benutzer)
     sal_Int32       nCol;    // Spalte fuer Einzeldruck
     sal_Int32       nRow;    // Zeile fuer Einzeldruck
+    sal_Int32       lPaperWidth;  // Paper Width           (user)
+    sal_Int32       lPaperHeight; // Paper Height          (user)
     sal_Bool        bAddr;// Adresse als Aufschrift?
     sal_Bool        bCont;// Endlospapier?
     sal_Bool        bPage;// Ganze Seite oder einzelnes Etikett?


More information about the Libreoffice-commits mailing list