diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-02-10 14:05:19 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-02-10 14:05:19 +0100 |
commit | f4ba6a75910f44a8b98de1243fbd5a9dfef5aa49 (patch) | |
tree | 155e748da1cafb7cbe077b6479bf5d3bf394367f /reportdesign | |
parent | 4f8f578855d93e0821ade20218ec8269e4cb8b8c (diff) |
autorecovery: let the SingleDocController, and derived classes, support XModifiable
Diffstat (limited to 'reportdesign')
-rw-r--r-- | reportdesign/source/ui/inc/ReportController.hxx | 2 | ||||
-rw-r--r-- | reportdesign/source/ui/report/ReportController.cxx | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/reportdesign/source/ui/inc/ReportController.hxx b/reportdesign/source/ui/inc/ReportController.hxx index 3117fe284a7c..0f440997bd52 100644 --- a/reportdesign/source/ui/inc/ReportController.hxx +++ b/reportdesign/source/ui/inc/ReportController.hxx @@ -353,7 +353,7 @@ namespace rptui // SfxListener virtual void Notify(SfxBroadcaster & rBc, SfxHint const & rHint); - virtual void setModified(sal_Bool _bModified=sal_True); + virtual void impl_onModifyChanged(); // const ::connectivity::OSQLParseNode* getParseTree() const { return m_aSqlIterator.getParseTree();} // need for undo's and redo's diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx index cdaac3f601e2..741fb4db5fe0 100644 --- a/reportdesign/source/ui/report/ReportController.cxx +++ b/reportdesign/source/ui/report/ReportController.cxx @@ -784,7 +784,7 @@ FeatureState OReportController::GetState(sal_uInt16 _nId) const aReturn.aValue <<= getSplitPos(); break; case SID_SAVEDOC: - aReturn.bEnabled = isModified() && isEditable(); + aReturn.bEnabled = impl_isModified() && isEditable(); break; case SID_SAVEASDOC: aReturn.bEnabled = isConnected() && isEditable(); @@ -2127,17 +2127,18 @@ SfxUndoManager* OReportController::getUndoMgr() return &m_aUndoManager; } // ----------------------------------------------------------------------------- -void OReportController::setModified(sal_Bool _bModified) +void OReportController::impl_onModifyChanged() { - ::osl::MutexGuard aGuard( getMutex() ); try { if ( m_xReportDefinition.is() ) - m_xReportDefinition->setModified(_bModified); - OSingleDocumentController::setModified(_bModified); + m_xReportDefinition->setModified( impl_isModified() ); + OSingleDocumentController::impl_onModifyChanged(); } catch(uno::Exception) - {} + { + DBG_UNHANDLED_EXCEPTION(); + } } // ----------------------------------------------------------------------------- void OReportController::losingConnection( ) |