User: obo Date: 2006/07/10 08:22:14 Modified: dba/dbaccess/source/ui/app/AppController.cxx
Log: INTEGRATION: CWS qiq (1.29.12); FILE MERGED 2006/06/27 12:11:34 fs 1.29.12.5: RESYNC: (1.29-1.30); FILE MERGED 2006/06/19 09:27:49 fs 1.29.12.4: during #i51143#: A FeatureState can now transport more than one state. In particular, it has typed bChecked and sTitle members, instead of the previous unchecked aState 2006/05/24 06:49:21 fs 1.29.12.3: some refactoring of compose/quoteTableName and friends, in preparation of #i51143# 2006/05/18 09:16:11 fs 1.29.12.2: #i51143# when creating/pasting/saving a table/query, care for name collisions with both tables and queries (usign a DynamicTableOrQueryNameCheck), if the database supports queries in queries 2006/05/17 11:43:31 fs 1.29.12.1: refactored OSaveAsDlg in preparation of #i51143# File Changes: Directory: /dba/dbaccess/source/ui/app/ ======================================= File [changed]: AppController.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/app/AppController.cxx?r1=1.30&r2=1.31 Delta lines: +35 -33 --------------------- --- AppController.cxx 20 Jun 2006 02:53:25 -0000 1.30 +++ AppController.cxx 10 Jul 2006 15:22:12 -0000 1.31 @@ -142,6 +142,9 @@ #ifndef _DBU_APP_HRC_ #include "dbu_app.hrc" #endif +#ifndef DBACCESS_SOURCE_UI_MISC_DEFAULTOBJECTNAMECHECK_HXX +#include "defaultobjectnamecheck.hxx" +#endif #ifndef _SV_MENU_HXX #include <vcl/menu.hxx> #endif @@ -640,11 +643,11 @@ break; case ID_BROWSER_SORTUP: aReturn.bEnabled = getContainer()->isFilled() && getContainer()->getElementCount(); - aReturn.aState <<= (aReturn.bEnabled && getContainer()->isSortUp()); + aReturn.bChecked = aReturn.bEnabled && getContainer()->isSortUp(); break; case ID_BROWSER_SORTDOWN: aReturn.bEnabled = getContainer()->isFilled() && getContainer()->getElementCount(); - aReturn.aState <<= (aReturn.bEnabled && !getContainer()->isSortUp()); + aReturn.bChecked = aReturn.bEnabled && !getContainer()->isSortUp(); break; case SID_NEWDOC: @@ -654,19 +657,19 @@ break; case SID_DB_APP_VIEW_TABLES: aReturn.bEnabled = sal_True; - aReturn.aState <<= getContainer()->getElementType() == E_TABLE; + aReturn.bChecked = getContainer()->getElementType() == E_TABLE; break; case SID_DB_APP_VIEW_QUERIES: aReturn.bEnabled = sal_True; - aReturn.aState <<= getContainer()->getElementType() == E_QUERY; + aReturn.bChecked = getContainer()->getElementType() == E_QUERY; break; case SID_DB_APP_VIEW_FORMS: aReturn.bEnabled = sal_True; - aReturn.aState <<= getContainer()->getElementType() == E_FORM; + aReturn.bChecked = getContainer()->getElementType() == E_FORM; break; case SID_DB_APP_VIEW_REPORTS: aReturn.bEnabled = sal_True; - aReturn.aState <<= getContainer()->getElementType() == E_REPORT; + aReturn.bChecked = getContainer()->getElementType() == E_REPORT; break; case ID_NEW_QUERY_DESIGN: case ID_NEW_QUERY_SQL: @@ -801,18 +804,18 @@ break; case SID_DB_APP_DISABLE_PREVIEW: aReturn.bEnabled = !isDataSourceReadOnly(); - aReturn.aState <<= getContainer()->getPreviewMode() == E_PREVIEWNONE; + aReturn.bChecked = getContainer()->getPreviewMode() == E_PREVIEWNONE; break; case SID_DB_APP_VIEW_DOCINFO_PREVIEW: { ElementType eType = getContainer()->getElementType(); aReturn.bEnabled = !isDataSourceReadOnly() && (E_REPORT == eType || E_FORM == eType); - aReturn.aState <<= getContainer()->getPreviewMode() == E_DOCUMENTINFO; + aReturn.bChecked = getContainer()->getPreviewMode() == E_DOCUMENTINFO; } break; case SID_DB_APP_VIEW_DOC_PREVIEW: aReturn.bEnabled = !isDataSourceReadOnly(); - aReturn.aState <<= getContainer()->getPreviewMode() == E_DOCUMENT; + aReturn.bChecked = getContainer()->getPreviewMode() == E_DOCUMENT; break; case ID_BROWSER_UNDO: aReturn.bEnabled = sal_False; @@ -835,7 +838,7 @@ { DATASOURCE_TYPE eType = m_aTypeCollection.getType(::comphelper::getString(m_xDataSource->getPropertyValue(PROPERTY_URL))); ::rtl::OUString sDSTypeName = m_aTypeCollection.getTypeDisplayName(eType); - aReturn.aState <<= sDSTypeName; + aReturn.sTitle = sDSTypeName; } break; case SID_DB_APP_STATUS_DBNAME: @@ -871,12 +874,12 @@ } else sDatabaseName = m_aTypeCollection.getEmbeddedDatabaseUIName(getORB()); - aReturn.aState <<= ::rtl::OUString(sDatabaseName); + aReturn.sTitle = sDatabaseName; } break; case SID_DB_APP_STATUS_USERNAME: if ( aReturn.bEnabled = m_xDataSource.is() ) - aReturn.aState = m_xDataSource->getPropertyValue(PROPERTY_USER); + m_xDataSource->getPropertyValue( PROPERTY_USER ) >>= aReturn.sTitle; break; case SID_DB_APP_STATUS_HOSTNAME: if ( aReturn.bEnabled = m_xDataSource.is() ) @@ -893,7 +896,7 @@ ,sDatabaseName ,sHostName ,nPortNumber); - aReturn.aState <<= ::rtl::OUString(sHostName); + aReturn.sTitle = sHostName; } } break; @@ -1486,9 +1489,7 @@ { ensureConnection(); if ( xProp.is() && m_xMetaData.is() ) - { - sNewName = ::dbaui::composeTableName(m_xMetaData,xProp,sal_False,::dbtools::eInDataManipulation); - } + sNewName = ::dbaui::composeTableName( m_xMetaData, xProp, ::dbtools::eInDataManipulation, false, false, false ); } break; case E_FORM: @@ -1826,7 +1827,9 @@ { if ( xContainer.is() ) { - ::std::auto_ptr<OSaveAsDlg> aDlg; + ::std::auto_ptr< IObjectNameCheck > pNameChecker; + ::std::auto_ptr< OSaveAsDlg > aDialog; + Reference<XRename> xRename; ElementType eType = getContainer()->getElementType(); switch( eType ) @@ -1839,13 +1842,9 @@ { String sLabel; if ( eType == E_FORM ) - { sLabel = String(ModuleRes( STR_FRM_LABEL )); - } else - { sLabel = String(ModuleRes( STR_RPT_LABEL )); - } ::rtl::OUString sName = *aList.begin(); if ( xHNames->hasByHierarchicalName(sName) ) @@ -1861,7 +1860,9 @@ Reference<XPropertySet>(xRename,UNO_QUERY)->getPropertyValue(PROPERTY_NAME) >>= sName; } } - aDlg.reset( new OSaveAsDlg(getView(),xHNames.get(),sName,sLabel,String(),SAD_TITLE_RENAME) ); + pNameChecker.reset( new HierarchicalNameCheck( xHNames.get(), String() ) ); + aDialog.reset( new OSaveAsDlg( + getView(), getORB(), sName, sLabel, *pNameChecker, SAD_TITLE_RENAME ) ); } } } @@ -1877,36 +1878,37 @@ xRename.set(xContainer->getByName(*aList.begin()),UNO_QUERY); sal_Int32 nCommandType = eType == E_QUERY ? CommandType::QUERY : CommandType::TABLE; - aDlg.reset( new OSaveAsDlg( - getView(), nCommandType, xContainer, - m_xMetaData, getConnection(), *aList.begin(), SAD_TITLE_RENAME) ); + pNameChecker.reset( new DynamicTableOrQueryNameCheck( getConnection(), nCommandType ) ); + aDialog.reset( new OSaveAsDlg( + getView(), nCommandType, getORB(), getConnection(), + *aList.begin(), *pNameChecker, SAD_TITLE_RENAME ) ); } break; default: break; } - if ( xRename.is() && aDlg.get() ) + if ( xRename.is() && aDialog.get() ) { sal_Bool bTryAgain = sal_True; while( bTryAgain ) { - if ( aDlg->Execute() == RET_OK ) + if ( aDialog->Execute() == RET_OK ) { try { ::rtl::OUString sNewName; if ( eType == E_TABLE ) { - ::rtl::OUString sName = aDlg->getName(); - ::rtl::OUString sCatalog = aDlg->getCatalog(); - ::rtl::OUString sSchema = aDlg->getSchema(); + ::rtl::OUString sName = aDialog->getName(); + ::rtl::OUString sCatalog = aDialog->getCatalog(); + ::rtl::OUString sSchema = aDialog->getSchema(); - ::dbtools::composeTableName( m_xMetaData, sCatalog, sSchema, sName, sNewName, sal_False, ::dbtools::eInTableDefinitions ); + sNewName = ::dbtools::composeTableName( m_xMetaData, sCatalog, sSchema, sName, sal_False, ::dbtools::eInTableDefinitions ); } else - sNewName = aDlg->getName(); + sNewName = aDialog->getName(); ::rtl::OUString sOldName = *aList.begin(); if ( eType == E_FORM || eType == E_REPORT ) @@ -1933,7 +1935,7 @@ catch(const ElementExistException& e) { static ::rtl::OUString sStatus = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("S1000")); - String sMsg = String(ModuleRes(STR_OBJECT_ALREADY_EXISTS)); + String sMsg = String( ModuleRes( STR_NAME_ALREADY_EXISTS ) ); sMsg.SearchAndReplace('#',e.Message); showError(SQLExceptionInfo(SQLException(sMsg, e.Context, sStatus, 0, Any()))); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
