196de5490SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 396de5490SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 496de5490SAndrew Rist * or more contributor license agreements. See the NOTICE file 596de5490SAndrew Rist * distributed with this work for additional information 696de5490SAndrew Rist * regarding copyright ownership. The ASF licenses this file 796de5490SAndrew Rist * to you under the Apache License, Version 2.0 (the 896de5490SAndrew Rist * "License"); you may not use this file except in compliance 996de5490SAndrew Rist * with the License. You may obtain a copy of the License at 1096de5490SAndrew Rist * 1196de5490SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 1296de5490SAndrew Rist * 1396de5490SAndrew Rist * Unless required by applicable law or agreed to in writing, 1496de5490SAndrew Rist * software distributed under the License is distributed on an 1596de5490SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1696de5490SAndrew Rist * KIND, either express or implied. See the License for the 1796de5490SAndrew Rist * specific language governing permissions and limitations 1896de5490SAndrew Rist * under the License. 1996de5490SAndrew Rist * 2096de5490SAndrew Rist *************************************************************/ 2196de5490SAndrew Rist 2296de5490SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25*b63233d8Sdamjan #include "precompiled_dbui.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir #ifndef DBAUI_CONNECTIONPAGE_HXX 28cdf0e10cSrcweir #include "ConnectionPage.hxx" 29cdf0e10cSrcweir #endif 30cdf0e10cSrcweir #ifndef DBAUI_CONNECTIONPAGE_HRC 31cdf0e10cSrcweir #include "ConnectionPage.hrc" 32cdf0e10cSrcweir #endif 33cdf0e10cSrcweir #ifndef _DBU_DLG_HRC_ 34cdf0e10cSrcweir #include "dbu_dlg.hrc" 35cdf0e10cSrcweir #endif 36cdf0e10cSrcweir #ifndef DBACCESS_DSMETA_HXX 37cdf0e10cSrcweir #include "dsmeta.hxx" 38cdf0e10cSrcweir #endif 39cdf0e10cSrcweir #ifndef _SFXITEMSET_HXX 40cdf0e10cSrcweir #include <svl/itemset.hxx> 41cdf0e10cSrcweir #endif 42cdf0e10cSrcweir #ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX 43cdf0e10cSrcweir #include <unotools/pathoptions.hxx> 44cdf0e10cSrcweir #endif 45cdf0e10cSrcweir #ifndef _SFXSTRITEM_HXX 46cdf0e10cSrcweir #include <svl/stritem.hxx> 47cdf0e10cSrcweir #endif 48cdf0e10cSrcweir #ifndef _SFXENUMITEM_HXX 49cdf0e10cSrcweir #include <svl/eitem.hxx> 50cdf0e10cSrcweir #endif 51cdf0e10cSrcweir #ifndef _SFXINTITEM_HXX 52cdf0e10cSrcweir #include <svl/intitem.hxx> 53cdf0e10cSrcweir #endif 54cdf0e10cSrcweir #ifndef INCLUDED_SVTOOLS_MODULEOPTIONS_HXX 55cdf0e10cSrcweir #include <unotools/moduleoptions.hxx> 56cdf0e10cSrcweir #endif 57cdf0e10cSrcweir #ifndef _DBAUI_DATASOURCEITEMS_HXX_ 58cdf0e10cSrcweir #include "dsitems.hxx" 59cdf0e10cSrcweir #endif 60cdf0e10cSrcweir #ifndef _DBA_DBACCESS_HELPID_HRC_ 61cdf0e10cSrcweir #include "dbaccess_helpid.hrc" 62cdf0e10cSrcweir #endif 63cdf0e10cSrcweir #ifndef _DBAUI_LOCALRESACCESS_HXX_ 64cdf0e10cSrcweir #include "localresaccess.hxx" 65cdf0e10cSrcweir #endif 66cdf0e10cSrcweir #ifndef _OSL_PROCESS_H_ 67cdf0e10cSrcweir #include <osl/process.h> 68cdf0e10cSrcweir #endif 69cdf0e10cSrcweir #ifndef _SV_MSGBOX_HXX 70cdf0e10cSrcweir #include <vcl/msgbox.hxx> 71cdf0e10cSrcweir #endif 72cdf0e10cSrcweir #ifndef _FILEDLGHELPER_HXX 73cdf0e10cSrcweir #include <sfx2/filedlghelper.hxx> 74cdf0e10cSrcweir #endif 75cdf0e10cSrcweir #ifndef _DBAUI_DBADMIN_HXX_ 76cdf0e10cSrcweir #include "dbadmin.hxx" 77cdf0e10cSrcweir #endif 78cdf0e10cSrcweir #ifndef _COMPHELPER_TYPES_HXX_ 79cdf0e10cSrcweir #include <comphelper/types.hxx> 80cdf0e10cSrcweir #endif 81cdf0e10cSrcweir #ifndef _VCL_STDTEXT_HXX 82cdf0e10cSrcweir #include <vcl/stdtext.hxx> 83cdf0e10cSrcweir #endif 84cdf0e10cSrcweir #ifndef _DBAUI_SQLMESSAGE_HXX_ 85cdf0e10cSrcweir #include "sqlmessage.hxx" 86cdf0e10cSrcweir #endif 87cdf0e10cSrcweir #ifndef _DBAUI_ODBC_CONFIG_HXX_ 88cdf0e10cSrcweir #include "odbcconfig.hxx" 89cdf0e10cSrcweir #endif 90cdf0e10cSrcweir #ifndef _DBAUI_DSSELECT_HXX_ 91cdf0e10cSrcweir #include "dsselect.hxx" 92cdf0e10cSrcweir #endif 93cdf0e10cSrcweir #ifndef SVTOOLS_FILENOTATION_HXX_ 94cdf0e10cSrcweir #include <svl/filenotation.hxx> 95cdf0e10cSrcweir #endif 96cdf0e10cSrcweir #ifndef DBACCESS_SHARED_DBUSTRINGS_HRC 97cdf0e10cSrcweir #include "dbustrings.hrc" 98cdf0e10cSrcweir #endif 99cdf0e10cSrcweir #ifndef _COM_SUN_STAR_UI_DIALOGS_XFOLDERPICKER_HPP_ 100cdf0e10cSrcweir #include <com/sun/star/ui/dialogs/XFolderPicker.hpp> 101cdf0e10cSrcweir #endif 102cdf0e10cSrcweir #ifndef _COM_SUN_STAR_SDBC_XROW_HPP_ 103cdf0e10cSrcweir #include <com/sun/star/sdbc/XRow.hpp> 104cdf0e10cSrcweir #endif 105cdf0e10cSrcweir #ifndef _COM_SUN_STAR_AWT_XWINDOW_HPP_ 106cdf0e10cSrcweir #include <com/sun/star/awt/XWindow.hpp> 107cdf0e10cSrcweir #endif 108cdf0e10cSrcweir // #106016# ------------------------------------ 109cdf0e10cSrcweir #ifndef _COM_SUN_STAR_TASK_XINTERACTIONHANDLER_HPP_ 110cdf0e10cSrcweir #include <com/sun/star/task/XInteractionHandler.hpp> 111cdf0e10cSrcweir #endif 112cdf0e10cSrcweir #ifndef _COM_SUN_STAR_TASK_XPROGRESSHANDLER_HPP_ 113cdf0e10cSrcweir #include <com/sun/star/ucb/XProgressHandler.hpp> 114cdf0e10cSrcweir #endif 115cdf0e10cSrcweir #ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_ 116cdf0e10cSrcweir #include <com/sun/star/sdbc/XConnection.hpp> 117cdf0e10cSrcweir #endif 118cdf0e10cSrcweir #ifndef _COM_SUN_STAR_UI_DIALOGS_EXTENDEDFILEPICKERELEMENTIDS_HPP_ 119cdf0e10cSrcweir #include <com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.hpp> 120cdf0e10cSrcweir #endif 121cdf0e10cSrcweir #ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERCONTROLACCESS_HPP_ 122cdf0e10cSrcweir #include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp> 123cdf0e10cSrcweir #endif 124cdf0e10cSrcweir #ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKER_HPP_ 125cdf0e10cSrcweir #include <com/sun/star/ui/dialogs/XFilePicker.hpp> 126cdf0e10cSrcweir #endif 127cdf0e10cSrcweir #ifndef DBAUI_TOOLS_HXX 128cdf0e10cSrcweir #include "UITools.hxx" 129cdf0e10cSrcweir #endif 130cdf0e10cSrcweir #ifndef _UNOTOOLS_LOCALFILEHELPER_HXX 131cdf0e10cSrcweir #include <unotools/localfilehelper.hxx> 132cdf0e10cSrcweir #endif 133cdf0e10cSrcweir #ifndef _UNOTOOLS_UCBHELPER_HXX 134cdf0e10cSrcweir #include <unotools/ucbhelper.hxx> 135cdf0e10cSrcweir #endif 136cdf0e10cSrcweir #ifndef _UCBHELPER_COMMANDENVIRONMENT_HXX 137cdf0e10cSrcweir #include <ucbhelper/commandenvironment.hxx> 138cdf0e10cSrcweir #endif 139cdf0e10cSrcweir #ifndef DBAUI_FILEPICKER_INTERACTION_HXX 140cdf0e10cSrcweir #include "finteraction.hxx" 141cdf0e10cSrcweir #endif 142cdf0e10cSrcweir #ifndef _CONNECTIVITY_COMMONTOOLS_HXX_ 143cdf0e10cSrcweir #include <connectivity/CommonTools.hxx> 144cdf0e10cSrcweir #endif 145cdf0e10cSrcweir #ifndef _URLOBJ_HXX 146cdf0e10cSrcweir #include <tools/urlobj.hxx> 147cdf0e10cSrcweir #endif 148cdf0e10cSrcweir #ifndef _SFX_DOCFILT_HACK_HXX 149cdf0e10cSrcweir #include <sfx2/docfilt.hxx> 150cdf0e10cSrcweir #endif 151cdf0e10cSrcweir #include "dsnItem.hxx" 152cdf0e10cSrcweir #if defined(WNT) 153cdf0e10cSrcweir #define _ADO_DATALINK_BROWSE_ 154cdf0e10cSrcweir #endif 155cdf0e10cSrcweir 156cdf0e10cSrcweir #ifdef _ADO_DATALINK_BROWSE_ 157cdf0e10cSrcweir #if defined( WNT ) 158cdf0e10cSrcweir #include <tools/prewin.h> 159cdf0e10cSrcweir #include <windows.h> 160cdf0e10cSrcweir #include <tools/postwin.h> 161cdf0e10cSrcweir #endif 162cdf0e10cSrcweir #ifndef _SV_SYSDATA_HXX 163cdf0e10cSrcweir #include <vcl/sysdata.hxx> 164cdf0e10cSrcweir #endif 165cdf0e10cSrcweir #ifndef _DBAUI_ADO_DATALINK_HXX_ 166cdf0e10cSrcweir #include "adodatalinks.hxx" 167cdf0e10cSrcweir #endif 168cdf0e10cSrcweir #endif //_ADO_DATALINK_BROWSE_ 169cdf0e10cSrcweir 170*b63233d8Sdamjan #include "AutoControlsDef.hrc" 171cdf0e10cSrcweir 172cdf0e10cSrcweir //......................................................................... 173cdf0e10cSrcweir namespace dbaui 174cdf0e10cSrcweir { 175cdf0e10cSrcweir //......................................................................... 176cdf0e10cSrcweir using namespace ::com::sun::star::uno; 177cdf0e10cSrcweir using namespace ::com::sun::star::ucb; 178cdf0e10cSrcweir using namespace ::com::sun::star::ui::dialogs; 179cdf0e10cSrcweir using namespace ::com::sun::star::sdbc; 180cdf0e10cSrcweir using namespace ::com::sun::star::beans; 181cdf0e10cSrcweir using namespace ::com::sun::star::lang; 182cdf0e10cSrcweir using namespace ::com::sun::star::container; 183cdf0e10cSrcweir using namespace ::dbtools; 184cdf0e10cSrcweir using namespace ::svt; 185cdf0e10cSrcweir Create(Window * pParent,const SfxItemSet & _rAttrSet)186cdf0e10cSrcweir SfxTabPage* OConnectionTabPage::Create( Window* pParent, const SfxItemSet& _rAttrSet ) 187cdf0e10cSrcweir { 188cdf0e10cSrcweir return ( new OConnectionTabPage( pParent, _rAttrSet ) ); 189cdf0e10cSrcweir } 190cdf0e10cSrcweir //======================================================================== 191cdf0e10cSrcweir //= OConnectionTabPage 192cdf0e10cSrcweir //======================================================================== DBG_NAME(OConnectionTabPage)193cdf0e10cSrcweir DBG_NAME(OConnectionTabPage) 194cdf0e10cSrcweir OConnectionTabPage::OConnectionTabPage(Window* pParent, const SfxItemSet& _rCoreAttrs) 195cdf0e10cSrcweir :OConnectionHelper(pParent, ModuleRes(PAGE_CONNECTION), _rCoreAttrs) 196cdf0e10cSrcweir ,m_bUserGrabFocus(sal_True) 197cdf0e10cSrcweir ,m_aFL1(this, ModuleRes(FL_SEPARATOR1)) 198cdf0e10cSrcweir ,m_aFL2(this, ModuleRes(FL_SEPARATOR2)) 199cdf0e10cSrcweir ,m_aUserNameLabel(this, ModuleRes(FT_USERNAME)) 200cdf0e10cSrcweir ,m_aUserName(this, ModuleRes(ET_USERNAME)) 201cdf0e10cSrcweir ,m_aPasswordRequired(this, ModuleRes(CB_PASSWORD_REQUIRED)) 202cdf0e10cSrcweir ,m_aFL3(this, ModuleRes(FL_SEPARATOR3)) 203cdf0e10cSrcweir ,m_aJavaDriverLabel(this, ModuleRes(FT_JDBCDRIVERCLASS)) 204cdf0e10cSrcweir ,m_aJavaDriver(this, ModuleRes(ET_JDBCDRIVERCLASS)) 205cdf0e10cSrcweir ,m_aTestJavaDriver(this, ModuleRes(PB_TESTDRIVERCLASS)) 206cdf0e10cSrcweir ,m_aTestConnection(this, ModuleRes(PB_TESTCONNECTION)) 207cdf0e10cSrcweir { 208cdf0e10cSrcweir DBG_CTOR(OConnectionTabPage,NULL); 209cdf0e10cSrcweir m_aConnectionURL.SetModifyHdl(LINK(this, OConnectionTabPage, OnEditModified)); 210cdf0e10cSrcweir m_aJavaDriver.SetModifyHdl(getControlModifiedLink()); 211cdf0e10cSrcweir m_aJavaDriver.SetModifyHdl(LINK(this, OConnectionTabPage, OnEditModified)); 212cdf0e10cSrcweir m_aUserName.SetModifyHdl(getControlModifiedLink()); 213cdf0e10cSrcweir m_aPasswordRequired.SetClickHdl(getControlModifiedLink()); 214cdf0e10cSrcweir 215cdf0e10cSrcweir m_aTestConnection.SetClickHdl(LINK(this,OGenericAdministrationPage,OnTestConnectionClickHdl)); 216cdf0e10cSrcweir m_aTestJavaDriver.SetClickHdl(LINK(this,OConnectionTabPage,OnTestJavaClickHdl)); 217cdf0e10cSrcweir 218cdf0e10cSrcweir FreeResource(); 219cdf0e10cSrcweir 220cdf0e10cSrcweir LayoutHelper::fitSizeRightAligned( m_aTestConnection ); 221cdf0e10cSrcweir } 222cdf0e10cSrcweir 223cdf0e10cSrcweir // ----------------------------------------------------------------------- ~OConnectionTabPage()224cdf0e10cSrcweir OConnectionTabPage::~OConnectionTabPage() 225cdf0e10cSrcweir { 226cdf0e10cSrcweir DBG_DTOR(OConnectionTabPage,NULL); 227cdf0e10cSrcweir } 228cdf0e10cSrcweir 229cdf0e10cSrcweir // ----------------------------------------------------------------------- implInitControls(const SfxItemSet & _rSet,sal_Bool _bSaveValue)230cdf0e10cSrcweir void OConnectionTabPage::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue) 231cdf0e10cSrcweir { 232cdf0e10cSrcweir // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa) 233cdf0e10cSrcweir sal_Bool bValid, bReadonly; 234cdf0e10cSrcweir getFlags(_rSet, bValid, bReadonly); 235cdf0e10cSrcweir 236cdf0e10cSrcweir m_eType = m_pAdminDialog->getDatasourceType(_rSet); 237cdf0e10cSrcweir OConnectionHelper::implInitControls( _rSet, _bSaveValue); 238cdf0e10cSrcweir 239cdf0e10cSrcweir LocalResourceAccess aLocRes( PAGE_CONNECTION, RSC_TABPAGE ); 240cdf0e10cSrcweir ::dbaccess::DATASOURCE_TYPE eType = m_pCollection->determineType(m_eType); 241cdf0e10cSrcweir switch( eType ) 242cdf0e10cSrcweir { 243cdf0e10cSrcweir case ::dbaccess::DST_DBASE: 244cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_DBASE_PATH_OR_FILE))); 245cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_DBASE_PATH); 246cdf0e10cSrcweir break; 247cdf0e10cSrcweir case ::dbaccess::DST_FLAT: 248cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_FLAT_PATH_OR_FILE))); 249cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_FLAT_PATH); 250cdf0e10cSrcweir break; 251cdf0e10cSrcweir case ::dbaccess::DST_CALC: 252cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_CALC_PATH_OR_FILE))); 253cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_CALC_PATH); 254cdf0e10cSrcweir break; 255cdf0e10cSrcweir case ::dbaccess::DST_ADABAS: 256cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_ADABAS_DATABASE_NAME))); 257cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_ADABAS_DATABASE); 258cdf0e10cSrcweir break; 259cdf0e10cSrcweir case ::dbaccess::DST_ADO: 260cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_COMMONURL))); 261cdf0e10cSrcweir break; 262cdf0e10cSrcweir case ::dbaccess::DST_MSACCESS: 263cdf0e10cSrcweir case ::dbaccess::DST_MSACCESS_2007: 264cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_MSACCESS_MDB_FILE))); 265cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_MSACCESS_MDB_FILE); 266cdf0e10cSrcweir break; 267cdf0e10cSrcweir case ::dbaccess::DST_MYSQL_NATIVE: 268cdf0e10cSrcweir case ::dbaccess::DST_MYSQL_JDBC: 269cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_MYSQL_DATABASE_NAME))); 270cdf0e10cSrcweir m_aConnectionURL.SetHelpId( HID_DSADMIN_MYSQL_DATABASE ); 271cdf0e10cSrcweir break; 272cdf0e10cSrcweir case ::dbaccess::DST_ORACLE_JDBC: 273cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_ORACLE_DATABASE_NAME))); 274cdf0e10cSrcweir m_aConnectionURL.SetHelpId(HID_DSADMIN_ORACLE_DATABASE); 275cdf0e10cSrcweir break; 276cdf0e10cSrcweir case ::dbaccess::DST_MYSQL_ODBC: 277cdf0e10cSrcweir case ::dbaccess::DST_ODBC: 278cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_NAME_OF_ODBC_DATASOURCE))); 279cdf0e10cSrcweir m_aConnectionURL.SetHelpId( eType == ::dbaccess::DST_MYSQL_ODBC ? HID_DSADMIN_MYSQL_ODBC_DATASOURCE : HID_DSADMIN_ODBC_DATASOURCE); 280cdf0e10cSrcweir break; 281cdf0e10cSrcweir case ::dbaccess::DST_LDAP: 282cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_HOSTNAME))); 283cdf0e10cSrcweir m_aConnectionURL.SetHelpId( HID_DSADMIN_LDAP_HOSTNAME ); 284cdf0e10cSrcweir break; 285cdf0e10cSrcweir case ::dbaccess::DST_MOZILLA: 286cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_MOZILLA_PROFILE_NAME))); 287cdf0e10cSrcweir m_aConnectionURL.SetHelpId( HID_DSADMIN_MOZILLA_PROFILE_NAME ); 288cdf0e10cSrcweir break; 289cdf0e10cSrcweir case ::dbaccess::DST_THUNDERBIRD: 290cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_THUNDERBIRD_PROFILE_NAME))); 291cdf0e10cSrcweir m_aConnectionURL.SetHelpId( HID_DSADMIN_THUNDERBIRD_PROFILE_NAME ); 292cdf0e10cSrcweir break; 293cdf0e10cSrcweir case ::dbaccess::DST_OUTLOOK: 294cdf0e10cSrcweir case ::dbaccess::DST_OUTLOOKEXP: 295cdf0e10cSrcweir case ::dbaccess::DST_EVOLUTION: 296cdf0e10cSrcweir case ::dbaccess::DST_EVOLUTION_GROUPWISE: 297cdf0e10cSrcweir case ::dbaccess::DST_EVOLUTION_LDAP: 298cdf0e10cSrcweir case ::dbaccess::DST_KAB: 299cdf0e10cSrcweir case ::dbaccess::DST_MACAB: 300cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_NO_ADDITIONAL_SETTINGS))); 301cdf0e10cSrcweir { 302cdf0e10cSrcweir String sText = m_aFT_Connection.GetText(); 303cdf0e10cSrcweir sText.SearchAndReplaceAscii("%test",m_aTestConnection.GetText()); 304cdf0e10cSrcweir String sTemp; 305cdf0e10cSrcweir sText.SearchAndReplaceAscii("~",sTemp); 306cdf0e10cSrcweir m_aFT_Connection.SetText(sText); 307cdf0e10cSrcweir } 308cdf0e10cSrcweir m_aConnectionURL.Hide(); 309cdf0e10cSrcweir break; 310cdf0e10cSrcweir case ::dbaccess::DST_JDBC: 311cdf0e10cSrcweir default: 312cdf0e10cSrcweir m_aFT_Connection.SetText(String(ModuleRes(STR_COMMONURL))); 313cdf0e10cSrcweir break; 314cdf0e10cSrcweir } 315cdf0e10cSrcweir 316cdf0e10cSrcweir ; 317cdf0e10cSrcweir AuthenticationMode eAuthMode( DataSourceMetaData::getAuthentication( m_eType ) ); 318cdf0e10cSrcweir bool bShowUserAuthenfication = ( eAuthMode != AuthNone ); 319cdf0e10cSrcweir bool bShowUser = ( eAuthMode == AuthUserPwd ); 320cdf0e10cSrcweir 321cdf0e10cSrcweir m_aPB_Connection.SetHelpId(HID_DSADMIN_BROWSECONN); 322cdf0e10cSrcweir m_aFL2.Show( bShowUserAuthenfication ); 323cdf0e10cSrcweir m_aUserNameLabel.Show( bShowUser && bShowUserAuthenfication ); 324cdf0e10cSrcweir m_aUserName.Show( bShowUser && bShowUserAuthenfication ); 325cdf0e10cSrcweir m_aPasswordRequired.Show( bShowUserAuthenfication ); 326cdf0e10cSrcweir if ( !bShowUser && bShowUserAuthenfication ) 327cdf0e10cSrcweir m_aPasswordRequired.SetPosPixel(m_aUserNameLabel.GetPosPixel()); 328cdf0e10cSrcweir 329cdf0e10cSrcweir // collect the items 330cdf0e10cSrcweir SFX_ITEMSET_GET(_rSet, pUidItem, SfxStringItem, DSID_USER, sal_True); 331cdf0e10cSrcweir 332cdf0e10cSrcweir SFX_ITEMSET_GET(_rSet, pJdbcDrvItem, SfxStringItem, DSID_JDBCDRIVERCLASS, sal_True); 333cdf0e10cSrcweir SFX_ITEMSET_GET(_rSet, pUrlItem, SfxStringItem, DSID_CONNECTURL, sal_True); 334cdf0e10cSrcweir SFX_ITEMSET_GET(_rSet, pAllowEmptyPwd, SfxBoolItem, DSID_PASSWORDREQUIRED, sal_True); 335cdf0e10cSrcweir 336cdf0e10cSrcweir // forward the values to the controls 337cdf0e10cSrcweir if ( bValid ) 338cdf0e10cSrcweir { 339cdf0e10cSrcweir m_aUserName.SetText(pUidItem->GetValue()); 340cdf0e10cSrcweir m_aPasswordRequired.Check(pAllowEmptyPwd->GetValue()); 341cdf0e10cSrcweir 342cdf0e10cSrcweir String sUrl = pUrlItem->GetValue(); 343cdf0e10cSrcweir setURL( sUrl ); 344cdf0e10cSrcweir 345cdf0e10cSrcweir const sal_Bool bEnableJDBC = m_pCollection->determineType(m_eType) == ::dbaccess::DST_JDBC; 346cdf0e10cSrcweir if ( !pJdbcDrvItem->GetValue().Len() ) 347cdf0e10cSrcweir { 348cdf0e10cSrcweir String sDefaultJdbcDriverName = m_pCollection->getJavaDriverClass(m_eType); 349cdf0e10cSrcweir if ( sDefaultJdbcDriverName.Len() ) 350cdf0e10cSrcweir { 351cdf0e10cSrcweir m_aJavaDriver.SetText(sDefaultJdbcDriverName); 352cdf0e10cSrcweir m_aJavaDriver.SetModifyFlag(); 353cdf0e10cSrcweir } 354cdf0e10cSrcweir } // if ( !pJdbcDrvItem->GetValue().Len() ) 355cdf0e10cSrcweir else 356cdf0e10cSrcweir m_aJavaDriver.SetText(pJdbcDrvItem->GetValue()); 357cdf0e10cSrcweir 358cdf0e10cSrcweir m_aJavaDriverLabel.Show(bEnableJDBC); 359cdf0e10cSrcweir m_aJavaDriver.Show(bEnableJDBC); 360cdf0e10cSrcweir m_aTestJavaDriver.Show(bEnableJDBC); 361cdf0e10cSrcweir m_aTestJavaDriver.Enable( m_aJavaDriver.GetText().Len() != 0); 362cdf0e10cSrcweir m_aFL3.Show(bEnableJDBC); 363cdf0e10cSrcweir 364cdf0e10cSrcweir checkTestConnection(); 365cdf0e10cSrcweir 366cdf0e10cSrcweir m_aUserName.ClearModifyFlag(); 367cdf0e10cSrcweir m_aConnectionURL.ClearModifyFlag(); 368cdf0e10cSrcweir m_aJavaDriver.ClearModifyFlag(); 369cdf0e10cSrcweir } 370cdf0e10cSrcweir } 371cdf0e10cSrcweir // ----------------------------------------------------------------------- fillWindows(::std::vector<ISaveValueWrapper * > & _rControlList)372cdf0e10cSrcweir void OConnectionTabPage::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList) 373cdf0e10cSrcweir { 374cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL1)); 375cdf0e10cSrcweir 376cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL2)); 377cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aJavaDriverLabel)); 378cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<PushButton>(&m_aTestJavaDriver)); 379cdf0e10cSrcweir 380cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<FixedLine>(&m_aFL3)); 381cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aUserNameLabel)); 382cdf0e10cSrcweir _rControlList.push_back(new ODisableWrapper<PushButton>(&m_aTestConnection)); 383cdf0e10cSrcweir OConnectionHelper::fillWindows(_rControlList); 384cdf0e10cSrcweir 385cdf0e10cSrcweir } 386cdf0e10cSrcweir // ----------------------------------------------------------------------- fillControls(::std::vector<ISaveValueWrapper * > & _rControlList)387cdf0e10cSrcweir void OConnectionTabPage::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList) 388cdf0e10cSrcweir { 389cdf0e10cSrcweir _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aJavaDriver)); 390cdf0e10cSrcweir _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aUserName)); 391cdf0e10cSrcweir _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aPasswordRequired)); 392cdf0e10cSrcweir OConnectionHelper::fillControls(_rControlList); 393cdf0e10cSrcweir } 394cdf0e10cSrcweir 395cdf0e10cSrcweir // ----------------------------------------------------------------------- FillItemSet(SfxItemSet & _rSet)396cdf0e10cSrcweir sal_Bool OConnectionTabPage::FillItemSet(SfxItemSet& _rSet) 397cdf0e10cSrcweir { 398cdf0e10cSrcweir sal_Bool bChangedSomething = sal_False; 399cdf0e10cSrcweir 400cdf0e10cSrcweir if (m_aUserName.GetText() != m_aUserName.GetSavedValue()) 401cdf0e10cSrcweir { 402cdf0e10cSrcweir _rSet.Put(SfxStringItem(DSID_USER, m_aUserName.GetText())); 403cdf0e10cSrcweir _rSet.Put(SfxStringItem(DSID_PASSWORD, String())); 404cdf0e10cSrcweir bChangedSomething = sal_True; 405cdf0e10cSrcweir } 406cdf0e10cSrcweir 407cdf0e10cSrcweir fillBool(_rSet,&m_aPasswordRequired,DSID_PASSWORDREQUIRED,bChangedSomething); 408cdf0e10cSrcweir 409cdf0e10cSrcweir if ( m_pCollection->determineType(m_eType) == ::dbaccess::DST_JDBC ) 410cdf0e10cSrcweir { 411cdf0e10cSrcweir fillString(_rSet,&m_aJavaDriver, DSID_JDBCDRIVERCLASS, bChangedSomething); 412cdf0e10cSrcweir } 413cdf0e10cSrcweir 414cdf0e10cSrcweir fillString(_rSet,&m_aConnectionURL, DSID_CONNECTURL, bChangedSomething); 415cdf0e10cSrcweir 416cdf0e10cSrcweir return bChangedSomething; 417cdf0e10cSrcweir } 418cdf0e10cSrcweir // ----------------------------------------------------------------------- 419cdf0e10cSrcweir IMPL_LINK(OConnectionTabPage, OnTestJavaClickHdl, PushButton*, /*_pButton*/) 420cdf0e10cSrcweir { 421cdf0e10cSrcweir OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF"); 422cdf0e10cSrcweir sal_Bool bSuccess = sal_False; 423cdf0e10cSrcweir try 424cdf0e10cSrcweir { 425cdf0e10cSrcweir if ( m_aJavaDriver.GetText().Len() ) 426cdf0e10cSrcweir { 427cdf0e10cSrcweir ::rtl::Reference< jvmaccess::VirtualMachine > xJVM = ::connectivity::getJavaVM(m_pAdminDialog->getORB()); 428cdf0e10cSrcweir bSuccess = ::connectivity::existsJavaClassByName(xJVM,m_aJavaDriver.GetText()); 429cdf0e10cSrcweir } 430cdf0e10cSrcweir } 431cdf0e10cSrcweir catch(Exception&) 432cdf0e10cSrcweir { 433cdf0e10cSrcweir } 434cdf0e10cSrcweir 435cdf0e10cSrcweir sal_uInt16 nMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS; 436cdf0e10cSrcweir OSQLMessageBox aMsg( this, String( ModuleRes( nMessage ) ), String() ); 437cdf0e10cSrcweir aMsg.Execute(); 438cdf0e10cSrcweir return 0L; 439cdf0e10cSrcweir } 440cdf0e10cSrcweir // ----------------------------------------------------------------------- checkTestConnection()441cdf0e10cSrcweir bool OConnectionTabPage::checkTestConnection() 442cdf0e10cSrcweir { 443cdf0e10cSrcweir OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF"); 444cdf0e10cSrcweir sal_Bool bEnableTestConnection = !m_aConnectionURL.IsVisible() || (m_aConnectionURL.GetTextNoPrefix().Len() != 0); 445cdf0e10cSrcweir if ( m_pCollection->determineType(m_eType) == ::dbaccess::DST_JDBC ) 446cdf0e10cSrcweir bEnableTestConnection = bEnableTestConnection && (m_aJavaDriver.GetText().Len() != 0); 447cdf0e10cSrcweir m_aTestConnection.Enable(bEnableTestConnection); 448cdf0e10cSrcweir return true; 449cdf0e10cSrcweir } 450cdf0e10cSrcweir // ----------------------------------------------------------------------- IMPL_LINK(OConnectionTabPage,OnEditModified,Edit *,_pEdit)451cdf0e10cSrcweir IMPL_LINK(OConnectionTabPage, OnEditModified, Edit*, _pEdit) 452cdf0e10cSrcweir { 453cdf0e10cSrcweir if ( _pEdit == &m_aJavaDriver ) 454cdf0e10cSrcweir m_aTestJavaDriver.Enable( m_aJavaDriver.GetText().Len() != 0 ); 455cdf0e10cSrcweir 456cdf0e10cSrcweir checkTestConnection(); 457cdf0e10cSrcweir // tell the listener we were modified 458cdf0e10cSrcweir callModifiedHdl(); 459cdf0e10cSrcweir return 0L; 460cdf0e10cSrcweir } 461cdf0e10cSrcweir //......................................................................... 462cdf0e10cSrcweir } // namespace dbaui 463cdf0e10cSrcweir //......................................................................... 464cdf0e10cSrcweir 465