diff options
author | Ocke Janssen <oj@openoffice.org> | 2001-07-18 07:51:19 +0000 |
---|---|---|
committer | Ocke Janssen <oj@openoffice.org> | 2001-07-18 07:51:19 +0000 |
commit | 8c5d7b3919a681258da9c01c61628d15951e525c (patch) | |
tree | 451fd6320def0e93843212c6d273bde85c267e4e /dbaccess/source/ui/relationdesign/RelationController.cxx | |
parent | 99286fceaeb7fbf2adba8498c680a3a4d45b6e30 (diff) |
#89772# set new configurationnode when datasource was renamed
Diffstat (limited to 'dbaccess/source/ui/relationdesign/RelationController.cxx')
-rw-r--r-- | dbaccess/source/ui/relationdesign/RelationController.cxx | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/dbaccess/source/ui/relationdesign/RelationController.cxx b/dbaccess/source/ui/relationdesign/RelationController.cxx index b0f7bf58a0fe..14c4e98bf111 100644 --- a/dbaccess/source/ui/relationdesign/RelationController.cxx +++ b/dbaccess/source/ui/relationdesign/RelationController.cxx @@ -2,9 +2,9 @@ * * $RCSfile: RelationController.cxx,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: oj $ $Date: 2001-06-28 14:24:04 $ + * last change: $Author: oj $ $Date: 2001-07-18 08:51:17 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -282,31 +282,41 @@ void ORelationController::Execute(sal_uInt16 _nId) case ID_BROWSER_SAVEDOC: { OSL_ENSURE(m_bEditable,"Slot ID_BROWSER_SAVEDOC should not be enabled!"); - // now we save the layout information - // create the output stream - try + if(!::dbaui::checkDataSourceAvailable(::comphelper::getString(m_xDataSource->getPropertyValue(PROPERTY_NAME)),getORB())) { - Sequence< sal_Int8 > aOutputSeq; - if(m_xDataSource.is() && m_xDataSource->getPropertySetInfo()->hasPropertyByName(PROPERTY_LAYOUTINFORMATION)) + String aMessage(ModuleRes(STR_DATASOURCE_DELETED)); + String sTitle(ModuleRes(STR_STAT_WARNING)); + OSQLMessageBox aMsg(getView(),sTitle,aMessage); + aMsg.Execute(); + } + else + { + // now we save the layout information + // create the output stream + try { - Reference< XOutputStream> xOutStreamHelper = new OSequenceOutputStream(aOutputSeq); - Reference< XObjectOutputStream> xOutStream(getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.io.ObjectOutputStream")),UNO_QUERY); - Reference< XOutputStream> xMarkOutStream(getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.io.MarkableOutputStream")),UNO_QUERY); - Reference< XActiveDataSource >(xMarkOutStream,UNO_QUERY)->setOutputStream(xOutStreamHelper); - Reference< XActiveDataSource > xOutDataSource(xOutStream, UNO_QUERY); - OSL_ENSURE(xOutDataSource.is(),"Couldn't create com.sun.star.io.ObjectOutputStream!"); - xOutDataSource->setOutputStream(xMarkOutStream); - Save(xOutStream); + Sequence< sal_Int8 > aOutputSeq; + if(m_xDataSource.is() && m_xDataSource->getPropertySetInfo()->hasPropertyByName(PROPERTY_LAYOUTINFORMATION)) + { + Reference< XOutputStream> xOutStreamHelper = new OSequenceOutputStream(aOutputSeq); + Reference< XObjectOutputStream> xOutStream(getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.io.ObjectOutputStream")),UNO_QUERY); + Reference< XOutputStream> xMarkOutStream(getORB()->createInstance(::rtl::OUString::createFromAscii("com.sun.star.io.MarkableOutputStream")),UNO_QUERY); + Reference< XActiveDataSource >(xMarkOutStream,UNO_QUERY)->setOutputStream(xOutStreamHelper); + Reference< XActiveDataSource > xOutDataSource(xOutStream, UNO_QUERY); + OSL_ENSURE(xOutDataSource.is(),"Couldn't create com.sun.star.io.ObjectOutputStream!"); + xOutDataSource->setOutputStream(xMarkOutStream); + Save(xOutStream); - m_xDataSource->setPropertyValue(PROPERTY_LAYOUTINFORMATION,makeAny(aOutputSeq)); - Reference<XFlushable> xFlush(m_xDataSource,UNO_QUERY); - if(xFlush.is()) - xFlush->flush(); - setModified(sal_False); + m_xDataSource->setPropertyValue(PROPERTY_LAYOUTINFORMATION,makeAny(aOutputSeq)); + Reference<XFlushable> xFlush(m_xDataSource,UNO_QUERY); + if(xFlush.is()) + xFlush->flush(); + setModified(sal_False); + } + } + catch(Exception&) + { } - } - catch(Exception&) - { } } break; |