1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #include "textconnectionsettings.hxx"
21 #include "TextConnectionHelper.hxx"
22 #include "dbu_resource.hrc"
23 #include "moduledbu.hxx"
24 #include "dsitems.hxx"
25 #include "dbustrings.hrc"
27 #include <vcl/msgbox.hxx>
31 // TextConnectionSettingsDialog
32 TextConnectionSettingsDialog::TextConnectionSettingsDialog( vcl::Window
* _pParent
, SfxItemSet
& _rItems
)
33 :ModalDialog( _pParent
, "TextConnectionSettingsDialog", "dbaccess/ui/textconnectionsettings.ui" )
37 m_pTextConnectionHelper
.reset( VclPtr
<OTextConnectionHelper
>::Create( get
<VclVBox
>("TextPageContainer"), TC_HEADER
| TC_SEPARATORS
| TC_CHARSET
) );
39 m_pOK
->SetClickHdl( LINK( this, TextConnectionSettingsDialog
, OnOK
) );
42 TextConnectionSettingsDialog::~TextConnectionSettingsDialog()
47 void TextConnectionSettingsDialog::dispose()
50 m_pTextConnectionHelper
.disposeAndClear();
51 ModalDialog::dispose();
54 void TextConnectionSettingsDialog::bindItemStorages( SfxItemSet
& _rSet
, PropertyValues
& _rValues
)
56 _rValues
[ PROPERTY_ID_HEADER_LINE
].reset( new SetItemPropertyStorage( _rSet
, DSID_TEXTFILEHEADER
) );
57 _rValues
[ PROPERTY_ID_FIELD_DELIMITER
].reset( new SetItemPropertyStorage( _rSet
, DSID_FIELDDELIMITER
) );
58 _rValues
[ PROPERTY_ID_STRING_DELIMITER
].reset( new SetItemPropertyStorage( _rSet
, DSID_TEXTDELIMITER
) );
59 _rValues
[ PROPERTY_ID_DECIMAL_DELIMITER
].reset( new SetItemPropertyStorage( _rSet
, DSID_DECIMALDELIMITER
) );
60 _rValues
[ PROPERTY_ID_THOUSAND_DELIMITER
].reset( new SetItemPropertyStorage( _rSet
, DSID_THOUSANDSDELIMITER
) );
61 _rValues
[ PROPERTY_ID_ENCODING
].reset( new SetItemPropertyStorage( _rSet
, DSID_CHARSET
) );
64 short TextConnectionSettingsDialog::Execute()
66 m_pTextConnectionHelper
->implInitControls( m_rItems
, true );
67 return ModalDialog::Execute();
70 IMPL_LINK( TextConnectionSettingsDialog
, OnOK
, PushButton
*, /*_pButton*/ )
72 if ( m_pTextConnectionHelper
->prepareLeave() )
75 m_pTextConnectionHelper
->FillItemSet( m_rItems
, bUnused
);
85 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */