Tag: cws_src680_dba24b
User: fs      
Date: 2007-08-27 20:28:26+0000
Modified:
   dba/dbaccess/source/ui/dlg/DriverSettings.cxx
   dba/dbaccess/source/ui/dlg/DriverSettings.hxx

Log:
 #i80930# fillDetailIds renamed to getSupportedIndirectSettings + now partly 
based on DataSourceUI, to avoid duplicated hard-coded data

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.7.88.1&r2=1.7.88.2
Delta lines:  +59 -170
----------------------
--- DriverSettings.cxx  2007-08-27 13:31:35+0000        1.7.88.1
+++ DriverSettings.cxx  2007-08-27 20:28:23+0000        1.7.88.2
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: DriverSettings.cxx,v $
  *
- *  $Revision: 1.7.88.1 $
+ *  $Revision: 1.7.88.2 $
  *
- *  last change: $Author: fs $ $Date: 2007/08/27 13:31:35 $
+ *  last change: $Author: fs $ $Date: 2007/08/27 20:28:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -36,209 +36,98 @@
 // 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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+                       _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);
-                       break;
-
-               case DST_MOZILLA: 
-               case DST_THUNDERBIRD: 
-               case DST_EVOLUTION: 
-               case DST_KAB: 
-               case DST_OUTLOOK: 
-        case DST_OUTLOOKEXP:
+                       _out_rDetailsIds.push_back(DSID_CONN_LDAP_BASEDN);
+                       _out_rDetailsIds.push_back(DSID_CONN_LDAP_ROWCOUNT);
+                       _out_rDetailsIds.push_back(DSID_CONN_LDAP_USESSL);
                        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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
+        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);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
-                       break;
-
-        case DST_EMBEDDED:
-                       _rDetailsIds.push_back(DSID_DOSLINEENDS);
-                       _rDetailsIds.push_back(DSID_CHECK_REQUIRED_FIELDS);
-            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;
        }
 }

File [changed]: DriverSettings.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/DriverSettings.hxx?r1=1.6.88.1&r2=1.6.88.2
Delta lines:  +8 -49
--------------------
--- DriverSettings.hxx  2007-08-27 10:45:59+0000        1.6.88.1
+++ DriverSettings.hxx  2007-08-27 20:28:23+0000        1.6.88.2
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: DriverSettings.hxx,v $
  *
- *  $Revision: 1.6.88.1 $
+ *  $Revision: 1.6.88.2 $
  *
- *  last change: $Author: fs $ $Date: 2007/08/27 10:45:59 $
+ *  last change: $Author: fs $ $Date: 2007/08/27 20:28:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -49,97 +49,56 @@
        {
        public:
 
-               /** fills the DetailIds for the given type
+               /** filles the IDs of the settings which are reflected in 
indirect data source properties
+            (aka properties in the css.sdb.DataSource.Info sequence)
+
                        @param  _eType
                                The Type of the data source.
-                       @param  _rDetailsIds
+                       @param  _out_rDetailsIds
                                Will be filled.
                */
-               static void fillDetailIds(DATASOURCE_TYPE _eType,::std::vector< 
sal_Int32>& _rDetailsIds);
+               static void getSupportedIndirectSettings( DATASOURCE_TYPE 
_eType,::std::vector< sal_Int32>& _out_rDetailsIds );
 
                /** Creates the detail page for Dbase
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateDbase2( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for ado
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
-
-        
         static SfxTabPage*     CreateDbase( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for ado
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateAdo( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for ODBC
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateODBC( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for user
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateUser( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for MySQLODBC
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateMySQLODBC( Window* _pParent, 
const SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for MySQLJDBC
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateMySQLJDBC( Window* _pParent, 
const SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for Oracle JDBC
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static SfxTabPage*      CreateOracleJDBC( Window* pParent, 
const SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for Adabas
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateAdabas( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
                /** Creates the detail page for LDAP
-                       @param  _pParent
-                       @param  _rAttrSet
-                       
-                       @return SfxTabPage*
                */
                static  SfxTabPage*     CreateLDAP( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 
-
                /// Creates the detail page for Text
                static  SfxTabPage*     CreateText( Window* _pParent, const 
SfxItemSet& _rAttrSet );
 




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to