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 <sal/config.h>
22 #include <o3tl/any.hxx>
23 #include <osl/diagnose.h>
24 #include <tools/UnitConversion.hxx>
25 #include <com/sun/star/uno/Sequence.hxx>
26 #include <unotools/useroptions.hxx>
27 #include <swmodule.hxx>
32 using namespace ::com::sun::star::uno
;
34 SwLabItem::SwLabItem() :
36 SfxPoolItem(FN_LABEL
),
53 m_lPHeight
= 5669; // 10 cm
56 SwLabItem
& SwLabItem::operator =(const SwLabItem
& rItem
)
58 m_bAddr
= rItem
.m_bAddr
;
59 m_aWriting
= rItem
.m_aWriting
;
60 m_bCont
= rItem
.m_bCont
;
61 m_sDBName
= rItem
.m_sDBName
;
62 m_aLstMake
= rItem
.m_aLstMake
;
63 m_aLstType
= rItem
.m_aLstType
;
64 m_aMake
= rItem
.m_aMake
;
65 m_aType
= rItem
.m_aType
;
66 m_bPage
= rItem
.m_bPage
;
67 m_bSynchron
= rItem
.m_bSynchron
;
68 m_nCol
= rItem
.m_nCol
;
69 m_nRow
= rItem
.m_nRow
;
70 m_lHDist
= rItem
.m_lHDist
;
71 m_lVDist
= rItem
.m_lVDist
;
72 m_lWidth
= rItem
.m_lWidth
;
73 m_lHeight
= rItem
.m_lHeight
;
74 m_lLeft
= rItem
.m_lLeft
;
75 m_lUpper
= rItem
.m_lUpper
;
76 m_nCols
= rItem
.m_nCols
;
77 m_nRows
= rItem
.m_nRows
;
78 m_lPWidth
= rItem
.m_lPWidth
;
79 m_lPHeight
= rItem
.m_lPHeight
;
80 m_aPrivFirstName
= rItem
.m_aPrivFirstName
;
81 m_aPrivName
= rItem
.m_aPrivName
;
82 m_aPrivShortCut
= rItem
.m_aPrivShortCut
;
83 m_aPrivFirstName2
= rItem
.m_aPrivFirstName2
;
84 m_aPrivName2
= rItem
.m_aPrivName2
;
85 m_aPrivShortCut2
= rItem
.m_aPrivShortCut2
;
86 m_aPrivStreet
= rItem
.m_aPrivStreet
;
87 m_aPrivZip
= rItem
.m_aPrivZip
;
88 m_aPrivCity
= rItem
.m_aPrivCity
;
89 m_aPrivCountry
= rItem
.m_aPrivCountry
;
90 m_aPrivState
= rItem
.m_aPrivState
;
91 m_aPrivTitle
= rItem
.m_aPrivTitle
;
92 m_aPrivProfession
= rItem
.m_aPrivProfession
;
93 m_aPrivPhone
= rItem
.m_aPrivPhone
;
94 m_aPrivMobile
= rItem
.m_aPrivMobile
;
95 m_aPrivFax
= rItem
.m_aPrivFax
;
96 m_aPrivWWW
= rItem
.m_aPrivWWW
;
97 m_aPrivMail
= rItem
.m_aPrivMail
;
98 m_aCompCompany
= rItem
.m_aCompCompany
;
99 m_aCompCompanyExt
= rItem
.m_aCompCompanyExt
;
100 m_aCompSlogan
= rItem
.m_aCompSlogan
;
101 m_aCompStreet
= rItem
.m_aCompStreet
;
102 m_aCompZip
= rItem
.m_aCompZip
;
103 m_aCompCity
= rItem
.m_aCompCity
;
104 m_aCompCountry
= rItem
.m_aCompCountry
;
105 m_aCompState
= rItem
.m_aCompState
;
106 m_aCompPosition
= rItem
.m_aCompPosition
;
107 m_aCompPhone
= rItem
.m_aCompPhone
;
108 m_aCompMobile
= rItem
.m_aCompMobile
;
109 m_aCompFax
= rItem
.m_aCompFax
;
110 m_aCompWWW
= rItem
.m_aCompWWW
;
111 m_aCompMail
= rItem
.m_aCompMail
;
112 m_sGlossaryGroup
= rItem
.m_sGlossaryGroup
;
113 m_sGlossaryBlockName
= rItem
.m_sGlossaryBlockName
;
117 bool SwLabItem::operator ==(const SfxPoolItem
& rItem
) const
119 const SwLabItem
& rLab
= static_cast<const SwLabItem
&>( rItem
);
121 return m_bAddr
== rLab
.m_bAddr
&&
122 m_bCont
== rLab
.m_bCont
&&
123 m_bPage
== rLab
.m_bPage
&&
124 m_bSynchron
== rLab
.m_bSynchron
&&
125 m_nCol
== rLab
.m_nCol
&&
126 m_nRow
== rLab
.m_nRow
&&
127 m_lHDist
== rLab
.m_lHDist
&&
128 m_lVDist
== rLab
.m_lVDist
&&
129 m_lWidth
== rLab
.m_lWidth
&&
130 m_lHeight
== rLab
.m_lHeight
&&
131 m_lLeft
== rLab
.m_lLeft
&&
132 m_lUpper
== rLab
.m_lUpper
&&
133 m_nCols
== rLab
.m_nCols
&&
134 m_nRows
== rLab
.m_nRows
&&
135 m_lPWidth
== rLab
.m_lPWidth
&&
136 m_lPHeight
== rLab
.m_lPHeight
&&
137 m_aWriting
== rLab
.m_aWriting
&&
138 m_aMake
== rLab
.m_aMake
&&
139 m_aType
== rLab
.m_aType
&&
140 m_aLstMake
== rLab
.m_aLstMake
&&
141 m_aLstType
== rLab
.m_aLstType
&&
142 m_sDBName
== rLab
.m_sDBName
&&
143 m_aPrivFirstName
== rLab
.m_aPrivFirstName
&&
144 m_aPrivName
== rLab
.m_aPrivName
&&
145 m_aPrivShortCut
== rLab
.m_aPrivShortCut
&&
146 m_aPrivFirstName2
== rLab
.m_aPrivFirstName2
&&
147 m_aPrivName2
== rLab
.m_aPrivName2
&&
148 m_aPrivShortCut2
== rLab
.m_aPrivShortCut2
&&
149 m_aPrivStreet
== rLab
.m_aPrivStreet
&&
150 m_aPrivZip
== rLab
.m_aPrivZip
&&
151 m_aPrivCity
== rLab
.m_aPrivCity
&&
152 m_aPrivCountry
== rLab
.m_aPrivCountry
&&
153 m_aPrivState
== rLab
.m_aPrivState
&&
154 m_aPrivTitle
== rLab
.m_aPrivTitle
&&
155 m_aPrivProfession
== rLab
.m_aPrivProfession
&&
156 m_aPrivPhone
== rLab
.m_aPrivPhone
&&
157 m_aPrivMobile
== rLab
.m_aPrivMobile
&&
158 m_aPrivFax
== rLab
.m_aPrivFax
&&
159 m_aPrivWWW
== rLab
.m_aPrivWWW
&&
160 m_aPrivMail
== rLab
.m_aPrivMail
&&
161 m_aCompCompany
== rLab
.m_aCompCompany
&&
162 m_aCompCompanyExt
== rLab
.m_aCompCompanyExt
&&
163 m_aCompSlogan
== rLab
.m_aCompSlogan
&&
164 m_aCompStreet
== rLab
.m_aCompStreet
&&
165 m_aCompZip
== rLab
.m_aCompZip
&&
166 m_aCompCity
== rLab
.m_aCompCity
&&
167 m_aCompCountry
== rLab
.m_aCompCountry
&&
168 m_aCompState
== rLab
.m_aCompState
&&
169 m_aCompPosition
== rLab
.m_aCompPosition
&&
170 m_aCompPhone
== rLab
.m_aCompPhone
&&
171 m_aCompMobile
== rLab
.m_aCompMobile
&&
172 m_aCompFax
== rLab
.m_aCompFax
&&
173 m_aCompWWW
== rLab
.m_aCompWWW
&&
174 m_aCompMail
== rLab
.m_aCompMail
&&
175 m_sGlossaryGroup
== rLab
.m_sGlossaryGroup
&&
176 m_sGlossaryBlockName
== rLab
.m_sGlossaryBlockName
;
179 SwLabItem
* SwLabItem::Clone(SfxItemPool
*) const
181 return new SwLabItem(*this);
184 Sequence
<OUString
> SwLabCfgItem::GetPropertyNames() const
186 static const char* aLabelPropNames
[] =
188 "Medium/Continuous", // 0
191 "Format/Column", // 3
193 "Format/HorizontalDistance",// 5
194 "Format/VerticalDistance", // 6
196 "Format/Height", // 8
197 "Format/LeftMargin", // 9
198 "Format/TopMargin", //10
199 "Format/PageWidth", //11
200 "Format/PageHeight", //12
201 "Option/Synchronize", //13
203 "Option/Column", //15
205 "Inscription/UseAddress", //17
206 "Inscription/Address", //18
207 "Inscription/Database" //19
209 static const char* aBusinessPropNames
[] =
211 "PrivateAddress/FirstName", // 0
212 "PrivateAddress/Name", // 1
213 "PrivateAddress/ShortCut", // 2
214 "PrivateAddress/SecondFirstName", // 3
215 "PrivateAddress/SecondName", // 4
216 "PrivateAddress/SecondShortCut", // 5
217 "PrivateAddress/Street", // 6
218 "PrivateAddress/Zip", // 7
219 "PrivateAddress/City", // 8
220 "PrivateAddress/Country", // 9
221 "PrivateAddress/State", // 10
222 "PrivateAddress/Title", // 11
223 "PrivateAddress/Profession", // 12
224 "PrivateAddress/Phone", // 13
225 "PrivateAddress/Mobile", // 14
226 "PrivateAddress/Fax", // 15
227 "PrivateAddress/WebAddress", // 16
228 "PrivateAddress/Email", // 17
229 "BusinessAddress/Company", // 18
230 "BusinessAddress/CompanyExt", // 19
231 "BusinessAddress/Slogan", // 20
232 "BusinessAddress/Street", // 21
233 "BusinessAddress/Zip", // 22
234 "BusinessAddress/City", // 23
235 "BusinessAddress/Country", // 24
236 "BusinessAddress/State", // 25
237 "BusinessAddress/Position", // 26
238 "BusinessAddress/Phone", // 27
239 "BusinessAddress/Mobile", // 28
240 "BusinessAddress/Fax", // 29
241 "BusinessAddress/WebAddress", // 30
242 "BusinessAddress/Email", // 31
243 "AutoText/Group", // 32
244 "AutoText/Block" // 33
246 const int nBusinessCount
= bIsLabel
? 0 : 34;
247 const int nLabelCount
= bIsLabel
? 20 : 17;
248 Sequence
<OUString
> aNames(nBusinessCount
+ nLabelCount
);
249 OUString
* pNames
= aNames
.getArray();
251 for(int nLabel
= 0; nLabel
< nLabelCount
; nLabel
++)
252 pNames
[nIndex
++] = OUString::createFromAscii(aLabelPropNames
[nLabel
]);
253 for(int nBusiness
= 0; nBusiness
< nBusinessCount
; nBusiness
++)
254 pNames
[nIndex
++] = OUString::createFromAscii(aBusinessPropNames
[nBusiness
]);
258 SwLabCfgItem::SwLabCfgItem(bool bLabel
) :
259 ConfigItem(bLabel
? OUString("Office.Writer/Label") : OUString("Office.Writer/BusinessCard")),
262 Sequence
<OUString
> aNames
= GetPropertyNames();
263 Sequence
<Any
> aValues
= GetProperties(aNames
);
264 EnableNotification(aNames
);
265 const Any
* pValues
= aValues
.getConstArray();
266 OSL_ENSURE(aValues
.getLength() == aNames
.getLength(), "GetProperties failed");
267 bool bNoConfigValues
= true;
268 if(aValues
.getLength() == aNames
.getLength())
270 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
273 if(pValues
[nProp
].hasValue())
275 //to have a contiuous switch an offset is added
276 if(nProp
== 17 && !bIsLabel
)
279 bNoConfigValues
= false;
282 case 0: aItem
.m_bCont
= *o3tl::doAccess
<bool>(pValues
[nProp
]); break;// "Medium/Continuous",
283 case 1: pValues
[nProp
] >>= aItem
.m_aMake
; break;// "Medium/Brand",
284 case 2: pValues
[nProp
] >>= aItem
.m_aType
; break;// "Medium/Type",
285 case 3: pValues
[nProp
] >>= aItem
.m_nCols
; break;// "Format/Column",
286 case 4: pValues
[nProp
] >>= aItem
.m_nRows
; break;// "Format/Row",
288 pValues
[nProp
] >>= aItem
.m_lHDist
;
289 aItem
.m_lHDist
= convertMm100ToTwip(aItem
.m_lHDist
);
290 break;// "Format/HorizontalDistance",
292 pValues
[nProp
] >>= aItem
.m_lVDist
;
293 aItem
.m_lVDist
= convertMm100ToTwip(aItem
.m_lVDist
);
294 break;// "Format/VerticalDistance",
296 pValues
[nProp
] >>= aItem
.m_lWidth
;
297 aItem
.m_lWidth
= convertMm100ToTwip(aItem
.m_lWidth
);
298 break;// "Format/Width",
300 pValues
[nProp
] >>= aItem
.m_lHeight
;
301 aItem
.m_lHeight
= convertMm100ToTwip(aItem
.m_lHeight
);
302 break;// "Format/Height",
304 pValues
[nProp
] >>= aItem
.m_lLeft
;
305 aItem
.m_lLeft
= convertMm100ToTwip(aItem
.m_lLeft
);
306 break;// "Format/LeftMargin",
308 pValues
[nProp
] >>= aItem
.m_lUpper
;
309 aItem
.m_lUpper
= convertMm100ToTwip(aItem
.m_lUpper
);
310 break;// "Format/TopMargin",
312 pValues
[nProp
] >>= aItem
.m_lPWidth
;
313 aItem
.m_lPWidth
= convertMm100ToTwip(aItem
.m_lPWidth
);
314 break;// "Format/PageWidth",
316 pValues
[nProp
] >>= aItem
.m_lPHeight
;
317 aItem
.m_lPHeight
= convertMm100ToTwip(aItem
.m_lPHeight
);
318 break;// "Format/PageHeight",
319 case 13: aItem
.m_bSynchron
= *o3tl::doAccess
<bool>(pValues
[nProp
]); break;// "Option/Synchronize",
320 case 14: aItem
.m_bPage
= *o3tl::doAccess
<bool>(pValues
[nProp
]); break;// "Option/Page",
321 case 15: pValues
[nProp
] >>= aItem
.m_nCol
; break;// "Option/Column",
322 case 16: pValues
[nProp
] >>= aItem
.m_nRow
; break;// "Option/Row"
323 case 17: aItem
.m_bAddr
= *o3tl::doAccess
<bool>(pValues
[nProp
]); break;// "Inscription/UseAddress",
324 case 18: pValues
[nProp
] >>= aItem
.m_aWriting
; break;// "Inscription/Address",
325 case 19: pValues
[nProp
] >>= aItem
.m_sDBName
; break;// "Inscription/Database"
326 case 20: pValues
[nProp
] >>= aItem
.m_aPrivFirstName
; break;// "PrivateAddress/FirstName",
327 case 21: pValues
[nProp
] >>= aItem
.m_aPrivName
; break;// "PrivateAddress/Name",
328 case 22: pValues
[nProp
] >>= aItem
.m_aPrivShortCut
; break;// "PrivateAddress/ShortCut",
329 case 23: pValues
[nProp
] >>= aItem
.m_aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
330 case 24: pValues
[nProp
] >>= aItem
.m_aPrivName2
; break;// "PrivateAddress/SecondName",
331 case 25: pValues
[nProp
] >>= aItem
.m_aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
332 case 26: pValues
[nProp
] >>= aItem
.m_aPrivStreet
; break;// "PrivateAddress/Street",
333 case 27: pValues
[nProp
] >>= aItem
.m_aPrivZip
; break;// "PrivateAddress/Zip",
334 case 28: pValues
[nProp
] >>= aItem
.m_aPrivCity
; break;// "PrivateAddress/City",
335 case 29: pValues
[nProp
] >>= aItem
.m_aPrivCountry
; break;// "PrivateAddress/Country",
336 case 30: pValues
[nProp
] >>= aItem
.m_aPrivState
; break;// "PrivateAddress/State",
337 case 31: pValues
[nProp
] >>= aItem
.m_aPrivTitle
; break;// "PrivateAddress/Title",
338 case 32: pValues
[nProp
] >>= aItem
.m_aPrivProfession
; break;// "PrivateAddress/Profession",
339 case 33: pValues
[nProp
] >>= aItem
.m_aPrivPhone
; break;// "PrivateAddress/Phone",
340 case 34: pValues
[nProp
] >>= aItem
.m_aPrivMobile
; break;// "PrivateAddress/Mobile",
341 case 35: pValues
[nProp
] >>= aItem
.m_aPrivFax
; break;// "PrivateAddress/Fax",
342 case 36: pValues
[nProp
] >>= aItem
.m_aPrivWWW
; break;// "PrivateAddress/WebAddress",
343 case 37: pValues
[nProp
] >>= aItem
.m_aPrivMail
; break;// "PrivateAddress/Email",
344 case 38: pValues
[nProp
] >>= aItem
.m_aCompCompany
; break;// "BusinessAddress/Company",
345 case 39: pValues
[nProp
] >>= aItem
.m_aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
346 case 40: pValues
[nProp
] >>= aItem
.m_aCompSlogan
; break;// "BusinessAddress/Slogan",
347 case 41: pValues
[nProp
] >>= aItem
.m_aCompStreet
; break;// "BusinessAddress/Street",
348 case 42: pValues
[nProp
] >>= aItem
.m_aCompZip
; break;// "BusinessAddress/Zip",
349 case 43: pValues
[nProp
] >>= aItem
.m_aCompCity
; break;// "BusinessAddress/City",
350 case 44: pValues
[nProp
] >>= aItem
.m_aCompCountry
; break;// "BusinessAddress/Country",
351 case 45: pValues
[nProp
] >>= aItem
.m_aCompState
; break;// "BusinessAddress/State",
352 case 46: pValues
[nProp
] >>= aItem
.m_aCompPosition
; break;// "BusinessAddress/Position",
353 case 47: pValues
[nProp
] >>= aItem
.m_aCompPhone
; break;// "BusinessAddress/Phone",
354 case 48: pValues
[nProp
] >>= aItem
.m_aCompMobile
; break;// "BusinessAddress/Mobile",
355 case 49: pValues
[nProp
] >>= aItem
.m_aCompFax
; break;// "BusinessAddress/Fax",
356 case 50: pValues
[nProp
] >>= aItem
.m_aCompWWW
; break;// "BusinessAddress/WebAddress",
357 case 51: pValues
[nProp
] >>= aItem
.m_aCompMail
; break;// "BusinessAddress/Email",
358 case 52: pValues
[nProp
] >>= aItem
.m_sGlossaryGroup
; break;// "AutoText/Group"
359 case 53: pValues
[nProp
] >>= aItem
.m_sGlossaryBlockName
; break;// "AutoText/Block"
365 if(bIsLabel
|| !bNoConfigValues
)
368 SvtUserOptions
& rUserOpt
= SW_MOD()->GetUserOptions();
369 aItem
.m_aPrivFirstName
= rUserOpt
.GetFirstName();
370 aItem
.m_aPrivName
= rUserOpt
.GetLastName();
371 aItem
.m_aPrivShortCut
= rUserOpt
.GetID();
372 aItem
.m_aCompCompany
= rUserOpt
.GetCompany();
373 aItem
.m_aCompStreet
= aItem
.m_aPrivStreet
= rUserOpt
.GetStreet();
375 aItem
.m_aCompCountry
= aItem
.m_aPrivCountry
= rUserOpt
.GetCountry();
376 aItem
.m_aCompZip
= aItem
.m_aPrivZip
= rUserOpt
.GetZip();
377 aItem
.m_aCompCity
= aItem
.m_aPrivCity
= rUserOpt
.GetCity();
378 aItem
.m_aPrivTitle
= rUserOpt
.GetTitle();
379 aItem
.m_aCompPosition
= rUserOpt
.GetPosition();
380 aItem
.m_aPrivPhone
= rUserOpt
.GetTelephoneHome();
381 aItem
.m_aCompPhone
= rUserOpt
.GetTelephoneWork();
382 aItem
.m_aCompFax
= aItem
.m_aPrivFax
= rUserOpt
.GetFax();
383 aItem
.m_aCompMail
= aItem
.m_aPrivMail
= rUserOpt
.GetEmail();
384 aItem
.m_aCompState
= aItem
.m_aPrivState
= rUserOpt
.GetState();
385 aItem
.m_bSynchron
= true;
390 void SwLabCfgItem::Notify( const css::uno::Sequence
< OUString
>& ) {}
392 void SwLabCfgItem::ImplCommit()
394 Sequence
<OUString
> aNames
= GetPropertyNames();
395 Sequence
<Any
> aValues(aNames
.getLength());
396 Any
* pValues
= aValues
.getArray();
398 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
400 //to have a contiuous switch an offset is added
401 if(nProp
== 17 && !bIsLabel
)
405 case 0: pValues
[nProp
] <<= aItem
.m_bCont
; break;// "Medium/Continuous",
406 case 1: pValues
[nProp
] <<= aItem
.m_aMake
; break;// "Medium/Brand",
407 case 2: pValues
[nProp
] <<= aItem
.m_aType
; break;// "Medium/Type",
408 case 3: pValues
[nProp
] <<= aItem
.m_nCols
; break;// "Format/Column",
409 case 4: pValues
[nProp
] <<= aItem
.m_nRows
; break;// "Format/Row",
410 case 5: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lHDist
));break;// "Format/HorizontalDistance",
411 case 6: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lVDist
));break;// "Format/VerticalDistance",
412 case 7: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lWidth
)); break;// "Format/Width",
413 case 8: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lHeight
)); break;// "Format/Height",
414 case 9: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lLeft
)); break;// "Format/LeftMargin",
415 case 10: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lUpper
)); break;// "Format/TopMargin",
416 case 11: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lPWidth
)); break;// "Format/Page Width",
417 case 12: pValues
[nProp
] <<= static_cast<sal_Int32
>(convertTwipToMm100(aItem
.m_lPHeight
)); break;// "Format/PageHeight",
418 case 13: pValues
[nProp
] <<= aItem
.m_bSynchron
; break;// "Option/Synchronize",
419 case 14: pValues
[nProp
] <<= aItem
.m_bPage
; break;// "Option/Page",
420 case 15: pValues
[nProp
] <<= aItem
.m_nCol
; break;// "Option/Column",
421 case 16: pValues
[nProp
] <<= aItem
.m_nRow
; break;// "Option/Row"
422 case 17: pValues
[nProp
] <<= aItem
.m_bAddr
; break;// "Inscription/UseAddress",
423 case 18: pValues
[nProp
] <<= aItem
.m_aWriting
; break;// "Inscription/Address",
424 case 19: pValues
[nProp
] <<= aItem
.m_sDBName
; break;// "Inscription/Database"
425 case 20: pValues
[nProp
] <<= aItem
.m_aPrivFirstName
; break;// "PrivateAddress/FirstName",
426 case 21: pValues
[nProp
] <<= aItem
.m_aPrivName
; break;// "PrivateAddress/Name",
427 case 22: pValues
[nProp
] <<= aItem
.m_aPrivShortCut
; break;// "PrivateAddress/ShortCut",
428 case 23: pValues
[nProp
] <<= aItem
.m_aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
429 case 24: pValues
[nProp
] <<= aItem
.m_aPrivName2
; break;// "PrivateAddress/SecondName",
430 case 25: pValues
[nProp
] <<= aItem
.m_aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
431 case 26: pValues
[nProp
] <<= aItem
.m_aPrivStreet
; break;// "PrivateAddress/Street",
432 case 27: pValues
[nProp
] <<= aItem
.m_aPrivZip
; break;// "PrivateAddress/Zip",
433 case 28: pValues
[nProp
] <<= aItem
.m_aPrivCity
; break;// "PrivateAddress/City",
434 case 29: pValues
[nProp
] <<= aItem
.m_aPrivCountry
; break;// "PrivateAddress/Country",
435 case 30: pValues
[nProp
] <<= aItem
.m_aPrivState
; break;// "PrivateAddress/State",
436 case 31: pValues
[nProp
] <<= aItem
.m_aPrivTitle
; break;// "PrivateAddress/Title",
437 case 32: pValues
[nProp
] <<= aItem
.m_aPrivProfession
; break;// "PrivateAddress/Profession",
438 case 33: pValues
[nProp
] <<= aItem
.m_aPrivPhone
; break;// "PrivateAddress/Phone",
439 case 34: pValues
[nProp
] <<= aItem
.m_aPrivMobile
; break;// "PrivateAddress/Mobile",
440 case 35: pValues
[nProp
] <<= aItem
.m_aPrivFax
; break;// "PrivateAddress/Fax",
441 case 36: pValues
[nProp
] <<= aItem
.m_aPrivWWW
; break;// "PrivateAddress/WebAddress",
442 case 37: pValues
[nProp
] <<= aItem
.m_aPrivMail
; break;// "PrivateAddress/Email",
443 case 38: pValues
[nProp
] <<= aItem
.m_aCompCompany
; break;// "BusinessAddress/Company",
444 case 39: pValues
[nProp
] <<= aItem
.m_aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
445 case 40: pValues
[nProp
] <<= aItem
.m_aCompSlogan
; break;// "BusinessAddress/Slogan",
446 case 41: pValues
[nProp
] <<= aItem
.m_aCompStreet
; break;// "BusinessAddress/Street",
447 case 42: pValues
[nProp
] <<= aItem
.m_aCompZip
; break;// "BusinessAddress/Zip",
448 case 43: pValues
[nProp
] <<= aItem
.m_aCompCity
; break;// "BusinessAddress/City",
449 case 44: pValues
[nProp
] <<= aItem
.m_aCompCountry
; break;// "BusinessAddress/Country",
450 case 45: pValues
[nProp
] <<= aItem
.m_aCompState
; break;// "BusinessAddress/State",
451 case 46: pValues
[nProp
] <<= aItem
.m_aCompPosition
; break;// "BusinessAddress/Position",
452 case 47: pValues
[nProp
] <<= aItem
.m_aCompPhone
; break;// "BusinessAddress/Phone",
453 case 48: pValues
[nProp
] <<= aItem
.m_aCompMobile
; break;// "BusinessAddress/Mobile",
454 case 49: pValues
[nProp
] <<= aItem
.m_aCompFax
; break;// "BusinessAddress/Fax",
455 case 50: pValues
[nProp
] <<= aItem
.m_aCompWWW
; break;// "BusinessAddress/WebAddress",
456 case 51: pValues
[nProp
] <<= aItem
.m_aCompMail
; break;// "BusinessAddress/Email",
457 case 52: pValues
[nProp
] <<= aItem
.m_sGlossaryGroup
; break;// "AutoText/Group"
458 case 53: pValues
[nProp
] <<= aItem
.m_sGlossaryBlockName
; break;// "AutoText/Block"
461 PutProperties(aNames
, aValues
);
464 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */