diff options
Diffstat (limited to 'dbaccess/source/ui/dlg/advancedsettings.cxx')
-rw-r--r-- | dbaccess/source/ui/dlg/advancedsettings.cxx | 88 |
1 files changed, 57 insertions, 31 deletions
diff --git a/dbaccess/source/ui/dlg/advancedsettings.cxx b/dbaccess/source/ui/dlg/advancedsettings.cxx index d9d36cdfc36c..859decf8f89b 100644 --- a/dbaccess/source/ui/dlg/advancedsettings.cxx +++ b/dbaccess/source/ui/dlg/advancedsettings.cxx @@ -48,7 +48,7 @@ namespace dbaui // SpecialSettingsPage struct BooleanSettingDesc { - CheckBox** ppControl; // the dialog's control which displays this setting + VclPtr<CheckBox>& ppControl; // the dialog's control which displays this setting OString sControlId; // the widget name of the control in the .ui sal_uInt16 nItemId; // the ID of the item (in an SfxItemSet) which corresponds to this setting bool bInvertedDisplay; // true if and only if the checkbox is checked when the item is sal_False, and vice versa @@ -95,14 +95,14 @@ namespace dbaui sal_uInt16 nItemId = setting->nItemId; if ( rFeatures.has( nItemId ) ) { - get((*setting->ppControl), setting->sControlId); - (*setting->ppControl)->SetClickHdl( getControlModifiedLink() ); - (*setting->ppControl)->Show(); + get(setting->ppControl, setting->sControlId); + setting->ppControl->SetClickHdl( getControlModifiedLink() ); + setting->ppControl->Show(); // check whether this must be a tristate check box const SfxPoolItem& rItem = _rCoreAttrs.Get( nItemId ); if ( rItem.ISA( OptionalBoolItem ) ) - (*setting->ppControl)->EnableTriState( true ); + setting->ppControl->EnableTriState( true ); } } @@ -140,6 +140,26 @@ namespace dbaui void SpecialSettingsPage::dispose() { m_aControlDependencies.clear(); + m_pIsSQL92Check.clear(); + m_pAppendTableAlias.clear(); + m_pAsBeforeCorrelationName.clear(); + m_pEnableOuterJoin.clear(); + m_pIgnoreDriverPrivileges.clear(); + m_pParameterSubstitution.clear(); + m_pSuppressVersionColumn.clear(); + m_pCatalog.clear(); + m_pSchema.clear(); + m_pIndexAppendix.clear(); + m_pDosLineEnds.clear(); + m_pCheckRequiredFields.clear(); + m_pIgnoreCurrency.clear(); + m_pEscapeDateTime.clear(); + m_pPrimaryKeySupport.clear(); + m_pRespectDriverResultSetType.clear(); + m_pBooleanComparisonModeLabel.clear(); + m_pBooleanComparisonMode.clear(); + m_pMaxRowScanLabel.clear(); + m_pMaxRowScan.clear(); OGenericAdministrationPage::dispose(); } @@ -149,28 +169,28 @@ namespace dbaui // for easier maintenance, write the table in this form, then copy it to m_aBooleanSettings BooleanSettingDesc aSettings[] = { - { &m_pIsSQL92Check, "usesql92", DSID_SQL92CHECK, false }, - { &m_pAppendTableAlias, "append", DSID_APPEND_TABLE_ALIAS, false }, - { &m_pAsBeforeCorrelationName, "useas", DSID_AS_BEFORE_CORRNAME, false }, - { &m_pEnableOuterJoin, "useoj", DSID_ENABLEOUTERJOIN, false }, - { &m_pIgnoreDriverPrivileges, "ignoreprivs", DSID_IGNOREDRIVER_PRIV, false }, - { &m_pParameterSubstitution, "replaceparams", DSID_PARAMETERNAMESUBST, false }, - { &m_pSuppressVersionColumn, "displayver", DSID_SUPPRESSVERSIONCL, true }, - { &m_pCatalog, "usecatalogname", DSID_CATALOG, false }, - { &m_pSchema, "useschemaname", DSID_SCHEMA, false }, - { &m_pIndexAppendix, "createindex", DSID_INDEXAPPENDIX, false }, - { &m_pDosLineEnds, "eol", DSID_DOSLINEENDS, false }, - { &m_pCheckRequiredFields, "inputchecks", DSID_CHECK_REQUIRED_FIELDS, false }, - { &m_pIgnoreCurrency, "ignorecurrency", DSID_IGNORECURRENCY, false }, - { &m_pEscapeDateTime, "useodbcliterals", DSID_ESCAPE_DATETIME, false }, - { &m_pPrimaryKeySupport, "primarykeys", DSID_PRIMARY_KEY_SUPPORT, false }, - { &m_pRespectDriverResultSetType, "resulttype", DSID_RESPECTRESULTSETTYPE, false }, - { NULL, "", 0, false } + { m_pIsSQL92Check, "usesql92", DSID_SQL92CHECK, false }, + { m_pAppendTableAlias, "append", DSID_APPEND_TABLE_ALIAS, false }, + { m_pAsBeforeCorrelationName, "useas", DSID_AS_BEFORE_CORRNAME, false }, + { m_pEnableOuterJoin, "useoj", DSID_ENABLEOUTERJOIN, false }, + { m_pIgnoreDriverPrivileges, "ignoreprivs", DSID_IGNOREDRIVER_PRIV, false }, + { m_pParameterSubstitution, "replaceparams", DSID_PARAMETERNAMESUBST, false }, + { m_pSuppressVersionColumn, "displayver", DSID_SUPPRESSVERSIONCL, true }, + { m_pCatalog, "usecatalogname", DSID_CATALOG, false }, + { m_pSchema, "useschemaname", DSID_SCHEMA, false }, + { m_pIndexAppendix, "createindex", DSID_INDEXAPPENDIX, false }, + { m_pDosLineEnds, "eol", DSID_DOSLINEENDS, false }, + { m_pCheckRequiredFields, "ignorecurrency", DSID_CHECK_REQUIRED_FIELDS, false }, + { m_pIgnoreCurrency, "inputchecks", DSID_IGNORECURRENCY, false }, + { m_pEscapeDateTime, "useodbcliterals", DSID_ESCAPE_DATETIME, false }, + { m_pPrimaryKeySupport, "primarykeys", DSID_PRIMARY_KEY_SUPPORT, false }, + { m_pRespectDriverResultSetType, "resulttype", DSID_RESPECTRESULTSETTYPE, false }, + { NULL, "", 0, false } }; - for ( const BooleanSettingDesc* pCopy = aSettings; pCopy->nItemId != 0; ++pCopy ) + for ( const BooleanSettingDesc& pCopy : aSettings ) { - m_aBooleanSettings.push_back( *pCopy ); + m_aBooleanSettings.push_back( pCopy ); } } @@ -193,9 +213,9 @@ namespace dbaui ++setting ) { - if ( *setting->ppControl ) + if ( setting->ppControl ) { - _rControlList.push_back( new OSaveValueWrapper< CheckBox >( *setting->ppControl ) ); + _rControlList.push_back( new OSaveValueWrapper< CheckBox >( setting->ppControl ) ); } } @@ -223,7 +243,7 @@ namespace dbaui ++setting ) { - if ( !*setting->ppControl ) + if ( !setting->ppControl ) continue; ::boost::optional< bool > aValue(false); @@ -243,14 +263,14 @@ namespace dbaui if ( !aValue ) { - (*setting->ppControl)->SetState( TRISTATE_INDET ); + setting->ppControl->SetState( TRISTATE_INDET ); } else { bool bValue = *aValue; if ( setting->bInvertedDisplay ) bValue = !bValue; - (*setting->ppControl)->Check( bValue ); + setting->ppControl->Check( bValue ); } } @@ -280,9 +300,9 @@ namespace dbaui ++setting ) { - if ( !*setting->ppControl ) + if ( !setting->ppControl ) continue; - fillBool( *_rSet, *setting->ppControl, setting->nItemId, bChangedSomething, setting->bInvertedDisplay ); + fillBool( *_rSet, setting->ppControl, setting->nItemId, bChangedSomething, setting->bInvertedDisplay ); } // the non-boolean items @@ -329,6 +349,12 @@ namespace dbaui void GeneratedValuesPage::dispose() { m_aControlDependencies.clear(); + m_pAutoFrame.clear(); + m_pAutoRetrievingEnabled.clear(); + m_pAutoIncrementLabel.clear(); + m_pAutoIncrement.clear(); + m_pAutoRetrievingLabel.clear(); + m_pAutoRetrieving.clear(); OGenericAdministrationPage::dispose(); } |