User: hr Date: 2007-11-01 15:06:43+0000 Modified: dba/dbaccess/source/ui/dlg/DriverSettings.cxx
Log: INTEGRATION: CWS dba24b (1.7.88); FILE MERGED 2007/09/28 11:54:51 oj 1.7.88.3: RESYNC: (1.7-1.8); FILE MERGED 2007/08/27 20:28:23 fs 1.7.88.2: #i80930# fillDetailIds renamed to getSupportedIndirectSettings + now partly based on DataSourceUI, to avoid duplicated hard-coded data 2007/08/27 13:31:35 fs 1.7.88.1: #i80930# proper detail ids File Changes: Directory: /dba/dbaccess/source/ui/dlg/ ======================================= File [changed]: DriverSettings.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/DriverSettings.cxx?r1=1.8&r2=1.9 Delta lines: +71 -159 ---------------------- --- DriverSettings.cxx 2007-09-13 17:58:30+0000 1.8 +++ DriverSettings.cxx 2007-11-01 15:06:40+0000 1.9 @@ -36,208 +36,120 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_dbaccess.hxx" -#ifndef DBAUI_DRIVERSETTINGS_HXX #include "DriverSettings.hxx" -#endif -#ifndef _DBAUI_DATASOURCEITEMS_HXX_ #include "dsitems.hxx" -#endif +#include "datasourceui.hxx" using namespace dbaui; -void ODriversSettings::fillDetailIds(DATASOURCE_TYPE _eType,::std::vector< sal_Int32>& _rDetailsIds) +void ODriversSettings::getSupportedIndirectSettings( DATASOURCE_TYPE _eType, ::std::vector< sal_Int32>& _out_rDetailsIds ) { + // for a number of settings, we do not need to use hard-coded here, but can ask a + // central DataSourceUI instance. + DataSourceUI aDSUI( _eType ); + const USHORT nGenericKnownSettings[] = + { + DSID_SQL92CHECK, + DSID_APPEND_TABLE_ALIAS, + DSID_AS_BEFORE_CORRNAME, + DSID_ENABLEOUTERJOIN, + DSID_IGNOREDRIVER_PRIV, + DSID_PARAMETERNAMESUBST, + DSID_SUPPRESSVERSIONCL, + DSID_CATALOG, + DSID_SCHEMA, + DSID_INDEXAPPENDIX, + DSID_DOSLINEENDS, + DSID_CHECK_REQUIRED_FIELDS, + DSID_AUTORETRIEVEENABLED, + DSID_AUTOINCREMENTVALUE, + DSID_AUTORETRIEVEVALUE, + 0 + }; + for ( const USHORT* pGenericKnowSetting = nGenericKnownSettings; *pGenericKnowSetting; ++pGenericKnowSetting ) + if ( aDSUI.hasSetting( *pGenericKnowSetting ) ) + _out_rDetailsIds.push_back( *pGenericKnowSetting ); + + // the rest is hard-coded. On the long run, all of this should be done via DataSourceUI::hasSetting switch ( _eType ) { case DST_DBASE: - _rDetailsIds.push_back(DSID_SHOWDELETEDROWS); - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_SHOWDELETEDROWS); + _out_rDetailsIds.push_back(DSID_CHARSET); break; + case DST_FLAT: - _rDetailsIds.push_back(DSID_FIELDDELIMITER); - _rDetailsIds.push_back(DSID_TEXTDELIMITER); - _rDetailsIds.push_back(DSID_DECIMALDELIMITER); - _rDetailsIds.push_back(DSID_THOUSANDSDELIMITER); - _rDetailsIds.push_back(DSID_TEXTFILEEXTENSION); - _rDetailsIds.push_back(DSID_TEXTFILEHEADER); - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_DOSLINEENDS); - break; - - case DST_MSACCESS: - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_FIELDDELIMITER); + _out_rDetailsIds.push_back(DSID_TEXTDELIMITER); + _out_rDetailsIds.push_back(DSID_DECIMALDELIMITER); + _out_rDetailsIds.push_back(DSID_THOUSANDSDELIMITER); + _out_rDetailsIds.push_back(DSID_TEXTFILEEXTENSION); + _out_rDetailsIds.push_back(DSID_TEXTFILEHEADER); + _out_rDetailsIds.push_back(DSID_CHARSET); break; case DST_ADABAS: - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_CONN_SHUTSERVICE); - _rDetailsIds.push_back(DSID_CONN_DATAINC); - _rDetailsIds.push_back(DSID_CONN_CACHESIZE); - _rDetailsIds.push_back(DSID_CONN_CTRLUSER); - _rDetailsIds.push_back(DSID_CONN_CTRLPWD); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_CHARSET); + _out_rDetailsIds.push_back(DSID_CONN_SHUTSERVICE); + _out_rDetailsIds.push_back(DSID_CONN_DATAINC); + _out_rDetailsIds.push_back(DSID_CONN_CACHESIZE); + _out_rDetailsIds.push_back(DSID_CONN_CTRLUSER); + _out_rDetailsIds.push_back(DSID_CONN_CTRLPWD); break; case DST_ADO: - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_AS_BEFORE_CORRNAME); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_CHARSET); break; + case DST_ODBC: - _rDetailsIds.push_back(DSID_ADDITIONALOPTIONS); - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_USECATALOG); - _rDetailsIds.push_back(DSID_AUTOINCREMENTVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEENABLED); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_CATALOG); - _rDetailsIds.push_back(DSID_SCHEMA); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_AS_BEFORE_CORRNAME); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_INDEXAPPENDIX); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_ADDITIONALOPTIONS); + _out_rDetailsIds.push_back(DSID_CHARSET); + _out_rDetailsIds.push_back(DSID_USECATALOG); break; case DST_MYSQL_JDBC: - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_JDBCDRIVERCLASS); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_CHARSET); + _out_rDetailsIds.push_back(DSID_JDBCDRIVERCLASS); break; case DST_MYSQL_ODBC: - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_CHARSET); break; case DST_LDAP: - _rDetailsIds.push_back(DSID_CONN_LDAP_BASEDN); - _rDetailsIds.push_back(DSID_CONN_LDAP_ROWCOUNT); - _rDetailsIds.push_back(DSID_CONN_LDAP_USESSL); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_CONN_LDAP_BASEDN); + _out_rDetailsIds.push_back(DSID_CONN_LDAP_ROWCOUNT); + _out_rDetailsIds.push_back(DSID_CONN_LDAP_USESSL); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_MOZILLA: case DST_THUNDERBIRD: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_EVOLUTION: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_KAB: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_MACAB: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_OUTLOOK: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_OUTLOOKEXP: - _rDetailsIds.push_back(DSID_DOSLINEENDS); + _out_rDetailsIds.push_back(DSID_DOSLINEENDS); break; case DST_JDBC: - _rDetailsIds.push_back(DSID_JDBCDRIVERCLASS); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_AUTOINCREMENTVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEENABLED); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_CATALOG); - _rDetailsIds.push_back(DSID_SCHEMA); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_AS_BEFORE_CORRNAME); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_INDEXAPPENDIX); - _rDetailsIds.push_back(DSID_DOSLINEENDS); + case DST_ORACLE_JDBC: + _out_rDetailsIds.push_back(DSID_JDBCDRIVERCLASS); break; - case DST_ORACLE_JDBC: - _rDetailsIds.push_back(DSID_JDBCDRIVERCLASS); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_AUTOINCREMENTVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEENABLED); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_CATALOG); - _rDetailsIds.push_back(DSID_SCHEMA); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_AS_BEFORE_CORRNAME); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_INDEXAPPENDIX); - _rDetailsIds.push_back(DSID_DOSLINEENDS); - break; - - case DST_USERDEFINE1: /// first user defined driver - case DST_USERDEFINE2: - case DST_USERDEFINE3: - case DST_USERDEFINE4: - case DST_USERDEFINE5: - case DST_USERDEFINE6: - case DST_USERDEFINE7: - case DST_USERDEFINE8: - case DST_USERDEFINE9: - case DST_USERDEFINE10: default: - _rDetailsIds.push_back(DSID_ADDITIONALOPTIONS); - _rDetailsIds.push_back(DSID_CHARSET); - _rDetailsIds.push_back(DSID_SQL92CHECK); - _rDetailsIds.push_back(DSID_USECATALOG); - _rDetailsIds.push_back(DSID_AUTOINCREMENTVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEVALUE); - _rDetailsIds.push_back(DSID_AUTORETRIEVEENABLED); - _rDetailsIds.push_back(DSID_PARAMETERNAMESUBST); - _rDetailsIds.push_back(DSID_SUPPRESSVERSIONCL); - _rDetailsIds.push_back(DSID_ENABLEOUTERJOIN); - _rDetailsIds.push_back(DSID_CATALOG); - _rDetailsIds.push_back(DSID_SCHEMA); - _rDetailsIds.push_back(DSID_APPEND_TABLE_ALIAS); - _rDetailsIds.push_back(DSID_AS_BEFORE_CORRNAME); - _rDetailsIds.push_back(DSID_BOOLEANCOMPARISON); - _rDetailsIds.push_back(DSID_INDEXAPPENDIX); - _rDetailsIds.push_back(DSID_IGNOREDRIVER_PRIV); - _rDetailsIds.push_back(DSID_DOSLINEENDS); break; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
