diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2009-04-24 14:37:15 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2009-04-24 14:37:15 +0000 |
commit | 0cd66f23d25027c7c0b7de760f4534c3ff62d1f8 (patch) | |
tree | 7e2b67a080cb13e010dd831d56b6ffc2cfc3bbe8 | |
parent | 462ebd5b18e44442e4f5dcd5f8992b719d049465 (diff) |
CWS-TOOLING: integrate CWS calcdelrows_DEV300
2009-04-14 09:17:29 +0200 nn r270747 : #i100895# for collaboration, allow rejection regardless of IsDeletedIn
-rw-r--r-- | sc/inc/chgtrack.hxx | 2 | ||||
-rw-r--r-- | sc/source/core/tool/chgtrack.cxx | 7 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh3.cxx | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx index cb84cf103..91d433c9c 100644 --- a/sc/inc/chgtrack.hxx +++ b/sc/inc/chgtrack.hxx @@ -1373,7 +1373,7 @@ public: BOOL bAllFlat = FALSE ) const; // Reject visible Action (und abhaengige) - BOOL Reject( ScChangeAction* ); + BOOL Reject( ScChangeAction*, bool bShared = false ); // Accept visible Action (und abhaengige) SC_DLLPUBLIC BOOL Accept( ScChangeAction* ); diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx index 84d0439d4..76af46921 100644 --- a/sc/source/core/tool/chgtrack.cxx +++ b/sc/source/core/tool/chgtrack.cxx @@ -4851,8 +4851,13 @@ BOOL ScChangeTrack::RejectAll() } -BOOL ScChangeTrack::Reject( ScChangeAction* pAct ) +BOOL ScChangeTrack::Reject( ScChangeAction* pAct, bool bShared ) { + // #i100895# When collaboration changes are reversed, it must be possible + // to reject a deleted row above another deleted row. + if ( bShared && pAct->IsDeletedIn() ) + pAct->RemoveAllDeletedIn(); + if ( !pAct->IsRejectable() ) return FALSE; diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index 6710eb52b..6ec338a87 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -1292,7 +1292,7 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell ) ScChangeAction* pAction = pThisTrack->GetLast(); while ( pAction && pAction->GetActionNumber() >= nStartShared ) { - pThisTrack->Reject( pAction ); + pThisTrack->Reject( pAction, true ); pAction = pAction->GetPrev(); } |