1*efeef26fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file
5*efeef26fSAndrew Rist * distributed with this work for additional information
6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the
8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance
9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at
10*efeef26fSAndrew Rist *
11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*efeef26fSAndrew Rist *
13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing,
14*efeef26fSAndrew Rist * software distributed under the License is distributed on an
15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the
17*efeef26fSAndrew Rist * specific language governing permissions and limitations
18*efeef26fSAndrew Rist * under the License.
19*efeef26fSAndrew Rist *
20*efeef26fSAndrew Rist *************************************************************/
21*efeef26fSAndrew Rist
22*efeef26fSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sw.hxx"
26cdf0e10cSrcweir
27cdf0e10cSrcweir #ifdef SW_DLLIMPLEMENTATION
28cdf0e10cSrcweir #undef SW_DLLIMPLEMENTATION
29cdf0e10cSrcweir #endif
30cdf0e10cSrcweir #include <mmgreetingspage.hxx>
31cdf0e10cSrcweir #include <mailmergewizard.hxx>
32cdf0e10cSrcweir #include <mmconfigitem.hxx>
33cdf0e10cSrcweir #include <mmaddressblockpage.hxx>
34cdf0e10cSrcweir #include <swtypes.hxx>
35cdf0e10cSrcweir #include <vcl/msgbox.hxx>
36cdf0e10cSrcweir #include <mmgreetingspage.hrc>
37cdf0e10cSrcweir #include <dbui.hrc>
38cdf0e10cSrcweir #include <com/sun/star/sdb/XColumn.hpp>
39cdf0e10cSrcweir #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
40cdf0e10cSrcweir #include <com/sun/star/container/XNameAccess.hpp>
41cdf0e10cSrcweir #include <helpid.h>
42cdf0e10cSrcweir
43cdf0e10cSrcweir using namespace svt;
44cdf0e10cSrcweir using namespace ::com::sun::star;
45cdf0e10cSrcweir using namespace ::com::sun::star::uno;
46cdf0e10cSrcweir // -----------------------------------------------------------------------
lcl_FillGreetingsBox(ListBox & rBox,SwMailMergeConfigItem & rConfig,SwMailMergeConfigItem::Gender eType)47cdf0e10cSrcweir void lcl_FillGreetingsBox(ListBox& rBox,
48cdf0e10cSrcweir SwMailMergeConfigItem& rConfig,
49cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType)
50cdf0e10cSrcweir {
51cdf0e10cSrcweir const Sequence< ::rtl::OUString> rEntries = rConfig.GetGreetings(eType);
52cdf0e10cSrcweir for(sal_Int32 nEntry = 0; nEntry < rEntries.getLength(); ++nEntry)
53cdf0e10cSrcweir rBox.InsertEntry(rEntries[nEntry]);
54cdf0e10cSrcweir rBox.SelectEntryPos((sal_uInt16)rConfig.GetCurrentGreeting(eType));
55cdf0e10cSrcweir }
56cdf0e10cSrcweir // -----------------------------------------------------------------------
lcl_FillGreetingsBox(ComboBox & rBox,SwMailMergeConfigItem & rConfig,SwMailMergeConfigItem::Gender eType)57cdf0e10cSrcweir void lcl_FillGreetingsBox(ComboBox& rBox,
58cdf0e10cSrcweir SwMailMergeConfigItem& rConfig,
59cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType)
60cdf0e10cSrcweir {
61cdf0e10cSrcweir const Sequence< ::rtl::OUString> rEntries = rConfig.GetGreetings(eType);
62cdf0e10cSrcweir for(sal_Int32 nEntry = 0; nEntry < rEntries.getLength(); ++nEntry)
63cdf0e10cSrcweir rBox.InsertEntry(rEntries[nEntry]);
64cdf0e10cSrcweir rBox.SelectEntryPos((sal_uInt16)rConfig.GetCurrentGreeting(eType));
65cdf0e10cSrcweir }
66cdf0e10cSrcweir // -----------------------------------------------------------------------
lcl_StoreGreetingsBox(ListBox & rBox,SwMailMergeConfigItem & rConfig,SwMailMergeConfigItem::Gender eType)67cdf0e10cSrcweir void lcl_StoreGreetingsBox(ListBox& rBox,
68cdf0e10cSrcweir SwMailMergeConfigItem& rConfig,
69cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType)
70cdf0e10cSrcweir {
71cdf0e10cSrcweir Sequence< ::rtl::OUString> aEntries(rBox.GetEntryCount());
72cdf0e10cSrcweir ::rtl::OUString* pEntries = aEntries.getArray();
73cdf0e10cSrcweir for(sal_uInt16 nEntry = 0; nEntry < rBox.GetEntryCount(); ++nEntry)
74cdf0e10cSrcweir pEntries[nEntry] = rBox.GetEntry(nEntry);
75cdf0e10cSrcweir rConfig.SetGreetings(eType, aEntries);
76cdf0e10cSrcweir rConfig.SetCurrentGreeting(eType, rBox.GetSelectEntryPos());
77cdf0e10cSrcweir }
78cdf0e10cSrcweir // -----------------------------------------------------------------------
lcl_StoreGreetingsBox(ComboBox & rBox,SwMailMergeConfigItem & rConfig,SwMailMergeConfigItem::Gender eType)79cdf0e10cSrcweir void lcl_StoreGreetingsBox(ComboBox& rBox,
80cdf0e10cSrcweir SwMailMergeConfigItem& rConfig,
81cdf0e10cSrcweir SwMailMergeConfigItem::Gender eType)
82cdf0e10cSrcweir {
83cdf0e10cSrcweir Sequence< ::rtl::OUString> aEntries(rBox.GetEntryCount());
84cdf0e10cSrcweir ::rtl::OUString* pEntries = aEntries.getArray();
85cdf0e10cSrcweir for(sal_uInt16 nEntry = 0; nEntry < rBox.GetEntryCount(); ++nEntry)
86cdf0e10cSrcweir pEntries[nEntry] = rBox.GetEntry(nEntry);
87cdf0e10cSrcweir rConfig.SetGreetings(eType, aEntries);
88cdf0e10cSrcweir rConfig.SetCurrentGreeting(eType, rBox.GetSelectEntryPos());
89cdf0e10cSrcweir }
90cdf0e10cSrcweir /*-- 30.04.2004 10:42:57---------------------------------------------------
91cdf0e10cSrcweir
92cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwGreetingsHandler,IndividualHdl_Impl,CheckBox *,EMPTYARG)93cdf0e10cSrcweir IMPL_LINK(SwGreetingsHandler, IndividualHdl_Impl, CheckBox*, EMPTYARG)
94cdf0e10cSrcweir {
95cdf0e10cSrcweir sal_Bool bIndividual = m_pPersonalizedCB->IsEnabled() && m_pPersonalizedCB->IsChecked();
96cdf0e10cSrcweir m_pFemaleFT->Enable(bIndividual);
97cdf0e10cSrcweir m_pFemaleLB->Enable(bIndividual);
98cdf0e10cSrcweir m_pFemalePB->Enable(bIndividual);
99cdf0e10cSrcweir m_pMaleFT->Enable(bIndividual);
100cdf0e10cSrcweir m_pMaleLB->Enable(bIndividual);
101cdf0e10cSrcweir m_pMalePB->Enable(bIndividual);
102cdf0e10cSrcweir m_pFemaleFI->Enable(bIndividual);
103cdf0e10cSrcweir m_pFemaleColumnFT->Enable(bIndividual);
104cdf0e10cSrcweir m_pFemaleColumnLB->Enable(bIndividual);
105cdf0e10cSrcweir m_pFemaleFieldFT->Enable(bIndividual);
106cdf0e10cSrcweir m_pFemaleFieldCB->Enable(bIndividual);
107cdf0e10cSrcweir
108cdf0e10cSrcweir if( m_bIsTabPage )
109cdf0e10cSrcweir {
110cdf0e10cSrcweir m_pWizard->GetConfigItem().SetIndividualGreeting(bIndividual, sal_False);
111cdf0e10cSrcweir m_pWizard->UpdateRoadmap();
112cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE));
113cdf0e10cSrcweir }
114cdf0e10cSrcweir UpdatePreview();
115cdf0e10cSrcweir return 0;
116cdf0e10cSrcweir }
117cdf0e10cSrcweir /*-- 30.04.2004 10:42:57---------------------------------------------------
118cdf0e10cSrcweir
119cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwGreetingsHandler,GreetingHdl_Impl,PushButton *,pButton)120cdf0e10cSrcweir IMPL_LINK(SwGreetingsHandler, GreetingHdl_Impl, PushButton*, pButton)
121cdf0e10cSrcweir {
122cdf0e10cSrcweir SwCustomizeAddressBlockDialog* pDlg =
123cdf0e10cSrcweir new SwCustomizeAddressBlockDialog(pButton, m_pWizard->GetConfigItem(),
124cdf0e10cSrcweir pButton == m_pMalePB ?
125cdf0e10cSrcweir SwCustomizeAddressBlockDialog::GREETING_MALE :
126cdf0e10cSrcweir SwCustomizeAddressBlockDialog::GREETING_FEMALE );
127cdf0e10cSrcweir if(RET_OK == pDlg->Execute())
128cdf0e10cSrcweir {
129cdf0e10cSrcweir ListBox* pToInsert = pButton == m_pMalePB ? m_pMaleLB : m_pFemaleLB;
130cdf0e10cSrcweir pToInsert->SelectEntryPos(pToInsert->InsertEntry(pDlg->GetAddress()));
131cdf0e10cSrcweir if(m_bIsTabPage)
132cdf0e10cSrcweir {
133cdf0e10cSrcweir m_pWizard->UpdateRoadmap();
134cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE));
135cdf0e10cSrcweir }
136cdf0e10cSrcweir UpdatePreview();
137cdf0e10cSrcweir }
138cdf0e10cSrcweir delete pDlg;
139cdf0e10cSrcweir return 0;
140cdf0e10cSrcweir }
141cdf0e10cSrcweir /*-- 16.06.2004 10:56:21---------------------------------------------------
142cdf0e10cSrcweir
143cdf0e10cSrcweir -----------------------------------------------------------------------*/
UpdatePreview()144cdf0e10cSrcweir void SwGreetingsHandler::UpdatePreview()
145cdf0e10cSrcweir {
146cdf0e10cSrcweir //the base class does nothing
147cdf0e10cSrcweir }
148cdf0e10cSrcweir /*-- 30.04.2004 10:42:59---------------------------------------------------
149cdf0e10cSrcweir
150cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailMergeGreetingsPage,AssignHdl_Impl,PushButton *,pButton)151cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, AssignHdl_Impl, PushButton*, pButton)
152cdf0e10cSrcweir {
153cdf0e10cSrcweir String sPreview = m_aFemaleLB.GetSelectEntry();
154cdf0e10cSrcweir sPreview += '\n';
155cdf0e10cSrcweir sPreview += m_aMaleLB.GetSelectEntry();
156cdf0e10cSrcweir SwAssignFieldsDialog* pDlg =
157cdf0e10cSrcweir new SwAssignFieldsDialog(pButton, m_pWizard->GetConfigItem(), sPreview, false);
158cdf0e10cSrcweir if(RET_OK == pDlg->Execute())
159cdf0e10cSrcweir {
160cdf0e10cSrcweir UpdatePreview();
161cdf0e10cSrcweir m_pWizard->UpdateRoadmap();
162cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE));
163cdf0e10cSrcweir }
164cdf0e10cSrcweir delete pDlg;
165cdf0e10cSrcweir return 0;
166cdf0e10cSrcweir }
167cdf0e10cSrcweir /*-- 05.05.2004 15:25:56---------------------------------------------------
168cdf0e10cSrcweir
169cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailMergeGreetingsPage,GreetingSelectHdl_Impl,ListBox *,EMPTYARG)170cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, GreetingSelectHdl_Impl, ListBox*, EMPTYARG)
171cdf0e10cSrcweir {
172cdf0e10cSrcweir UpdatePreview();
173cdf0e10cSrcweir return 0;
174cdf0e10cSrcweir }
175cdf0e10cSrcweir /*-- 05.05.2004 15:23:43---------------------------------------------------
176cdf0e10cSrcweir
177cdf0e10cSrcweir -----------------------------------------------------------------------*/
UpdatePreview()178cdf0e10cSrcweir void SwMailMergeGreetingsPage::UpdatePreview()
179cdf0e10cSrcweir {
180cdf0e10cSrcweir //find out which type of greeting should be selected:
181cdf0e10cSrcweir bool bFemale = false;
182cdf0e10cSrcweir bool bNoValue = !m_pFemaleColumnLB->IsEnabled();
183cdf0e10cSrcweir if( !bNoValue )
184cdf0e10cSrcweir {
185cdf0e10cSrcweir ::rtl::OUString sFemaleValue = m_aFemaleFieldCB.GetText();
186cdf0e10cSrcweir ::rtl::OUString sFemaleColumn = m_aFemaleColumnLB.GetSelectEntry();
187cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp( m_pWizard->GetConfigItem().GetResultSet(), UNO_QUERY);
188cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp.is() ? xColsSupp->getColumns() : 0;
189cdf0e10cSrcweir if(sFemaleValue.getLength() && sFemaleColumn.getLength() &&
190cdf0e10cSrcweir xColAccess.is() &&
191cdf0e10cSrcweir xColAccess->hasByName(sFemaleColumn))
192cdf0e10cSrcweir {
193cdf0e10cSrcweir //get the content and exchange it in the address string
194cdf0e10cSrcweir Any aCol = xColAccess->getByName(sFemaleColumn);
195cdf0e10cSrcweir Reference< sdb::XColumn > xColumn;
196cdf0e10cSrcweir aCol >>= xColumn;
197cdf0e10cSrcweir if(xColumn.is())
198cdf0e10cSrcweir {
199cdf0e10cSrcweir try
200cdf0e10cSrcweir {
201cdf0e10cSrcweir ::rtl::OUString sFemaleColumnValue = xColumn->getString();
202cdf0e10cSrcweir bFemale = sFemaleColumnValue == sFemaleValue;
203cdf0e10cSrcweir //bNoValue = !sFemaleColumnValue.getLength();
204cdf0e10cSrcweir if( !bNoValue )
205cdf0e10cSrcweir {
206cdf0e10cSrcweir //no last name value marks the greeting also als neutral
207cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
208cdf0e10cSrcweir ::rtl::OUString sLastNameColumn = rConfig.GetAssignedColumn(MM_PART_LASTNAME);
209cdf0e10cSrcweir if ( xColAccess->hasByName(sLastNameColumn) )
210cdf0e10cSrcweir {
211cdf0e10cSrcweir aCol = xColAccess->getByName(sLastNameColumn);
212cdf0e10cSrcweir aCol >>= xColumn;
213cdf0e10cSrcweir ::rtl::OUString sLastNameColumnValue = xColumn->getString();
214cdf0e10cSrcweir bNoValue = !sLastNameColumnValue.getLength();
215cdf0e10cSrcweir }
216cdf0e10cSrcweir }
217cdf0e10cSrcweir }
218cdf0e10cSrcweir catch( sdbc::SQLException& )
219cdf0e10cSrcweir {
220cdf0e10cSrcweir DBG_ERROR("SQLException caught");
221cdf0e10cSrcweir }
222cdf0e10cSrcweir }
223cdf0e10cSrcweir }
224cdf0e10cSrcweir }
225cdf0e10cSrcweir
226cdf0e10cSrcweir String sPreview = bFemale ? m_aFemaleLB.GetSelectEntry() :
227cdf0e10cSrcweir bNoValue ? m_aNeutralCB.GetText() : m_aMaleLB.GetSelectEntry();
228cdf0e10cSrcweir
229cdf0e10cSrcweir sPreview = SwAddressPreview::FillData(sPreview, m_pWizard->GetConfigItem());
230cdf0e10cSrcweir m_aPreviewWIN.SetAddress(sPreview);
231cdf0e10cSrcweir }
232cdf0e10cSrcweir /*-- 17.05.2004 15:44:53---------------------------------------------------
233cdf0e10cSrcweir
234cdf0e10cSrcweir -----------------------------------------------------------------------*/
Contains(sal_Bool bContainsGreeting)235cdf0e10cSrcweir void SwGreetingsHandler::Contains(sal_Bool bContainsGreeting)
236cdf0e10cSrcweir {
237cdf0e10cSrcweir m_pPersonalizedCB->Enable(bContainsGreeting);
238cdf0e10cSrcweir sal_Bool bEnablePersonal = bContainsGreeting && m_pPersonalizedCB->IsChecked();
239cdf0e10cSrcweir m_pFemaleFT->Enable(bEnablePersonal);
240cdf0e10cSrcweir m_pFemaleLB->Enable(bEnablePersonal);
241cdf0e10cSrcweir m_pFemalePB->Enable(bEnablePersonal);
242cdf0e10cSrcweir m_pMaleFT->Enable(bEnablePersonal);
243cdf0e10cSrcweir m_pMaleLB->Enable(bEnablePersonal);
244cdf0e10cSrcweir m_pMalePB->Enable(bEnablePersonal);
245cdf0e10cSrcweir m_pFemaleFI->Enable(bEnablePersonal);
246cdf0e10cSrcweir m_pFemaleColumnFT->Enable(bEnablePersonal);
247cdf0e10cSrcweir m_pFemaleColumnLB->Enable(bEnablePersonal);
248cdf0e10cSrcweir m_pFemaleFieldFT->Enable(bEnablePersonal);
249cdf0e10cSrcweir m_pFemaleFieldCB->Enable(bEnablePersonal);
250cdf0e10cSrcweir
251cdf0e10cSrcweir m_pNeutralFT->Enable(bContainsGreeting);
252cdf0e10cSrcweir m_pNeutralCB->Enable(bContainsGreeting);
253cdf0e10cSrcweir }
254cdf0e10cSrcweir /*-- 02.04.2004 14:17:52---------------------------------------------------
255cdf0e10cSrcweir
256cdf0e10cSrcweir -----------------------------------------------------------------------*/
SwMailMergeGreetingsPage(SwMailMergeWizard * _pParent)257cdf0e10cSrcweir SwMailMergeGreetingsPage::SwMailMergeGreetingsPage( SwMailMergeWizard* _pParent) :
258cdf0e10cSrcweir svt::OWizardPage(_pParent, SW_RES(DLG_MM_GREETINGS_PAGE)),
259cdf0e10cSrcweir #ifdef MSC
260cdf0e10cSrcweir #pragma warning (disable : 4355)
261cdf0e10cSrcweir #endif
262cdf0e10cSrcweir m_aHeaderFI(this, SW_RES( FI_HEADER ) ),
263cdf0e10cSrcweir m_aGreetingLineCB(this, SW_RES( CB_GREETINGLINE ) ),
264cdf0e10cSrcweir m_aPersonalizedCB(this, SW_RES( CB_PERSONALIZED ) ),
265cdf0e10cSrcweir m_aFemaleFT(this, SW_RES( FT_FEMALE ) ),
266cdf0e10cSrcweir m_aFemaleLB(this, SW_RES( LB_FEMALE ) ),
267cdf0e10cSrcweir m_aFemalePB(this, SW_RES( PB_FEMALE ) ),
268cdf0e10cSrcweir m_aMaleFT(this, SW_RES( FT_MALE ) ),
269cdf0e10cSrcweir m_aMaleLB(this, SW_RES( LB_MALE ) ),
270cdf0e10cSrcweir m_aMalePB(this, SW_RES( PB_MALE ) ),
271cdf0e10cSrcweir m_aFemaleFI(this, SW_RES( FI_FEMALE ) ),
272cdf0e10cSrcweir m_aFemaleColumnFT(this, SW_RES( FT_FEMALECOLUMN ) ),
273cdf0e10cSrcweir m_aFemaleColumnLB(this, SW_RES( LB_FEMALECOLUMN ) ),
274cdf0e10cSrcweir m_aFemaleFieldFT(this, SW_RES( FT_FEMALEFIELD ) ),
275cdf0e10cSrcweir m_aFemaleFieldCB(this, SW_RES( CB_FEMALEFIELD ) ),
276cdf0e10cSrcweir m_aNeutralFT(this, SW_RES( FT_NEUTRAL ) ),
277cdf0e10cSrcweir m_aNeutralCB(this, SW_RES( CB_NEUTRAL ) ),
278cdf0e10cSrcweir m_aPreviewFI( this, SW_RES( FI_PREVIEW ) ),
279cdf0e10cSrcweir m_aPreviewWIN( this, SW_RES( WIN_PREVIEW ) ),
280cdf0e10cSrcweir m_aAssignPB( this, SW_RES( PB_ASSIGN ) ),
281cdf0e10cSrcweir m_aDocumentIndexFI( this, SW_RES( FI_DOCINDEX ) ),
282cdf0e10cSrcweir m_aPrevSetIB( this, SW_RES( IB_PREVSET ) ),
283cdf0e10cSrcweir m_aNextSetIB( this, SW_RES( IB_NEXTSET ) ),
284cdf0e10cSrcweir m_sDocument( SW_RES( STR_DOCUMENT ) )
285cdf0e10cSrcweir #ifdef MSC
286cdf0e10cSrcweir #pragma warning (default : 4355)
287cdf0e10cSrcweir #endif
288cdf0e10cSrcweir {
289cdf0e10cSrcweir m_pWizard = _pParent;
290cdf0e10cSrcweir m_pGreetingLineCB = &m_aGreetingLineCB;
291cdf0e10cSrcweir m_pPersonalizedCB = &m_aPersonalizedCB;
292cdf0e10cSrcweir m_pFemaleFT = & m_aFemaleFT;
293cdf0e10cSrcweir m_pFemaleLB = & m_aFemaleLB;
294cdf0e10cSrcweir m_pFemalePB = & m_aFemalePB;
295cdf0e10cSrcweir m_pMaleFT = & m_aMaleFT;
296cdf0e10cSrcweir m_pMaleLB = & m_aMaleLB;
297cdf0e10cSrcweir m_pMalePB = & m_aMalePB;
298cdf0e10cSrcweir m_pFemaleFI = & m_aFemaleFI;
299cdf0e10cSrcweir m_pFemaleColumnFT = &m_aFemaleColumnFT;
300cdf0e10cSrcweir m_pFemaleColumnLB = &m_aFemaleColumnLB;
301cdf0e10cSrcweir m_pFemaleFieldFT = & m_aFemaleFieldFT;
302cdf0e10cSrcweir m_pFemaleFieldCB = & m_aFemaleFieldCB;
303cdf0e10cSrcweir m_pNeutralFT = & m_aNeutralFT;
304cdf0e10cSrcweir m_pNeutralCB = &m_aNeutralCB;
305cdf0e10cSrcweir m_bIsTabPage = true;
306cdf0e10cSrcweir
307cdf0e10cSrcweir m_pPersonalizedCB->SetHelpId( HID_MM_GREETINGS_CB_PERSONALIZED);
308cdf0e10cSrcweir m_pFemaleLB->SetHelpId( HID_MM_GREETINGS_LB_FEMALE );
309cdf0e10cSrcweir m_pFemalePB->SetHelpId( HID_MM_GREETINGS_PB_FEMALE );
310cdf0e10cSrcweir m_pMaleLB->SetHelpId( HID_MM_GREETINGS_LB_MALE );
311cdf0e10cSrcweir m_pMalePB->SetHelpId( HID_MM_GREETINGS_PB_MALE );
312cdf0e10cSrcweir m_pFemaleColumnLB->SetHelpId( HID_MM_GREETINGS_LB_FEMALECOLUMN);
313cdf0e10cSrcweir m_pFemaleFieldCB->SetHelpId( HID_MM_GREETINGS_CB_FEMALEFIELD );
314cdf0e10cSrcweir m_pNeutralCB->SetHelpId( HID_MM_GREETINGS_CB_NEUTRAL );
315cdf0e10cSrcweir
316cdf0e10cSrcweir FreeResource();
317cdf0e10cSrcweir m_aGreetingLineCB.SetClickHdl(LINK(this, SwMailMergeGreetingsPage, ContainsHdl_Impl));
318cdf0e10cSrcweir Link aIndividualLink = LINK(this, SwGreetingsHandler, IndividualHdl_Impl);
319cdf0e10cSrcweir m_aPersonalizedCB.SetClickHdl(aIndividualLink);
320cdf0e10cSrcweir Link aGreetingLink = LINK(this, SwGreetingsHandler, GreetingHdl_Impl);
321cdf0e10cSrcweir m_aFemalePB.SetClickHdl(aGreetingLink);
322cdf0e10cSrcweir m_aMalePB.SetClickHdl(aGreetingLink);
323cdf0e10cSrcweir m_aAssignPB.SetClickHdl(LINK(this, SwMailMergeGreetingsPage, AssignHdl_Impl));
324cdf0e10cSrcweir Link aLBoxLink = LINK(this, SwMailMergeGreetingsPage, GreetingSelectHdl_Impl);
325cdf0e10cSrcweir m_aFemaleLB.SetSelectHdl(aLBoxLink);
326cdf0e10cSrcweir m_aMaleLB.SetSelectHdl(aLBoxLink);
327cdf0e10cSrcweir m_aFemaleColumnLB.SetSelectHdl(aLBoxLink);
328cdf0e10cSrcweir m_aFemaleFieldCB.SetSelectHdl(aLBoxLink);
329cdf0e10cSrcweir m_aFemaleFieldCB.SetModifyHdl(aLBoxLink);
330cdf0e10cSrcweir m_aNeutralCB.SetSelectHdl(aLBoxLink);
331cdf0e10cSrcweir m_aNeutralCB.SetModifyHdl(aLBoxLink);
332cdf0e10cSrcweir
333cdf0e10cSrcweir Link aDataLink = LINK(this, SwMailMergeGreetingsPage, InsertDataHdl_Impl);
334cdf0e10cSrcweir m_aPrevSetIB.SetClickHdl(aDataLink);
335cdf0e10cSrcweir m_aNextSetIB.SetClickHdl(aDataLink);
336cdf0e10cSrcweir
337cdf0e10cSrcweir
338cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
339cdf0e10cSrcweir m_aGreetingLineCB.Check(rConfig.IsGreetingLine(sal_False));
340cdf0e10cSrcweir m_aPersonalizedCB.Check(rConfig.IsIndividualGreeting(sal_False));
341cdf0e10cSrcweir ContainsHdl_Impl(&m_aGreetingLineCB);
342cdf0e10cSrcweir aIndividualLink.Call(0);
343cdf0e10cSrcweir
344cdf0e10cSrcweir lcl_FillGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE);
345cdf0e10cSrcweir lcl_FillGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE);
346cdf0e10cSrcweir lcl_FillGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL);
347cdf0e10cSrcweir
348cdf0e10cSrcweir String sTemp(m_sDocument);
349cdf0e10cSrcweir sTemp.SearchAndReplaceAscii("%1", String::CreateFromInt32(1));
350cdf0e10cSrcweir m_aDocumentIndexFI.SetText(sTemp);
351cdf0e10cSrcweir }
352cdf0e10cSrcweir /*-- 02.04.2004 14:17:52---------------------------------------------------
353cdf0e10cSrcweir
354cdf0e10cSrcweir -----------------------------------------------------------------------*/
~SwMailMergeGreetingsPage()355cdf0e10cSrcweir SwMailMergeGreetingsPage::~SwMailMergeGreetingsPage()
356cdf0e10cSrcweir {
357cdf0e10cSrcweir }
358cdf0e10cSrcweir /*-- 18.06.2004 12:13:53---------------------------------------------------
359cdf0e10cSrcweir
360cdf0e10cSrcweir -----------------------------------------------------------------------*/
ActivatePage()361cdf0e10cSrcweir void SwMailMergeGreetingsPage::ActivatePage()
362cdf0e10cSrcweir {
363cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
364cdf0e10cSrcweir
365cdf0e10cSrcweir //try to find the gender setting
366cdf0e10cSrcweir m_aFemaleColumnLB.Clear();
367cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp = rConfig.GetColumnsSupplier();
368cdf0e10cSrcweir if(xColsSupp.is())
369cdf0e10cSrcweir {
370cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp->getColumns();
371cdf0e10cSrcweir Sequence< ::rtl::OUString > aColumns = xColAccess->getElementNames();
372cdf0e10cSrcweir for(sal_Int32 nName = 0; nName < aColumns.getLength(); ++nName)
373cdf0e10cSrcweir m_aFemaleColumnLB.InsertEntry(aColumns[nName]);
374cdf0e10cSrcweir }
375cdf0e10cSrcweir
376cdf0e10cSrcweir ::rtl::OUString sGenderColumn = rConfig.GetAssignedColumn(MM_PART_GENDER);
377cdf0e10cSrcweir m_aFemaleColumnLB.SelectEntry(sGenderColumn);
378cdf0e10cSrcweir m_aFemaleColumnLB.SaveValue();
379cdf0e10cSrcweir
380cdf0e10cSrcweir m_aFemaleFieldCB.SetText(rConfig.GetFemaleGenderValue());
381cdf0e10cSrcweir m_aFemaleFieldCB.SaveValue();
382cdf0e10cSrcweir
383cdf0e10cSrcweir UpdatePreview();
384cdf0e10cSrcweir m_pWizard->enableButtons(WZB_NEXT, m_pWizard->isStateEnabled(MM_PREPAREMERGEPAGE));
385cdf0e10cSrcweir }
386cdf0e10cSrcweir /*-- 11.05.2004 14:47:10---------------------------------------------------
387cdf0e10cSrcweir
388cdf0e10cSrcweir -----------------------------------------------------------------------*/
commitPage(::svt::WizardTypes::CommitPageReason)389cdf0e10cSrcweir sal_Bool SwMailMergeGreetingsPage::commitPage( ::svt::WizardTypes::CommitPageReason )
390cdf0e10cSrcweir {
391cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
392cdf0e10cSrcweir
393cdf0e10cSrcweir if(m_aFemaleColumnLB.GetSelectEntryPos() != m_aFemaleColumnLB.GetSavedValue())
394cdf0e10cSrcweir {
395cdf0e10cSrcweir const SwDBData& rDBData = rConfig.GetCurrentDBData();
396cdf0e10cSrcweir Sequence< ::rtl::OUString> aAssignment = rConfig.GetColumnAssignment( rDBData );
397cdf0e10cSrcweir if(aAssignment.getLength() <= MM_PART_GENDER)
398cdf0e10cSrcweir aAssignment.realloc(MM_PART_GENDER + 1);
399cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = m_aFemaleColumnLB.GetSelectEntry();
400cdf0e10cSrcweir rConfig.SetColumnAssignment( rDBData, aAssignment );
401cdf0e10cSrcweir }
402cdf0e10cSrcweir if(m_aFemaleFieldCB.GetText() != m_aFemaleFieldCB.GetSavedValue())
403cdf0e10cSrcweir rConfig.SetFemaleGenderValue(m_aFemaleFieldCB.GetText());
404cdf0e10cSrcweir
405cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE);
406cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE);
407cdf0e10cSrcweir
408cdf0e10cSrcweir sal_uInt16 nCurrentTextPos = m_aNeutralCB.GetEntryPos( m_aNeutralCB.GetText() );
409cdf0e10cSrcweir if(LISTBOX_ENTRY_NOTFOUND == nCurrentTextPos)
410cdf0e10cSrcweir {
411cdf0e10cSrcweir sal_uInt16 nCount = m_aNeutralCB.GetEntryCount();
412cdf0e10cSrcweir m_aNeutralCB.InsertEntry( m_aNeutralCB.GetText(), nCount );
413cdf0e10cSrcweir m_aNeutralCB.SelectEntryPos(nCount);
414cdf0e10cSrcweir }
415cdf0e10cSrcweir lcl_StoreGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL);
416cdf0e10cSrcweir rConfig.SetGreetingLine(m_aGreetingLineCB.IsChecked(), sal_False);
417cdf0e10cSrcweir rConfig.SetIndividualGreeting(m_aPersonalizedCB.IsChecked(), sal_False);
418cdf0e10cSrcweir return sal_True;
419cdf0e10cSrcweir }
420cdf0e10cSrcweir /*-- 30.04.2004 10:42:57---------------------------------------------------
421cdf0e10cSrcweir
422cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailMergeGreetingsPage,ContainsHdl_Impl,CheckBox *,pBox)423cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, ContainsHdl_Impl, CheckBox*, pBox)
424cdf0e10cSrcweir {
425cdf0e10cSrcweir sal_Bool bContainsGreeting = pBox->IsChecked();
426cdf0e10cSrcweir SwGreetingsHandler::Contains(bContainsGreeting);
427cdf0e10cSrcweir m_aPreviewFI. Enable(bContainsGreeting);
428cdf0e10cSrcweir m_aPreviewWIN.Enable(bContainsGreeting);
429cdf0e10cSrcweir m_aAssignPB. Enable(bContainsGreeting);
430cdf0e10cSrcweir m_aDocumentIndexFI. Enable(bContainsGreeting);
431cdf0e10cSrcweir m_aPrevSetIB.Enable(bContainsGreeting);
432cdf0e10cSrcweir m_aNextSetIB.Enable(bContainsGreeting);
433cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
434cdf0e10cSrcweir rConfig.SetGreetingLine(m_aGreetingLineCB.IsChecked(), sal_False);
435cdf0e10cSrcweir m_pWizard->UpdateRoadmap();
436cdf0e10cSrcweir return 0;
437cdf0e10cSrcweir }
438cdf0e10cSrcweir /*-- 07.05.2004 12:56:42---------------------------------------------------
439cdf0e10cSrcweir
440cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailMergeGreetingsPage,InsertDataHdl_Impl,ImageButton *,pButton)441cdf0e10cSrcweir IMPL_LINK(SwMailMergeGreetingsPage, InsertDataHdl_Impl, ImageButton*, pButton)
442cdf0e10cSrcweir {
443cdf0e10cSrcweir //if no pButton is given, the first set has to be pre-set
444cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
445cdf0e10cSrcweir if(!pButton)
446cdf0e10cSrcweir {
447cdf0e10cSrcweir rConfig.GetResultSet();
448cdf0e10cSrcweir }
449cdf0e10cSrcweir else
450cdf0e10cSrcweir {
451cdf0e10cSrcweir sal_Bool bNext = pButton == &m_aNextSetIB;
452cdf0e10cSrcweir sal_Int32 nPos = rConfig.GetResultSetPosition();
453cdf0e10cSrcweir rConfig.MoveResultSet( bNext ? ++nPos : --nPos);
454cdf0e10cSrcweir }
455cdf0e10cSrcweir sal_Int32 nPos = rConfig.GetResultSetPosition();
456cdf0e10cSrcweir sal_Bool bEnable = sal_True;
457cdf0e10cSrcweir if(nPos < 1)
458cdf0e10cSrcweir {
459cdf0e10cSrcweir bEnable = sal_False;
460cdf0e10cSrcweir nPos = 1;
461cdf0e10cSrcweir }
462cdf0e10cSrcweir else
463cdf0e10cSrcweir UpdatePreview();
464cdf0e10cSrcweir m_aPrevSetIB.Enable(bEnable);
465cdf0e10cSrcweir m_aNextSetIB.Enable(bEnable);
466cdf0e10cSrcweir m_aDocumentIndexFI.Enable(bEnable);
467cdf0e10cSrcweir String sTemp(m_sDocument);
468cdf0e10cSrcweir sTemp.SearchAndReplaceAscii("%1", String::CreateFromInt32(nPos));
469cdf0e10cSrcweir m_aDocumentIndexFI.SetText(sTemp);
470cdf0e10cSrcweir return 0;
471cdf0e10cSrcweir }
472cdf0e10cSrcweir /*-- 17.05.2004 15:11:19---------------------------------------------------
473cdf0e10cSrcweir
474cdf0e10cSrcweir -----------------------------------------------------------------------*/
SwMailBodyDialog(Window * pParent,SwMailMergeWizard * _pWizard)475cdf0e10cSrcweir SwMailBodyDialog::SwMailBodyDialog(Window* pParent, SwMailMergeWizard* _pWizard) :
476cdf0e10cSrcweir SfxModalDialog(pParent, SW_RES(DLG_MM_MAILBODY)),
477cdf0e10cSrcweir #ifdef MSC
478cdf0e10cSrcweir #pragma warning (disable : 4355)
479cdf0e10cSrcweir #endif
480cdf0e10cSrcweir m_aGreetingLineCB(this, SW_RES( CB_GREETINGLINE ) ),
481cdf0e10cSrcweir m_aPersonalizedCB(this, SW_RES( CB_PERSONALIZED ) ),
482cdf0e10cSrcweir m_aFemaleFT(this, SW_RES( FT_FEMALE ) ),
483cdf0e10cSrcweir m_aFemaleLB(this, SW_RES( LB_FEMALE ) ),
484cdf0e10cSrcweir m_aFemalePB(this, SW_RES( PB_FEMALE ) ),
485cdf0e10cSrcweir m_aMaleFT(this, SW_RES( FT_MALE ) ),
486cdf0e10cSrcweir m_aMaleLB(this, SW_RES( LB_MALE ) ),
487cdf0e10cSrcweir m_aMalePB(this, SW_RES( PB_MALE ) ),
488cdf0e10cSrcweir m_aFemaleFI(this, SW_RES( FI_FEMALE ) ),
489cdf0e10cSrcweir m_aFemaleColumnFT(this, SW_RES( FT_FEMALECOLUMN ) ),
490cdf0e10cSrcweir m_aFemaleColumnLB(this, SW_RES( LB_FEMALECOLUMN ) ),
491cdf0e10cSrcweir m_aFemaleFieldFT(this, SW_RES( FT_FEMALEFIELD ) ),
492cdf0e10cSrcweir m_aFemaleFieldCB(this, SW_RES( CB_FEMALEFIELD ) ),
493cdf0e10cSrcweir m_aNeutralFT(this, SW_RES( FT_NEUTRAL ) ),
494cdf0e10cSrcweir m_aNeutralCB(this, SW_RES( CB_NEUTRAL ) ),
495cdf0e10cSrcweir m_aBodyFT( this, SW_RES( FT_BODY ) ),
496cdf0e10cSrcweir m_aBodyMLE( this, SW_RES( MLE_BODY ) ),
497cdf0e10cSrcweir m_aSeparatorFL( this, SW_RES( FL_SEPARATOR ) ),
498cdf0e10cSrcweir m_aOK( this, SW_RES( PB_OK ) ),
499cdf0e10cSrcweir m_aCancel( this, SW_RES( PB_CANCEL ) ),
500cdf0e10cSrcweir m_aHelp( this, SW_RES( PB_HELP ) )
501cdf0e10cSrcweir #ifdef MSC
502cdf0e10cSrcweir #pragma warning (default : 4355)
503cdf0e10cSrcweir #endif
504cdf0e10cSrcweir {
505cdf0e10cSrcweir m_pWizard = _pWizard;
506cdf0e10cSrcweir m_pGreetingLineCB = &m_aGreetingLineCB;
507cdf0e10cSrcweir m_pPersonalizedCB = &m_aPersonalizedCB;
508cdf0e10cSrcweir m_pFemaleFT = & m_aFemaleFT;
509cdf0e10cSrcweir m_pFemaleLB = & m_aFemaleLB;
510cdf0e10cSrcweir m_pFemalePB = & m_aFemalePB;
511cdf0e10cSrcweir m_pMaleFT = & m_aMaleFT;
512cdf0e10cSrcweir m_pMaleLB = & m_aMaleLB;
513cdf0e10cSrcweir m_pMalePB = & m_aMalePB;
514cdf0e10cSrcweir m_pFemaleFI = & m_aFemaleFI;
515cdf0e10cSrcweir m_pFemaleColumnFT = &m_aFemaleColumnFT;
516cdf0e10cSrcweir m_pFemaleColumnLB = &m_aFemaleColumnLB;
517cdf0e10cSrcweir m_pFemaleFieldFT = & m_aFemaleFieldFT;
518cdf0e10cSrcweir m_pFemaleFieldCB = & m_aFemaleFieldCB;
519cdf0e10cSrcweir m_pNeutralFT = & m_aNeutralFT;
520cdf0e10cSrcweir m_pNeutralCB = &m_aNeutralCB;
521cdf0e10cSrcweir m_bIsTabPage = false;
522cdf0e10cSrcweir
523cdf0e10cSrcweir m_pPersonalizedCB->SetHelpId( HID_MM_BODY_CB_PERSONALIZED );
524cdf0e10cSrcweir m_pFemaleLB->SetHelpId( HID_MM_BODY_LB_FEMALE );
525cdf0e10cSrcweir m_pFemalePB->SetHelpId( HID_MM_BODY_PB_FEMALE );
526cdf0e10cSrcweir m_pMaleLB->SetHelpId( HID_MM_BODY_LB_MALE );
527cdf0e10cSrcweir m_pMalePB->SetHelpId( HID_MM_BODY_PB_MALE );
528cdf0e10cSrcweir m_pFemaleColumnLB->SetHelpId( HID_MM_BODY_LB_FEMALECOLUMN );
529cdf0e10cSrcweir m_pFemaleFieldCB->SetHelpId( HID_MM_BODY_CB_FEMALEFIELD );
530cdf0e10cSrcweir m_pNeutralCB->SetHelpId( HID_MM_BODY_CB_NEUTRAL );
531cdf0e10cSrcweir
532cdf0e10cSrcweir FreeResource();
533cdf0e10cSrcweir m_aGreetingLineCB.SetClickHdl(LINK(this, SwMailBodyDialog, ContainsHdl_Impl));
534cdf0e10cSrcweir Link aIndividualLink = LINK(this, SwGreetingsHandler, IndividualHdl_Impl);
535cdf0e10cSrcweir m_aPersonalizedCB.SetClickHdl(aIndividualLink);
536cdf0e10cSrcweir Link aGreetingLink = LINK(this, SwGreetingsHandler, GreetingHdl_Impl);
537cdf0e10cSrcweir m_aFemalePB.SetClickHdl(aGreetingLink);
538cdf0e10cSrcweir m_aMalePB.SetClickHdl(aGreetingLink);
539cdf0e10cSrcweir m_aOK.SetClickHdl(LINK(this, SwMailBodyDialog, OKHdl));
540cdf0e10cSrcweir
541cdf0e10cSrcweir SwMailMergeConfigItem& rConfig = m_pWizard->GetConfigItem();
542cdf0e10cSrcweir m_aGreetingLineCB.Check(rConfig.IsGreetingLine(sal_True));
543cdf0e10cSrcweir m_aPersonalizedCB.Check(rConfig.IsIndividualGreeting(sal_True));
544cdf0e10cSrcweir ContainsHdl_Impl(&m_aGreetingLineCB);
545cdf0e10cSrcweir aIndividualLink.Call(0);
546cdf0e10cSrcweir
547cdf0e10cSrcweir lcl_FillGreetingsBox(m_aFemaleLB, rConfig, SwMailMergeConfigItem::FEMALE);
548cdf0e10cSrcweir lcl_FillGreetingsBox(m_aMaleLB, rConfig, SwMailMergeConfigItem::MALE);
549cdf0e10cSrcweir lcl_FillGreetingsBox(m_aNeutralCB, rConfig, SwMailMergeConfigItem::NEUTRAL);
550cdf0e10cSrcweir
551cdf0e10cSrcweir //try to find the gender setting
552cdf0e10cSrcweir m_aFemaleColumnLB.Clear();
553cdf0e10cSrcweir Reference< sdbcx::XColumnsSupplier > xColsSupp = rConfig.GetColumnsSupplier();
554cdf0e10cSrcweir if(xColsSupp.is())
555cdf0e10cSrcweir {
556cdf0e10cSrcweir Reference < container::XNameAccess> xColAccess = xColsSupp->getColumns();
557cdf0e10cSrcweir Sequence< ::rtl::OUString > aColumns = xColAccess->getElementNames();
558cdf0e10cSrcweir for(sal_Int32 nName = 0; nName < aColumns.getLength(); ++nName)
559cdf0e10cSrcweir m_aFemaleColumnLB.InsertEntry(aColumns[nName]);
560cdf0e10cSrcweir }
561cdf0e10cSrcweir
562cdf0e10cSrcweir ::rtl::OUString sGenderColumn = rConfig.GetAssignedColumn(MM_PART_GENDER);
563cdf0e10cSrcweir m_aFemaleColumnLB.SelectEntry(sGenderColumn);
564cdf0e10cSrcweir m_aFemaleColumnLB.SaveValue();
565cdf0e10cSrcweir
566cdf0e10cSrcweir m_aFemaleFieldCB.SetText(rConfig.GetFemaleGenderValue());
567cdf0e10cSrcweir m_aFemaleFieldCB.SaveValue();
568cdf0e10cSrcweir }
569cdf0e10cSrcweir /*-- 17.05.2004 15:13:07---------------------------------------------------
570cdf0e10cSrcweir
571cdf0e10cSrcweir -----------------------------------------------------------------------*/
~SwMailBodyDialog()572cdf0e10cSrcweir SwMailBodyDialog::~SwMailBodyDialog()
573cdf0e10cSrcweir {
574cdf0e10cSrcweir }
575cdf0e10cSrcweir
576cdf0e10cSrcweir /*-- 30.04.2004 10:42:57---------------------------------------------------
577cdf0e10cSrcweir
578cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailBodyDialog,ContainsHdl_Impl,CheckBox *,pBox)579cdf0e10cSrcweir IMPL_LINK(SwMailBodyDialog, ContainsHdl_Impl, CheckBox*, pBox)
580cdf0e10cSrcweir {
581cdf0e10cSrcweir SwGreetingsHandler::Contains(pBox->IsChecked());
582cdf0e10cSrcweir m_pWizard->GetConfigItem().SetGreetingLine(pBox->IsChecked(), sal_True);
583cdf0e10cSrcweir return 0;
584cdf0e10cSrcweir }
585cdf0e10cSrcweir /*-- 28.06.2004 11:22:42---------------------------------------------------
586cdf0e10cSrcweir
587cdf0e10cSrcweir -----------------------------------------------------------------------*/
IMPL_LINK(SwMailBodyDialog,OKHdl,PushButton *,EMPTYARG)588cdf0e10cSrcweir IMPL_LINK(SwMailBodyDialog, OKHdl, PushButton*, EMPTYARG)
589cdf0e10cSrcweir {
590cdf0e10cSrcweir SwMailMergeConfigItem& rConfigItem = m_pWizard->GetConfigItem();
591cdf0e10cSrcweir rConfigItem.SetGreetingLine(
592cdf0e10cSrcweir m_aGreetingLineCB.IsChecked(), sal_False);
593cdf0e10cSrcweir rConfigItem.SetIndividualGreeting(
594cdf0e10cSrcweir m_aPersonalizedCB.IsChecked(), sal_False);
595cdf0e10cSrcweir
596cdf0e10cSrcweir if(m_aFemaleColumnLB.GetSelectEntryPos() != m_aFemaleColumnLB.GetSavedValue())
597cdf0e10cSrcweir {
598cdf0e10cSrcweir const SwDBData& rDBData = rConfigItem.GetCurrentDBData();
599cdf0e10cSrcweir Sequence< ::rtl::OUString> aAssignment = rConfigItem.GetColumnAssignment( rDBData );
600cdf0e10cSrcweir sal_Int32 nPos = m_aFemaleColumnLB.GetSelectEntryPos();
601cdf0e10cSrcweir if(aAssignment.getLength() < MM_PART_GENDER)
602cdf0e10cSrcweir aAssignment.realloc(MM_PART_GENDER);
603cdf0e10cSrcweir if( nPos > 0 )
604cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = m_aFemaleColumnLB.GetSelectEntry();
605cdf0e10cSrcweir else
606cdf0e10cSrcweir aAssignment[MM_PART_GENDER] = ::rtl::OUString();
607cdf0e10cSrcweir rConfigItem.SetColumnAssignment( rDBData, aAssignment );
608cdf0e10cSrcweir }
609cdf0e10cSrcweir if(m_aFemaleFieldCB.GetText() != m_aFemaleFieldCB.GetSavedValue())
610cdf0e10cSrcweir rConfigItem.SetFemaleGenderValue(m_aFemaleFieldCB.GetText());
611cdf0e10cSrcweir
612cdf0e10cSrcweir EndDialog(RET_OK);
613cdf0e10cSrcweir return 0;
614cdf0e10cSrcweir }
615cdf0e10cSrcweir
616