Kaydet (Commit) 52faa1f9 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Explicitly call these methods to init / update note positions.

Since we don't use inc / dec recalc level, we need to do this.

Change-Id: Ia99b4dbfceefd1ed951a61374250c5c61e39a62a
üst b10833d4
...@@ -1499,6 +1499,8 @@ sal_Bool ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMa ...@@ -1499,6 +1499,8 @@ sal_Bool ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMa
itr = aMark.begin(); itr = aMark.begin();
for (; itr != itrEnd && nTabCount; ++itr) for (; itr != itrEnd && nTabCount; ++itr)
{ {
pDoc->InitializeNoteCaptions(*itr);
i = *itr; i = *itr;
if( pDoc->HasAttrib( nMergeTestStartX, nMergeTestStartY, i, nMergeTestEndX, nMergeTestEndY, i, HASATTR_MERGED | HASATTR_OVERLAPPED ) ) if( pDoc->HasAttrib( nMergeTestStartX, nMergeTestStartY, i, nMergeTestEndX, nMergeTestEndY, i, HASATTR_MERGED | HASATTR_OVERLAPPED ) )
{ {
...@@ -1721,6 +1723,8 @@ sal_Bool ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMa ...@@ -1721,6 +1723,8 @@ sal_Bool ScDocFunc::InsertCells( const ScRange& rRange, const ScMarkData* pTabMa
for (; itr != itrEnd && *itr < nTabCount; ++itr) for (; itr != itrEnd && *itr < nTabCount; ++itr)
{ {
i = *itr; i = *itr;
pDoc->SetDrawPageSize(i);
if (bNeedRefresh) if (bNeedRefresh)
pDoc->ExtendMerge( nMergeTestStartX, nMergeTestStartY, nMergeTestEndX, nMergeTestEndY, i, sal_True ); pDoc->ExtendMerge( nMergeTestStartX, nMergeTestStartY, nMergeTestEndX, nMergeTestEndY, i, sal_True );
else else
...@@ -1904,6 +1908,8 @@ sal_Bool ScDocFunc::DeleteCells( const ScRange& rRange, const ScMarkData* pTabMa ...@@ -1904,6 +1908,8 @@ sal_Bool ScDocFunc::DeleteCells( const ScRange& rRange, const ScMarkData* pTabMa
itr = aMark.begin(); itr = aMark.begin();
for (; itr != itrEnd && *itr < nTabCount; ++itr) for (; itr != itrEnd && *itr < nTabCount; ++itr)
{ {
pDoc->InitializeNoteCaptions(*itr);
SCTAB i = *itr; SCTAB i = *itr;
if ( pDoc->HasAttrib( nUndoStartX, nUndoStartY, i, nMergeTestEndX, nMergeTestEndY, i, HASATTR_MERGED | HASATTR_OVERLAPPED )) if ( pDoc->HasAttrib( nUndoStartX, nUndoStartY, i, nMergeTestEndX, nMergeTestEndY, i, HASATTR_MERGED | HASATTR_OVERLAPPED ))
{ {
...@@ -2227,6 +2233,8 @@ sal_Bool ScDocFunc::DeleteCells( const ScRange& rRange, const ScMarkData* pTabMa ...@@ -2227,6 +2233,8 @@ sal_Bool ScDocFunc::DeleteCells( const ScRange& rRange, const ScMarkData* pTabMa
itr = aMark.begin(), itrEnd = aMark.end(); itr = aMark.begin(), itrEnd = aMark.end();
for (; itr != itrEnd && *itr < nTabCount; ++itr) for (; itr != itrEnd && *itr < nTabCount; ++itr)
{ {
pDoc->SetDrawPageSize(*itr);
if ( eCmd == DEL_DELCOLS || eCmd == DEL_DELROWS ) if ( eCmd == DEL_DELCOLS || eCmd == DEL_DELROWS )
pDoc->UpdatePageBreaks( *itr ); pDoc->UpdatePageBreaks( *itr );
......
...@@ -284,6 +284,10 @@ void ScUndoInsertCells::Undo() ...@@ -284,6 +284,10 @@ void ScUndoInsertCells::Undo()
BeginUndo(); BeginUndo();
DoChange( sal_True ); DoChange( sal_True );
EndUndo(); EndUndo();
ScDocument* pDoc = pDocShell->GetDocument();
for (SCTAB i = 0; i < nCount; ++i)
pDoc->SetDrawPageSize(pTabs[i]);
} }
void ScUndoInsertCells::Redo() void ScUndoInsertCells::Redo()
...@@ -295,6 +299,10 @@ void ScUndoInsertCells::Redo() ...@@ -295,6 +299,10 @@ void ScUndoInsertCells::Redo()
if ( pPasteUndo ) if ( pPasteUndo )
pPasteUndo->Redo(); // redo paste last pPasteUndo->Redo(); // redo paste last
ScDocument* pDoc = pDocShell->GetDocument();
for (SCTAB i = 0; i < nCount; ++i)
pDoc->SetDrawPageSize(pTabs[i]);
} }
void ScUndoInsertCells::Repeat(SfxRepeatTarget& rTarget) void ScUndoInsertCells::Repeat(SfxRepeatTarget& rTarget)
...@@ -519,6 +527,10 @@ void ScUndoDeleteCells::Undo() ...@@ -519,6 +527,10 @@ void ScUndoDeleteCells::Undo()
pViewShell->MarkRange( ScRange(aEffRange.aStart.Col(), aEffRange.aStart.Row(), pTabs[i], aEffRange.aEnd.Col(), aEffRange.aEnd.Row(), pTabs[i]+pScenarios[i]) ); pViewShell->MarkRange( ScRange(aEffRange.aStart.Col(), aEffRange.aStart.Row(), pTabs[i], aEffRange.aEnd.Col(), aEffRange.aEnd.Row(), pTabs[i]+pScenarios[i]) );
} }
} }
ScDocument* pDoc = pDocShell->GetDocument();
for (SCTAB i = 0; i < nCount; ++i)
pDoc->SetDrawPageSize(pTabs[i]);
} }
void ScUndoDeleteCells::Redo() void ScUndoDeleteCells::Redo()
...@@ -532,6 +544,10 @@ void ScUndoDeleteCells::Redo() ...@@ -532,6 +544,10 @@ void ScUndoDeleteCells::Redo()
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
if (pViewShell) if (pViewShell)
pViewShell->DoneBlockMode(); // current way pViewShell->DoneBlockMode(); // current way
ScDocument* pDoc = pDocShell->GetDocument();
for (SCTAB i = 0; i < nCount; ++i)
pDoc->SetDrawPageSize(pTabs[i]);
} }
void ScUndoDeleteCells::Repeat(SfxRepeatTarget& rTarget) void ScUndoDeleteCells::Repeat(SfxRepeatTarget& rTarget)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment