Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*
3 : : * This file is part of the LibreOffice project.
4 : : *
5 : : * This Source Code Form is subject to the terms of the Mozilla Public
6 : : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : : *
9 : : * This file incorporates work covered by the following license notice:
10 : : *
11 : : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : : * contributor license agreements. See the NOTICE file distributed
13 : : * with this work for additional information regarding copyright
14 : : * ownership. The ASF licenses this file to you under the Apache
15 : : * License, Version 2.0 (the "License"); you may not use this file
16 : : * except in compliance with the License. You may obtain a copy of
17 : : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : : */
19 : :
20 : : #include "DBSetupConnectionPages.hxx"
21 : : #include "sqlmessage.hxx"
22 : : #include "dbu_resource.hrc"
23 : : #include "AutoControls.hrc"
24 : : #include "dbadminsetup.hrc"
25 : : #include <svl/itemset.hxx>
26 : : #include <svl/stritem.hxx>
27 : : #include <svl/eitem.hxx>
28 : : #include <svl/intitem.hxx>
29 : : #include "dsitems.hxx"
30 : : #include "dsnItem.hxx"
31 : : #include "dbaccess_helpid.hrc"
32 : : #include "localresaccess.hxx"
33 : : #include <vcl/msgbox.hxx>
34 : : #include <vcl/mnemonic.hxx>
35 : : #include <svl/cjkoptions.hxx>
36 : : #include <jvmaccess/virtualmachine.hxx>
37 : : #include <connectivity/CommonTools.hxx>
38 : : #include "DriverSettings.hxx"
39 : : #include "dbadmin.hxx"
40 : : #include <comphelper/types.hxx>
41 : :
42 : : #include <com/sun/star/ui/dialogs/XFolderPicker.hpp>
43 : : #include <com/sun/star/task/XInteractionHandler.hpp>
44 : : #include <com/sun/star/sdbc/XDriverAccess.hpp>
45 : : #include "dbustrings.hrc"
46 : : #include <svl/filenotation.hxx>
47 : :
48 : : #include <unotools/localfilehelper.hxx>
49 : : #include <unotools/ucbhelper.hxx>
50 : : #include <ucbhelper/commandenvironment.hxx>
51 : : #include "finteraction.hxx"
52 : : #include <unotools/pathoptions.hxx>
53 : : #include <svtools/roadmapwizard.hxx>
54 : : #include "TextConnectionHelper.hxx"
55 : : #include <osl/diagnose.h>
56 : :
57 : :
58 : : //.........................................................................
59 : : namespace dbaui
60 : : {
61 : : //.........................................................................
62 : : using namespace ::com::sun::star;
63 : :
64 : 0 : OGenericAdministrationPage* OTextConnectionPageSetup::CreateTextTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
65 : : {
66 [ # # ]: 0 : return ( new OTextConnectionPageSetup( pParent, _rAttrSet ) );
67 : : }
68 : :
69 : :
70 : : //========================================================================
71 : : //= OTextConnectionPageSetup
72 : : //========================================================================
73 : : DBG_NAME(OTextConnectionPageSetup)
74 : : //------------------------------------------------------------------------
75 : 0 : OTextConnectionPageSetup::OTextConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
76 : 0 : :OConnectionTabPageSetup(pParent, PAGE_DBWIZARD_TEXT, _rCoreAttrs, STR_TEXT_HELPTEXT, STR_TEXT_HEADERTEXT, STR_TEXT_PATH_OR_FILE)
77 : : {
78 : : DBG_CTOR(OTextConnectionPageSetup,NULL);
79 : :
80 [ # # ][ # # ]: 0 : m_pTextConnectionHelper = new OTextConnectionHelper( this, TC_EXTENSION | TC_SEPARATORS );
81 [ # # ]: 0 : m_pTextConnectionHelper->SetClickHandler(LINK( this, OTextConnectionPageSetup, ImplGetExtensionHdl ) );
82 : :
83 [ # # ]: 0 : FreeResource();
84 : 0 : }
85 : :
86 : :
87 : : // -----------------------------------------------------------------------
88 : 0 : OTextConnectionPageSetup::~OTextConnectionPageSetup()
89 : : {
90 [ # # ][ # # ]: 0 : DELETEZ(m_pTextConnectionHelper);
91 : :
92 : : DBG_DTOR(OTextConnectionPageSetup,NULL);
93 [ # # ]: 0 : }
94 : :
95 : 0 : IMPL_LINK(OTextConnectionPageSetup, ImplGetExtensionHdl, OTextConnectionHelper*, /*_pTextConnectionHelper*/)
96 : : {
97 [ # # ][ # # ]: 0 : SetRoadmapStateValue((m_pTextConnectionHelper->GetExtension().Len() > 0) && OConnectionTabPageSetup::checkTestConnection());
[ # # ][ # # ]
[ # # ][ # # ]
98 : 0 : callModifiedHdl();
99 : 0 : return sal_True;
100 : : }
101 : :
102 : :
103 : 0 : bool OTextConnectionPageSetup::checkTestConnection()
104 : : {
105 : 0 : bool bDoEnable = OConnectionTabPageSetup::checkTestConnection();
106 [ # # ][ # # ]: 0 : bDoEnable = (m_pTextConnectionHelper->GetExtension().Len() > 0) && bDoEnable;
[ # # ][ # # ]
[ # # ]
107 : 0 : return bDoEnable;
108 : : }
109 : :
110 : : // -----------------------------------------------------------------------
111 : 0 : void OTextConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
112 : : {
113 : 0 : OConnectionTabPageSetup::fillControls(_rControlList);
114 : 0 : m_pTextConnectionHelper->fillControls(_rControlList);
115 : 0 : }
116 : : // -----------------------------------------------------------------------
117 : 0 : void OTextConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
118 : : {
119 : 0 : OConnectionTabPageSetup::fillWindows(_rControlList);
120 : 0 : m_pTextConnectionHelper->fillWindows(_rControlList);
121 : 0 : }
122 : : // -----------------------------------------------------------------------
123 : 0 : void OTextConnectionPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
124 : : {
125 : : // first check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
126 : : sal_Bool bValid, bReadonly;
127 [ # # ]: 0 : getFlags(_rSet, bValid, bReadonly);
128 [ # # ]: 0 : OConnectionTabPageSetup::implInitControls( _rSet, _bSaveValue);
129 [ # # ]: 0 : m_pTextConnectionHelper->implInitControls(_rSet, bValid);
130 : 0 : }
131 : :
132 : :
133 : : // -----------------------------------------------------------------------
134 : 0 : sal_Bool OTextConnectionPageSetup::FillItemSet( SfxItemSet& _rSet )
135 : : {
136 : 0 : sal_Bool bChangedSomething = OConnectionTabPageSetup::FillItemSet(_rSet);
137 : 0 : bChangedSomething = m_pTextConnectionHelper->FillItemSet(_rSet, bChangedSomething);
138 : 0 : return bChangedSomething;
139 : : }
140 : :
141 : :
142 : 0 : sal_Bool OTextConnectionPageSetup::prepareLeave(){
143 : 0 : return m_pTextConnectionHelper->prepareLeave();
144 : : }
145 : :
146 : :
147 : 0 : OGenericAdministrationPage* OLDAPConnectionPageSetup::CreateLDAPTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
148 : : {
149 [ # # ]: 0 : return ( new OLDAPConnectionPageSetup( pParent, _rAttrSet ) );
150 : : }
151 : :
152 : :
153 : : //========================================================================
154 : : //= OLDAPPageSetup
155 : : //========================================================================
156 : 0 : OLDAPConnectionPageSetup::OLDAPConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
157 : : :OGenericAdministrationPage(pParent, ModuleRes(PAGE_DBWIZARD_LDAP), _rCoreAttrs)
158 : : ,m_aFTHeaderText (this, ModuleRes(FT_LDAP_HEADERTEXT))
159 : : ,m_aFTHelpText (this, ModuleRes(FT_LDAP_HELPTEXT))
160 : : ,m_aFTHostServer (this, ModuleRes(FT_AUTOHOSTNAME))
161 : : ,m_aETHostServer (this, ModuleRes(ET_AUTOHOSTNAME))
162 : : ,m_aFTBaseDN (this, ModuleRes(FT_AUTOBASEDN))
163 : : ,m_aETBaseDN (this, ModuleRes(ET_AUTOBASEDN))
164 : : ,m_aFTPortNumber (this, ModuleRes(FT_AUTOPORTNUMBER))
165 : : ,m_aNFPortNumber (this, ModuleRes(NF_AUTOPORTNUMBER))
166 : : ,m_aFTDefaultPortNumber (this, ModuleRes(FT_AUTOPORTNUMBERDEFAULT))
167 [ # # ][ # # ]: 0 : ,m_aCBUseSSL (this, ModuleRes(CB_WIZ_USESSL))
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
168 : : {
169 [ # # ]: 0 : SetControlFontWeight(&m_aFTHeaderText);
170 [ # # ][ # # ]: 0 : m_aFTDefaultPortNumber.SetText(String(ModuleRes(STR_LDAP_DEFAULT)));
[ # # ][ # # ]
171 [ # # ]: 0 : m_aETHostServer.SetModifyHdl(getControlModifiedLink());
172 [ # # ]: 0 : m_aETBaseDN.SetModifyHdl(getControlModifiedLink());
173 [ # # ]: 0 : m_aNFPortNumber.SetModifyHdl(getControlModifiedLink());
174 [ # # ]: 0 : m_aCBUseSSL.SetToggleHdl(getControlModifiedLink());
175 : 0 : SetRoadmapStateValue(sal_False);
176 [ # # ]: 0 : FreeResource();
177 : 0 : }
178 : :
179 : : // -----------------------------------------------------------------------
180 : 0 : sal_Bool OLDAPConnectionPageSetup::FillItemSet( SfxItemSet& _rSet )
181 : : {
182 : 0 : sal_Bool bChangedSomething = sal_False;
183 [ # # ]: 0 : fillString(_rSet,&m_aETBaseDN,DSID_CONN_LDAP_BASEDN, bChangedSomething);
184 [ # # ]: 0 : fillInt32(_rSet,&m_aNFPortNumber,DSID_CONN_LDAP_PORTNUMBER,bChangedSomething);
185 : :
186 [ # # ][ # # ]: 0 : if ( m_aETHostServer.GetText() != m_aETHostServer.GetSavedValue() )
[ # # ][ # # ]
187 : : {
188 [ # # ][ # # ]: 0 : DbuTypeCollectionItem* pCollectionItem = PTR_CAST(DbuTypeCollectionItem, _rSet.GetItem(DSID_TYPECOLLECTION));
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
189 : 0 : ::dbaccess::ODsnTypeCollection* pCollection = NULL;
190 [ # # ]: 0 : if (pCollectionItem)
191 : 0 : pCollection = pCollectionItem->getCollection();
192 : : OSL_ENSURE(pCollection, "OLDAPConnectionPageSetup::FillItemSet : really need a DSN type collection !");
193 : :
194 [ # # ][ # # ]: 0 : String sUrl = pCollection->getPrefix( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:ldap:")));
195 [ # # ][ # # ]: 0 : sUrl += m_aETHostServer.GetText();
[ # # ]
196 [ # # ][ # # ]: 0 : _rSet.Put(SfxStringItem(DSID_CONNECTURL, sUrl));
[ # # ]
197 [ # # ]: 0 : bChangedSomething = sal_True;
198 : : }
199 : :
200 [ # # ]: 0 : fillBool(_rSet,&m_aCBUseSSL,DSID_CONN_LDAP_USESSL,bChangedSomething);
201 : 0 : return bChangedSomething;
202 : : }
203 : : // -----------------------------------------------------------------------
204 : 0 : void OLDAPConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
205 : : {
206 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETHostServer));
207 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETBaseDN));
208 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFPortNumber));
209 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBUseSSL));
210 : 0 : }
211 : : // -----------------------------------------------------------------------
212 : 0 : void OLDAPConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
213 : : {
214 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHelpText));
215 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHostServer));
216 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTBaseDN));
217 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTPortNumber));
218 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDefaultPortNumber));
219 : 0 : }
220 : : // -----------------------------------------------------------------------
221 : 0 : void OLDAPConnectionPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
222 : : {
223 : : // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
224 : : sal_Bool bValid, bReadonly;
225 [ # # ]: 0 : getFlags(_rSet, bValid, bReadonly);
226 : :
227 : :
228 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pBaseDN, SfxStringItem, DSID_CONN_LDAP_BASEDN, sal_True);
229 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pPortNumber, SfxInt32Item, DSID_CONN_LDAP_PORTNUMBER, sal_True);
230 : :
231 [ # # ]: 0 : if ( bValid )
232 : : {
233 [ # # ]: 0 : m_aETBaseDN.SetText(pBaseDN->GetValue());
234 [ # # ]: 0 : m_aNFPortNumber.SetValue(pPortNumber->GetValue());
235 : : }
236 [ # # ]: 0 : OGenericAdministrationPage::implInitControls(_rSet, _bSaveValue);
237 [ # # ]: 0 : callModifiedHdl();
238 : 0 : }
239 : :
240 : : // -----------------------------------------------------------------------
241 : 0 : IMPL_LINK(OLDAPConnectionPageSetup, OnEditModified, Edit*, /*_pEdit*/)
242 : : {
243 [ # # ][ # # ]: 0 : sal_Bool bRoadmapState = ((m_aETHostServer.GetText().Len() != 0 ) && ( m_aETBaseDN.GetText().Len() != 0 ) && (m_aFTPortNumber.GetText().Len() != 0 ));
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # #
# # # # ]
244 : 0 : SetRoadmapStateValue(bRoadmapState);
245 : 0 : callModifiedHdl();
246 : 0 : return 0L;
247 : : }
248 : :
249 : :
250 : : // ----------------------------------------------------------------------- //OGenericAdministrationPage*
251 : 0 : OMySQLIntroPageSetup* OMySQLIntroPageSetup::CreateMySQLIntroTabPage( Window* _pParent, const SfxItemSet& _rAttrSet )
252 : : {
253 [ # # ]: 0 : return ( new OMySQLIntroPageSetup( _pParent, _rAttrSet) );
254 : : }
255 : :
256 : : DBG_NAME(OMySQLIntroPageSetup)
257 : :
258 : 0 : OMySQLIntroPageSetup::OMySQLIntroPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
259 : : :OGenericAdministrationPage(pParent, ModuleRes(PAGE_DBWIZARD_MYSQL_INTRO), _rCoreAttrs)
260 : : ,m_aRB_ODBCDatabase(this, ModuleRes(RB_CONNECTVIAODBC))
261 : : ,m_aRB_JDBCDatabase(this, ModuleRes(RB_CONNECTVIAJDBC))
262 : : ,m_aRB_NATIVEDatabase(this, ModuleRes(RB_CONNECTVIANATIVE))
263 : : ,m_aFT_ConnectionMode(this, ModuleRes(FT_MYSQLCONNECTIONMODE))
264 : : ,m_aFT_Helptext(this, ModuleRes(FT_MYSQL_HELPTEXT))
265 [ # # ][ # # ]: 0 : ,m_aFT_Headertext(this, ModuleRes(FT_MYSQL_HEADERTEXT))
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
266 : : {
267 : : DBG_CTOR(OMySQLIntroPageSetup,NULL);
268 : :
269 [ # # ]: 0 : SetControlFontWeight(&m_aFT_Headertext);
270 [ # # ]: 0 : m_aRB_ODBCDatabase.SetToggleHdl(LINK(this, OMySQLIntroPageSetup, OnSetupModeSelected));
271 [ # # ]: 0 : m_aRB_JDBCDatabase.SetToggleHdl(LINK(this, OMySQLIntroPageSetup, OnSetupModeSelected));
272 [ # # ]: 0 : m_aRB_NATIVEDatabase.SetToggleHdl(LINK(this, OMySQLIntroPageSetup, OnSetupModeSelected));
273 [ # # ]: 0 : FreeResource();
274 : 0 : }
275 : :
276 : 0 : IMPL_LINK(OMySQLIntroPageSetup, OnSetupModeSelected, RadioButton*, /*_pBox*/)
277 : : {
278 : 0 : maClickHdl.Call( this );
279 : 0 : return true;
280 : : }
281 : :
282 : : // -----------------------------------------------------------------------
283 [ # # ][ # # ]: 0 : OMySQLIntroPageSetup::~OMySQLIntroPageSetup()
[ # # ][ # # ]
[ # # ][ # # ]
284 : : {
285 : :
286 : : DBG_DTOR(OMySQLIntroPageSetup,NULL);
287 [ # # ]: 0 : }
288 : :
289 : :
290 : : // -----------------------------------------------------------------------
291 : 0 : void OMySQLIntroPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool /*_bSaveValue*/)
292 : : {
293 : : // show the "Connect directly" option only if the driver is installed
294 [ # # ][ # # ]: 0 : DbuTypeCollectionItem* pCollectionItem = PTR_CAST(DbuTypeCollectionItem, _rSet.GetItem(DSID_TYPECOLLECTION));
295 [ # # ][ # # ]: 0 : bool bHasMySQLNative = ( pCollectionItem != NULL ) && pCollectionItem->getCollection()->hasDriver( "sdbc:mysqlc:" );
296 [ # # ]: 0 : if ( bHasMySQLNative )
297 : 0 : m_aRB_NATIVEDatabase.Show();
298 : :
299 : : // if any of the options is checked, then there's nothing to do
300 [ # # ][ # # ]: 0 : if ( m_aRB_ODBCDatabase.IsChecked() || m_aRB_JDBCDatabase.IsChecked() || m_aRB_NATIVEDatabase.IsChecked() )
[ # # ][ # # ]
301 : 0 : return;
302 : :
303 : : // prefer "native" or "JDBC"
304 [ # # ]: 0 : if ( bHasMySQLNative )
305 : 0 : m_aRB_NATIVEDatabase.Check();
306 : : else
307 : 0 : m_aRB_JDBCDatabase.Check();
308 : : }
309 : :
310 : :
311 : : // -----------------------------------------------------------------------
312 : 0 : void OMySQLIntroPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& /*_rControlList*/)
313 : : {
314 : 0 : }
315 : :
316 : : // -----------------------------------------------------------------------
317 : 0 : void OMySQLIntroPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& /*_rControlList*/)
318 : : {
319 : 0 : }
320 : :
321 : :
322 : : // -----------------------------------------------------------------------
323 : 0 : sal_Bool OMySQLIntroPageSetup::FillItemSet(SfxItemSet& /*_rSet*/)
324 : : {
325 : : OSL_FAIL("Who called me?! Please ask oj for more information.");
326 : 0 : return sal_True;
327 : : }
328 : :
329 : :
330 : 0 : OMySQLIntroPageSetup::ConnectionType OMySQLIntroPageSetup::getMySQLMode()
331 : : {
332 [ # # ]: 0 : if (m_aRB_JDBCDatabase.IsChecked())
333 : 0 : return VIA_JDBC;
334 [ # # ]: 0 : else if (m_aRB_NATIVEDatabase.IsChecked())
335 : 0 : return VIA_NATIVE;
336 : : else
337 : 0 : return VIA_ODBC;
338 : : }
339 : :
340 : : // =======================================================================
341 : : // = MySQLNativeSetupPage
342 : : // =======================================================================
343 : : // -----------------------------------------------------------------------
344 : 0 : MySQLNativeSetupPage::MySQLNativeSetupPage( Window* _pParent, const SfxItemSet& _rCoreAttrs )
345 : : :OGenericAdministrationPage( _pParent, ModuleRes( PAGE_DBWIZARD_MYSQL_NATIVE ), _rCoreAttrs )
346 : : ,m_aHeader ( this, ModuleRes( FT_SETUP_WIZARD_HEADER ) )
347 : : ,m_aHelpText ( this, ModuleRes( FT_SETUP_WIZARD_HELP ) )
348 [ # # ][ # # ]: 0 : ,m_aMySQLSettings ( *this, getControlModifiedLink() )
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
349 : : {
350 [ # # ]: 0 : SetControlFontWeight( &m_aHeader );
351 : :
352 [ # # ]: 0 : LayoutHelper::positionBelow( m_aHelpText, m_aMySQLSettings, UnrelatedControls, 0 );
353 [ # # ]: 0 : m_aMySQLSettings.Show();
354 : :
355 : 0 : SetRoadmapStateValue(sal_False);
356 [ # # ]: 0 : FreeResource();
357 : 0 : }
358 : :
359 : : // -----------------------------------------------------------------------
360 : 0 : OGenericAdministrationPage* MySQLNativeSetupPage::Create( Window* pParent, const SfxItemSet& _rAttrSet )
361 : : {
362 [ # # ]: 0 : return new MySQLNativeSetupPage( pParent, _rAttrSet );
363 : : }
364 : :
365 : : // -----------------------------------------------------------------------
366 : 0 : void MySQLNativeSetupPage::fillControls( ::std::vector< ISaveValueWrapper* >& _rControlList )
367 : : {
368 : 0 : m_aMySQLSettings.fillControls( _rControlList );
369 : 0 : }
370 : :
371 : : // -----------------------------------------------------------------------
372 : 0 : void MySQLNativeSetupPage::fillWindows( ::std::vector< ISaveValueWrapper* >& _rControlList )
373 : : {
374 [ # # ][ # # ]: 0 : _rControlList.push_back( new ODisableWrapper< FixedText >( &m_aHelpText ) );
375 : 0 : m_aMySQLSettings.fillWindows( _rControlList );
376 : 0 : }
377 : :
378 : : // -----------------------------------------------------------------------
379 : 0 : sal_Bool MySQLNativeSetupPage::FillItemSet( SfxItemSet& _rSet )
380 : : {
381 : 0 : return m_aMySQLSettings.FillItemSet( _rSet );
382 : : }
383 : :
384 : : // -----------------------------------------------------------------------
385 : 0 : void MySQLNativeSetupPage::implInitControls( const SfxItemSet& _rSet, sal_Bool _bSaveValue )
386 : : {
387 : 0 : m_aMySQLSettings.implInitControls( _rSet );
388 : :
389 : 0 : OGenericAdministrationPage::implInitControls( _rSet, _bSaveValue );
390 : :
391 : 0 : OnModified( NULL );
392 : 0 : }
393 : :
394 : : // -----------------------------------------------------------------------
395 : 0 : Link MySQLNativeSetupPage::getControlModifiedLink()
396 : : {
397 : 0 : return LINK( this, MySQLNativeSetupPage, OnModified );
398 : : }
399 : :
400 : : // -----------------------------------------------------------------------
401 : 0 : IMPL_LINK( MySQLNativeSetupPage, OnModified, Edit*, _pEdit )
402 : : {
403 : 0 : SetRoadmapStateValue( m_aMySQLSettings.canAdvance() );
404 : :
405 [ # # ]: 0 : return OGenericAdministrationPage::getControlModifiedLink().Call( _pEdit );
406 : : }
407 : :
408 : : //========================================================================
409 : : //= OMySQLJDBCConnectionPageSetup
410 : : //========================================================================
411 : 0 : OGeneralSpecialJDBCConnectionPageSetup::OGeneralSpecialJDBCConnectionPageSetup( Window* pParent,sal_uInt16 _nResId, const SfxItemSet& _rCoreAttrs ,sal_uInt16 _nPortId, sal_uInt16 _nDefaultPortResId, sal_uInt16 _nHelpTextResId, sal_uInt16 _nHeaderTextResId, sal_uInt16 _nDriverClassId)
412 : : :OGenericAdministrationPage(pParent, ModuleRes(_nResId), _rCoreAttrs)
413 : : ,m_aFTHelpText (this, ModuleRes(FT_AUTOWIZARDHELPTEXT))
414 : : ,m_aFTDatabasename (this, ModuleRes(FT_AUTODATABASENAME))
415 : : ,m_aETDatabasename (this, ModuleRes(ET_AUTODATABASENAME))
416 : : ,m_aFTHostname (this, ModuleRes(FT_AUTOHOSTNAME))
417 : : ,m_aETHostname (this, ModuleRes(ET_AUTOHOSTNAME))
418 : : ,m_aFTPortNumber (this, ModuleRes(FT_AUTOPORTNUMBER))
419 : : ,m_aFTDefaultPortNumber (this, ModuleRes(FT_AUTOPORTNUMBERDEFAULT))
420 : : ,m_aNFPortNumber (this, ModuleRes(NF_AUTOPORTNUMBER))
421 : : ,m_aFTDriverClass (this, ModuleRes(FT_AUTOJDBCDRIVERCLASS))
422 : : ,m_aETDriverClass (this, ModuleRes(ET_AUTOJDBCDRIVERCLASS))
423 : : ,m_aPBTestJavaDriver (this, ModuleRes(PB_AUTOTESTDRIVERCLASS))
424 [ # # ][ # # ]: 0 : ,m_nPortId(_nPortId)
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
425 : : {
426 [ # # ][ # # ]: 0 : m_aFTDriverClass.SetText(String(ModuleRes(_nDriverClassId)));
[ # # ][ # # ]
427 : :
428 [ # # ][ # # ]: 0 : m_aFTDefaultPortNumber.SetText(String(ModuleRes(_nDefaultPortResId)));
[ # # ][ # # ]
429 [ # # ][ # # ]: 0 : String sHelpText = String(ModuleRes(_nHelpTextResId));
430 [ # # ]: 0 : m_aFTHelpText.SetText(sHelpText);
431 : : //TODO this code snippet is redundant
432 [ # # ]: 0 : SetHeaderText(FT_AUTOWIZARDHEADER, _nHeaderTextResId);
433 : :
434 [ # # ]: 0 : m_aETDatabasename.SetModifyHdl(getControlModifiedLink());
435 [ # # ]: 0 : m_aETHostname.SetModifyHdl(getControlModifiedLink());
436 [ # # ]: 0 : m_aNFPortNumber.SetModifyHdl(getControlModifiedLink());
437 : :
438 [ # # ]: 0 : m_aETDriverClass.SetModifyHdl(LINK(this, OGeneralSpecialJDBCConnectionPageSetup, OnEditModified));
439 [ # # ]: 0 : m_aPBTestJavaDriver.SetClickHdl(LINK(this,OGeneralSpecialJDBCConnectionPageSetup,OnTestJavaClickHdl));
440 : :
441 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rCoreAttrs, pUrlItem, SfxStringItem, DSID_CONNECTURL, sal_True);
442 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rCoreAttrs, pTypesItem, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True);
443 [ # # ]: 0 : ::dbaccess::ODsnTypeCollection* pTypeCollection = pTypesItem ? pTypesItem->getCollection() : NULL;
444 [ # # ][ # # ]: 0 : if (pTypeCollection && pUrlItem && pUrlItem->GetValue().Len() )
[ # # ][ # # ]
445 : : {
446 [ # # ][ # # ]: 0 : m_sDefaultJdbcDriverName = pTypeCollection->getJavaDriverClass(pUrlItem->GetValue());
[ # # ][ # # ]
447 : : }
448 : :
449 : 0 : SetRoadmapStateValue(sal_False);
450 [ # # ][ # # ]: 0 : FreeResource();
451 : 0 : }
452 : :
453 : :
454 : : // -----------------------------------------------------------------------
455 : 0 : OGenericAdministrationPage* OGeneralSpecialJDBCConnectionPageSetup::CreateMySQLJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
456 : : {
457 : : return ( new OGeneralSpecialJDBCConnectionPageSetup( pParent,
458 : : PAGE_DBWIZARD_MYSQL_JDBC,
459 : : _rAttrSet,
460 : : DSID_MYSQL_PORTNUMBER ,
461 : : STR_MYSQL_DEFAULT,
462 : : STR_MYSQLJDBC_HELPTEXT,
463 : : STR_MYSQLJDBC_HEADERTEXT,
464 [ # # ]: 0 : STR_MYSQL_DRIVERCLASSTEXT) );
465 : : }
466 : :
467 : : // -----------------------------------------------------------------------
468 : 0 : OGenericAdministrationPage* OGeneralSpecialJDBCConnectionPageSetup::CreateOracleJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
469 : : {
470 : : return ( new OGeneralSpecialJDBCConnectionPageSetup( pParent,
471 : : PAGE_DBWIZARD_ORACLE,
472 : : _rAttrSet,
473 : : DSID_ORACLE_PORTNUMBER,
474 : : STR_ORACLE_DEFAULT,
475 : : STR_ORACLE_HELPTEXT,
476 : : STR_ORACLE_HEADERTEXT,
477 [ # # ]: 0 : STR_ORACLE_DRIVERCLASSTEXT) );
478 : : }
479 : :
480 : : // -----------------------------------------------------------------------
481 : 0 : void OGeneralSpecialJDBCConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
482 : : {
483 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETDatabasename));
484 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETDriverClass));
485 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETHostname));
486 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<NumericField>(&m_aNFPortNumber));
487 : 0 : }
488 : : // -----------------------------------------------------------------------
489 : 0 : void OGeneralSpecialJDBCConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
490 : : {
491 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHelpText));
492 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDatabasename));
493 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHostname));
494 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTPortNumber));
495 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDefaultPortNumber));
496 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDriverClass));
497 : 0 : }
498 : :
499 : : // -----------------------------------------------------------------------
500 : 0 : sal_Bool OGeneralSpecialJDBCConnectionPageSetup::FillItemSet( SfxItemSet& _rSet )
501 : : {
502 : 0 : sal_Bool bChangedSomething = sal_False;
503 [ # # ]: 0 : fillString(_rSet,&m_aETDriverClass,DSID_JDBCDRIVERCLASS,bChangedSomething);
504 [ # # ]: 0 : fillString(_rSet,&m_aETHostname,DSID_CONN_HOSTNAME,bChangedSomething);
505 [ # # ]: 0 : fillString(_rSet,&m_aETDatabasename,DSID_DATABASENAME,bChangedSomething);
506 [ # # ]: 0 : fillInt32(_rSet,&m_aNFPortNumber,m_nPortId,bChangedSomething );
507 : 0 : return bChangedSomething;
508 : : }
509 : :
510 : : // -----------------------------------------------------------------------
511 : 0 : void OGeneralSpecialJDBCConnectionPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
512 : : {
513 : : // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
514 : : sal_Bool bValid, bReadonly;
515 [ # # ]: 0 : getFlags(_rSet, bValid, bReadonly);
516 : :
517 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pDatabaseName, SfxStringItem, DSID_DATABASENAME, sal_True);
518 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pDrvItem, SfxStringItem, DSID_JDBCDRIVERCLASS, sal_True);
519 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pHostName, SfxStringItem, DSID_CONN_HOSTNAME, sal_True);
520 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pPortNumber, SfxInt32Item, m_nPortId, sal_True);
521 : :
522 [ # # ]: 0 : if ( bValid )
523 : : {
524 [ # # ]: 0 : m_aETDatabasename.SetText(pDatabaseName->GetValue());
525 [ # # ]: 0 : m_aETDatabasename.ClearModifyFlag();
526 : :
527 [ # # ]: 0 : m_aETDriverClass.SetText(pDrvItem->GetValue());
528 [ # # ]: 0 : m_aETDriverClass.ClearModifyFlag();
529 : :
530 [ # # ]: 0 : m_aETHostname.SetText(pHostName->GetValue());
531 [ # # ]: 0 : m_aETHostname.ClearModifyFlag();
532 : :
533 [ # # ]: 0 : m_aNFPortNumber.SetValue(pPortNumber->GetValue());
534 [ # # ]: 0 : m_aNFPortNumber.ClearModifyFlag();
535 : : }
536 [ # # ]: 0 : OGenericAdministrationPage::implInitControls(_rSet, _bSaveValue);
537 : :
538 : : // to get the correct value when saveValue was called by base class
539 [ # # ][ # # ]: 0 : if ( !m_aETDriverClass.GetText().Len() )
[ # # ]
540 : : {
541 [ # # ]: 0 : m_aETDriverClass.SetText(m_sDefaultJdbcDriverName);
542 [ # # ]: 0 : m_aETDriverClass.SetModifyFlag();
543 : : }
544 [ # # ]: 0 : callModifiedHdl();
545 : :
546 [ # # ][ # # ]: 0 : sal_Bool bRoadmapState = ((m_aETDatabasename.GetText().Len() != 0 ) && ( m_aETHostname.GetText().Len() != 0 ) && (m_aNFPortNumber.GetText().Len() != 0 ) && ( m_aETDriverClass.GetText().Len() != 0 ));
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # # #
# # # # ]
547 : 0 : SetRoadmapStateValue(bRoadmapState);
548 : 0 : }
549 : :
550 : : // -----------------------------------------------------------------------
551 : 0 : IMPL_LINK(OGeneralSpecialJDBCConnectionPageSetup, OnTestJavaClickHdl, PushButton*, /*_pButton*/)
552 : : {
553 : : OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF");
554 : :
555 : 0 : sal_Bool bSuccess = sal_False;
556 : : try
557 : : {
558 [ # # ][ # # ]: 0 : if ( m_aETDriverClass.GetText().Len() )
[ # # ]
559 : : {
560 : : // TODO chage jvmaccess
561 [ # # ][ # # ]: 0 : ::rtl::Reference< jvmaccess::VirtualMachine > xJVM = ::connectivity::getJavaVM(m_pAdminDialog->getORB());
562 [ # # ][ # # ]: 0 : bSuccess = ::connectivity::existsJavaClassByName(xJVM,m_aETDriverClass.GetText());
[ # # ][ # # ]
[ # # ][ # # ]
563 : : }
564 : : }
565 [ # # ]: 0 : catch(::com::sun::star::uno::Exception&)
566 : : {
567 : : }
568 : :
569 [ # # ]: 0 : const sal_uInt16 nMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
570 : 0 : const OSQLMessageBox::MessageType mt = bSuccess ? OSQLMessageBox::Info : OSQLMessageBox::Error;
571 [ # # ][ # # ]: 0 : OSQLMessageBox aMsg( this, String( ModuleRes( nMessage ) ), String(), WB_OK | WB_DEF_OK, mt );
[ # # ][ # # ]
[ # # ][ # # ]
572 [ # # ]: 0 : aMsg.Execute();
573 [ # # ]: 0 : return 0L;
574 : : }
575 : :
576 : : // -----------------------------------------------------------------------
577 : 0 : IMPL_LINK(OGeneralSpecialJDBCConnectionPageSetup, OnEditModified, Edit*, _pEdit)
578 : : {
579 [ # # ]: 0 : if ( _pEdit == &m_aETDriverClass )
580 [ # # ]: 0 : m_aPBTestJavaDriver.Enable( m_aETDriverClass.GetText().Len() != 0 );
581 [ # # ][ # # ]: 0 : sal_Bool bRoadmapState = ((m_aETDatabasename.GetText().Len() != 0 ) && ( m_aETHostname.GetText().Len() != 0 ) && (m_aNFPortNumber.GetText().Len() != 0 ) && ( m_aETDriverClass.GetText().Len() != 0 ));
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # #
# # # # #
# ]
582 : 0 : SetRoadmapStateValue(bRoadmapState);
583 : 0 : callModifiedHdl();
584 : 0 : return 0L;
585 : : }
586 : :
587 : : // -----------------------------------------------------------------------
588 : 0 : OGenericAdministrationPage* OJDBCConnectionPageSetup::CreateJDBCTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
589 : : {
590 [ # # ]: 0 : return ( new OJDBCConnectionPageSetup( pParent, _rAttrSet));
591 : : }
592 : :
593 : :
594 : : //========================================================================
595 : : //= OMySQLJDBCConnectionPageSetup
596 : : //========================================================================
597 : 0 : OJDBCConnectionPageSetup::OJDBCConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs)
598 : : :OConnectionTabPageSetup(pParent, PAGE_DBWIZARD_JDBC, _rCoreAttrs, STR_JDBC_HELPTEXT, STR_JDBC_HEADERTEXT, STR_COMMONURL)
599 : : ,m_aFTDriverClass (this, ModuleRes(FT_AUTOJDBCDRIVERCLASS))
600 : : ,m_aETDriverClass (this, ModuleRes(ET_AUTOJDBCDRIVERCLASS))
601 [ # # ][ # # ]: 0 : ,m_aPBTestJavaDriver (this, ModuleRes(PB_AUTOTESTDRIVERCLASS))
[ # # ][ # # ]
[ # # ][ # # ]
602 : : {
603 [ # # ]: 0 : m_aETDriverClass.SetModifyHdl(LINK(this, OJDBCConnectionPageSetup, OnEditModified));
604 [ # # ]: 0 : m_aPBTestJavaDriver.SetClickHdl(LINK(this,OJDBCConnectionPageSetup,OnTestJavaClickHdl));
605 [ # # ]: 0 : FreeResource();
606 : 0 : }
607 : :
608 : : // -----------------------------------------------------------------------
609 : 0 : void OJDBCConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
610 : : {
611 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETDriverClass));
612 : 0 : }
613 : :
614 : : // -----------------------------------------------------------------------
615 : 0 : void OJDBCConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
616 : : {
617 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTDriverClass));
618 : 0 : }
619 : :
620 : : // -----------------------------------------------------------------------
621 : 0 : sal_Bool OJDBCConnectionPageSetup::FillItemSet( SfxItemSet& _rSet )
622 : : {
623 [ # # ]: 0 : sal_Bool bChangedSomething = OConnectionTabPageSetup::FillItemSet(_rSet);
624 [ # # ]: 0 : fillString(_rSet,&m_aETDriverClass,DSID_JDBCDRIVERCLASS,bChangedSomething);
625 : 0 : return bChangedSomething;
626 : : }
627 : :
628 : : // -----------------------------------------------------------------------
629 : 0 : void OJDBCConnectionPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
630 : : {
631 : : // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
632 : : sal_Bool bValid, bReadonly;
633 [ # # ]: 0 : getFlags(_rSet, bValid, bReadonly);
634 : :
635 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pDrvItem, SfxStringItem, DSID_JDBCDRIVERCLASS, sal_True);
636 : :
637 [ # # ]: 0 : if ( bValid )
638 : : {
639 [ # # ]: 0 : if ( !pDrvItem->GetValue().Len() )
640 : : {
641 [ # # ]: 0 : String sDefaultJdbcDriverName = m_pCollection->getJavaDriverClass(m_eType);
642 [ # # ]: 0 : if ( sDefaultJdbcDriverName.Len() )
643 : : {
644 [ # # ]: 0 : m_aETDriverClass.SetText(sDefaultJdbcDriverName);
645 [ # # ]: 0 : m_aETDriverClass.SetModifyFlag();
646 [ # # ]: 0 : }
647 : : }
648 : : else
649 : : {
650 [ # # ]: 0 : m_aETDriverClass.SetText(pDrvItem->GetValue());
651 [ # # ]: 0 : m_aETDriverClass.ClearModifyFlag();
652 : : }
653 : : }
654 : 0 : sal_Bool bEnable = pDrvItem->GetValue().Len() != 0;
655 [ # # ]: 0 : m_aPBTestJavaDriver.Enable(bEnable);
656 [ # # ]: 0 : OConnectionTabPageSetup::implInitControls(_rSet, _bSaveValue);
657 : :
658 [ # # ]: 0 : SetRoadmapStateValue(checkTestConnection());
659 : 0 : }
660 : :
661 : :
662 : 0 : bool OJDBCConnectionPageSetup::checkTestConnection()
663 : : {
664 : : OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF");
665 [ # # ][ # # ]: 0 : sal_Bool bEnableTestConnection = !m_aConnectionURL.IsVisible() || (m_aConnectionURL.GetTextNoPrefix().Len() != 0);
[ # # ][ # # ]
[ # # ][ # # ]
666 [ # # ][ # # ]: 0 : bEnableTestConnection = bEnableTestConnection && (m_aETDriverClass.GetText().Len() != 0);
[ # # ][ # # ]
[ # # ]
667 : 0 : return bEnableTestConnection;
668 : : }
669 : :
670 : :
671 : : // -----------------------------------------------------------------------
672 : 0 : IMPL_LINK(OJDBCConnectionPageSetup, OnTestJavaClickHdl, PushButton*, /*_pButton*/)
673 : : {
674 : : OSL_ENSURE(m_pAdminDialog,"No Admin dialog set! ->GPF");
675 : 0 : sal_Bool bSuccess = sal_False;
676 : : try
677 : : {
678 [ # # ][ # # ]: 0 : if ( m_aETDriverClass.GetText().Len() )
[ # # ]
679 : : {
680 : : // TODO chage jvmaccess
681 [ # # ][ # # ]: 0 : ::rtl::Reference< jvmaccess::VirtualMachine > xJVM = ::connectivity::getJavaVM(m_pAdminDialog->getORB());
682 [ # # ][ # # ]: 0 : bSuccess = xJVM.is() && ::connectivity::existsJavaClassByName(xJVM,m_aETDriverClass.GetText());
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # # #
# # ][ # # ]
683 : : }
684 : : }
685 [ # # ]: 0 : catch(::com::sun::star::uno::Exception&)
686 : : {
687 : : }
688 : :
689 [ # # ]: 0 : sal_uInt16 nMessage = bSuccess ? STR_JDBCDRIVER_SUCCESS : STR_JDBCDRIVER_NO_SUCCESS;
690 [ # # ][ # # ]: 0 : OSQLMessageBox aMsg( this, String( ModuleRes( nMessage ) ), String() );
[ # # ][ # # ]
[ # # ][ # # ]
691 [ # # ]: 0 : aMsg.Execute();
692 [ # # ]: 0 : return 0L;
693 : : }
694 : :
695 : : // -----------------------------------------------------------------------
696 : 0 : IMPL_LINK(OJDBCConnectionPageSetup, OnEditModified, Edit*, _pEdit)
697 : : {
698 [ # # ]: 0 : if ( _pEdit == &m_aETDriverClass )
699 [ # # ]: 0 : m_aPBTestJavaDriver.Enable( m_aETDriverClass.GetText().Len() != 0 );
700 : 0 : SetRoadmapStateValue(checkTestConnection());
701 : : // tell the listener we were modified
702 : 0 : callModifiedHdl();
703 : 0 : return 0L;
704 : : }
705 : :
706 : :
707 : 0 : OGenericAdministrationPage* OSpreadSheetConnectionPageSetup::CreateSpreadSheetTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
708 : : {
709 [ # # ]: 0 : return ( new OSpreadSheetConnectionPageSetup( pParent, _rAttrSet ) );
710 : : }
711 : :
712 : : DBG_NAME(OSpreadSheetConnectionPageSetup)
713 : :
714 : 0 : OSpreadSheetConnectionPageSetup::OSpreadSheetConnectionPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
715 : : :OConnectionTabPageSetup(pParent, PAGE_DBWIZARD_SPREADSHEET, _rCoreAttrs, STR_SPREADSHEET_HELPTEXT, STR_SPREADSHEET_HEADERTEXT, STR_SPREADSHEETPATH)
716 [ # # ][ # # ]: 0 : , m_aCBPasswordrequired(this, ModuleRes(CB_SPREADSHEETPASSWORDREQUIRED))
717 : : {
718 : : DBG_CTOR(OSpreadSheetConnectionPageSetup,NULL);
719 : :
720 [ # # ]: 0 : m_aCBPasswordrequired.SetToggleHdl(getControlModifiedLink());
721 [ # # ]: 0 : FreeResource();
722 : 0 : }
723 : :
724 : :
725 : : // -----------------------------------------------------------------------
726 [ # # ]: 0 : OSpreadSheetConnectionPageSetup::~OSpreadSheetConnectionPageSetup()
727 : : {
728 : :
729 : : DBG_DTOR(OSpreadSheetConnectionPageSetup,NULL);
730 [ # # ]: 0 : }
731 : :
732 : :
733 : 0 : void OSpreadSheetConnectionPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& /*_rControlList*/)
734 : : {
735 : 0 : }
736 : :
737 : : // -----------------------------------------------------------------------
738 : 0 : void OSpreadSheetConnectionPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
739 : : {
740 : 0 : OConnectionTabPageSetup::fillControls(_rControlList);
741 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBPasswordrequired));
742 : :
743 : 0 : }
744 : :
745 : : // -----------------------------------------------------------------------
746 : 0 : void OSpreadSheetConnectionPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool _bSaveValue)
747 : : {
748 : 0 : OConnectionTabPageSetup::implInitControls(_rSet, _bSaveValue);
749 : 0 : }
750 : :
751 : : // -----------------------------------------------------------------------
752 : 0 : sal_Bool OSpreadSheetConnectionPageSetup::FillItemSet( SfxItemSet& _rSet )
753 : : {
754 [ # # ]: 0 : sal_Bool bChangedSomething = OConnectionTabPageSetup::FillItemSet(_rSet);
755 [ # # ]: 0 : fillBool(_rSet,&m_aCBPasswordrequired,DSID_PASSWORDREQUIRED,bChangedSomething);
756 : 0 : return bChangedSomething;
757 : : }
758 : :
759 : 0 : OGenericAdministrationPage* OAuthentificationPageSetup::CreateAuthentificationTabPage( Window* pParent, const SfxItemSet& _rAttrSet )
760 : : {
761 [ # # ]: 0 : return ( new OAuthentificationPageSetup( pParent, _rAttrSet) );
762 : : }
763 : :
764 : : DBG_NAME(OAuthentificationPageSetup)
765 : :
766 : 0 : OAuthentificationPageSetup::OAuthentificationPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
767 : : :OGenericAdministrationPage(pParent, ModuleRes(PAGE_DBWIZARD_AUTHENTIFICATION), _rCoreAttrs )
768 : : , m_aFTHelpText (this, ModuleRes(FT_AUTHENTIFICATIONHELPTEXT))
769 : : , m_aFTHeaderText (this, ModuleRes(FT_AUTHENTIFICATIONHEADERTEXT))
770 : : , m_aFTUserName (this, ModuleRes(FT_GENERALUSERNAME))
771 : : , m_aETUserName (this, ModuleRes(ET_GENERALUSERNAME))
772 : : , m_aCBPasswordRequired (this, ModuleRes(CB_GENERALPASSWORDREQUIRED))
773 [ # # ][ # # ]: 0 : , m_aPBTestConnection (this, ModuleRes(PB_TESTCONNECTION))
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
774 : : {
775 : : DBG_CTOR(OAuthentificationPageSetup,NULL);
776 : :
777 [ # # ]: 0 : SetControlFontWeight(&m_aFTHeaderText);
778 [ # # ]: 0 : m_aETUserName.SetModifyHdl(getControlModifiedLink());
779 [ # # ]: 0 : m_aCBPasswordRequired.SetClickHdl(getControlModifiedLink());
780 [ # # ]: 0 : m_aPBTestConnection.SetClickHdl(LINK(this,OGenericAdministrationPage,OnTestConnectionClickHdl));
781 [ # # ]: 0 : FreeResource();
782 : :
783 [ # # ]: 0 : LayoutHelper::fitSizeRightAligned( m_aPBTestConnection );
784 : 0 : }
785 : :
786 : :
787 : : // -----------------------------------------------------------------------
788 [ # # ][ # # ]: 0 : OAuthentificationPageSetup::~OAuthentificationPageSetup()
[ # # ][ # # ]
[ # # ][ # # ]
789 : : {
790 : :
791 : : DBG_DTOR(OAuthentificationPageSetup,NULL);
792 [ # # ]: 0 : }
793 : :
794 : :
795 : 0 : void OAuthentificationPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
796 : : {
797 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTHelpText));
798 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTUserName));
799 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<PushButton>(&m_aPBTestConnection));
800 : 0 : }
801 : :
802 : : // -----------------------------------------------------------------------
803 : 0 : void OAuthentificationPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
804 : : {
805 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<Edit>(&m_aETUserName));
806 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBPasswordRequired));
807 : 0 : }
808 : :
809 : : // -----------------------------------------------------------------------
810 : 0 : void OAuthentificationPageSetup::implInitControls(const SfxItemSet& _rSet, sal_Bool /*_bSaveValue*/)
811 : : {
812 : : // check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
813 : : sal_Bool bValid, bReadonly;
814 [ # # ]: 0 : getFlags(_rSet, bValid, bReadonly);
815 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pUidItem, SfxStringItem, DSID_USER, sal_True);
816 [ # # ][ # # ]: 0 : SFX_ITEMSET_GET(_rSet, pAllowEmptyPwd, SfxBoolItem, DSID_PASSWORDREQUIRED, sal_True);
817 : :
818 [ # # ]: 0 : m_aETUserName.SetText(pUidItem->GetValue());
819 [ # # ]: 0 : m_aCBPasswordRequired.Check(pAllowEmptyPwd->GetValue());
820 : :
821 [ # # ]: 0 : m_aETUserName.ClearModifyFlag();
822 : 0 : }
823 : :
824 : : // -----------------------------------------------------------------------
825 : 0 : sal_Bool OAuthentificationPageSetup::FillItemSet( SfxItemSet& _rSet )
826 : : {
827 : 0 : sal_Bool bChangedSomething = sal_False;
828 : :
829 [ # # ][ # # ]: 0 : if (m_aETUserName.GetText() != m_aETUserName.GetSavedValue())
[ # # ][ # # ]
830 : : {
831 [ # # ][ # # ]: 0 : _rSet.Put(SfxStringItem(DSID_USER, m_aETUserName.GetText()));
[ # # ][ # # ]
[ # # ]
832 [ # # ][ # # ]: 0 : _rSet.Put(SfxStringItem(DSID_PASSWORD, String()));
[ # # ][ # # ]
[ # # ]
833 : 0 : bChangedSomething = sal_True;
834 : : }
835 [ # # ]: 0 : fillBool(_rSet,&m_aCBPasswordRequired,DSID_PASSWORDREQUIRED,bChangedSomething);
836 : 0 : return bChangedSomething;
837 : : }
838 : :
839 : :
840 : 0 : OGenericAdministrationPage* OFinalDBPageSetup::CreateFinalDBTabPageSetup( Window* pParent, const SfxItemSet& _rAttrSet)
841 : : {
842 [ # # ]: 0 : return ( new OFinalDBPageSetup( pParent, _rAttrSet) );
843 : : }
844 : :
845 : : DBG_NAME(OFinalDBPageSetup)
846 : :
847 : 0 : OFinalDBPageSetup::OFinalDBPageSetup( Window* pParent, const SfxItemSet& _rCoreAttrs )
848 : : :OGenericAdministrationPage(pParent, ModuleRes(PAGE_DBWIZARD_FINAL), _rCoreAttrs )
849 : : , m_aFTFinalHeader (this, ModuleRes(FT_FINALHEADER))
850 : : , m_aFTFinalHelpText (this, ModuleRes(FT_FINALHELPTEXT))
851 : : , m_aRBRegisterDataSource (this, ModuleRes(RB_REGISTERDATASOURCE))
852 : : , m_aRBDontregisterDataSource (this, ModuleRes(RB_DONTREGISTERDATASOURCE))
853 : : , m_aFTAdditionalSettings (this, ModuleRes(FT_ADDITIONALSETTINGS))
854 : : , m_aCBOpenAfterwards (this, ModuleRes(CB_OPENAFTERWARDS))
855 : : , m_aCBStartTableWizard (this, ModuleRes(CB_STARTTABLEWIZARD))
856 [ # # ][ # # ]: 0 : , m_aFTFinalText (this, ModuleRes(FT_FINALTEXT))
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
857 : : {
858 : : DBG_CTOR(OFinalDBPageSetup,NULL);
859 : :
860 [ # # ]: 0 : String stext = m_aFTFinalHeader.GetText();
861 [ # # ]: 0 : SetControlFontWeight(&m_aFTFinalHeader);
862 [ # # ]: 0 : m_aCBOpenAfterwards.SetClickHdl(LINK(this, OFinalDBPageSetup, OnOpenSelected));
863 [ # # ]: 0 : m_aCBStartTableWizard.SetClickHdl(getControlModifiedLink());
864 [ # # ]: 0 : m_aRBRegisterDataSource.SetState(sal_True);
865 [ # # ]: 0 : FreeResource();
866 : :
867 [ # # ][ # # ]: 0 : sal_Int32 nUnrelatedHeight = LogicToPixel( Size( 0, UNRELATED_CONTROLS ), MAP_APPFONT ).Height();
[ # # ]
868 [ # # ][ # # ]: 0 : sal_Int32 nRelatedHeight = LogicToPixel( Size( 0, RELATED_CONTROLS ), MAP_APPFONT ).Height();
[ # # ]
869 : :
870 : : ::std::pair<Window*,sal_Int32> pWindows[] = {
871 : : ::std::pair<Window*,sal_Int32>(&m_aFTFinalHelpText,nRelatedHeight)
872 : : ,::std::pair<Window*,sal_Int32>(&m_aRBRegisterDataSource,nRelatedHeight)
873 : : ,::std::pair<Window*,sal_Int32>(&m_aRBDontregisterDataSource,nUnrelatedHeight)
874 : : ,::std::pair<Window*,sal_Int32>(&m_aFTAdditionalSettings,nRelatedHeight)
875 : : ,::std::pair<Window*,sal_Int32>(&m_aCBOpenAfterwards,nRelatedHeight)
876 : : ,::std::pair<Window*,sal_Int32>(&m_aCBStartTableWizard,nUnrelatedHeight)
877 : : ,::std::pair<Window*,sal_Int32>(&m_aFTFinalText,nUnrelatedHeight)
878 [ # # ][ # # ]: 0 : };
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
879 : :
880 [ # # ]: 0 : Point aPos(m_aFTFinalHeader.GetPosPixel());
881 [ # # ]: 0 : Size aStart(m_aFTFinalHeader.GetSizePixel());
882 : 0 : aPos.Y() += aStart.Height() + nUnrelatedHeight;
883 : 0 : sal_Int32 nCount = sizeof(pWindows) / sizeof(pWindows[0]);
884 [ # # ]: 0 : for (sal_Int32 i=0; i < nCount; ++i)
885 : : {
886 [ # # ]: 0 : aPos.X() = pWindows[i].first->GetPosPixel().X();
887 [ # # ]: 0 : Size aSize = pWindows[i].first->GetSizePixel();
888 [ # # ]: 0 : FixedText* pText = dynamic_cast<FixedText*>(pWindows[i].first);
889 [ # # ]: 0 : if ( pText )
890 [ # # ]: 0 : aSize = pText->CalcMinimumSize(aSize.Width());
891 [ # # ]: 0 : pWindows[i].first->SetPosSizePixel(aPos,aSize);
892 : 0 : aPos.Y() += aSize.Height() + pWindows[i].second;
893 [ # # ]: 0 : }
894 : 0 : }
895 : :
896 : :
897 : : // -----------------------------------------------------------------------
898 [ # # ][ # # ]: 0 : OFinalDBPageSetup::~OFinalDBPageSetup()
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
899 : : {
900 : :
901 : : DBG_DTOR(OFinalDBPageSetup,NULL);
902 [ # # ]: 0 : }
903 : :
904 : 0 : sal_Bool OFinalDBPageSetup::IsDatabaseDocumentToBeRegistered()
905 : : {
906 [ # # ][ # # ]: 0 : return m_aRBRegisterDataSource.IsChecked() && m_aRBRegisterDataSource.IsEnabled();
907 : : }
908 : :
909 : 0 : sal_Bool OFinalDBPageSetup::IsDatabaseDocumentToBeOpened()
910 : : {
911 [ # # ][ # # ]: 0 : return m_aCBOpenAfterwards.IsChecked() && m_aCBOpenAfterwards.IsEnabled();
912 : : }
913 : :
914 : 0 : sal_Bool OFinalDBPageSetup::IsTableWizardToBeStarted()
915 : : {
916 [ # # ][ # # ]: 0 : return m_aCBStartTableWizard.IsChecked() && m_aCBStartTableWizard.IsEnabled();
917 : : }
918 : :
919 : :
920 : 0 : void OFinalDBPageSetup::fillWindows(::std::vector< ISaveValueWrapper* >& _rControlList)
921 : : {
922 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTFinalHeader));
923 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTFinalHelpText));
924 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTAdditionalSettings));
925 [ # # ][ # # ]: 0 : _rControlList.push_back(new ODisableWrapper<FixedText>(&m_aFTFinalText));
926 : 0 : }
927 : :
928 : : // -----------------------------------------------------------------------
929 : 0 : void OFinalDBPageSetup::fillControls(::std::vector< ISaveValueWrapper* >& _rControlList)
930 : : {
931 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBOpenAfterwards));
932 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<CheckBox>(&m_aCBStartTableWizard));
933 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<RadioButton>(&m_aRBRegisterDataSource));
934 [ # # ][ # # ]: 0 : _rControlList.push_back(new OSaveValueWrapper<RadioButton>(&m_aRBDontregisterDataSource));
935 : 0 : }
936 : :
937 : : // -----------------------------------------------------------------------
938 : 0 : void OFinalDBPageSetup::implInitControls(const SfxItemSet& /*_rSet*/, sal_Bool /*_bSaveValue*/)
939 : : {
940 : 0 : m_aCBOpenAfterwards.Check();
941 : 0 : }
942 : :
943 : 0 : void OFinalDBPageSetup::enableTableWizardCheckBox( sal_Bool _bSupportsTableCreation)
944 : : {
945 : 0 : m_aCBStartTableWizard.Enable(_bSupportsTableCreation);
946 : 0 : }
947 : :
948 : : // -----------------------------------------------------------------------
949 : 0 : sal_Bool OFinalDBPageSetup::FillItemSet( SfxItemSet& /*_rSet*/ )
950 : : {
951 : 0 : return sal_True;
952 : : }
953 : : // -----------------------------------------------------------------------------
954 : 0 : IMPL_LINK(OFinalDBPageSetup, OnOpenSelected, CheckBox*, _pBox)
955 : : {
956 [ # # ][ # # ]: 0 : m_aCBStartTableWizard.Enable( _pBox->IsEnabled() && _pBox->IsChecked() );
957 : 0 : callModifiedHdl();
958 : : // outta here
959 : 0 : return 0L;
960 : : }
961 : : //.........................................................................
962 : : }
963 : : // namespace dbaui
964 : : //.........................................................................
965 : :
966 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|