Tag: cws_src680_os63 User: os Date: 05/11/16 02:33:40 Modified: /dba/dbaccess/source/ui/dlg/ generalpage.cxx
Log: RESYNC: (1.44-1.46); FILE MERGED File Changes: Directory: /dba/dbaccess/source/ui/dlg/ ======================================= File [changed]: generalpage.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/generalpage.cxx?r1=1.41.90.3&r2=1.41.90.4 Delta lines: +33 -4 -------------------- --- generalpage.cxx 15 Sep 2005 22:58:39 -0000 1.41.90.3 +++ generalpage.cxx 16 Nov 2005 10:33:37 -0000 1.41.90.4 @@ -162,6 +162,27 @@ } //------------------------------------------------------------------------- + namespace + { + struct DisplayedType + { + DATASOURCE_TYPE eType; + String sDisplayName; + + DisplayedType( DATASOURCE_TYPE _eType, const String& _rDisplayName ) : eType( _eType ), sDisplayName( _rDisplayName ) { } + }; + typedef ::std::vector< DisplayedType > DisplayedTypes; + + struct DisplayedTypeLess : ::std::binary_function< DisplayedType, DisplayedType, bool > + { + bool operator() ( const DisplayedType& _rLHS, const DisplayedType& _rRHS ) + { + return _rLHS.eType < _rRHS.eType; + } + }; + } + + //------------------------------------------------------------------------- void OGeneralPage::initializeTypeList() { m_pDatasourceType->Clear(); @@ -186,6 +207,8 @@ if ( m_pCollection ) { + DisplayedTypes aDisplayedTypes; + for ( ODsnTypeCollection::TypeIterator aTypeLoop = m_pCollection->begin(); aTypeLoop != m_pCollection->end(); ++aTypeLoop @@ -205,10 +228,16 @@ if ( m_pDatasourceType->GetEntryPos( sDisplayName ) == LISTBOX_ENTRY_NOTFOUND ) { sDisplayName = VerifyDisplayName(eType, sDisplayName); - if (sDisplayName.Len() > 0) - insertDatasourceTypeEntryData(eType, sDisplayName); + if ( sDisplayName.Len() > 0 ) + aDisplayedTypes.push_back( DisplayedTypes::value_type( eType, sDisplayName ) ); } } + ::std::sort( aDisplayedTypes.begin(), aDisplayedTypes.end(), DisplayedTypeLess() ); + for ( DisplayedTypes::const_iterator loop = aDisplayedTypes.begin(); + loop != aDisplayedTypes.end(); + ++loop + ) + insertDatasourceTypeEntryData( loop->eType, loop->sDisplayName ); } } @@ -514,7 +543,7 @@ if ( bCommitTypeSelection ) { USHORT nEntry = m_pDatasourceType->GetSelectEntryPos(); - DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_Int32>(m_pDatasourceType->GetEntryData(nEntry))); + DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_IntPtr>(m_pDatasourceType->GetEntryData(nEntry))); if (m_DBWizardMode) { if ( ( m_pDatasourceType->GetSavedValue() != nEntry ) @@ -544,7 +573,7 @@ { // get the type from the entry data sal_Int16 nSelected = _pBox->GetSelectEntryPos(); - DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_Int32>(_pBox->GetEntryData(nSelected))); + DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_IntPtr>(_pBox->GetEntryData(nSelected))); setParentTitle(eSelectedType); // let the impl method do all the stuff --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
