summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2008-11-19 16:29:07 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2008-11-19 16:29:07 +0000
commit5d9e113309bd426b9582a7f58a18721058db71ea (patch)
treea868d482cdb4027839be3055523a851ad3c9a856
parent9f2b41dad1227228bdd4f7810f4b568a35ae8d70 (diff)
CWS-TOOLING: integrate CWS sw301bf02_DEV300
-rw-r--r--sw/qa/unoapi/sw.sce2
-rw-r--r--sw/source/core/docnode/ndcopy.cxx10
-rw-r--r--sw/source/core/layout/atrfrm.cxx8
-rw-r--r--sw/source/core/layout/paintfrm.cxx24
-rw-r--r--sw/source/core/layout/tabfrm.cxx18
-rw-r--r--sw/source/core/text/widorp.cxx15
-rw-r--r--sw/source/core/txtnode/fntcache.cxx13
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx33
-rw-r--r--sw/source/filter/ww8/wrtw8sty.cxx26
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx39
-rw-r--r--sw/source/filter/ww8/ww8par.cxx13
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx7
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx8
-rw-r--r--sw/source/ui/dbui/dbui.src11
-rw-r--r--sw/source/ui/dbui/mmoutputpage.cxx12
-rw-r--r--sw/source/ui/dbui/mmoutputpage.hxx2
-rw-r--r--sw/source/ui/shells/tabsh.cxx10
17 files changed, 206 insertions, 45 deletions
diff --git a/sw/qa/unoapi/sw.sce b/sw/qa/unoapi/sw.sce
index 0de8604f4238..e9739711ae42 100644
--- a/sw/qa/unoapi/sw.sce
+++ b/sw/qa/unoapi/sw.sce
@@ -1,6 +1,6 @@
-o sw.CharacterStyle
-o sw.ConditionalParagraphStyle
-#i92136 -o sw.PageStyle
+-o sw.PageStyle
-o sw.ParagraphStyle
-o sw.SwAccessibleDocumentPageView
#i86751 -o sw.SwAccessibleDocumentView
diff --git a/sw/source/core/docnode/ndcopy.cxx b/sw/source/core/docnode/ndcopy.cxx
index 7bcbe992d0db..afde108a89cd 100644
--- a/sw/source/core/docnode/ndcopy.cxx
+++ b/sw/source/core/docnode/ndcopy.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: ndcopy.cxx,v $
- * $Revision: 1.34 $
+ * $Revision: 1.34.74.1 $
*
* This file is part of OpenOffice.org.
*
@@ -488,9 +488,11 @@ void lcl_SetCpyPos( const SwPosition& rOrigPos,
nNdOff -= nDelCount;
xub_StrLen nCntntPos = rOrigPos.nContent.GetIndex();
- if( nNdOff )
- rChgPos.nNode = nNdOff + rCpyStt.nNode.GetIndex();
- else
+ // --> OD, AMA 2008-07-07 #b6713815#
+ // Always adjust <nNode> at to be changed <SwPosition> instance <rChgPos>
+ rChgPos.nNode = nNdOff + rCpyStt.nNode.GetIndex();
+ if( !nNdOff )
+ // <--
{
// dann nur den Content anpassen
if( nCntntPos > rOrigStt.nContent.GetIndex() )
diff --git a/sw/source/core/layout/atrfrm.cxx b/sw/source/core/layout/atrfrm.cxx
index aed44ccbe0f6..9279a169b0a5 100644
--- a/sw/source/core/layout/atrfrm.cxx
+++ b/sw/source/core/layout/atrfrm.cxx
@@ -220,7 +220,13 @@ void DelHFFormat( SwClient *pToRemove, SwFrmFmt *pFmt )
{
SwNode *pNode = 0;
{
- SwNodeIndex aIdx( *rCnt.GetCntntIdx(), 1 );
+ // --> OD 2008-10-07 #i92993#
+ // Begin with start node of page header/footer to assure that
+ // complete content is checked for cursors and the complete content
+ // is deleted on below made method call <pDoc->DeleteSection(pNode)>
+// SwNodeIndex aIdx( *rCnt.GetCntntIdx(), 1 );
+ SwNodeIndex aIdx( *rCnt.GetCntntIdx(), 0 );
+ // <--
//Wenn in einem der Nodes noch ein Crsr angemeldet ist, muss das
//ParkCrsr einer (beliebigen) Shell gerufen werden.
pNode = pDoc->GetNodes()[ aIdx ];
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 432ef44b520d..7f681df6127e 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -2775,8 +2775,28 @@ void SwRootFrm::Paint( const SwRect& rRect ) const
//Ggf. eine Action ausloesen um klare Verhaeltnisse zu schaffen.
//Durch diesen Kunstgriff kann in allen Paints davon ausgegangen werden,
//das alle Werte gueltigt sind - keine Probleme, keine Sonderbehandlung(en).
- if ( !pSh->IsInEndAction() && !pSh->IsPaintInProgress() &&
- (!pSh->Imp()->IsAction() || !pSh->Imp()->GetLayAction().IsActionInProgress() ) )
+ // --> OD 2008-10-07 #i92745#
+ // Extend check on certain states of the 'current' <ViewShell> instance to
+ // all existing <ViewShell> instances.
+// if ( !pSh->IsInEndAction() && !pSh->IsPaintInProgress() &&
+// (!pSh->Imp()->IsAction() || !pSh->Imp()->GetLayAction().IsActionInProgress() ) )
+ bool bPerformLayoutAction( true );
+ {
+ ViewShell* pTmpViewShell = pSh;
+ do {
+ if ( pTmpViewShell->IsInEndAction() ||
+ pTmpViewShell->IsPaintInProgress() ||
+ ( pTmpViewShell->Imp()->IsAction() &&
+ pTmpViewShell->Imp()->GetLayAction().IsActionInProgress() ) )
+ {
+ bPerformLayoutAction = false;
+ }
+
+ pTmpViewShell = static_cast<ViewShell*>(pTmpViewShell->GetNext());
+ } while ( bPerformLayoutAction && pTmpViewShell != pSh );
+ }
+ if ( bPerformLayoutAction )
+ // <--
{
((SwRootFrm*)this)->ResetTurbo();
SwLayAction aAction( (SwRootFrm*)this, pSh->Imp() );
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 9ff31b6eb89d..be31859c036d 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tabfrm.cxx,v $
- * $Revision: 1.105 $
+ * $Revision: 1.105.58.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1228,8 +1228,22 @@ bool SwTabFrm::Split( const SwTwips nCutPos, bool bTryToSplit, bool bTableRowKee
//
if ( !bSplitRowAllowed )
{
- if ( pRow == GetFirstNonHeadlineRow() )
+ SwRowFrm* pFirstNonHeadlineRow = GetFirstNonHeadlineRow();
+ if ( pRow == pFirstNonHeadlineRow )
return false;
+
+ // --> OD 2008-10-21 #i91764#
+ // Ignore row span lines
+ SwRowFrm* pTmpRow = pFirstNonHeadlineRow;
+ while ( pTmpRow && pTmpRow->IsRowSpanLine() )
+ {
+ pTmpRow = static_cast<SwRowFrm*>(pTmpRow->GetNext());
+ }
+ if ( !pTmpRow || pRow == pTmpRow )
+ {
+ return false;
+ }
+ // <--
}
//
diff --git a/sw/source/core/text/widorp.cxx b/sw/source/core/text/widorp.cxx
index 9479d332c0d1..3b09e80e5d29 100644
--- a/sw/source/core/text/widorp.cxx
+++ b/sw/source/core/text/widorp.cxx
@@ -486,8 +486,19 @@ sal_Bool WidowsAndOrphans::FindWidows( SwTxtFrm *pFrame, SwTxtMargin &rLine )
MSHORT nNeed = 1; // frueher: nWidLines - rLine.GetLineNr();
// Special case: Master cannot give lines to follow
- if ( ! pMaster->GetIndPrev() && pMaster->GetThisLines() <= nNeed )
- return sal_False;
+ // --> FME 2008-09-16 #i91421#
+ if ( !pMaster->GetIndPrev() )
+ {
+ ULONG nLines = pMaster->GetThisLines();
+ if(nLines == 0 && pMaster->HasPara())
+ {
+ const SwParaPortion *pMasterPara = pMaster->GetPara();
+ if(pMasterPara && pMasterPara->GetNext())
+ nLines = 2;
+ }
+ if( nLines <= nNeed )
+ return sal_False;
+ }
pMaster->Prepare( PREP_WIDOWS, (void*)&nNeed );
return sal_True;
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index 8b148273f614..4eeb8f3238bf 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: fntcache.cxx,v $
- * $Revision: 1.98 $
+ * $Revision: 1.98.56.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1275,7 +1275,8 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
// For text grid refactor
// ASIAN LINE AND CHARACTER GRID MODE START: not snap to characters
//
- if ( rInf.GetFrm() && rInf.SnapToGrid() && rInf.GetFont() )
+ if ( rInf.GetFrm() && rInf.SnapToGrid() && rInf.GetFont() &&
+ SW_CJK == rInf.GetFont()->GetActual() )
{
GETGRID( rInf.GetFrm()->FindPageFrm() )
@@ -2127,7 +2128,8 @@ Size SwFntObj::GetTextSize( SwDrawTextInfo& rInf )
}
//for textgrid refactor
- if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont())
+ if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont() &&
+ SW_CJK == rInf.GetFont()->GetActual() )
{
GETGRID( rInf.GetFrm()->FindPageFrm() )
if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
@@ -2401,7 +2403,7 @@ xub_StrLen SwFntObj::GetCrsrOfst( SwDrawTextInfo &rInf )
//for textgrid refactor
if ( rInf.GetFrm() && rInf.GetLen() && rInf.SnapToGrid() &&
- rInf.GetFont() )
+ rInf.GetFont() && SW_CJK == rInf.GetFont()->GetActual() )
{
GETGRID( rInf.GetFrm()->FindPageFrm() )
if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
@@ -2666,7 +2668,8 @@ xub_StrLen SwFont::GetTxtBreak( SwDrawTextInfo& rInf, long nTextWidth )
}
//for text grid enhancement
- if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont() )
+ if ( rInf.GetFrm() && nLn && rInf.SnapToGrid() && rInf.GetFont() &&
+ SW_CJK == rInf.GetFont()->GetActual() )
{
GETGRID( rInf.GetFrm()->FindPageFrm() )
if ( pGrid && GRID_LINES_CHARS == pGrid->GetGridType() && !pGrid->IsSnapToChars() )
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 90e3288835d1..36c489b6698e 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: ndtxt.cxx,v $
- * $Revision: 1.86 $
+ * $Revision: 1.86.66.1 $
*
* This file is part of OpenOffice.org.
*
@@ -4314,7 +4314,7 @@ namespace {
private:
SwTxtNode& mrTxtNode;
- bool mbListStyleReset;
+ bool mbListStyleOrIdReset;
bool mbUpdateListLevel;
bool mbUpdateListRestart;
bool mbUpdateListCount;
@@ -4324,7 +4324,7 @@ namespace {
const USHORT nWhich1,
const USHORT nWhich2 )
: mrTxtNode( rTxtNode ),
- mbListStyleReset( false ),
+ mbListStyleOrIdReset( false ),
mbUpdateListLevel( false ),
mbUpdateListRestart( false ),
mbUpdateListCount( false )
@@ -4336,12 +4336,15 @@ namespace {
if ( nWhich1 <= RES_PARATR_NUMRULE && RES_PARATR_NUMRULE <= nWhich2 )
{
bRemoveFromList = mrTxtNode.GetNumRule() != 0;
- mbListStyleReset = true;
+ mbListStyleOrIdReset = true;
}
else if ( nWhich1 <= RES_PARATR_LIST_ID && RES_PARATR_LIST_ID <= nWhich2 )
{
bRemoveFromList = mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, FALSE ) == SFX_ITEM_SET;
+ // --> OD 2008-10-20 #i92898#
+ mbListStyleOrIdReset = true;
+ // <--
}
if ( !bRemoveFromList )
@@ -4370,12 +4373,15 @@ namespace {
if ( nWhich1 == RES_PARATR_NUMRULE )
{
bRemoveFromList = mrTxtNode.GetNumRule() != 0;
- mbListStyleReset = true;
+ mbListStyleOrIdReset = true;
}
else if ( nWhich1 == RES_PARATR_LIST_ID )
{
bRemoveFromList = mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, FALSE ) == SFX_ITEM_SET;
+ // --> OD 2008-10-20 #i92898#
+ mbListStyleOrIdReset = true;
+ // <--
}
if ( !bRemoveFromList )
@@ -4405,7 +4411,7 @@ namespace {
HandleResetAttrAtTxtNode::HandleResetAttrAtTxtNode( SwTxtNode& rTxtNode,
const SvUShorts& rWhichArr )
: mrTxtNode( rTxtNode ),
- mbListStyleReset( false ),
+ mbListStyleOrIdReset( false ),
mbUpdateListLevel( false ),
mbUpdateListRestart( false ),
mbUpdateListCount( false )
@@ -4420,13 +4426,16 @@ namespace {
{
bRemoveFromList = bRemoveFromList ||
mrTxtNode.GetNumRule() != 0;
- mbListStyleReset = true;
+ mbListStyleOrIdReset = true;
}
else if ( rWhichArr[ n ] == RES_PARATR_LIST_ID )
{
bRemoveFromList = bRemoveFromList ||
( mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, FALSE ) == SFX_ITEM_SET );
+ // --> OD 2008-10-20 #i92898#
+ mbListStyleOrIdReset = true;
+ // <--
}
if ( !bRemoveFromList )
@@ -4459,12 +4468,12 @@ namespace {
HandleResetAttrAtTxtNode::HandleResetAttrAtTxtNode( SwTxtNode& rTxtNode )
: mrTxtNode( rTxtNode ),
- mbListStyleReset( false ),
+ mbListStyleOrIdReset( false ),
mbUpdateListLevel( false ),
mbUpdateListRestart( false ),
mbUpdateListCount( false )
{
- mbListStyleReset = true;
+ mbListStyleOrIdReset = true;
if ( rTxtNode.IsInList() )
{
rTxtNode.RemoveFromList();
@@ -4473,10 +4482,10 @@ namespace {
HandleResetAttrAtTxtNode::~HandleResetAttrAtTxtNode()
{
- if ( mbListStyleReset && !mrTxtNode.IsInList() )
+ if ( mbListStyleOrIdReset && !mrTxtNode.IsInList() )
{
- // check, if via reset of list style, the paragraph now has
- // a list style applied via its paragraph style.
+ // check, if in spite of the reset of the list style or the list id
+ // the paragraph still has to be added to a list.
if ( mrTxtNode.GetNumRule() &&
mrTxtNode.GetListId().Len() > 0 )
{
diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx
index 9d2d52a04319..70c967d0ab9c 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -1740,6 +1740,32 @@ bool WW8_WrPlcSubDoc::WriteGenericTxt(SwWW8Writer& rWrt, BYTE nTTyp,
rWrt.WriteSpecialText( pNdIdx->GetIndex() + 1,
pNdIdx->GetNode().EndOfSectionIndex(),
nTTyp );
+ // --> OD 2008-08-07 #156757#
+ {
+ SwNodeIndex aContentIdx = *pNdIdx;
+ aContentIdx++;
+ if ( aContentIdx.GetNode().IsTableNode() )
+ {
+ bool bContainsOnlyTables = true;
+ do {
+ aContentIdx = *(aContentIdx.GetNode().EndOfSectionNode());
+ aContentIdx++;
+ if ( !aContentIdx.GetNode().IsTableNode() &&
+ aContentIdx.GetIndex() != pNdIdx->GetNode().EndOfSectionIndex() )
+ {
+ bContainsOnlyTables = false;
+ }
+ } while ( aContentIdx.GetNode().IsTableNode() );
+ if ( bContainsOnlyTables )
+ {
+ // Additional paragraph containing a space to
+ // assure that by WW created RTF from written WW8
+ // does not crash WW.
+ rWrt.WriteStringAsPara( String::CreateFromAscii( " " ) );
+ }
+ }
+ }
+ // <--
}
// CR at end of one textbox text ( otherwise WW gpft :-( )
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 3b724c98b664..018e5271e079 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -1642,10 +1642,14 @@ static Writer& OutSwFmtINetFmt( Writer& rWrt, const SfxPoolItem& rHt )
return rWrt;
}
-// --> OD 2005-06-08 #i43956# - add optional parameter <_pLinkStr>
+// --> OD 2005-06-08 #i43956# - add optional parameter <pLinkStr>
// It's needed to write the hyperlink data for a certain cross-reference
// - it contains the name of the link target, which is a bookmark.
-static void InsertSpecialChar( SwWW8Writer& rWrt, BYTE c, String* _pLinkStr = 0L )
+// --> OD 2008-08-14 #158418# - add optional parameter <bIncludeEmptyPicLocation>
+// It is needed to write an empty picture location for page number field separators
+static void InsertSpecialChar( SwWW8Writer& rWrt, BYTE c,
+ String* pLinkStr = 0L,
+ bool bIncludeEmptyPicLocation = false )
{
WW8Bytes aItems;
rWrt.GetCurrentItems(aItems);
@@ -1658,8 +1662,18 @@ static void InsertSpecialChar( SwWW8Writer& rWrt, BYTE c, String* _pLinkStr = 0L
rWrt.WriteChar(c);
+ // --> OD 2008-08-14 #158418#
+ // store empty sprmCPicLocation for field separator
+ if ( bIncludeEmptyPicLocation &&
+ ( c == 0x13 || c == 0x14 || c == 0x15 ) )
+ {
+ SwWW8Writer::InsUInt16( aItems, 0x6a03 );
+ SwWW8Writer::InsUInt32( aItems, 0x00000000 );
+ }
+ // <--
+
// --> OD 2005-06-08 #i43956# - write hyperlink data and attributes
- if ( rWrt.bWrtWW8 && c == 0x01 && _pLinkStr)
+ if ( rWrt.bWrtWW8 && c == 0x01 && pLinkStr )
{
// write hyperlink data to data stream
SvStream& rStrm = *rWrt.pDataStrm;
@@ -1681,9 +1695,9 @@ static void InsertSpecialChar( SwWW8Writer& rWrt, BYTE c, String* _pLinkStr = 0L
};
rStrm.Write( aFixHeader, nFixHdrLen );
// write reference string including length+1
- UINT32 nStrLen( _pLinkStr->Len() + 1 );
+ UINT32 nStrLen( pLinkStr->Len() + 1 );
SwWW8Writer::WriteLong( rStrm, nStrLen );
- SwWW8Writer::WriteString16( rStrm, *(_pLinkStr), false );
+ SwWW8Writer::WriteString16( rStrm, *(pLinkStr), false );
// write additional two NULL Bytes
SwWW8Writer::WriteLong( rStrm, 0 );
// write length of hyperlink data
@@ -1754,6 +1768,9 @@ void SwWW8Writer::OutField(const SwField* pFld, ww::eField eFldType,
return;
}
+ // --> OD 2008-08-14 #158418#
+ const bool bIncludeEmptyPicLocation = ( eFldType == ww::ePAGE );
+ // <--
if (WRITEFIELD_START & nMode)
{
BYTE aFld13[2] = { 0x13, 0x00 }; // will change
@@ -1762,7 +1779,9 @@ void SwWW8Writer::OutField(const SwField* pFld, ww::eField eFldType,
aFld13[0] |= 0x80;
aFld13[1] = static_cast< BYTE >(eFldType); // Typ nachtragen
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld13 );
- InsertSpecialChar( *this, 0x13 );
+ // --> OD 2008-08-14 #158418#
+ InsertSpecialChar( *this, 0x13, 0, bIncludeEmptyPicLocation );
+ // <--
}
if (WRITEFIELD_CMD_START & nMode)
{
@@ -1820,7 +1839,9 @@ void SwWW8Writer::OutField(const SwField* pFld, ww::eField eFldType,
{
static const BYTE aFld14[2] = { 0x14, 0xff };
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld14 );
- InsertSpecialChar( *this, 0x14 );
+ // --> OD 2008-08-14 #158418#
+ InsertSpecialChar( *this, 0x14, 0, bIncludeEmptyPicLocation );
+ // <--
}
if (WRITEFIELD_END & nMode)
{
@@ -1879,7 +1900,9 @@ void SwWW8Writer::OutField(const SwField* pFld, ww::eField eFldType,
}
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld15 );
- InsertSpecialChar( *this, 0x15 );
+ // --> OD 2008-08-14 #158418#
+ InsertSpecialChar( *this, 0x15, 0, bIncludeEmptyPicLocation );
+ // <--
}
}
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 50be18466e79..74161d7d8589 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1843,8 +1843,12 @@ void SwWW8ImplReader::Read_HdFt(bool bIsTitle, int nSect,
}
else
{
- nWhichItems =
- rSection.maSep.grpfIhdt & (WW8_HEADER_FIRST | WW8_FOOTER_FIRST),
+ // --> OD 2008-08-06 #150965#
+ // Always read title page header/footer data - it could be used by following sections
+// nWhichItems =
+// rSection.maSep.grpfIhdt & (WW8_HEADER_FIRST | WW8_FOOTER_FIRST),
+ nWhichItems = ( WW8_HEADER_FIRST | WW8_FOOTER_FIRST );
+ // <--
pPD = rSection.mpTitlePage;
}
@@ -3416,7 +3420,10 @@ SwFmtPageDesc wwSectionManager::SetSwFmtPageDesc(mySegIter &rIter,
mySegIter &rStart, bool bIgnoreCols)
{
SwFmtPageDesc aEmpty;
- if (rIter->HasTitlePage())
+ // --> OD 2008-08-06 #150965#
+ // Always read title page header/footer data - it could be used by following sections
+// if (rIter->HasTitlePage())
+ // <--
{
if (IsNewDoc() && rIter == rStart)
{
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 61b5763d9d44..edc5102710b2 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -279,11 +279,12 @@ void SwWW8ImplReader::SetDocumentGrid(SwFrmFmt &rFmt, const wwSection &rSection)
aGrid.SetGridType(eType);
- //Seems to force this behaviour in word ?
+ // seem to not add external leading in word, or the character would run across
+ // two line in some cases.
if (eType != GRID_NONE)
- rDoc.set(IDocumentSettingAccess::ADD_EXT_LEADING, true);
+ rDoc.set(IDocumentSettingAccess::ADD_EXT_LEADING, false);
- //force to set document as standard page mode
+ //force to set document as standard page mode
sal_Bool bSquaredMode = sal_False;
rDoc.SetDefaultPageMode( bSquaredMode );
aGrid.SetSquaredMode( bSquaredMode );
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index d13311ed0828..10e5d48f28a2 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -506,6 +506,12 @@ BOOL SwNewDBMgr::MergeNew(const SwMergeDescriptor& rMergeDesc )
// the printer dialog does not come up
aPrintArgs.Put( SfxBoolItem( SID_ASYNCHRON, rMergeDesc.bPrintAsync ));
}
+ else
+ {
+ rView.GetDocShell()->GetMedium()->GetItemSet()->Put( SfxBoolItem( SID_HIDDEN, sal_False ));
+ }
+
+
// convert PropertyValues
const beans::PropertyValue* pPrintOptions = rMergeDesc.aPrintOptions.getConstArray();
for( sal_Int32 nOption = 0; nOption < rMergeDesc.aPrintOptions.getLength(); ++nOption)
@@ -2895,6 +2901,8 @@ void SwNewDBMgr::ExecuteFormLetter( SwWrtShell& rSh,
else
{
SfxObjectShellRef xWorkDocSh( new SwDocShell( SFX_CREATE_MODE_INTERNAL ));
+ //the value 22 is used in the PrintMonitor for unknown reasons
+ xWorkDocSh->SetTitle( xDocShell->GetTitle( 22 ) );
SfxMedium* pWorkMed = new SfxMedium( sTempURL, STREAM_STD_READ, TRUE );
pWorkMed->SetFilter( pSfxFlt );
if( xWorkDocSh->DoLoad(pWorkMed) )
diff --git a/sw/source/ui/dbui/dbui.src b/sw/source/ui/dbui/dbui.src
index cf6929437b3f..3c267fbf9f49 100644
--- a/sw/source/ui/dbui/dbui.src
+++ b/sw/source/ui/dbui/dbui.src
@@ -102,6 +102,13 @@ ModelessDialog DLG_PRINTMONITOR
CENTER = TRUE ;
Text [ en-US ] = "is being saved to" ;
};
+ FixedText FT_SAVING
+ {
+ Pos = MAP_APPFONT ( 6, 17 ) ;
+ Size = MAP_APPFONT ( 100, 8 ) ;
+ CENTER = TRUE ;
+ Text [ en-US ] = "is being saved to" ;
+ };
FixedText FT_PRINTER
{
Pos = MAP_APPFONT ( 6, 28 ) ;
@@ -128,6 +135,10 @@ ModelessDialog DLG_PRINTMONITOR
{
Text [ en-US ] = "Save-Monitor";
};
+ String STR_SAVEMON
+ {
+ Text [ en-US ] = "Save-Monitor";
+ };
Text [ en-US ] = "Print monitor" ;
};
diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx
index 803ef93b9cdc..757b917e406d 100644
--- a/sw/source/ui/dbui/mmoutputpage.cxx
+++ b/sw/source/ui/dbui/mmoutputpage.cxx
@@ -1016,6 +1016,14 @@ IMPL_LINK(SwMailMergeOutputPage, SendTypeHdl_Impl, ListBox*, pBox)
}
return 0;
}
+/*-- 17.07.2008 08:09:06---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+IMPL_LINK(SwMailMergeOutputPage, SaveCancelHdl_Impl, Button*, EMPTYARG )
+{
+ m_bCancelSaving = true;
+ return 0;
+}
/*-- 17.05.2004 13:51:02---------------------------------------------------
-----------------------------------------------------------------------*/
@@ -1103,6 +1111,10 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
}
pFilter = aIter.Next();
}
+ String sStat(SW_RES(STR_STATSTR_LETTER));
+ sStat += ' ';
+ sStat += String::CreateFromInt32( nDoc );
+ aSaveMonitor.aPrintInfo.SetText(sStat);
}
break;
diff --git a/sw/source/ui/dbui/mmoutputpage.hxx b/sw/source/ui/dbui/mmoutputpage.hxx
index 6a02a8482416..a63bc19970e7 100644
--- a/sw/source/ui/dbui/mmoutputpage.hxx
+++ b/sw/source/ui/dbui/mmoutputpage.hxx
@@ -117,7 +117,6 @@ class SwMailMergeOutputPage : public svt::OWizardPage
long m_nFromToFTPos;
long m_nFromToNFPos;
long m_nRBOffset;
-
bool m_bCancelSaving;
SwMailMergeWizard* m_pWizard;
@@ -141,6 +140,7 @@ class SwMailMergeOutputPage : public svt::OWizardPage
DECL_LINK(SendDocumentsHdl_Impl, PushButton*);
DECL_LINK(DocumentSelectionHdl_Impl, RadioButton*);
DECL_LINK(SaveCancelHdl_Impl, Button*);
+
protected:
virtual bool canAdvance() const;
virtual void ActivatePage();
diff --git a/sw/source/ui/shells/tabsh.cxx b/sw/source/ui/shells/tabsh.cxx
index 4c971fa1152a..dc2cd85cefdd 100644
--- a/sw/source/ui/shells/tabsh.cxx
+++ b/sw/source/ui/shells/tabsh.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: tabsh.cxx,v $
- * $Revision: 1.46 $
+ * $Revision: 1.46.212.1 $
*
* This file is part of OpenOffice.org.
*
@@ -53,6 +53,7 @@
#include <svx/colritem.hxx>
#include <svx/frmdiritem.hxx>
#include <svx/numinf.hxx>
+#include <svx/svddef.hxx>
#include <svx/svxdlg.hxx>
#include <svtools/zformat.hxx>
#include <sfx2/bindings.hxx>
@@ -580,9 +581,16 @@ void SwTableShell::Execute(SfxRequest &rReq)
else
{ASSERT( !this, "Wo ist das Box-Item?" )}
+ //since the drawing layer also supports borders the which id might be a different one
SvxBoxInfoItem aInfo( SID_ATTR_BORDER_INNER );
if (pArgs->GetItemState(SID_ATTR_BORDER_INNER, TRUE, &pBoxItem) == SFX_ITEM_SET)
aInfo = *(SvxBoxInfoItem*)pBoxItem;
+ else if( pArgs->GetItemState(SDRATTR_TABLE_BORDER_INNER, TRUE, &pBoxItem) == SFX_ITEM_SET )
+ {
+ aInfo = *(SvxBoxInfoItem*)pBoxItem;
+ aInfo.SetWhich(SID_ATTR_BORDER_INNER);
+ }
+
aInfo.SetTable( TRUE );
aInfo.SetValid( VALID_DISABLE, FALSE );