summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/relationdesign/RelationController.cxx
diff options
context:
space:
mode:
authorOcke Janssen <oj@openoffice.org>2001-07-18 07:51:19 +0000
committerOcke Janssen <oj@openoffice.org>2001-07-18 07:51:19 +0000
commit8c5d7b3919a681258da9c01c61628d15951e525c (patch)
tree451fd6320def0e93843212c6d273bde85c267e4e /dbaccess/source/ui/relationdesign/RelationController.cxx
parent99286fceaeb7fbf2adba8498c680a3a4d45b6e30 (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.cxx56
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;