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 <tools/stream.hxx>
21 #include <tools/resid.hxx>
22 #include <com/sun/star/uno/Any.hxx>
23 #include <com/sun/star/uno/Sequence.hxx>
24 #include <unotools/useroptions.hxx>
25 #include <tools/shl.hxx>
26 #include <swmodule.hxx>
29 #include "swtypes.hxx"
33 using namespace ::com::sun::star::uno
;
36 SwLabItem::SwLabItem() :
38 SfxPoolItem(FN_LABEL
),
48 bSynchron
= sal_False
;
55 lPHeight
= 5669; // 10 cm
58 SwLabItem::SwLabItem(const SwLabItem
& rItem
) :
64 SwLabItem
& SwLabItem::operator =(const SwLabItem
& rItem
)
67 aWriting
= rItem
.aWriting
;
69 sDBName
= rItem
.sDBName
;
70 aLstMake
= rItem
.aLstMake
;
71 aLstType
= rItem
.aLstType
;
75 bSynchron
= rItem
.bSynchron
;
79 lHDist
= rItem
.lHDist
;
80 lVDist
= rItem
.lVDist
;
81 lWidth
= rItem
.lWidth
;
82 lHeight
= rItem
.lHeight
;
84 lUpper
= rItem
.lUpper
;
87 lPWidth
= rItem
.lPWidth
;
88 lPHeight
= rItem
.lPHeight
;
89 aPrivFirstName
= rItem
.aPrivFirstName
;
90 aPrivName
= rItem
.aPrivName
;
91 aPrivShortCut
= rItem
.aPrivShortCut
;
92 aPrivFirstName2
= rItem
.aPrivFirstName2
;
93 aPrivName2
= rItem
.aPrivName2
;
94 aPrivShortCut2
= rItem
.aPrivShortCut2
;
95 aPrivStreet
= rItem
.aPrivStreet
;
96 aPrivZip
= rItem
.aPrivZip
;
97 aPrivCity
= rItem
.aPrivCity
;
98 aPrivCountry
= rItem
.aPrivCountry
;
99 aPrivState
= rItem
.aPrivState
;
100 aPrivTitle
= rItem
.aPrivTitle
;
101 aPrivProfession
= rItem
.aPrivProfession
;
102 aPrivPhone
= rItem
.aPrivPhone
;
103 aPrivMobile
= rItem
.aPrivMobile
;
104 aPrivFax
= rItem
.aPrivFax
;
105 aPrivWWW
= rItem
.aPrivWWW
;
106 aPrivMail
= rItem
.aPrivMail
;
107 aCompCompany
= rItem
.aCompCompany
;
108 aCompCompanyExt
= rItem
.aCompCompanyExt
;
109 aCompSlogan
= rItem
.aCompSlogan
;
110 aCompStreet
= rItem
.aCompStreet
;
111 aCompZip
= rItem
.aCompZip
;
112 aCompCity
= rItem
.aCompCity
;
113 aCompCountry
= rItem
.aCompCountry
;
114 aCompState
= rItem
.aCompState
;
115 aCompPosition
= rItem
.aCompPosition
;
116 aCompPhone
= rItem
.aCompPhone
;
117 aCompMobile
= rItem
.aCompMobile
;
118 aCompFax
= rItem
.aCompFax
;
119 aCompWWW
= rItem
.aCompWWW
;
120 aCompMail
= rItem
.aCompMail
;
121 sGlossaryGroup
= rItem
.sGlossaryGroup
;
122 sGlossaryBlockName
= rItem
.sGlossaryBlockName
;
126 int SwLabItem::operator ==(const SfxPoolItem
& rItem
) const
128 const SwLabItem
& rLab
= (const SwLabItem
&) rItem
;
130 return bAddr
== rLab
.bAddr
&&
131 bCont
== rLab
.bCont
&&
132 bPage
== rLab
.bPage
&&
133 bSynchron
== rLab
.bSynchron
&&
137 lHDist
== rLab
.lHDist
&&
138 lVDist
== rLab
.lVDist
&&
139 lWidth
== rLab
.lWidth
&&
140 lHeight
== rLab
.lHeight
&&
141 lLeft
== rLab
.lLeft
&&
142 lUpper
== rLab
.lUpper
&&
143 nCols
== rLab
.nCols
&&
144 nRows
== rLab
.nRows
&&
145 lPWidth
== rLab
.lPWidth
&&
146 lPHeight
== rLab
.lPHeight
&&
147 aWriting
== rLab
.aWriting
&&
148 aMake
== rLab
.aMake
&&
149 aType
== rLab
.aType
&&
150 aLstMake
== rLab
.aLstMake
&&
151 aLstType
== rLab
.aLstType
&&
152 sDBName
== rLab
.sDBName
&&
153 aPrivFirstName
== rLab
.aPrivFirstName
&&
154 aPrivName
== rLab
.aPrivName
&&
155 aPrivShortCut
== rLab
.aPrivShortCut
&&
156 aPrivFirstName2
== rLab
.aPrivFirstName2
&&
157 aPrivName2
== rLab
.aPrivName2
&&
158 aPrivShortCut2
== rLab
.aPrivShortCut2
&&
159 aPrivStreet
== rLab
.aPrivStreet
&&
160 aPrivZip
== rLab
.aPrivZip
&&
161 aPrivCity
== rLab
.aPrivCity
&&
162 aPrivCountry
== rLab
.aPrivCountry
&&
163 aPrivState
== rLab
.aPrivState
&&
164 aPrivTitle
== rLab
.aPrivTitle
&&
165 aPrivProfession
== rLab
.aPrivProfession
&&
166 aPrivPhone
== rLab
.aPrivPhone
&&
167 aPrivMobile
== rLab
.aPrivMobile
&&
168 aPrivFax
== rLab
.aPrivFax
&&
169 aPrivWWW
== rLab
.aPrivWWW
&&
170 aPrivMail
== rLab
.aPrivMail
&&
171 aCompCompany
== rLab
.aCompCompany
&&
172 aCompCompanyExt
== rLab
.aCompCompanyExt
&&
173 aCompSlogan
== rLab
.aCompSlogan
&&
174 aCompStreet
== rLab
.aCompStreet
&&
175 aCompZip
== rLab
.aCompZip
&&
176 aCompCity
== rLab
.aCompCity
&&
177 aCompCountry
== rLab
.aCompCountry
&&
178 aCompState
== rLab
.aCompState
&&
179 aCompPosition
== rLab
.aCompPosition
&&
180 aCompPhone
== rLab
.aCompPhone
&&
181 aCompMobile
== rLab
.aCompMobile
&&
182 aCompFax
== rLab
.aCompFax
&&
183 aCompWWW
== rLab
.aCompWWW
&&
184 aCompMail
== rLab
.aCompMail
&&
185 sGlossaryGroup
== rLab
.sGlossaryGroup
&&
186 sGlossaryBlockName
== rLab
.sGlossaryBlockName
;
189 SfxPoolItem
* SwLabItem::Clone(SfxItemPool
*) const
191 return new SwLabItem(*this);
194 Sequence
<OUString
> SwLabCfgItem::GetPropertyNames()
196 static const char* aLabelPropNames
[] =
198 "Medium/Continous", // 0
201 "Format/Column", // 3
203 "Format/HorizontalDistance",// 5
204 "Format/VerticalDistance", // 6
206 "Format/Height", // 8
207 "Format/LeftMargin", // 9
208 "Format/TopMargin", //10
209 "Format/PageWidth", //11
210 "Format/PageHeight", //12
211 "Option/Synchronize", //13
213 "Option/Column", //15
215 "Inscription/UseAddress", //17
216 "Inscription/Address", //18
217 "Inscription/Database" //19
219 static const char* aBusinessPropNames
[] =
221 "PrivateAddress/FirstName", // 0
222 "PrivateAddress/Name", // 1
223 "PrivateAddress/ShortCut", // 2
224 "PrivateAddress/SecondFirstName", // 3
225 "PrivateAddress/SecondName", // 4
226 "PrivateAddress/SecondShortCut", // 5
227 "PrivateAddress/Street", // 6
228 "PrivateAddress/Zip", // 7
229 "PrivateAddress/City", // 8
230 "PrivateAddress/Country", // 9
231 "PrivateAddress/State", // 10
232 "PrivateAddress/Title", // 11
233 "PrivateAddress/Profession", // 12
234 "PrivateAddress/Phone", // 13
235 "PrivateAddress/Mobile", // 14
236 "PrivateAddress/Fax", // 15
237 "PrivateAddress/WebAddress", // 16
238 "PrivateAddress/Email", // 17
239 "BusinessAddress/Company", // 18
240 "BusinessAddress/CompanyExt", // 19
241 "BusinessAddress/Slogan", // 20
242 "BusinessAddress/Street", // 21
243 "BusinessAddress/Zip", // 22
244 "BusinessAddress/City", // 23
245 "BusinessAddress/Country", // 24
246 "BusinessAddress/State", // 25
247 "BusinessAddress/Position", // 26
248 "BusinessAddress/Phone", // 27
249 "BusinessAddress/Mobile", // 28
250 "BusinessAddress/Fax", // 29
251 "BusinessAddress/WebAddress", // 30
252 "BusinessAddress/Email", // 31
253 "AutoText/Group", // 32
254 "AutoText/Block" // 33
256 const int nBusinessCount
= bIsLabel
? 0 : 34;
257 const int nLabelCount
= bIsLabel
? 20 : 17;
258 Sequence
<OUString
> aNames(nBusinessCount
+ nLabelCount
);
259 OUString
* pNames
= aNames
.getArray();
261 for(int nLabel
= 0; nLabel
< nLabelCount
; nLabel
++)
262 pNames
[nIndex
++] = OUString::createFromAscii(aLabelPropNames
[nLabel
]);
263 for(int nBusiness
= 0; nBusiness
< nBusinessCount
; nBusiness
++)
264 pNames
[nIndex
++] = OUString::createFromAscii(aBusinessPropNames
[nBusiness
]);
268 SwLabCfgItem::SwLabCfgItem(sal_Bool bLabel
) :
269 ConfigItem(bLabel
? OUString("Office.Writer/Label") : OUString("Office.Writer/BusinessCard")),
272 Sequence
<OUString
> aNames
= GetPropertyNames();
273 Sequence
<Any
> aValues
= GetProperties(aNames
);
274 EnableNotification(aNames
);
275 const Any
* pValues
= aValues
.getConstArray();
276 OSL_ENSURE(aValues
.getLength() == aNames
.getLength(), "GetProperties failed");
277 bool bNoConfigValues
= true;
278 if(aValues
.getLength() == aNames
.getLength())
280 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
283 if(pValues
[nProp
].hasValue())
285 //to have a contiuous switch an offset is added
286 if(nProp
== 17 && !bIsLabel
)
289 bNoConfigValues
= false;
292 case 0: aItem
.bCont
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Medium/Continous",
293 case 1: pValues
[nProp
] >>= aItem
.aMake
; break;// "Medium/Brand",
294 case 2: pValues
[nProp
] >>= aItem
.aType
; break;// "Medium/Type",
295 case 3: pValues
[nProp
] >>= aItem
.nCols
; break;// "Format/Column",
296 case 4: pValues
[nProp
] >>= aItem
.nRows
; break;// "Format/Row",
298 pValues
[nProp
] >>= aItem
.lHDist
;
299 aItem
.lHDist
= MM100_TO_TWIP(aItem
.lHDist
);
300 break;// "Format/HorizontalDistance",
302 pValues
[nProp
] >>= aItem
.lVDist
;
303 aItem
.lVDist
= MM100_TO_TWIP(aItem
.lVDist
);
304 break;// "Format/VerticalDistance",
306 pValues
[nProp
] >>= aItem
.lWidth
;
307 aItem
.lWidth
= MM100_TO_TWIP(aItem
.lWidth
);
308 break;// "Format/Width",
310 pValues
[nProp
] >>= aItem
.lHeight
;
311 aItem
.lHeight
= MM100_TO_TWIP(aItem
.lHeight
);
312 break;// "Format/Height",
314 pValues
[nProp
] >>= aItem
.lLeft
;
315 aItem
.lLeft
= MM100_TO_TWIP(aItem
.lLeft
);
316 break;// "Format/LeftMargin",
318 pValues
[nProp
] >>= aItem
.lUpper
;
319 aItem
.lUpper
= MM100_TO_TWIP(aItem
.lUpper
);
320 break;// "Format/TopMargin",
322 pValues
[nProp
] >>= aItem
.lPWidth
;
323 aItem
.lPWidth
= MM100_TO_TWIP(aItem
.lPWidth
);
324 break;// "Format/PageWidth",
326 pValues
[nProp
] >>= aItem
.lPHeight
;
327 aItem
.lPHeight
= MM100_TO_TWIP(aItem
.lPHeight
);
328 break;// "Format/PageHeight",
329 case 13: aItem
.bSynchron
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Option/Synchronize",
330 case 14: aItem
.bPage
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Option/Page",
331 case 15: pValues
[nProp
] >>= aItem
.nCol
; break;// "Option/Column",
332 case 16: pValues
[nProp
] >>= aItem
.nRow
; break;// "Option/Row"
333 case 17: aItem
.bAddr
= *(sal_Bool
*)pValues
[nProp
].getValue(); break;// "Inscription/UseAddress",
334 case 18: pValues
[nProp
] >>= aItem
.aWriting
; break;// "Inscription/Address",
335 case 19: pValues
[nProp
] >>= aItem
.sDBName
; break;// "Inscription/Database"
336 case 20: pValues
[nProp
] >>= aItem
.aPrivFirstName
; break;// "PrivateAddress/FirstName",
337 case 21: pValues
[nProp
] >>= aItem
.aPrivName
; break;// "PrivateAddress/Name",
338 case 22: pValues
[nProp
] >>= aItem
.aPrivShortCut
; break;// "PrivateAddress/ShortCut",
339 case 23: pValues
[nProp
] >>= aItem
.aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
340 case 24: pValues
[nProp
] >>= aItem
.aPrivName2
; break;// "PrivateAddress/SecondName",
341 case 25: pValues
[nProp
] >>= aItem
.aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
342 case 26: pValues
[nProp
] >>= aItem
.aPrivStreet
; break;// "PrivateAddress/Street",
343 case 27: pValues
[nProp
] >>= aItem
.aPrivZip
; break;// "PrivateAddress/Zip",
344 case 28: pValues
[nProp
] >>= aItem
.aPrivCity
; break;// "PrivateAddress/City",
345 case 29: pValues
[nProp
] >>= aItem
.aPrivCountry
; break;// "PrivateAddress/Country",
346 case 30: pValues
[nProp
] >>= aItem
.aPrivState
; break;// "PrivateAddress/State",
347 case 31: pValues
[nProp
] >>= aItem
.aPrivTitle
; break;// "PrivateAddress/Title",
348 case 32: pValues
[nProp
] >>= aItem
.aPrivProfession
; break;// "PrivateAddress/Profession",
349 case 33: pValues
[nProp
] >>= aItem
.aPrivPhone
; break;// "PrivateAddress/Phone",
350 case 34: pValues
[nProp
] >>= aItem
.aPrivMobile
; break;// "PrivateAddress/Mobile",
351 case 35: pValues
[nProp
] >>= aItem
.aPrivFax
; break;// "PrivateAddress/Fax",
352 case 36: pValues
[nProp
] >>= aItem
.aPrivWWW
; break;// "PrivateAddress/WebAddress",
353 case 37: pValues
[nProp
] >>= aItem
.aPrivMail
; break;// "PrivateAddress/Email",
354 case 38: pValues
[nProp
] >>= aItem
.aCompCompany
; break;// "BusinessAddress/Company",
355 case 39: pValues
[nProp
] >>= aItem
.aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
356 case 40: pValues
[nProp
] >>= aItem
.aCompSlogan
; break;// "BusinessAddress/Slogan",
357 case 41: pValues
[nProp
] >>= aItem
.aCompStreet
; break;// "BusinessAddress/Street",
358 case 42: pValues
[nProp
] >>= aItem
.aCompZip
; break;// "BusinessAddress/Zip",
359 case 43: pValues
[nProp
] >>= aItem
.aCompCity
; break;// "BusinessAddress/City",
360 case 44: pValues
[nProp
] >>= aItem
.aCompCountry
; break;// "BusinessAddress/Country",
361 case 45: pValues
[nProp
] >>= aItem
.aCompState
; break;// "BusinessAddress/State",
362 case 46: pValues
[nProp
] >>= aItem
.aCompPosition
; break;// "BusinessAddress/Position",
363 case 47: pValues
[nProp
] >>= aItem
.aCompPhone
; break;// "BusinessAddress/Phone",
364 case 48: pValues
[nProp
] >>= aItem
.aCompMobile
; break;// "BusinessAddress/Mobile",
365 case 49: pValues
[nProp
] >>= aItem
.aCompFax
; break;// "BusinessAddress/Fax",
366 case 50: pValues
[nProp
] >>= aItem
.aCompWWW
; break;// "BusinessAddress/WebAddress",
367 case 51: pValues
[nProp
] >>= aItem
.aCompMail
; break;// "BusinessAddress/Email",
368 case 52: pValues
[nProp
] >>= aItem
.sGlossaryGroup
; break;// "AutoText/Group"
369 case 53: pValues
[nProp
] >>= aItem
.sGlossaryBlockName
; break;// "AutoText/Block"
374 if(!bIsLabel
&& bNoConfigValues
)
377 SvtUserOptions
& rUserOpt
= SW_MOD()->GetUserOptions();
378 aItem
.aPrivFirstName
= rUserOpt
.GetFirstName();
379 aItem
.aPrivName
= rUserOpt
.GetLastName();
380 aItem
.aPrivShortCut
= rUserOpt
.GetID();
381 aItem
.aCompCompany
= rUserOpt
.GetCompany();
382 aItem
.aCompStreet
= aItem
.aPrivStreet
= rUserOpt
.GetStreet();
384 aItem
.aCompCountry
= aItem
.aPrivCountry
= rUserOpt
.GetCountry();
385 aItem
.aCompZip
= aItem
.aPrivZip
= rUserOpt
.GetZip();
386 aItem
.aCompCity
= aItem
.aPrivCity
= rUserOpt
.GetCity();
387 aItem
.aPrivTitle
= rUserOpt
.GetTitle();
388 aItem
.aCompPosition
= rUserOpt
.GetPosition();
389 aItem
.aPrivPhone
= rUserOpt
.GetTelephoneHome();
390 aItem
.aCompPhone
= rUserOpt
.GetTelephoneWork();
391 aItem
.aCompFax
= aItem
.aPrivFax
= rUserOpt
.GetFax();
392 aItem
.aCompMail
= aItem
.aPrivMail
= rUserOpt
.GetEmail();
393 aItem
.aCompState
= aItem
.aPrivState
= rUserOpt
.GetState();
394 aItem
.bSynchron
= sal_True
;
399 void SwLabCfgItem::Notify( const ::com::sun::star::uno::Sequence
< OUString
>& ) {}
401 void SwLabCfgItem::Commit()
403 Sequence
<OUString
> aNames
= GetPropertyNames();
404 Sequence
<Any
> aValues(aNames
.getLength());
405 Any
* pValues
= aValues
.getArray();
407 const Type
& rType
= ::getBooleanCppuType();
408 for(int nProp
= 0, nProperty
= 0; nProp
< aNames
.getLength(); nProp
++, nProperty
++)
410 //to have a contiuous switch an offset is added
411 if(nProp
== 17 && !bIsLabel
)
415 case 0: pValues
[nProp
].setValue(&aItem
.bCont
, rType
); break;// "Medium/Continous",
416 case 1: pValues
[nProp
] <<= aItem
.aMake
; break;// "Medium/Brand",
417 case 2: pValues
[nProp
] <<= aItem
.aType
; break;// "Medium/Type",
418 case 3: pValues
[nProp
] <<= aItem
.nCols
; break;// "Format/Column",
419 case 4: pValues
[nProp
] <<= aItem
.nRows
; break;// "Format/Row",
420 case 5: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lHDist
));break;// "Format/HorizontalDistance",
421 case 6: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lVDist
));break;// "Format/VerticalDistance",
422 case 7: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lWidth
)); break;// "Format/Width",
423 case 8: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lHeight
)); break;// "Format/Height",
424 case 9: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lLeft
)); break;// "Format/LeftMargin",
425 case 10: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lUpper
)); break;// "Format/TopMargin",
426 case 11: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lPWidth
)); break;// "Format/Page Width",
427 case 12: pValues
[nProp
] <<= static_cast<sal_Int32
>(TWIP_TO_MM100(aItem
.lPHeight
)); break;// "Format/PageHeight",
428 case 13: pValues
[nProp
].setValue(&aItem
.bSynchron
, rType
); break;// "Option/Synchronize",
429 case 14: pValues
[nProp
].setValue(&aItem
.bPage
, rType
); break;// "Option/Page",
430 case 15: pValues
[nProp
] <<= aItem
.nCol
; break;// "Option/Column",
431 case 16: pValues
[nProp
] <<= aItem
.nRow
; break;// "Option/Row"
432 case 17: pValues
[nProp
].setValue(&aItem
.bAddr
, rType
); break;// "Inscription/UseAddress",
433 case 18: pValues
[nProp
] <<= aItem
.aWriting
; break;// "Inscription/Address",
434 case 19: pValues
[nProp
] <<= aItem
.sDBName
; break;// "Inscription/Database"
435 case 20: pValues
[nProp
] <<= aItem
.aPrivFirstName
; break;// "PrivateAddress/FirstName",
436 case 21: pValues
[nProp
] <<= aItem
.aPrivName
; break;// "PrivateAddress/Name",
437 case 22: pValues
[nProp
] <<= aItem
.aPrivShortCut
; break;// "PrivateAddress/ShortCut",
438 case 23: pValues
[nProp
] <<= aItem
.aPrivFirstName2
; break;// "PrivateAddress/SecondFirstName",
439 case 24: pValues
[nProp
] <<= aItem
.aPrivName2
; break;// "PrivateAddress/SecondName",
440 case 25: pValues
[nProp
] <<= aItem
.aPrivShortCut2
; break;// "PrivateAddress/SecondShortCut",
441 case 26: pValues
[nProp
] <<= aItem
.aPrivStreet
; break;// "PrivateAddress/Street",
442 case 27: pValues
[nProp
] <<= aItem
.aPrivZip
; break;// "PrivateAddress/Zip",
443 case 28: pValues
[nProp
] <<= aItem
.aPrivCity
; break;// "PrivateAddress/City",
444 case 29: pValues
[nProp
] <<= aItem
.aPrivCountry
; break;// "PrivateAddress/Country",
445 case 30: pValues
[nProp
] <<= aItem
.aPrivState
; break;// "PrivateAddress/State",
446 case 31: pValues
[nProp
] <<= aItem
.aPrivTitle
; break;// "PrivateAddress/Title",
447 case 32: pValues
[nProp
] <<= aItem
.aPrivProfession
; break;// "PrivateAddress/Profession",
448 case 33: pValues
[nProp
] <<= aItem
.aPrivPhone
; break;// "PrivateAddress/Phone",
449 case 34: pValues
[nProp
] <<= aItem
.aPrivMobile
; break;// "PrivateAddress/Mobile",
450 case 35: pValues
[nProp
] <<= aItem
.aPrivFax
; break;// "PrivateAddress/Fax",
451 case 36: pValues
[nProp
] <<= aItem
.aPrivWWW
; break;// "PrivateAddress/WebAddress",
452 case 37: pValues
[nProp
] <<= aItem
.aPrivMail
; break;// "PrivateAddress/Email",
453 case 38: pValues
[nProp
] <<= aItem
.aCompCompany
; break;// "BusinessAddress/Company",
454 case 39: pValues
[nProp
] <<= aItem
.aCompCompanyExt
; break;// "BusinessAddress/CompanyExt",
455 case 40: pValues
[nProp
] <<= aItem
.aCompSlogan
; break;// "BusinessAddress/Slogan",
456 case 41: pValues
[nProp
] <<= aItem
.aCompStreet
; break;// "BusinessAddress/Street",
457 case 42: pValues
[nProp
] <<= aItem
.aCompZip
; break;// "BusinessAddress/Zip",
458 case 43: pValues
[nProp
] <<= aItem
.aCompCity
; break;// "BusinessAddress/City",
459 case 44: pValues
[nProp
] <<= aItem
.aCompCountry
; break;// "BusinessAddress/Country",
460 case 45: pValues
[nProp
] <<= aItem
.aCompState
; break;// "BusinessAddress/State",
461 case 46: pValues
[nProp
] <<= aItem
.aCompPosition
; break;// "BusinessAddress/Position",
462 case 47: pValues
[nProp
] <<= aItem
.aCompPhone
; break;// "BusinessAddress/Phone",
463 case 48: pValues
[nProp
] <<= aItem
.aCompMobile
; break;// "BusinessAddress/Mobile",
464 case 49: pValues
[nProp
] <<= aItem
.aCompFax
; break;// "BusinessAddress/Fax",
465 case 50: pValues
[nProp
] <<= aItem
.aCompWWW
; break;// "BusinessAddress/WebAddress",
466 case 51: pValues
[nProp
] <<= aItem
.aCompMail
; break;// "BusinessAddress/Email",
467 case 52: pValues
[nProp
] <<= aItem
.sGlossaryGroup
; break;// "AutoText/Group"
468 case 53: pValues
[nProp
] <<= aItem
.sGlossaryBlockName
; break;// "AutoText/Block"
471 PutProperties(aNames
, aValues
);
474 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */