Changeset 40 for trunk


Ignore:
Timestamp:
Dec 1, 2021, 11:41:48 PM (3 years ago)
Author:
chronos
Message:
  • Fixed: Correctly load/save general, home and work fields.
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormContact.lfm

    r39 r40  
    11object FormContact: TFormContact
    22  Left = 604
    3   Height = 865
    4   Top = 361
    5   Width = 915
     3  Height = 856
     4  Top = 370
     5  Width = 961
    66  Caption = 'Contact'
    7   ClientHeight = 865
    8   ClientWidth = 915
     7  ClientHeight = 856
     8  ClientWidth = 961
    99  DesignTimePPI = 144
    1010  OnClose = FormClose
     
    1515  object PageControlContact: TPageControl
    1616    Left = 8
    17     Height = 785
     17    Height = 782
    1818    Top = 8
    19     Width = 893
    20     ActivePage = TabSheetWork
     19    Width = 939
     20    ActivePage = TabSheetGeneral
    2121    Anchors = [akTop, akLeft, akRight, akBottom]
    2222    ParentFont = False
    23     TabIndex = 2
     23    TabIndex = 0
    2424    TabOrder = 0
    2525    object TabSheetGeneral: TTabSheet
    2626      Caption = 'General'
    27       ClientHeight = 745
    28       ClientWidth = 883
     27      ClientHeight = 742
     28      ClientWidth = 929
    2929      OnShow = TabSheetGeneralShow
    3030      ParentFont = False
     
    4949        Left = 16
    5050        Height = 24
    51         Top = 170
    52         Width = 95
    53         Caption = 'Cell phone:'
    54         ParentColor = False
    55         ParentFont = False
    56       end
    57       object EditCellPhone: TEdit
     51        Top = 226
     52        Width = 63
     53        Caption = 'Mobile:'
     54        ParentColor = False
     55        ParentFont = False
     56      end
     57      object EditMobile: TEdit
    5858        Left = 144
    5959        Height = 42
    60         Top = 160
     60        Top = 216
    6161        Width = 254
    6262        ParentFont = False
     
    6666        Left = 144
    6767        Height = 42
    68         Top = 206
     68        Top = 262
    6969        Width = 254
    7070        ParentFont = False
     
    7474        Left = 16
    7575        Height = 24
    76         Top = 210
     76        Top = 266
    7777        Width = 59
    7878        Caption = 'Phone:'
     
    8181      end
    8282      object EditEmail: TEdit
    83         Left = 575
    84         Height = 42
    85         Top = 160
     83        Left = 144
     84        Height = 42
     85        Top = 304
    8686        Width = 254
    8787        ParentFont = False
     
    8989      end
    9090      object Label4: TLabel
    91         Left = 432
    92         Height = 24
    93         Top = 170
     91        Left = 16
     92        Height = 24
     93        Top = 312
    9494        Width = 58
    9595        Caption = 'E-mail:'
     
    114114        ParentFont = False
    115115      end
    116       object MemoNotes: TMemo
    117         Left = 240
    118         Height = 176
    119         Top = 336
    120         Width = 623
    121         Anchors = [akTop, akLeft, akRight, akBottom]
    122         ParentFont = False
    123         ParentShowHint = False
    124         ScrollBars = ssAutoBoth
    125         TabOrder = 5
    126       end
    127       object Label6: TLabel
    128         Left = 240
    129         Height = 24
    130         Top = 304
    131         Width = 55
    132         Caption = 'Notes:'
    133         ParentColor = False
    134         ParentFont = False
    135       end
    136       object EditEmailHome: TEdit
    137         Left = 575
    138         Height = 42
    139         Top = 206
    140         Width = 254
    141         ParentFont = False
    142         TabOrder = 6
    143       end
    144       object Label20: TLabel
    145         Left = 432
    146         Height = 24
    147         Top = 210
    148         Width = 124
    149         Caption = 'E-mail (Home):'
    150         ParentColor = False
    151         ParentFont = False
    152       end
    153       object EditEmailWork: TEdit
    154         Left = 575
    155         Height = 42
    156         Top = 250
    157         Width = 254
    158         ParentFont = False
    159         TabOrder = 7
    160       end
    161       object Label21: TLabel
    162         Left = 432
    163         Height = 24
    164         Top = 258
    165         Width = 117
    166         Caption = 'E-mail (Work):'
    167         ParentColor = False
    168         ParentFont = False
    169       end
    170116      object EditBirthday: TEdit
    171117        Left = 144
    172118        Height = 42
    173         Top = 250
    174         Width = 254
    175         ParentFont = False
    176         TabOrder = 8
     119        Top = 400
     120        Width = 254
     121        ParentFont = False
     122        TabOrder = 5
    177123      end
    178124      object Label22: TLabel
    179125        Left = 16
    180126        Height = 24
    181         Top = 258
     127        Top = 408
    182128        Width = 76
    183129        Caption = 'Birthday:'
     
    186132      end
    187133      object ImagePhoto: TImage
    188         Left = 20
    189         Height = 208
    190         Top = 344
     134        Left = 16
     135        Height = 210
     136        Top = 496
    191137        Width = 207
    192138        Proportional = True
     
    194140      end
    195141      object Label23: TLabel
    196         Left = 20
    197         Height = 24
    198         Top = 304
     142        Left = 16
     143        Height = 24
     144        Top = 456
    199145        Width = 55
    200146        Caption = 'Photo:'
     
    217163        Width = 254
    218164        ParentFont = False
    219         TabOrder = 9
     165        TabOrder = 6
    220166      end
    221167      object Label25: TLabel
     
    234180        Width = 254
    235181        ParentFont = False
    236         TabOrder = 10
     182        TabOrder = 7
    237183      end
    238184      object Label26: TLabel
     
    251197        Width = 254
    252198        ParentFont = False
    253         TabOrder = 11
     199        TabOrder = 8
    254200      end
    255201      object Label27: TLabel
     
    268214        Width = 254
    269215        ParentFont = False
     216        TabOrder = 9
     217      end
     218      object Label44: TLabel
     219        Left = 16
     220        Height = 24
     221        Top = 168
     222        Width = 91
     223        Caption = 'Nickname:'
     224        ParentColor = False
     225        ParentFont = False
     226      end
     227      object EditNickName: TEdit
     228        Left = 144
     229        Height = 42
     230        Top = 160
     231        Width = 254
     232        ParentFont = False
     233        TabOrder = 10
     234      end
     235      object Label45: TLabel
     236        Left = 432
     237        Height = 24
     238        Top = 408
     239        Width = 105
     240        Caption = 'Anniversary:'
     241        ParentColor = False
     242        ParentFont = False
     243      end
     244      object EditAniversary: TEdit
     245        Left = 575
     246        Height = 42
     247        Top = 400
     248        Width = 254
     249        ParentFont = False
     250        TabOrder = 11
     251      end
     252      object Label9: TLabel
     253        Left = 432
     254        Height = 24
     255        Top = 224
     256        Width = 34
     257        Caption = 'Fax:'
     258        ParentColor = False
     259        ParentFont = False
     260      end
     261      object EditFax: TEdit
     262        Left = 575
     263        Height = 42
     264        Top = 216
     265        Width = 254
     266        ParentFont = False
    270267        TabOrder = 12
    271268      end
     269      object EditPager: TEdit
     270        Left = 575
     271        Height = 42
     272        Top = 262
     273        Width = 254
     274        ParentFont = False
     275        TabOrder = 13
     276      end
     277      object Label10: TLabel
     278        Left = 432
     279        Height = 24
     280        Top = 266
     281        Width = 54
     282        Caption = 'Pager:'
     283        ParentColor = False
     284        ParentFont = False
     285      end
     286      object Label46: TLabel
     287        Left = 16
     288        Height = 24
     289        Top = 360
     290        Width = 114
     291        Caption = 'Web address:'
     292        ParentColor = False
     293        ParentFont = False
     294      end
     295      object EditWeb: TEdit
     296        Left = 144
     297        Height = 42
     298        Top = 352
     299        Width = 683
     300        ParentFont = False
     301        TabOrder = 14
     302      end
    272303    end
    273     object TabSheetPrivate: TTabSheet
    274       Caption = 'Private'
    275       ClientHeight = 745
    276       ClientWidth = 883
     304    object TabSheetHome: TTabSheet
     305      Caption = 'Home'
     306      ClientHeight = 742
     307      ClientWidth = 929
    277308      OnShow = TabSheetGeneralShow
    278309      ParentFont = False
    279310      object Label7: TLabel
    280         Left = 10
     311        Left = 16
     312        Height = 24
     313        Top = 114
     314        Width = 58
     315        Caption = 'E-mail:'
     316        ParentColor = False
     317        ParentFont = False
     318      end
     319      object EditHomeEmail: TEdit
     320        Left = 173
     321        Height = 42
     322        Top = 112
     323        Width = 254
     324        ParentFont = False
     325        TabOrder = 0
     326      end
     327      object Label11: TLabel
     328        Left = 448
    281329        Height = 24
    282330        Top = 18
    283         Width = 125
    284         Caption = 'Phone (Home):'
    285         ParentColor = False
    286         ParentFont = False
    287       end
    288       object EditPhoneHome: TEdit
    289         Left = 173
    290         Height = 42
    291         Top = 16
    292         Width = 254
    293         ParentFont = False
    294         TabOrder = 0
    295       end
    296       object Label8: TLabel
    297         Left = 10
    298         Height = 24
    299         Top = 64
    300         Width = 118
    301         Caption = 'Phone (Work):'
    302         ParentColor = False
    303         ParentFont = False
    304       end
    305       object EditPhoneWork: TEdit
    306         Left = 173
    307         Height = 42
    308         Top = 62
    309         Width = 254
    310         ParentFont = False
    311         TabOrder = 1
    312       end
    313       object Label9: TLabel
    314         Left = 10
    315         Height = 24
    316         Top = 112
    317         Width = 161
    318         Caption = 'Cell phone (Home):'
    319         ParentColor = False
    320         ParentFont = False
    321       end
    322       object EditCellPhoneHome: TEdit
    323         Left = 173
    324         Height = 42
    325         Top = 108
    326         Width = 254
    327         ParentFont = False
    328         TabOrder = 2
    329       end
    330       object Label10: TLabel
    331         Left = 10
    332         Height = 24
    333         Top = 160
    334         Width = 154
    335         Caption = 'Cell phone (Work):'
    336         ParentColor = False
    337         ParentFont = False
    338       end
    339       object EditCellPhoneWork: TEdit
    340         Left = 173
    341         Height = 42
    342         Top = 152
    343         Width = 254
    344         ParentFont = False
    345         TabOrder = 3
    346       end
    347       object Label11: TLabel
    348         Left = 451
    349         Height = 24
    350         Top = 16
    351331        Width = 34
    352332        Caption = 'Fax:'
     
    354334        ParentFont = False
    355335      end
    356       object EditFax: TEdit
    357         Left = 608
     336      object EditHomeFax: TEdit
     337        Left = 605
    358338        Height = 42
    359339        Top = 16
    360340        Width = 254
    361341        ParentFont = False
    362         TabOrder = 4
    363       end
    364       object Label12: TLabel
    365         Left = 451
    366         Height = 24
    367         Top = 58
    368         Width = 100
    369         Caption = 'Fax (Home):'
    370         ParentColor = False
    371         ParentFont = False
    372       end
    373       object EditFaxHome: TEdit
    374         Left = 608
    375         Height = 42
    376         Top = 62
    377         Width = 254
    378         ParentFont = False
    379         TabOrder = 5
    380       end
    381       object Label13: TLabel
    382         Left = 451
    383         Height = 24
    384         Top = 106
    385         Width = 93
    386         Caption = 'Fax (Work):'
    387         ParentColor = False
    388         ParentFont = False
    389       end
    390       object EditFaxWork: TEdit
    391         Left = 608
    392         Height = 42
    393         Top = 108
    394         Width = 254
    395         ParentFont = False
    396         TabOrder = 6
     342        TabOrder = 1
     343      end
     344      object EditHomeMobile: TEdit
     345        Left = 173
     346        Height = 42
     347        Top = 60
     348        Width = 254
     349        ParentFont = False
     350        TabOrder = 2
     351      end
     352      object EditHomePhone: TEdit
     353        Left = 173
     354        Height = 42
     355        Top = 16
     356        Width = 254
     357        ParentFont = False
     358        TabOrder = 3
    397359      end
    398360      object Label14: TLabel
    399         Left = 451
    400         Height = 24
    401         Top = 144
     361        Left = 448
     362        Height = 24
     363        Top = 68
    402364        Width = 54
    403365        Caption = 'Pager:'
     
    405367        ParentFont = False
    406368      end
    407       object EditPager: TEdit
    408         Left = 608
    409         Height = 42
    410         Top = 152
    411         Width = 254
    412         ParentFont = False
    413         TabOrder = 7
    414       end
    415       object EditAddressHomeStreet: TEdit
    416         Left = 173
    417         Height = 42
    418         Top = 200
    419         Width = 254
    420         ParentFont = False
    421         TabOrder = 8
    422       end
    423       object Label36: TLabel
    424         Left = 10
    425         Height = 24
    426         Top = 210
    427         Width = 54
    428         Caption = 'Street:'
    429         ParentColor = False
    430         ParentFont = False
    431       end
    432       object Label37: TLabel
    433         Left = 10
    434         Height = 24
    435         Top = 258
    436         Width = 137
    437         Caption = 'Extended street:'
    438         ParentColor = False
    439         ParentFont = False
    440       end
    441       object Label38: TLabel
    442         Left = 10
    443         Height = 24
    444         Top = 304
    445         Width = 64
    446         Caption = 'Region:'
    447         ParentColor = False
    448         ParentFont = False
    449       end
    450       object Label39: TLabel
    451         Left = 10
    452         Height = 24
    453         Top = 352
    454         Width = 71
    455         Caption = 'Country:'
    456         ParentColor = False
    457         ParentFont = False
     369      object EditHomePager: TEdit
     370        Left = 605
     371        Height = 42
     372        Top = 60
     373        Width = 254
     374        ParentFont = False
     375        TabOrder = 4
    458376      end
    459377      object Label40: TLabel
    460         Left = 10
    461         Height = 24
    462         Top = 400
     378        Left = 16
     379        Height = 24
     380        Top = 168
    463381        Width = 114
    464382        Caption = 'Web address:'
     
    466384        ParentFont = False
    467385      end
    468       object EditWebHome: TEdit
     386      object EditHomeWeb: TEdit
    469387        Left = 173
    470388        Height = 42
    471         Top = 392
    472         Width = 254
    473         ParentFont = False
    474         TabOrder = 9
    475       end
    476       object EditAddressHomeCountry: TEdit
    477         Left = 173
    478         Height = 42
    479         Top = 344
    480         Width = 254
    481         ParentFont = False
    482         TabOrder = 10
    483       end
    484       object EditAddressHomeRegion: TEdit
    485         Left = 173
    486         Height = 42
    487         Top = 296
    488         Width = 254
    489         ParentFont = False
    490         TabOrder = 11
    491       end
    492       object Label41: TLabel
    493         Left = 451
    494         Height = 24
    495         Top = 342
    496         Width = 103
    497         Caption = 'Postal code:'
    498         ParentColor = False
    499         ParentFont = False
    500       end
    501       object EditAddressHomePostalCode: TEdit
    502         Left = 608
    503         Height = 42
    504         Top = 334
    505         Width = 254
    506         ParentFont = False
    507         TabOrder = 12
    508       end
    509       object EditAddressHomeCity: TEdit
    510         Left = 608
    511         Height = 42
    512         Top = 248
    513         Width = 254
    514         ParentFont = False
    515         TabOrder = 13
    516       end
    517       object Label42: TLabel
    518         Left = 451
    519         Height = 24
    520         Top = 256
    521         Width = 36
    522         Caption = 'City:'
    523         ParentColor = False
    524         ParentFont = False
    525       end
    526       object Label43: TLabel
    527         Left = 451
    528         Height = 24
    529         Top = 208
    530         Width = 131
    531         Caption = 'Post office box:'
    532         ParentColor = False
    533         ParentFont = False
    534       end
    535       object EditAddressHomePostOfficeBox: TEdit
    536         Left = 608
    537         Height = 42
    538         Top = 200
    539         Width = 254
    540         ParentFont = False
    541         TabOrder = 14
    542       end
    543       object EditAddressHomeStreetExtended: TEdit
    544         Left = 173
    545         Height = 42
    546         Top = 248
    547         Width = 254
    548         ParentFont = False
    549         TabOrder = 15
     389        Top = 160
     390        Width = 683
     391        ParentFont = False
     392        TabOrder = 5
     393      end
     394      object GroupBox1: TGroupBox
     395        Left = 10
     396        Height = 242
     397        Top = 216
     398        Width = 890
     399        Anchors = [akTop, akLeft, akRight]
     400        Caption = 'Address'
     401        ClientHeight = 215
     402        ClientWidth = 888
     403        TabOrder = 6
     404        object Label36: TLabel
     405          Left = 8
     406          Height = 24
     407          Top = 18
     408          Width = 54
     409          Caption = 'Street:'
     410          ParentColor = False
     411          ParentFont = False
     412        end
     413        object Label37: TLabel
     414          Left = 10
     415          Height = 24
     416          Top = 66
     417          Width = 137
     418          Caption = 'Extended street:'
     419          ParentColor = False
     420          ParentFont = False
     421        end
     422        object EditHomeAddressStreetExtended: TEdit
     423          Left = 173
     424          Height = 42
     425          Top = 56
     426          Width = 254
     427          ParentFont = False
     428          TabOrder = 0
     429        end
     430        object EditHomeAddressStreet: TEdit
     431          Left = 173
     432          Height = 42
     433          Top = 8
     434          Width = 254
     435          ParentFont = False
     436          TabOrder = 1
     437        end
     438        object Label38: TLabel
     439          Left = 10
     440          Height = 24
     441          Top = 112
     442          Width = 64
     443          Caption = 'Region:'
     444          ParentColor = False
     445          ParentFont = False
     446        end
     447        object EditHomeAddressRegion: TEdit
     448          Left = 173
     449          Height = 42
     450          Top = 104
     451          Width = 254
     452          ParentFont = False
     453          TabOrder = 2
     454        end
     455        object EditHomeAddressCountry: TEdit
     456          Left = 173
     457          Height = 42
     458          Top = 152
     459          Width = 254
     460          ParentFont = False
     461          TabOrder = 3
     462        end
     463        object Label39: TLabel
     464          Left = 10
     465          Height = 24
     466          Top = 160
     467          Width = 71
     468          Caption = 'Country:'
     469          ParentColor = False
     470          ParentFont = False
     471        end
     472        object Label41: TLabel
     473          Left = 451
     474          Height = 24
     475          Top = 150
     476          Width = 103
     477          Caption = 'Postal code:'
     478          ParentColor = False
     479          ParentFont = False
     480        end
     481        object EditHomeAddressPostalCode: TEdit
     482          Left = 588
     483          Height = 42
     484          Top = 142
     485          Width = 254
     486          ParentFont = False
     487          TabOrder = 4
     488        end
     489        object EditHomeAddressCity: TEdit
     490          Left = 588
     491          Height = 42
     492          Top = 56
     493          Width = 254
     494          ParentFont = False
     495          TabOrder = 5
     496        end
     497        object Label42: TLabel
     498          Left = 451
     499          Height = 24
     500          Top = 64
     501          Width = 36
     502          Caption = 'City:'
     503          ParentColor = False
     504          ParentFont = False
     505        end
     506        object Label43: TLabel
     507          Left = 451
     508          Height = 24
     509          Top = 16
     510          Width = 131
     511          Caption = 'Post office box:'
     512          ParentColor = False
     513          ParentFont = False
     514        end
     515        object EditHomeAddressPostOfficeBox: TEdit
     516          Left = 588
     517          Height = 42
     518          Top = 8
     519          Width = 254
     520          ParentFont = False
     521          TabOrder = 6
     522        end
     523      end
     524      object Label12: TLabel
     525        Left = 16
     526        Height = 24
     527        Top = 64
     528        Width = 63
     529        Caption = 'Mobile:'
     530        ParentColor = False
     531        ParentFont = False
     532      end
     533      object Label13: TLabel
     534        Left = 16
     535        Height = 24
     536        Top = 20
     537        Width = 59
     538        Caption = 'Phone:'
     539        ParentColor = False
     540        ParentFont = False
    550541      end
    551542    end
    552543    object TabSheetWork: TTabSheet
    553544      Caption = 'Work'
    554       ClientHeight = 745
    555       ClientWidth = 883
     545      ClientHeight = 742
     546      ClientWidth = 929
    556547      OnShow = TabSheetGeneralShow
    557548      object EditOrganization: TEdit
     
    606597        TabOrder = 2
    607598      end
    608       object Label28: TLabel
    609         Left = 10
    610         Height = 24
    611         Top = 122
    612         Width = 54
    613         Caption = 'Street:'
    614         ParentColor = False
    615         ParentFont = False
    616       end
    617       object EditAddressWorkStreet: TEdit
     599      object EditWorkWeb: TEdit
    618600        Left = 173
    619601        Height = 42
    620         Top = 112
    621         Width = 254
     602        Top = 256
     603        Width = 683
    622604        ParentFont = False
    623605        TabOrder = 3
    624       end
    625       object Label29: TLabel
    626         Left = 451
    627         Height = 24
    628         Top = 168
    629         Width = 36
    630         Caption = 'City:'
    631         ParentColor = False
    632         ParentFont = False
    633       end
    634       object EditAddressWorkCity: TEdit
    635         Left = 608
    636         Height = 42
    637         Top = 160
    638         Width = 254
    639         ParentFont = False
    640         TabOrder = 4
    641       end
    642       object Label30: TLabel
    643         Left = 10
    644         Height = 24
    645         Top = 216
    646         Width = 64
    647         Caption = 'Region:'
    648         ParentColor = False
    649         ParentFont = False
    650       end
    651       object EditAddressWorkRegion: TEdit
    652         Left = 173
    653         Height = 42
    654         Top = 216
    655         Width = 254
    656         ParentFont = False
    657         TabOrder = 5
    658       end
    659       object EditAddressWorkCountry: TEdit
    660         Left = 173
    661         Height = 42
    662         Top = 264
    663         Width = 254
    664         ParentFont = False
    665         TabOrder = 6
    666       end
    667       object Label31: TLabel
    668         Left = 10
    669         Height = 24
    670         Top = 264
    671         Width = 71
    672         Caption = 'Country:'
    673         ParentColor = False
    674         ParentFont = False
    675       end
    676       object EditWebWork: TEdit
    677         Left = 173
    678         Height = 42
    679         Top = 312
    680         Width = 254
    681         ParentFont = False
    682         TabOrder = 7
    683606      end
    684607      object Label32: TLabel
    685608        Left = 10
    686609        Height = 24
    687         Top = 312
     610        Top = 264
    688611        Width = 114
    689612        Caption = 'Web address:'
     
    691614        ParentFont = False
    692615      end
    693       object EditAddressWorkPostalCode: TEdit
     616      object GroupBox2: TGroupBox
     617        Left = 8
     618        Height = 247
     619        Top = 312
     620        Width = 911
     621        Caption = 'Address'
     622        ClientHeight = 220
     623        ClientWidth = 909
     624        TabOrder = 4
     625        object Label31: TLabel
     626          Left = 10
     627          Height = 24
     628          Top = 160
     629          Width = 71
     630          Caption = 'Country:'
     631          ParentColor = False
     632          ParentFont = False
     633        end
     634        object EditAddressWorkCountry: TEdit
     635          Left = 173
     636          Height = 42
     637          Top = 160
     638          Width = 254
     639          ParentFont = False
     640          TabOrder = 0
     641        end
     642        object EditAddressWorkRegion: TEdit
     643          Left = 173
     644          Height = 42
     645          Top = 112
     646          Width = 254
     647          ParentFont = False
     648          TabOrder = 1
     649        end
     650        object Label30: TLabel
     651          Left = 10
     652          Height = 24
     653          Top = 112
     654          Width = 64
     655          Caption = 'Region:'
     656          ParentColor = False
     657          ParentFont = False
     658        end
     659        object Label35: TLabel
     660          Left = 10
     661          Height = 24
     662          Top = 66
     663          Width = 137
     664          Caption = 'Extended street:'
     665          ParentColor = False
     666          ParentFont = False
     667        end
     668        object EditAddressWorkStreetExtended: TEdit
     669          Left = 173
     670          Height = 42
     671          Top = 64
     672          Width = 254
     673          ParentFont = False
     674          TabOrder = 2
     675        end
     676        object Label28: TLabel
     677          Left = 10
     678          Height = 24
     679          Top = 18
     680          Width = 54
     681          Caption = 'Street:'
     682          ParentColor = False
     683          ParentFont = False
     684        end
     685        object EditAddressWorkStreet: TEdit
     686          Left = 173
     687          Height = 42
     688          Top = 8
     689          Width = 254
     690          ParentFont = False
     691          TabOrder = 3
     692        end
     693        object Label34: TLabel
     694          Left = 451
     695          Height = 24
     696          Top = 18
     697          Width = 131
     698          Caption = 'Post office box:'
     699          ParentColor = False
     700          ParentFont = False
     701        end
     702        object EditAddressWorkPostOfficeBox: TEdit
     703          Left = 608
     704          Height = 42
     705          Top = 8
     706          Width = 254
     707          ParentFont = False
     708          TabOrder = 4
     709        end
     710        object EditAddressWorkCity: TEdit
     711          Left = 608
     712          Height = 42
     713          Top = 56
     714          Width = 254
     715          ParentFont = False
     716          TabOrder = 5
     717        end
     718        object Label29: TLabel
     719          Left = 451
     720          Height = 24
     721          Top = 64
     722          Width = 36
     723          Caption = 'City:'
     724          ParentColor = False
     725          ParentFont = False
     726        end
     727        object EditAddressWorkPostalCode: TEdit
     728          Left = 608
     729          Height = 42
     730          Top = 142
     731          Width = 254
     732          ParentFont = False
     733          TabOrder = 6
     734        end
     735        object Label33: TLabel
     736          Left = 451
     737          Height = 24
     738          Top = 150
     739          Width = 103
     740          Caption = 'Postal code:'
     741          ParentColor = False
     742          ParentFont = False
     743        end
     744      end
     745      object Label15: TLabel
     746        Left = 10
     747        Height = 24
     748        Top = 116
     749        Width = 59
     750        Caption = 'Phone:'
     751        ParentColor = False
     752        ParentFont = False
     753      end
     754      object EditWorkPhone: TEdit
     755        Left = 173
     756        Height = 42
     757        Top = 112
     758        Width = 254
     759        ParentFont = False
     760        TabOrder = 5
     761      end
     762      object Label16: TLabel
     763        Left = 451
     764        Height = 24
     765        Top = 112
     766        Width = 34
     767        Caption = 'Fax:'
     768        ParentColor = False
     769        ParentFont = False
     770      end
     771      object EditWorkFax: TEdit
    694772        Left = 608
    695773        Height = 42
    696         Top = 246
     774        Top = 112
     775        Width = 254
     776        ParentFont = False
     777        TabOrder = 6
     778      end
     779      object EditWorkPager: TEdit
     780        Left = 608
     781        Height = 42
     782        Top = 156
     783        Width = 254
     784        ParentFont = False
     785        TabOrder = 7
     786      end
     787      object Label17: TLabel
     788        Left = 448
     789        Height = 24
     790        Top = 160
     791        Width = 54
     792        Caption = 'Pager:'
     793        ParentColor = False
     794        ParentFont = False
     795      end
     796      object EditWorkMobile: TEdit
     797        Left = 173
     798        Height = 42
     799        Top = 160
    697800        Width = 254
    698801        ParentFont = False
    699802        TabOrder = 8
    700803      end
    701       object Label33: TLabel
    702         Left = 451
    703         Height = 24
    704         Top = 254
    705         Width = 103
    706         Caption = 'Postal code:'
    707         ParentColor = False
    708         ParentFont = False
    709       end
    710       object EditAddressWorkPostOfficeBox: TEdit
    711         Left = 608
    712         Height = 42
    713         Top = 112
     804      object Label19: TLabel
     805        Left = 10
     806        Height = 24
     807        Top = 160
     808        Width = 63
     809        Caption = 'Mobile:'
     810        ParentColor = False
     811        ParentFont = False
     812      end
     813      object Label8: TLabel
     814        Left = 10
     815        Height = 24
     816        Top = 210
     817        Width = 58
     818        Caption = 'E-mail:'
     819        ParentColor = False
     820        ParentFont = False
     821      end
     822      object EditWorkEmail: TEdit
     823        Left = 173
     824        Height = 42
     825        Top = 210
    714826        Width = 254
    715827        ParentFont = False
    716828        TabOrder = 9
    717829      end
    718       object Label34: TLabel
    719         Left = 451
    720         Height = 24
    721         Top = 122
    722         Width = 131
    723         Caption = 'Post office box:'
    724         ParentColor = False
    725         ParentFont = False
    726       end
    727       object Label35: TLabel
    728         Left = 10
    729         Height = 24
    730         Top = 170
    731         Width = 137
    732         Caption = 'Extended street:'
    733         ParentColor = False
    734         ParentFont = False
    735       end
    736       object EditAddressWorkStreetExtended: TEdit
    737         Left = 173
    738         Height = 42
    739         Top = 168
    740         Width = 254
    741         ParentFont = False
    742         TabOrder = 10
     830    end
     831    object TabSheetOthers: TTabSheet
     832      Caption = 'Others'
     833      ClientHeight = 742
     834      ClientWidth = 929
     835      object MemoNotes: TMemo
     836        Left = 16
     837        Height = 167
     838        Top = 48
     839        Width = 893
     840        Anchors = [akTop, akLeft, akRight, akBottom]
     841        ParentFont = False
     842        ParentShowHint = False
     843        ScrollBars = ssAutoBoth
     844        TabOrder = 0
     845      end
     846      object Label6: TLabel
     847        Left = 16
     848        Height = 24
     849        Top = 16
     850        Width = 55
     851        Caption = 'Notes:'
     852        ParentColor = False
     853        ParentFont = False
    743854      end
    744855    end
     
    750861  end
    751862  object ButtonCancel: TButton
    752     Left = 788
     863    Left = 834
    753864    Height = 37
    754     Top = 815
     865    Top = 806
    755866    Width = 115
    756867    Anchors = [akRight, akBottom]
     
    761872  end
    762873  object ButtonOk: TButton
    763     Left = 653
     874    Left = 699
    764875    Height = 37
    765     Top = 815
     876    Top = 806
    766877    Width = 119
    767878    Anchors = [akRight, akBottom]
     
    775886    Images = Core.ImageList1
    776887    Left = 320
    777     Top = 416
     888    Top = 568
    778889    object AEditField: TAction
    779890      Caption = 'Edit'
     
    783894    Images = Core.ImageList1
    784895    Left = 184
    785     Top = 416
     896    Top = 568
    786897    object MenuItem1: TMenuItem
    787898      Action = AEditField
  • trunk/Forms/UFormContact.lrj

    r39 r40  
    33{"hash":231000124,"name":"tformcontact.tabsheetgeneral.caption","sourcebytes":[71,101,110,101,114,97,108],"value":"General"},
    44{"hash":104434218,"name":"tformcontact.label1.caption","sourcebytes":[70,105,114,115,116,32,110,97,109,101,58],"value":"First name:"},
    5 {"hash":120104554,"name":"tformcontact.label2.caption","sourcebytes":[67,101,108,108,32,112,104,111,110,101,58],"value":"Cell phone:"},
     5{"hash":72942298,"name":"tformcontact.label2.caption","sourcebytes":[77,111,98,105,108,101,58],"value":"Mobile:"},
    66{"hash":91186314,"name":"tformcontact.label3.caption","sourcebytes":[80,104,111,110,101,58],"value":"Phone:"},
    77{"hash":138641338,"name":"tformcontact.label4.caption","sourcebytes":[69,45,109,97,105,108,58],"value":"E-mail:"},
    88{"hash":174528181,"name":"tformcontact.label5.caption","sourcebytes":[76,97,115,116,32,110,97,109,101],"value":"Last name"},
    9 {"hash":89566314,"name":"tformcontact.label6.caption","sourcebytes":[78,111,116,101,115,58],"value":"Notes:"},
    10 {"hash":149146986,"name":"tformcontact.label20.caption","sourcebytes":[69,45,109,97,105,108,32,40,72,111,109,101,41,58],"value":"E-mail (Home):"},
    11 {"hash":166819690,"name":"tformcontact.label21.caption","sourcebytes":[69,45,109,97,105,108,32,40,87,111,114,107,41,58],"value":"E-mail (Work):"},
    129{"hash":162456010,"name":"tformcontact.label22.caption","sourcebytes":[66,105,114,116,104,100,97,121,58],"value":"Birthday:"},
    1310{"hash":91188010,"name":"tformcontact.label23.caption","sourcebytes":[80,104,111,116,111,58],"value":"Photo:"},
     
    1613{"hash":62410682,"name":"tformcontact.label26.caption","sourcebytes":[84,105,116,108,101,32,98,101,102,111,114,101,58],"value":"Title before:"},
    1714{"hash":63774250,"name":"tformcontact.label27.caption","sourcebytes":[84,105,116,108,101,32,97,102,116,101,114,58],"value":"Title after:"},
    18 {"hash":126929141,"name":"tformcontact.tabsheetprivate.caption","sourcebytes":[80,114,105,118,97,116,101],"value":"Private"},
    19 {"hash":170160314,"name":"tformcontact.label7.caption","sourcebytes":[80,104,111,110,101,32,40,72,111,109,101,41,58],"value":"Phone (Home):"},
    20 {"hash":187747002,"name":"tformcontact.label8.caption","sourcebytes":[80,104,111,110,101,32,40,87,111,114,107,41,58],"value":"Phone (Work):"},
    21 {"hash":243293850,"name":"tformcontact.label9.caption","sourcebytes":[67,101,108,108,32,112,104,111,110,101,32,40,72,111,109,101,41,58],"value":"Cell phone (Home):"},
    22 {"hash":258794650,"name":"tformcontact.label10.caption","sourcebytes":[67,101,108,108,32,112,104,111,110,101,32,40,87,111,114,107,41,58],"value":"Cell phone (Work):"},
     15{"hash":170145658,"name":"tformcontact.label44.caption","sourcebytes":[78,105,99,107,110,97,109,101,58],"value":"Nickname:"},
     16{"hash":136108298,"name":"tformcontact.label45.caption","sourcebytes":[65,110,110,105,118,101,114,115,97,114,121,58],"value":"Anniversary:"},
     17{"hash":313530,"name":"tformcontact.label9.caption","sourcebytes":[70,97,120,58],"value":"Fax:"},
     18{"hash":90692698,"name":"tformcontact.label10.caption","sourcebytes":[80,97,103,101,114,58],"value":"Pager:"},
     19{"hash":258182170,"name":"tformcontact.label46.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"},
     20{"hash":325173,"name":"tformcontact.tabsheethome.caption","sourcebytes":[72,111,109,101],"value":"Home"},
     21{"hash":138641338,"name":"tformcontact.label7.caption","sourcebytes":[69,45,109,97,105,108,58],"value":"E-mail:"},
    2322{"hash":313530,"name":"tformcontact.label11.caption","sourcebytes":[70,97,120,58],"value":"Fax:"},
    24 {"hash":213564906,"name":"tformcontact.label12.caption","sourcebytes":[70,97,120,32,40,72,111,109,101,41,58],"value":"Fax (Home):"},
    25 {"hash":229246954,"name":"tformcontact.label13.caption","sourcebytes":[70,97,120,32,40,87,111,114,107,41,58],"value":"Fax (Work):"},
    2623{"hash":90692698,"name":"tformcontact.label14.caption","sourcebytes":[80,97,103,101,114,58],"value":"Pager:"},
     24{"hash":258182170,"name":"tformcontact.label40.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"},
     25{"hash":128683235,"name":"tformcontact.groupbox1.caption","sourcebytes":[65,100,100,114,101,115,115],"value":"Address"},
    2726{"hash":179878954,"name":"tformcontact.label36.caption","sourcebytes":[83,116,114,101,101,116,58],"value":"Street:"},
    2827{"hash":116835754,"name":"tformcontact.label37.caption","sourcebytes":[69,120,116,101,110,100,101,100,32,115,116,114,101,101,116,58],"value":"Extended street:"},
    2928{"hash":146671178,"name":"tformcontact.label38.caption","sourcebytes":[82,101,103,105,111,110,58],"value":"Region:"},
    3029{"hash":113622378,"name":"tformcontact.label39.caption","sourcebytes":[67,111,117,110,116,114,121,58],"value":"Country:"},
    31 {"hash":258182170,"name":"tformcontact.label40.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"},
    3230{"hash":186708218,"name":"tformcontact.label41.caption","sourcebytes":[80,111,115,116,97,108,32,99,111,100,101,58],"value":"Postal code:"},
    3331{"hash":4852682,"name":"tformcontact.label42.caption","sourcebytes":[67,105,116,121,58],"value":"City:"},
    3432{"hash":252071146,"name":"tformcontact.label43.caption","sourcebytes":[80,111,115,116,32,111,102,102,105,99,101,32,98,111,120,58],"value":"Post office box:"},
     33{"hash":72942298,"name":"tformcontact.label12.caption","sourcebytes":[77,111,98,105,108,101,58],"value":"Mobile:"},
     34{"hash":91186314,"name":"tformcontact.label13.caption","sourcebytes":[80,104,111,110,101,58],"value":"Phone:"},
    3535{"hash":386699,"name":"tformcontact.tabsheetwork.caption","sourcebytes":[87,111,114,107],"value":"Work"},
    3636{"hash":101155194,"name":"tformcontact.labelorganization.caption","sourcebytes":[79,114,103,97,110,105,122,97,116,105,111,110,58],"value":"Organization:"},
    3737{"hash":167347194,"name":"tformcontact.labelorganization1.caption","sourcebytes":[68,101,112,97,114,116,109,101,110,116,58],"value":"Department:"},
    3838{"hash":95466122,"name":"tformcontact.label18.caption","sourcebytes":[84,105,116,108,101,58],"value":"Title:"},
     39{"hash":258182170,"name":"tformcontact.label32.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"},
     40{"hash":128683235,"name":"tformcontact.groupbox2.caption","sourcebytes":[65,100,100,114,101,115,115],"value":"Address"},
     41{"hash":113622378,"name":"tformcontact.label31.caption","sourcebytes":[67,111,117,110,116,114,121,58],"value":"Country:"},
     42{"hash":146671178,"name":"tformcontact.label30.caption","sourcebytes":[82,101,103,105,111,110,58],"value":"Region:"},
     43{"hash":116835754,"name":"tformcontact.label35.caption","sourcebytes":[69,120,116,101,110,100,101,100,32,115,116,114,101,101,116,58],"value":"Extended street:"},
    3944{"hash":179878954,"name":"tformcontact.label28.caption","sourcebytes":[83,116,114,101,101,116,58],"value":"Street:"},
     45{"hash":252071146,"name":"tformcontact.label34.caption","sourcebytes":[80,111,115,116,32,111,102,102,105,99,101,32,98,111,120,58],"value":"Post office box:"},
    4046{"hash":4852682,"name":"tformcontact.label29.caption","sourcebytes":[67,105,116,121,58],"value":"City:"},
    41 {"hash":146671178,"name":"tformcontact.label30.caption","sourcebytes":[82,101,103,105,111,110,58],"value":"Region:"},
    42 {"hash":113622378,"name":"tformcontact.label31.caption","sourcebytes":[67,111,117,110,116,114,121,58],"value":"Country:"},
    43 {"hash":258182170,"name":"tformcontact.label32.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"},
    4447{"hash":186708218,"name":"tformcontact.label33.caption","sourcebytes":[80,111,115,116,97,108,32,99,111,100,101,58],"value":"Postal code:"},
    45 {"hash":252071146,"name":"tformcontact.label34.caption","sourcebytes":[80,111,115,116,32,111,102,102,105,99,101,32,98,111,120,58],"value":"Post office box:"},
    46 {"hash":116835754,"name":"tformcontact.label35.caption","sourcebytes":[69,120,116,101,110,100,101,100,32,115,116,114,101,101,116,58],"value":"Extended street:"},
     48{"hash":91186314,"name":"tformcontact.label15.caption","sourcebytes":[80,104,111,110,101,58],"value":"Phone:"},
     49{"hash":313530,"name":"tformcontact.label16.caption","sourcebytes":[70,97,120,58],"value":"Fax:"},
     50{"hash":90692698,"name":"tformcontact.label17.caption","sourcebytes":[80,97,103,101,114,58],"value":"Pager:"},
     51{"hash":72942298,"name":"tformcontact.label19.caption","sourcebytes":[77,111,98,105,108,101,58],"value":"Mobile:"},
     52{"hash":138641338,"name":"tformcontact.label8.caption","sourcebytes":[69,45,109,97,105,108,58],"value":"E-mail:"},
     53{"hash":90893459,"name":"tformcontact.tabsheetothers.caption","sourcebytes":[79,116,104,101,114,115],"value":"Others"},
     54{"hash":89566314,"name":"tformcontact.label6.caption","sourcebytes":[78,111,116,101,115,58],"value":"Notes:"},
    4755{"hash":113983571,"name":"tformcontact.tabsheetall.caption","sourcebytes":[65,108,108,32,102,105,101,108,100,115],"value":"All fields"},
    4856{"hash":77089212,"name":"tformcontact.buttoncancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
  • trunk/Forms/UFormContact.pas

    r39 r40  
    1818    ButtonCancel: TButton;
    1919    ButtonOk: TButton;
    20     EditAddressHomeCity: TEdit;
    21     EditAddressHomeCountry: TEdit;
    22     EditAddressHomePostalCode: TEdit;
    23     EditAddressHomePostOfficeBox: TEdit;
    24     EditAddressHomeRegion: TEdit;
    25     EditAddressHomeStreetExtended: TEdit;
    26     EditAddressWorkStreet: TEdit;
     20    EditHomeAddressCity: TEdit;
     21    EditHomeAddressCountry: TEdit;
     22    EditHomeAddressPostalCode: TEdit;
     23    EditHomeAddressPostOfficeBox: TEdit;
     24    EditHomeAddressRegion: TEdit;
     25    EditHomeAddressStreet: TEdit;
     26    EditHomeAddressStreetExtended: TEdit;
    2727    EditAddressWorkCity: TEdit;
    28     EditAddressWorkRegion: TEdit;
    2928    EditAddressWorkCountry: TEdit;
    30     EditAddressHomeStreet: TEdit;
    31     EditWebWork: TEdit;
    3229    EditAddressWorkPostalCode: TEdit;
    3330    EditAddressWorkPostOfficeBox: TEdit;
     31    EditAddressWorkRegion: TEdit;
     32    EditAddressWorkStreet: TEdit;
    3433    EditAddressWorkStreetExtended: TEdit;
     34    EditAniversary: TEdit;
     35    EditWorkEmail: TEdit;
     36    EditPager: TEdit;
     37    EditFax: TEdit;
     38    EditWeb: TEdit;
     39    EditHomeFax: TEdit;
     40    EditWorkFax: TEdit;
     41    EditHomeMobile: TEdit;
     42    EditWorkMobile: TEdit;
     43    EditWorkPager: TEdit;
     44    EditHomePhone: TEdit;
     45    EditNickName: TEdit;
     46    EditHomePager: TEdit;
     47    EditHomeEmail: TEdit;
     48    EditHomeWeb: TEdit;
     49    EditWorkWeb: TEdit;
    3550    EditDepartment: TEdit;
    3651    EditFullName: TEdit;
     
    4055    EditMiddleName: TEdit;
    4156    EditTitleAfter: TEdit;
    42     EditEmailHome: TEdit;
    43     EditEmailWork: TEdit;
    4457    EditBirthday: TEdit;
    45     EditPhoneHome: TEdit;
    46     EditPhoneWork: TEdit;
    47     EditCellPhoneHome: TEdit;
    48     EditCellPhoneWork: TEdit;
    49     EditFax: TEdit;
    50     EditFaxHome: TEdit;
    51     EditFaxWork: TEdit;
    52     EditPager: TEdit;
    5358    EditLastName: TEdit;
    5459    EditEmail: TEdit;
    5560    EditPhone: TEdit;
    5661    EditFirstName: TEdit;
    57     EditCellPhone: TEdit;
    58     EditWebHome: TEdit;
     62    EditMobile: TEdit;
     63    EditWorkPhone: TEdit;
     64    GroupBox1: TGroupBox;
     65    GroupBox2: TGroupBox;
    5966    ImagePhoto: TImage;
    6067    Label1: TLabel;
     
    6471    Label13: TLabel;
    6572    Label14: TLabel;
     73    Label15: TLabel;
     74    Label16: TLabel;
     75    Label17: TLabel;
    6676    Label18: TLabel;
     77    Label19: TLabel;
    6778    Label2: TLabel;
    68     Label20: TLabel;
    69     Label21: TLabel;
    7079    Label22: TLabel;
    7180    Label23: TLabel;
     
    92101    Label42: TLabel;
    93102    Label43: TLabel;
     103    Label44: TLabel;
     104    Label45: TLabel;
     105    Label46: TLabel;
    94106    Label5: TLabel;
    95107    Label6: TLabel;
     
    103115    PageControlContact: TPageControl;
    104116    PopupMenu1: TPopupMenu;
     117    TabSheetOthers: TTabSheet;
     118    TabSheetHome: TTabSheet;
    105119    TabSheetWork: TTabSheet;
    106120    TabSheetGeneral: TTabSheet;
    107     TabSheetPrivate: TTabSheet;
    108121    TabSheetAll: TTabSheet;
    109122    procedure ButtonOkClick(Sender: TObject);
     
    215228  FormProperties.Properties := Contact.Properties;
    216229
     230  // General
    217231  EditFullName.Text := Contact.Fields[cfFullName];
    218232  EditFirstName.Text := Contact.Fields[cfFirstName];
     
    221235  EditTitleAfter.Text := Contact.Fields[cfTitleAfter];
    222236  EditTitleBefore.Text := Contact.Fields[cfTitleBefore];
    223   EditCellPhone.Text := Contact.Fields[cfTelCell];
    224   EditPhoneHome.Text := Contact.Fields[cfTelHome];
    225   EditPhoneWork.Text := Contact.Fields[cfTelWork];
     237  EditNickName.Text := Contact.Fields[cfNickName];
    226238  EditEmail.Text := Contact.Fields[cfEmail];
    227   MemoNotes.Lines.Text := Contact.Fields[cfNote];
     239  EditPhone.Text := Contact.Fields[cfTel];
     240  EditMobile.Text := Contact.Fields[cfTelCell];
     241  EditFax.Text := Contact.Fields[cfTelFax];
     242  EditPager.Text := Contact.Fields[cfTelPager];
     243  EditBirthday.Text := Contact.Fields[cfDayOfBirth];
     244  EditAniversary.Text := Contact.Fields[cfAnniversary];
     245  EditWeb.Text := Contact.Fields[cfUrl];
     246
     247  // Home
     248  EditHomeEmail.Text := Contact.Fields[cfEmailHome];
     249  EditHomePhone.Text := Contact.Fields[cfTelHome];
     250  EditHomeMobile.Text := Contact.Fields[cfTelCellHome];
     251  EditHomeFax.Text := Contact.Fields[cfTelFaxHome];
     252  EditHomePager.Text := Contact.Fields[cfTelPagerHome];
     253  EditHomeAddressPostOfficeBox.Text := Contact.Fields[cfHomeAddressPostOfficeBox];
     254  EditHomeAddressStreet.Text := Contact.Fields[cfHomeAddressStreet];
     255  EditHomeAddressStreetExtended.Text := Contact.Fields[cfHomeAddressStreetExtended];
     256  EditHomeAddressCity.Text := Contact.Fields[cfHomeAddressCity];
     257  EditHomeAddressRegion.Text := Contact.Fields[cfHomeAddressRegion];
     258  EditHomeAddressCountry.Text := Contact.Fields[cfHomeAddressCountry];
     259  EditHomeAddressPostalCode.Text := Contact.Fields[cfHomeAddressPostalCode];
     260  EditHomeWeb.Text := Contact.Fields[cfUrlHome];
    228261
    229262  // Work
     263  EditWorkEmail.Text := Contact.Fields[cfEmailWork];
     264  EditWorkPhone.Text := Contact.Fields[cfTelWork];
     265  EditWorkMobile.Text := Contact.Fields[cfTelCellWork];
     266  EditWorkFax.Text := Contact.Fields[cfTelFaxWork];
     267  EditWorkPager.Text := Contact.Fields[cfTelPagerWork];
    230268  EditTitle.Text := Contact.Fields[cfTitle];
    231269  EditOrganization.Text := Contact.Fields[cfOrganization];
     
    238276  EditAddressWorkCountry.Text := Contact.Fields[cfWorkAddressCountry];
    239277  EditAddressWorkPostalCode.Text := Contact.Fields[cfWorkAddressPostalCode];
    240   EditWebHome.Text := Contact.Fields[cfUrlWork];
    241 
    242   // Private
    243   EditAddressHomePostOfficeBox.Text := Contact.Fields[cfHomeAddressPostOfficeBox];
    244   EditAddressHomeStreet.Text := Contact.Fields[cfHomeAddressStreet];
    245   EditAddressHomeStreetExtended.Text := Contact.Fields[cfHomeAddressStreetExtended];
    246   EditAddressHomeCity.Text := Contact.Fields[cfHomeAddressCity];
    247   EditAddressHomeRegion.Text := Contact.Fields[cfHomeAddressRegion];
    248   EditAddressHomeCountry.Text := Contact.Fields[cfHomeAddressCountry];
    249   EditAddressHomePostalCode.Text := Contact.Fields[cfHomeAddressPostalCode];
    250   EditWebHome.Text := Contact.Fields[cfUrlHome];
    251   EditBirthday.Text := Contact.Fields[cfDayOfBirth];
    252 
    253   EditEmailHome.Text := Contact.Fields[cfEmail];
     278  EditWorkWeb.Text := Contact.Fields[cfUrlWork];
     279
     280  // Others
     281  MemoNotes.Lines.Text := Contact.Fields[cfNote];
     282
    254283  ImagePhoto.Picture.Bitmap.Clear;
    255284  PhotoProperty := Contact.GetProperty(cfPhoto);
     
    288317procedure TFormContact.SaveData;
    289318begin
     319  // General
    290320  Contact.Fields[cfFullName] := EditFullName.Text;
    291321  Contact.Fields[cfMiddleName] := EditMiddleName.Text;
     
    294324  Contact.Fields[cfTitleAfter] := EditTitleAfter.Text;
    295325  Contact.Fields[cfTitleBefore] := EditTitleBefore.Text;
    296   Contact.Fields[cfTelCell] := EditCellPhone.Text;
    297   Contact.Fields[cfTelHome] := EditPhoneHome.Text;
    298   Contact.Fields[cfTelWork] := EditPhoneWork.Text;
     326  Contact.Fields[cfNickName] := EditNickName.Text;
    299327  Contact.Fields[cfEmail] := EditEmail.Text;
    300   Contact.Fields[cfNote] := MemoNotes.Lines.Text;
    301   Contact.Fields[cfEmail] := EditEmailHome.Text;
     328  Contact.Fields[cfTel] := EditPhone.Text;
     329  Contact.Fields[cfTelCell] := EditMobile.Text;
     330  Contact.Fields[cfTelFax] := EditFax.Text;
     331  Contact.Fields[cfTelPager] := EditPager.Text;
    302332  Contact.Fields[cfDayOfBirth] := EditBirthday.Text;
     333  Contact.Fields[cfAnniversary] := EditAniversary.Text;
     334  Contact.Fields[cfUrl] := EditWeb.Text;
     335
     336  // Home
     337  Contact.Fields[cfEmailHome] := EditHomeEmail.Text;
     338  Contact.Fields[cfTelHome] := EditHomePhone.Text;
     339  Contact.Fields[cfTelCellHome] := EditHomeMobile.Text;
     340  Contact.Fields[cfTelFaxHome] := EditHomeFax.Text;
     341  Contact.Fields[cfTelPagerHome] := EditHomePager.Text;
     342  Contact.Fields[cfHomeAddressPostOfficeBox] := EditHomeAddressPostOfficeBox.Text;
     343  Contact.Fields[cfHomeAddressStreet] := EditHomeAddressStreet.Text;
     344  Contact.Fields[cfHomeAddressStreetExtended] := EditHomeAddressStreetExtended.Text;
     345  Contact.Fields[cfHomeAddressCity] := EditHomeAddressCity.Text;
     346  Contact.Fields[cfHomeAddressRegion] := EditHomeAddressRegion.Text;
     347  Contact.Fields[cfHomeAddressCountry] := EditHomeAddressCountry.Text;
     348  Contact.Fields[cfHomeAddressPostalCode] := EditHomeAddressPostalCode.Text;
     349  Contact.Fields[cfUrlHome] := EditHomeWeb.Text;
    303350
    304351  // Work
     352  Contact.Fields[cfEmailWork] := EditWorkEmail.Text;
     353  Contact.Fields[cfTelWork] := EditWorkPhone.Text;
     354  Contact.Fields[cfTelCellWork] := EditWorkMobile.Text;
     355  Contact.Fields[cfTelFaxWork] := EditWorkFax.Text;
     356  Contact.Fields[cfTelPagerWork] := EditWorkPager.Text;
    305357  Contact.Fields[cfTitle] := EditTitle.Text;
    306358  Contact.Fields[cfOrganization] := EditOrganization.Text;
     
    313365  Contact.Fields[cfWorkAddressCountry] := EditAddressWorkCountry.Text;
    314366  Contact.Fields[cfWorkAddressPostalCode] := EditAddressWorkPostalCode.Text;
    315   Contact.Fields[cfUrlWork] := EditWebWork.Text;
    316 
    317   // Private
    318   Contact.Fields[cfHomeAddressPostOfficeBox] := EditAddressHomePostOfficeBox.Text;
    319   Contact.Fields[cfHomeAddressStreet] := EditAddressHomeStreet.Text;
    320   Contact.Fields[cfHomeAddressStreetExtended] := EditAddressHomeStreetExtended.Text;
    321   Contact.Fields[cfHomeAddressCity] := EditAddressHomeCity.Text;
    322   Contact.Fields[cfHomeAddressRegion] := EditAddressHomeRegion.Text;
    323   Contact.Fields[cfHomeAddressCountry] := EditAddressHomeCountry.Text;
    324   Contact.Fields[cfHomeAddressPostalCode] := EditAddressHomePostalCode.Text;
    325   Contact.Fields[cfUrlHome] := EditWebHome.Text;
     367  Contact.Fields[cfUrlWork] := EditWorkWeb.Text;
     368
     369  // Others
     370  Contact.Fields[cfNote] := MemoNotes.Lines.Text;
    326371end;
    327372
  • trunk/Languages/vCardStudio.cs.po

    r39 r40  
    9292msgstr "Kontakt"
    9393
     94#: tformcontact.groupbox1.caption
     95msgctxt "tformcontact.groupbox1.caption"
     96msgid "Address"
     97msgstr "Adresa"
     98
     99#: tformcontact.groupbox2.caption
     100msgctxt "tformcontact.groupbox2.caption"
     101msgid "Address"
     102msgstr "Adresa"
     103
    94104#: tformcontact.label1.caption
    95105msgid "First name:"
     
    98108#: tformcontact.label10.caption
    99109msgctxt "tformcontact.label10.caption"
    100 msgid "Cell phone (Work):"
    101 msgstr "Mobil (Práce):"
     110msgid "Pager:"
     111msgstr "Pager:"
    102112
    103113#: tformcontact.label11.caption
     114msgctxt "tformcontact.label11.caption"
    104115msgid "Fax:"
    105116msgstr "Fax:"
    106117
    107118#: tformcontact.label12.caption
    108 msgid "Fax (Home):"
    109 msgstr "Fax (Domov):"
     119msgctxt "tformcontact.label12.caption"
     120msgid "Mobile:"
     121msgstr "Mobil:"
    110122
    111123#: tformcontact.label13.caption
    112 msgid "Fax (Work):"
    113 msgstr "Fax (Práce):"
     124msgctxt "tformcontact.label13.caption"
     125msgid "Phone:"
     126msgstr "Telefon:"
    114127
    115128#: tformcontact.label14.caption
     129msgctxt "tformcontact.label14.caption"
     130msgid "Pager:"
     131msgstr "Pager:"
     132
     133#: tformcontact.label15.caption
     134msgctxt "tformcontact.label15.caption"
     135msgid "Phone:"
     136msgstr "Telefon:"
     137
     138#: tformcontact.label16.caption
     139msgctxt "tformcontact.label16.caption"
     140msgid "Fax:"
     141msgstr "Fax:"
     142
     143#: tformcontact.label17.caption
     144msgctxt "tformcontact.label17.caption"
    116145msgid "Pager:"
    117146msgstr "Pager:"
     
    121150msgstr "Titul:"
    122151
     152#: tformcontact.label19.caption
     153msgctxt "tformcontact.label19.caption"
     154msgid "Mobile:"
     155msgstr "Mobil:"
     156
    123157#: tformcontact.label2.caption
    124 msgid "Cell phone:"
    125 msgstr "Mobilní číslo:"
    126 
    127 #: tformcontact.label20.caption
    128 msgid "E-mail (Home):"
    129 msgstr "E-mail (Domov):"
    130 
    131 #: tformcontact.label21.caption
    132 msgid "E-mail (Work):"
    133 msgstr "E-mail (Práce):"
     158msgctxt "tformcontact.label2.caption"
     159msgid "Mobile:"
     160msgstr "Mobil:"
    134161
    135162#: tformcontact.label22.caption
     
    168195
    169196#: tformcontact.label3.caption
     197msgctxt "tformcontact.label3.caption"
    170198msgid "Phone:"
    171199msgstr "Telefon:"
     
    222250
    223251#: tformcontact.label4.caption
     252msgctxt "tformcontact.label4.caption"
    224253msgid "E-mail:"
    225254msgstr "E-mail:"
     
    245274msgstr "Číslo schránky:"
    246275
     276#: tformcontact.label44.caption
     277msgid "Nickname:"
     278msgstr "Přezdívka:"
     279
     280#: tformcontact.label45.caption
     281msgid "Anniversary:"
     282msgstr "Výročí:"
     283
     284#: tformcontact.label46.caption
     285msgctxt "tformcontact.label46.caption"
     286msgid "Web address:"
     287msgstr "Webová adresa:"
     288
    247289#: tformcontact.label5.caption
    248290msgid "Last name"
     
    254296
    255297#: tformcontact.label7.caption
    256 msgid "Phone (Home):"
    257 msgstr "Telefon (Domov):"
     298msgctxt "tformcontact.label7.caption"
     299msgid "E-mail:"
     300msgstr "E-mail:"
    258301
    259302#: tformcontact.label8.caption
    260 msgid "Phone (Work):"
    261 msgstr "Telefon (Práce):"
     303msgctxt "tformcontact.label8.caption"
     304msgid "E-mail:"
     305msgstr "E-mail:"
    262306
    263307#: tformcontact.label9.caption
    264 msgid "Cell phone (Home):"
    265 msgstr "Mobil (Domov):"
     308msgctxt "tformcontact.label9.caption"
     309msgid "Fax:"
     310msgstr "Fax:"
    266311
    267312#: tformcontact.labelorganization.caption
     
    281326msgstr "Obecné"
    282327
    283 #: tformcontact.tabsheetprivate.caption
    284 msgid "Private"
    285 msgstr "Soukromé"
     328#: tformcontact.tabsheethome.caption
     329msgid "Home"
     330msgstr "Domov"
     331
     332#: tformcontact.tabsheetothers.caption
     333msgid "Others"
     334msgstr "Ostatní"
    286335
    287336#: tformcontact.tabsheetwork.caption
     
    525574msgstr "DPI:"
    526575
     576#: ucontact.sanniversary
     577msgid "Anniversary"
     578msgstr "Výročí"
     579
    527580#: ucontact.scategories
    528581msgid "Categories"
    529582msgstr "Kategorie"
    530583
    531 #: ucontact.scellphone
    532 msgctxt "ucontact.scellphone"
    533 msgid "Cell phone"
    534 msgstr "Mobilní telefon"
    535 
    536584#: ucontact.sdayofbirth
    537585msgid "Day of birth"
     
    545593msgid "E-mail"
    546594msgstr "E-mail"
     595
     596#: ucontact.sfax
     597msgid "Fax"
     598msgstr ""
    547599
    548600#: ucontact.sfieldindexnotdefined
     
    596648
    597649#: ucontact.shomeemail
    598 msgid "Home Email"
    599 msgstr "Domácí email"
     650msgid "Home E-mail"
     651msgstr "Domácí E-mail"
     652
     653#: ucontact.shomefax
     654msgid "Home fax"
     655msgstr ""
     656
     657#: ucontact.shomemobile
     658msgid "Home mobile"
     659msgstr ""
     660
     661#: ucontact.shomepager
     662msgid "Home pager"
     663msgstr ""
    600664
    601665#: ucontact.shomephone
     
    609673
    610674#: ucontact.sinternetemail
    611 msgid "Internet Email"
    612 msgstr "Internetová email"
     675msgid "Internet E-mail"
     676msgstr "Internetový E-mail"
    613677
    614678#: ucontact.sjabber
     
    633697msgstr "Prostřední jméno"
    634698
     699#: ucontact.smobilephone
     700msgid "Mobile phone"
     701msgstr ""
     702
    635703#: ucontact.snickname
    636 msgid "Nick Name"
     704msgid "Nick name"
    637705msgstr "Přezdívka"
    638706
     
    645713msgstr "Organizace"
    646714
     715#: ucontact.spager
     716msgid "Pager"
     717msgstr ""
     718
    647719#: ucontact.sphoto
    648720msgid "Photo"
     
    680752msgid "Unique identifier"
    681753msgstr "Unikátní identifikátor"
    682 
    683 #: ucontact.sunknowncommand
    684 msgid "Unknown command: %s"
    685 msgstr "Neznámý příkaz: %s"
    686 
    687 #: ucontact.sunsupportedcontactfieldsindex
    688 msgid "Unsupported contact field index"
    689 msgstr "Nepodporovaný index pole kontaktu"
    690754
    691755#: ucontact.svcardfile
     
    698762msgstr "VoIP telefon"
    699763
     764#: ucontact.swebaddress
     765msgid "Web address"
     766msgstr ""
     767
    700768#: ucontact.swebaddresshome
    701769msgid "Web address home"
     
    733801msgid "Work address extended street"
    734802msgstr "Pracovní adresa rozšířená ulice"
     803
     804#: ucontact.sworkemail
     805msgid "Work E-mail"
     806msgstr ""
     807
     808#: ucontact.sworkfax
     809msgid "Work fax"
     810msgstr ""
     811
     812#: ucontact.sworkmobile
     813msgid "Work mobile"
     814msgstr ""
     815
     816#: ucontact.sworkpager
     817msgid "Work pager"
     818msgstr ""
    735819
    736820#: ucontact.sworkphone
  • trunk/Languages/vCardStudio.po

    r39 r40  
    8282msgstr ""
    8383
     84#: tformcontact.groupbox1.caption
     85msgctxt "tformcontact.groupbox1.caption"
     86msgid "Address"
     87msgstr ""
     88
     89#: tformcontact.groupbox2.caption
     90msgctxt "tformcontact.groupbox2.caption"
     91msgid "Address"
     92msgstr ""
     93
    8494#: tformcontact.label1.caption
    8595msgid "First name:"
     
    8797
    8898#: tformcontact.label10.caption
    89 msgid "Cell phone (Work):"
     99msgctxt "tformcontact.label10.caption"
     100msgid "Pager:"
    90101msgstr ""
    91102
    92103#: tformcontact.label11.caption
     104msgctxt "tformcontact.label11.caption"
    93105msgid "Fax:"
    94106msgstr ""
    95107
    96108#: tformcontact.label12.caption
    97 msgid "Fax (Home):"
     109msgctxt "tformcontact.label12.caption"
     110msgid "Mobile:"
    98111msgstr ""
    99112
    100113#: tformcontact.label13.caption
    101 msgid "Fax (Work):"
     114msgctxt "tformcontact.label13.caption"
     115msgid "Phone:"
    102116msgstr ""
    103117
    104118#: tformcontact.label14.caption
     119msgctxt "tformcontact.label14.caption"
     120msgid "Pager:"
     121msgstr ""
     122
     123#: tformcontact.label15.caption
     124msgctxt "tformcontact.label15.caption"
     125msgid "Phone:"
     126msgstr ""
     127
     128#: tformcontact.label16.caption
     129msgctxt "tformcontact.label16.caption"
     130msgid "Fax:"
     131msgstr ""
     132
     133#: tformcontact.label17.caption
     134msgctxt "tformcontact.label17.caption"
    105135msgid "Pager:"
    106136msgstr ""
     
    110140msgstr ""
    111141
     142#: tformcontact.label19.caption
     143msgctxt "tformcontact.label19.caption"
     144msgid "Mobile:"
     145msgstr ""
     146
    112147#: tformcontact.label2.caption
    113 msgid "Cell phone:"
    114 msgstr ""
    115 
    116 #: tformcontact.label20.caption
    117 msgid "E-mail (Home):"
    118 msgstr ""
    119 
    120 #: tformcontact.label21.caption
    121 msgid "E-mail (Work):"
     148msgctxt "tformcontact.label2.caption"
     149msgid "Mobile:"
    122150msgstr ""
    123151
     
    157185
    158186#: tformcontact.label3.caption
     187msgctxt "tformcontact.label3.caption"
    159188msgid "Phone:"
    160189msgstr ""
     
    211240
    212241#: tformcontact.label4.caption
     242msgctxt "tformcontact.label4.caption"
    213243msgid "E-mail:"
    214244msgstr ""
     
    234264msgstr ""
    235265
     266#: tformcontact.label44.caption
     267msgid "Nickname:"
     268msgstr ""
     269
     270#: tformcontact.label45.caption
     271msgid "Anniversary:"
     272msgstr ""
     273
     274#: tformcontact.label46.caption
     275msgctxt "tformcontact.label46.caption"
     276msgid "Web address:"
     277msgstr ""
     278
    236279#: tformcontact.label5.caption
    237280msgid "Last name"
     
    243286
    244287#: tformcontact.label7.caption
    245 msgid "Phone (Home):"
     288msgctxt "tformcontact.label7.caption"
     289msgid "E-mail:"
    246290msgstr ""
    247291
    248292#: tformcontact.label8.caption
    249 msgid "Phone (Work):"
     293msgctxt "tformcontact.label8.caption"
     294msgid "E-mail:"
    250295msgstr ""
    251296
    252297#: tformcontact.label9.caption
    253 msgid "Cell phone (Home):"
     298msgctxt "tformcontact.label9.caption"
     299msgid "Fax:"
    254300msgstr ""
    255301
     
    270316msgstr ""
    271317
    272 #: tformcontact.tabsheetprivate.caption
    273 msgid "Private"
     318#: tformcontact.tabsheethome.caption
     319msgid "Home"
     320msgstr ""
     321
     322#: tformcontact.tabsheetothers.caption
     323msgid "Others"
    274324msgstr ""
    275325
     
    512562msgstr ""
    513563
     564#: ucontact.sanniversary
     565msgid "Anniversary"
     566msgstr ""
     567
    514568#: ucontact.scategories
    515569msgid "Categories"
    516570msgstr ""
    517571
    518 #: ucontact.scellphone
    519 msgctxt "ucontact.scellphone"
    520 msgid "Cell phone"
    521 msgstr ""
    522 
    523572#: ucontact.sdayofbirth
    524573msgid "Day of birth"
     
    531580#: ucontact.semail
    532581msgid "E-mail"
     582msgstr ""
     583
     584#: ucontact.sfax
     585msgid "Fax"
    533586msgstr ""
    534587
     
    583636
    584637#: ucontact.shomeemail
    585 msgid "Home Email"
     638msgid "Home E-mail"
     639msgstr ""
     640
     641#: ucontact.shomefax
     642msgid "Home fax"
     643msgstr ""
     644
     645#: ucontact.shomemobile
     646msgid "Home mobile"
     647msgstr ""
     648
     649#: ucontact.shomepager
     650msgid "Home pager"
    586651msgstr ""
    587652
     
    596661
    597662#: ucontact.sinternetemail
    598 msgid "Internet Email"
     663msgid "Internet E-mail"
    599664msgstr ""
    600665
     
    620685msgstr ""
    621686
     687#: ucontact.smobilephone
     688msgid "Mobile phone"
     689msgstr ""
     690
    622691#: ucontact.snickname
    623 msgid "Nick Name"
     692msgid "Nick name"
    624693msgstr ""
    625694
     
    632701msgstr ""
    633702
     703#: ucontact.spager
     704msgid "Pager"
     705msgstr ""
     706
    634707#: ucontact.sphoto
    635708msgid "Photo"
     
    666739#: ucontact.suniqueidentifier
    667740msgid "Unique identifier"
    668 msgstr ""
    669 
    670 #: ucontact.sunknowncommand
    671 msgid "Unknown command: %s"
    672 msgstr ""
    673 
    674 #: ucontact.sunsupportedcontactfieldsindex
    675 msgid "Unsupported contact field index"
    676741msgstr ""
    677742
     
    685750msgstr ""
    686751
     752#: ucontact.swebaddress
     753msgid "Web address"
     754msgstr ""
     755
    687756#: ucontact.swebaddresshome
    688757msgid "Web address home"
     
    719788#: ucontact.sworkaddressstreetextended
    720789msgid "Work address extended street"
     790msgstr ""
     791
     792#: ucontact.sworkemail
     793msgid "Work E-mail"
     794msgstr ""
     795
     796#: ucontact.sworkfax
     797msgid "Work fax"
     798msgstr ""
     799
     800#: ucontact.sworkmobile
     801msgid "Work mobile"
     802msgstr ""
     803
     804#: ucontact.sworkpager
     805msgid "Work pager"
    721806msgstr ""
    722807
  • trunk/UContact.pas

    r39 r40  
    1616
    1717  TContactFieldIndex = (cfFirstName, cfMiddleName, cfLastName, cfTitleBefore,
    18     cfTitleAfter, cfFullName, cfTelCell, cfTelHome, cfTelHome2, cfTelWork, cfTelVoip,
    19     cfTelMain, cfEmail, cfTel, cfUid, cfUrlHome, cfUrlWork,
    20     cfEmailHome, cfEmailInternet, cfNickName, cfNote, cfRole, cfTitle,
     18    cfTitleAfter, cfFullName,
     19    cfTel, cfTelCell, cfTelFax, cfTelPager, cfTelHome2, cfTelVoip, cfTelMain,
     20    cfTelHome, cfTelCellHome, cfTelFaxHome, cfTelPagerHome,
     21    cfTelWork, cfTelCellWork, cfTelFaxWork, cfTelPagerWork,
     22    cfEmail, cfUid, cfUrl, cfUrlHome, cfUrlWork,
     23    cfEmailHome, cfEmailWork, cfEmailInternet, cfNickName, cfNote, cfRole, cfTitle,
    2124    cfCategories, cfOrganization, cfDepartment,
    2225    cfHomeAddressStreet, cfHomeAddressStreetExtended, cfHomeAddressCity, cfHomeAddressCountry,
     
    2528    cfWorkAddressPostalCode, cfWorkAddressRegion, cfWorkAddressPostOfficeBox,
    2629    cfXTimesContacted, cfXLastTimeContacted, cfPhoto, cfXJabber, cfDayOfBirth, cfRevision,
    27     cfVersion);
     30    cfVersion, cfAnniversary);
    2831
    2932  TContactField = class
    3033    SysName: string;
    3134    Groups: TStringArray;
     35    NoGroups: TStringArray;
    3236    Title: string;
    3337    Index: TContactFieldIndex;
     
    3943
    4044  TContactFields = class(TFPGObjectList<TContactField>)
    41     function AddNew(Name: string; Groups: array of string; Title: string; Index: TContactFieldIndex; DataType:
     45    function AddNew(Name: string; Groups: array of string; NoGroups: array of string;
     46      Title: string; Index: TContactFieldIndex; DataType:
    4247      TDataType; ValueIndex: Integer = -1): TContactField;
    4348    function GetByIndex(Index: TContactFieldIndex): TContactField;
     
    5560    procedure EvaluateAttributes;
    5661    function GetDecodedValue: string;
    57     function MatchNameGroups(AName: string; Groups: TStringArray): Boolean;
     62    function MatchNameGroups(AName: string; Groups: TStringArray;
     63      NoGroups: TStringArray): Boolean;
    5864    procedure Assign(Source: TContactProperty);
    5965    constructor Create;
     
    6672    procedure AssignToList(List: TFPGObjectList<TObject>);
    6773    function GetByName(Name: string): TContactProperty;
    68     function GetByNameGroups(Name: string; Groups: TStringArray): TContactProperty;
    69     function GetByNameGroupsMultiple(Name: string; Groups: TStringArray): TContactProperties;
     74    function GetByNameGroups(Name: string; Groups: TStringArray;
     75      NoGroups: TStringArray): TContactProperty;
     76    function GetByNameGroupsMultiple(Name: string; Groups: TStringArray;
     77      NoGroups: TStringArray): TContactProperties;
    7078  end;
    7179
     
    126134resourcestring
    127135  SVCardFile = 'vCard file';
    128   SUnsupportedContactFieldsIndex = 'Unsupported contact field index';
    129   SUnknownCommand = 'Unknown command: %s';
    130136  SFoundPropertiesBeforeBlockStart = 'Found properties before the start of block';
    131137  SFoundBlockEndWithoutBlockStart = 'Found block end without block start';
     
    138144  SFullName = 'Full Name';
    139145  STelephone = 'Telephone';
    140   SCellPhone = 'Cell phone';
     146  SMobilePhone = 'Mobile phone';
     147  SPager = 'Pager';
     148  SFax = 'Fax';
    141149  SHomePhone = 'Home phone';
     150  SHomeMobile = 'Home mobile';
     151  SHomeFax = 'Home fax';
     152  SHomePager = 'Home pager';
     153  SWorkPhone = 'Work phone';
     154  SWorkFax = 'Work fax';
     155  SWorkPager = 'Work pager';
     156  SWorkMobile = 'Work mobile';
    142157  SHomePhone2 = 'Home phone 2';
    143   SWorkPhone = 'Work phone';
    144158  SVoipPhone = 'VoIP phone';
    145159  SMainPhone = 'Main phone';
    146160  SEmail = 'E-mail';
    147   SHomeEmail = 'Home Email';
    148   SInternetEmail = 'Internet Email';
    149   SNickName = 'Nick Name';
     161  SHomeEmail = 'Home E-mail';
     162  SWorkEmail = 'Work E-mail';
     163  SInternetEmail = 'Internet E-mail';
     164  SNickName = 'Nick name';
    150165  SNote = 'Note';
    151166  SRole = 'Role';
     
    173188  SJabber = 'Jabber';
    174189  SDayOfBirth = 'Day of birth';
     190  SAnniversary = 'Anniversary';
    175191  SRevision = 'Revision';
    176192  SUniqueIdentifier = 'Unique identifier';
     193  SWebAddress = 'Web address';
    177194  SWebAddressHome = 'Web address home';
    178195  SWebAddressWork = 'Web address work';
     
    223240end;
    224241
    225 function TContactProperties.GetByNameGroups(Name: string; Groups: TStringArray
    226   ): TContactProperty;
     242function TContactProperties.GetByNameGroups(Name: string; Groups: TStringArray;
     243  NoGroups: TStringArray): TContactProperty;
    227244var
    228245  I: Integer;
    229246begin
    230247  I := 0;
    231   while (I < Count) and not Items[I].MatchNameGroups(Name, Groups) do Inc(I);
     248  while (I < Count) and not Items[I].MatchNameGroups(Name, Groups, NoGroups) do Inc(I);
    232249  if I < Count then Result := Items[I]
    233250    else Result := nil;
     
    235252
    236253function TContactProperties.GetByNameGroupsMultiple(Name: string;
    237   Groups: TStringArray): TContactProperties;
     254  Groups: TStringArray; NoGroups: TStringArray): TContactProperties;
    238255var
    239256  I: Integer;
     
    241258  Result := TContactProperties.Create(False);
    242259  for I := 0 to Count - 1 do
    243   if Items[I].MatchNameGroups(Name, Groups) then
     260  if Items[I].MatchNameGroups(Name, Groups, NoGroups) then
    244261    Result.Add(Items[I]);
    245262end;
     
    283300end;
    284301
    285 function TContactProperty.MatchNameGroups(AName: string; Groups: TStringArray
    286   ): Boolean;
    287 var
    288   I: Integer;
    289 begin
     302function TContactProperty.MatchNameGroups(AName: string; Groups: TStringArray;
     303  NoGroups: TStringArray): Boolean;
     304var
     305  I: Integer;
     306  Attr: string;
     307begin
     308  Attr := Attributes.DelimitedText;
    290309  Result := Name = AName;
    291   if Result then begin
     310  if Result and (Length(Groups) > 0) then begin
    292311    for I := 0 to Length(Groups) - 1 do
    293       if Attributes.IndexOf(Groups[I]) = -1 then begin
     312      if (Attributes.IndexOf(Groups[I]) = -1) and
     313      (Attributes.IndexOf('TYPE=' + Groups[I]) = -1) then begin
     314        Result := False;
     315        Break;
     316      end;
     317  end;
     318  if Result and (Length(NoGroups) > 0) then begin
     319    for I := 0 to Length(NoGroups) - 1 do
     320      if (Attributes.IndexOf(NoGroups[I]) <> -1) or
     321      (Attributes.IndexOf('TYPE=' + NoGroups[I]) <> -1) then begin
    294322        Result := False;
    295323        Break;
     
    368396{ TContactFields }
    369397
    370 function TContactFields.AddNew(Name: string; Groups: array of string; Title: string; Index: TContactFieldIndex;
     398function TContactFields.AddNew(Name: string; Groups: array of string;
     399  NoGroups: array of string; Title: string; Index: TContactFieldIndex;
    371400  DataType: TDataType; ValueIndex: Integer = -1): TContactField;
    372401var
     
    378407  for I := 0 to Length(Groups) - 1 do
    379408    Result.Groups[I] := Groups[I];
     409  SetLength(Result.NoGroups, Length(NoGroups));
     410  for I := 0 to Length(NoGroups) - 1 do
     411    Result.NoGroups[I] := NoGroups[I];
    380412  Result.Title := Title;
    381413  Result.Index := Index;
     
    431463  Field := Parent.Fields.GetByIndex(Index);
    432464  if Assigned(Field) then begin
    433     Prop := Properties.GetByNameGroups(Field.SysName, Field.Groups);
    434     if not Assigned(Prop) then begin
     465    Prop := Properties.GetByNameGroups(Field.SysName, Field.Groups, Field.NoGroups);
     466    if (not Assigned(Prop)) and (AValue <> '') then begin
    435467      Prop := TContactProperty.Create;
    436468      Prop.Name := Field.SysName;
     
    439471      Properties.Add(Prop);
    440472    end;
    441     if Field.ValueIndex <> -1 then begin
    442       while Prop.Values.Count <= Field.ValueIndex do Prop.Values.Add('');
    443       Prop.Values.Strings[Field.ValueIndex] := AValue
    444     end else Prop.Values.DelimitedText := AValue;
     473    if Assigned(Prop) then begin
     474      if Field.ValueIndex <> -1 then begin
     475        // Extend subitems count
     476        while Prop.Values.Count <= Field.ValueIndex do
     477          Prop.Values.Add('');
     478
     479        Prop.Values.Strings[Field.ValueIndex] := AValue;
     480      end else Prop.Values.DelimitedText := AValue;
     481
     482      // Remove empty items
     483      while (Prop.Values.Count > 0) and (Prop.Values.Strings[Prop.Values.Count - 1] = '') do
     484        Prop.Values.Delete(Prop.Values.Count - 1);
     485
     486      // Remove if empty
     487      if Prop.Values.Text = '' then begin
     488        Properties.Remove(Prop);
     489      end;
     490    end;
    445491  end else raise Exception.Create(SFieldIndexNotDefined);
    446492end;
     
    453499  Field := Parent.Fields.GetByIndex(Index);
    454500  if Assigned(Field) then begin
    455     Result := Properties.GetByNameGroups(Field.SysName, Field.Groups);
     501    Result := Properties.GetByNameGroups(Field.SysName, Field.Groups, Field.NoGroups);
    456502  end else raise Exception.Create(SFieldIndexNotDefined);
    457503end;
     
    501547begin
    502548  with Fields do begin
    503     AddNew('N', [], SLastName, cfLastName, dtString, 0);
    504     AddNew('N', [], SFirstName, cfFirstName, dtString, 1);
    505     AddNew('N', [], SMiddleName, cfMiddleName, dtString, 2);
    506     AddNew('N', [], STitleBefore, cfTitleBefore, dtString, 3);
    507     AddNew('N', [], STitleAfter, cfTitleAfter, dtString, 4);
    508     AddNew('FN', [], SFullName, cfFullName, dtString);
    509     AddNew('TEL', [], STelephone, cfTel, dtString);
    510     AddNew('TEL', ['CELL'], SCellPhone, cfTelCell, dtString);
    511     AddNew('TEL', ['HOME'], SHomePhone, cfTelHome, dtString);
    512     AddNew('TEL', ['HOME2'], SHomePhone2, cfTelHome2, dtString);
    513     AddNew('TEL', ['WORK'], SWorkPhone, cfTelWork, dtString);
    514     AddNew('TEL', ['VOIP'], SVoipPhone, cfTelVoip, dtString);
    515     AddNew('TEL', ['MAIN'], SMainPhone, cfTelMain, dtString);
    516     AddNew('EMAIL', [], SEmail, cfEmail, dtString);
    517     AddNew('EMAIL', ['HOME'], SHomeEmail, cfEmailHome, dtString);
    518     AddNew('EMAIL', ['INTERNET'], SInternetEmail, cfEmailInternet, dtString);
    519     AddNew('NICKNAME', [], SNickName, cfNickName, dtString);
    520     AddNew('NOTE', [], SNote, cfNote, dtString);
    521     AddNew('ROLE', [], SRole, cfRole, dtString);
    522     AddNew('TITLE', [], STitle, cfTitle, dtString);
    523     AddNew('CATEGORIES', [], SCategories, cfCategories, dtString);
    524     AddNew('ORG', [], SOrganization, cfOrganization, dtString, 0);
    525     AddNew('ORG', [], SDepartement, cfDepartment, dtString, 1);
    526     AddNew('ADR', ['HOME'], SHomeAddressPostOfficeBox, cfHomeAddressPostOfficeBox, dtString, 0);
    527     AddNew('ADR', ['HOME'], SHomeAddressStreetExtended, cfHomeAddressStreetExtended, dtString, 1);
    528     AddNew('ADR', ['HOME'], SHomeAddressStreet, cfHomeAddressStreet, dtString, 2);
    529     AddNew('ADR', ['HOME'], SHomeAddressCity, cfHomeAddressCity, dtString, 3);
    530     AddNew('ADR', ['HOME'], SHomeAddressRegion, cfHomeAddressRegion, dtString, 4);
    531     AddNew('ADR', ['HOME'], SHomeAddressPostalCode, cfHomeAddressPostalCode, dtString, 5);
    532     AddNew('ADR', ['HOME'], SHomeAddressCountry, cfHomeAddressCountry, dtString, 6);
    533     AddNew('ADR', ['WORK'], SWorkAddressPostOfficeBox, cfWorkAddressPostOfficeBox, dtString, 0);
    534     AddNew('ADR', ['WORK'], SWorkAddressStreetExtended, cfWorkAddressStreetExtended, dtString, 1);
    535     AddNew('ADR', ['WORK'], SWorkAddressStreet, cfWorkAddressStreet, dtString, 2);
    536     AddNew('ADR', ['WORK'], SWorkAddressCity, cfWorkAddressCity, dtString, 3);
    537     AddNew('ADR', ['WORK'], SWorkAddressRegion, cfWorkAddressRegion, dtString, 4);
    538     AddNew('ADR', ['WORK'], SWorkAddressPostalCode, cfWorkAddressPostalCode, dtString, 5);
    539     AddNew('ADR', ['WORK'], SWorkAddressCountry, cfWorkAddressCountry, dtString, 6);
    540     AddNew('X-TIMES_CONTACTED', [], STimesContacted, cfXTimesContacted, dtString);
    541     AddNew('X-LAST_TIME_CONTACTED', [], SLastTimeContacted, cfXLastTimeContacted, dtString);
    542     AddNew('PHOTO', [], SPhoto, cfPhoto, dtString);
    543     AddNew('X-JABBER', [], SJabber, cfXJabber, dtString);
    544     AddNew('BDAY', [], SDayOfBirth, cfDayOfBirth, dtString);
    545     AddNew('REV', [], SRevision, cfRevision, dtString);
    546     AddNew('UID', [], SUniqueIdentifier, cfUid, dtString);
    547     AddNew('URL', ['HOME'], SWebAddressHome, cfUrlHome, dtString);
    548     AddNew('URL', ['WORK'], SWebAddressWork, cfUrlWork, dtString);
     549    AddNew('N', [], [], SLastName, cfLastName, dtString, 0);
     550    AddNew('N', [], [], SFirstName, cfFirstName, dtString, 1);
     551    AddNew('N', [], [], SMiddleName, cfMiddleName, dtString, 2);
     552    AddNew('N', [], [], STitleBefore, cfTitleBefore, dtString, 3);
     553    AddNew('N', [], [], STitleAfter, cfTitleAfter, dtString, 4);
     554    AddNew('FN', [], [], SFullName, cfFullName, dtString);
     555    AddNew('TEL', [], ['CELL', 'FAX', 'PAGER', 'WORK', 'HOME'], STelephone, cfTel, dtString);
     556    AddNew('TEL', ['CELL'], ['WORK', 'HOME'], SMobilePhone, cfTelCell, dtString);
     557    AddNew('TEL', ['FAX'], ['WORK', 'HOME'], SFax, cfTelFax, dtString);
     558    AddNew('TEL', ['PAGER'], ['WORK', 'HOME'], SPager, cfTelPager, dtString);
     559    AddNew('TEL', ['HOME'], ['CELL', 'FAX', 'PAGER'], SHomePhone, cfTelHome, dtString);
     560    AddNew('TEL', ['HOME', 'CELL'], [], SHomeMobile, cfTelCellHome, dtString);
     561    AddNew('TEL', ['HOME', 'FAX'], [], SHomeFax, cfTelFaxHome, dtString);
     562    AddNew('TEL', ['HOME', 'PAGER'], [], SHomePager, cfTelPagerHome, dtString);
     563    AddNew('TEL', ['WORK'], ['CELL', 'FAX', 'PAGER'], SWorkPhone, cfTelWork, dtString);
     564    AddNew('TEL', ['WORK', 'CELL'], [], SWorkMobile, cfTelCellWork, dtString);
     565    AddNew('TEL', ['WORK', 'FAX'], [], SWorkFax, cfTelFaxWork, dtString);
     566    AddNew('TEL', ['WORK', 'PAGER'], [], SWorkPager, cfTelPagerWork, dtString);
     567    AddNew('TEL', ['HOME2'], [], SHomePhone2, cfTelHome2, dtString);
     568    AddNew('TEL', ['VOIP'], [], SVoipPhone, cfTelVoip, dtString);
     569    AddNew('TEL', ['MAIN'], [], SMainPhone, cfTelMain, dtString);
     570    AddNew('EMAIL', [], ['HOME', 'WORK', 'INTERNET'], SEmail, cfEmail, dtString);
     571    AddNew('EMAIL', ['HOME'], [], SHomeEmail, cfEmailHome, dtString);
     572    AddNew('EMAIL', ['WORK'], [], SWorkEmail, cfEmailWork, dtString);
     573    AddNew('EMAIL', ['INTERNET'], [], SInternetEmail, cfEmailInternet, dtString);
     574    AddNew('NICKNAME', [], [], SNickName, cfNickName, dtString);
     575    AddNew('NOTE', [], [], SNote, cfNote, dtString);
     576    AddNew('ROLE', [], [], SRole, cfRole, dtString);
     577    AddNew('TITLE', [], [], STitle, cfTitle, dtString);
     578    AddNew('CATEGORIES', [], [], SCategories, cfCategories, dtString);
     579    AddNew('ORG', [], [], SOrganization, cfOrganization, dtString, 0);
     580    AddNew('ORG', [], [], SDepartement, cfDepartment, dtString, 1);
     581    AddNew('ADR', ['HOME'], [], SHomeAddressPostOfficeBox, cfHomeAddressPostOfficeBox, dtString, 0);
     582    AddNew('ADR', ['HOME'], [], SHomeAddressStreetExtended, cfHomeAddressStreetExtended, dtString, 1);
     583    AddNew('ADR', ['HOME'], [], SHomeAddressStreet, cfHomeAddressStreet, dtString, 2);
     584    AddNew('ADR', ['HOME'], [], SHomeAddressCity, cfHomeAddressCity, dtString, 3);
     585    AddNew('ADR', ['HOME'], [], SHomeAddressRegion, cfHomeAddressRegion, dtString, 4);
     586    AddNew('ADR', ['HOME'], [], SHomeAddressPostalCode, cfHomeAddressPostalCode, dtString, 5);
     587    AddNew('ADR', ['HOME'], [], SHomeAddressCountry, cfHomeAddressCountry, dtString, 6);
     588    AddNew('ADR', ['WORK'], [], SWorkAddressPostOfficeBox, cfWorkAddressPostOfficeBox, dtString, 0);
     589    AddNew('ADR', ['WORK'], [], SWorkAddressStreetExtended, cfWorkAddressStreetExtended, dtString, 1);
     590    AddNew('ADR', ['WORK'], [], SWorkAddressStreet, cfWorkAddressStreet, dtString, 2);
     591    AddNew('ADR', ['WORK'], [], SWorkAddressCity, cfWorkAddressCity, dtString, 3);
     592    AddNew('ADR', ['WORK'], [], SWorkAddressRegion, cfWorkAddressRegion, dtString, 4);
     593    AddNew('ADR', ['WORK'], [], SWorkAddressPostalCode, cfWorkAddressPostalCode, dtString, 5);
     594    AddNew('ADR', ['WORK'], [], SWorkAddressCountry, cfWorkAddressCountry, dtString, 6);
     595    AddNew('X-TIMES_CONTACTED', [], [], STimesContacted, cfXTimesContacted, dtString);
     596    AddNew('X-LAST_TIME_CONTACTED', [], [], SLastTimeContacted, cfXLastTimeContacted, dtString);
     597    AddNew('PHOTO', [], [], SPhoto, cfPhoto, dtString);
     598    AddNew('X-JABBER', [], [], SJabber, cfXJabber, dtString);
     599    AddNew('BDAY', [], [], SDayOfBirth, cfDayOfBirth, dtString);
     600    AddNew('ANNIVERSARY', [], [], SAnniversary, cfAnniversary, dtString);
     601    AddNew('REV', [], [], SRevision, cfRevision, dtString);
     602    AddNew('UID', [], [], SUniqueIdentifier, cfUid, dtString);
     603    AddNew('URL', [], ['HOME', 'WORK'], SWebAddress, cfUrl, dtString);
     604    AddNew('URL', ['HOME'], [], SWebAddressHome, cfUrlHome, dtString);
     605    AddNew('URL', ['WORK'], [], SWebAddressWork, cfUrlWork, dtString);
    549606  end;
    550607end;
Note: See TracChangeset for help on using the changeset viewer.