autorecovery: save/recover forms and reports

Still some lose ends. Most notably, the current code contains cases for other sub component types,
but has no real implementation - attempting to save/recover those other types will yield multiple
assertions only. Also, recovery of SRB-reports has not been tested, yet, chances are good there's
some work ahead here.

Other known open issues:
- recovering sub components immediately shows them, instead of initially hiding them, and showing
  only when the main document window is shown
- the implementation currently is no real session save, which would require saving information about
  *unmodified* open sub components (though not their actual content), and restoring them upon
  recovery.
- doing an implicit "connect" at the controller of the to-be-recovered database document is a requirement
  to actually load the sub components, but might yield problems in case this requires interaction
  (e.g. a login). Need to investigate
- the "recovery" storage is not removed from the database document storage after un/successful recovery
- cancelling the recovery of a "modified" database document always suggests to store this doc somewhere
This commit is contained in:
Frank Schoenheit [fs]
2010-01-15 15:21:15 +01:00
parent 216cc35f85
commit d0e9f1f751
4 changed files with 41 additions and 17 deletions

View File

@@ -192,7 +192,7 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
if ( !m_xObjectStorage.is() )
throw io::IOException(); //TODO: access denied
m_pDocHolder->SetComponent( LoadDocumentFromStorage_Impl( m_xObjectStorage ), m_bReadOnly );
m_pDocHolder->SetComponent( LoadDocumentFromStorage_Impl(), m_bReadOnly );
}
else
{