- Timestamp:
- Dec 8, 2021, 10:00:45 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormContact.lfm
r57 r58 18 18 Top = 8 19 19 Width = 969 20 ActivePage = TabSheet Chat20 ActivePage = TabSheetSocial 21 21 Anchors = [akTop, akLeft, akRight, akBottom] 22 22 ParentFont = False 23 TabIndex = 323 TabIndex = 4 24 24 TabOrder = 0 25 25 object TabSheetGeneral: TTabSheet … … 295 295 ParentFont = False 296 296 TabOrder = 14 297 end 298 object Label49: TLabel 299 Left = 432 300 Height = 24 301 Top = 332 302 Width = 67 303 Caption = 'Gender:' 304 ParentColor = False 305 ParentFont = False 306 end 307 object EditGender: TEdit 308 Left = 575 309 Height = 42 310 Top = 328 311 Width = 254 312 ParentFont = False 313 TabOrder = 15 297 314 end 298 315 end … … 850 867 end 851 868 object LabelOrganization2: TLabel 852 Left = 451853 Height = 24 854 Top = 2 4869 Left = 10 870 Height = 24 871 Top = 256 855 872 Width = 55 856 873 Caption = 'Skype:' … … 859 876 end 860 877 object EditSkype: TEdit 861 Left = 608862 Height = 42 863 Top = 2 0878 Left = 173 879 Height = 42 880 Top = 256 864 881 Width = 254 865 882 ParentFont = False … … 1001 1018 ParentFont = False 1002 1019 TabOrder = 9 1020 end 1021 object Label55: TLabel 1022 Left = 451 1023 Height = 24 1024 Top = 24 1025 Width = 59 1026 Caption = 'Matrix:' 1027 ParentColor = False 1028 ParentFont = False 1029 end 1030 object EditMatrix: TEdit 1031 Left = 608 1032 Height = 42 1033 Top = 20 1034 Width = 254 1035 ParentFont = False 1036 TabOrder = 10 1037 end 1038 end 1039 object TabSheetSocial: TTabSheet 1040 Caption = 'Social' 1041 ClientHeight = 628 1042 ClientWidth = 959 1043 OnHide = TabSheetSocialHide 1044 OnShow = TabSheetSocialShow 1045 object Label50: TLabel 1046 Left = 451 1047 Height = 24 1048 Top = 164 1049 Width = 79 1050 Caption = 'Myspace:' 1051 ParentColor = False 1052 ParentFont = False 1053 end 1054 object EditMySpace: TEdit 1055 Left = 608 1056 Height = 42 1057 Top = 160 1058 Width = 254 1059 ParentFont = False 1060 TabOrder = 0 1061 end 1062 object EditTwitter: TEdit 1063 Left = 173 1064 Height = 42 1065 Top = 64 1066 Width = 254 1067 ParentFont = False 1068 TabOrder = 1 1069 end 1070 object Label51: TLabel 1071 Left = 10 1072 Height = 24 1073 Top = 68 1074 Width = 63 1075 Caption = 'Twitter:' 1076 ParentColor = False 1077 ParentFont = False 1078 end 1079 object Label52: TLabel 1080 Left = 10 1081 Height = 24 1082 Top = 116 1083 Width = 92 1084 Caption = 'Instagram:' 1085 ParentColor = False 1086 ParentFont = False 1087 end 1088 object Label53: TLabel 1089 Left = 10 1090 Height = 24 1091 Top = 164 1092 Width = 78 1093 Caption = 'LinkedIn:' 1094 ParentColor = False 1095 ParentFont = False 1096 end 1097 object Label54: TLabel 1098 Left = 10 1099 Height = 24 1100 Top = 212 1101 Width = 83 1102 Caption = 'Snapchat:' 1103 ParentColor = False 1104 ParentFont = False 1105 end 1106 object EditSnapchat: TEdit 1107 Left = 173 1108 Height = 42 1109 Top = 208 1110 Width = 254 1111 ParentFont = False 1112 TabOrder = 2 1113 end 1114 object EditLinkedIn: TEdit 1115 Left = 173 1116 Height = 42 1117 Top = 160 1118 Width = 254 1119 ParentFont = False 1120 TabOrder = 3 1121 end 1122 object EditInstagram: TEdit 1123 Left = 173 1124 Height = 42 1125 Top = 112 1126 Width = 254 1127 ParentFont = False 1128 TabOrder = 4 1129 end 1130 object LabelOrganization7: TLabel 1131 Left = 451 1132 Height = 24 1133 Top = 20 1134 Width = 84 1135 Caption = 'PeerTube:' 1136 ParentColor = False 1137 ParentFont = False 1138 end 1139 object LabelOrganization8: TLabel 1140 Left = 451 1141 Height = 24 1142 Top = 120 1143 Width = 77 1144 Caption = 'YouTube:' 1145 ParentColor = False 1146 ParentFont = False 1147 end 1148 object EditMastodon: TEdit 1149 Left = 171 1150 Height = 42 1151 Top = 16 1152 Width = 254 1153 ParentFont = False 1154 TabOrder = 5 1155 end 1156 object LabelOrganization9: TLabel 1157 Left = 10 1158 Height = 24 1159 Top = 24 1160 Width = 90 1161 Caption = 'Mastodon:' 1162 ParentColor = False 1163 ParentFont = False 1164 end 1165 object LabelOrganization10: TLabel 1166 Left = 451 1167 Height = 24 1168 Top = 216 1169 Width = 59 1170 Caption = 'Reddit:' 1171 ParentColor = False 1172 ParentFont = False 1173 end 1174 object EditReddit: TEdit 1175 Left = 608 1176 Height = 42 1177 Top = 212 1178 Width = 254 1179 ParentFont = False 1180 TabOrder = 6 1181 end 1182 object EditPeerTube: TEdit 1183 Left = 608 1184 Height = 42 1185 Top = 16 1186 Width = 254 1187 ParentFont = False 1188 TabOrder = 7 1189 end 1190 object EditYouTube: TEdit 1191 Left = 608 1192 Height = 42 1193 Top = 116 1194 Width = 254 1195 ParentFont = False 1196 TabOrder = 8 1197 end 1198 object EditFacebook: TEdit 1199 Left = 608 1200 Height = 42 1201 Top = 68 1202 Width = 254 1203 ParentFont = False 1204 TabOrder = 9 1205 end 1206 object LabelOrganization11: TLabel 1207 Left = 451 1208 Height = 24 1209 Top = 72 1210 Width = 86 1211 Caption = 'Facebook:' 1212 ParentColor = False 1213 ParentFont = False 1003 1214 end 1004 1215 end -
trunk/Forms/UFormContact.lrj
r57 r58 17 17 {"hash":90692698,"name":"tformcontact.label10.caption","sourcebytes":[80,97,103,101,114,58],"value":"Pager:"}, 18 18 {"hash":258182170,"name":"tformcontact.label46.caption","sourcebytes":[87,101,98,32,97,100,100,114,101,115,115,58],"value":"Web address:"}, 19 {"hash":230992922,"name":"tformcontact.label49.caption","sourcebytes":[71,101,110,100,101,114,58],"value":"Gender:"}, 19 20 {"hash":325173,"name":"tformcontact.tabsheethome.caption","sourcebytes":[72,111,109,101],"value":"Home"}, 20 21 {"hash":138641338,"name":"tformcontact.label7.caption","sourcebytes":[69,45,109,97,105,108,58],"value":"E-mail:"}, … … 61 62 {"hash":190298682,"name":"tformcontact.label48.caption","sourcebytes":[87,105,110,100,111,119,115,32,76,105,118,101,58],"value":"Windows Live:"}, 62 63 {"hash":22090,"name":"tformcontact.labelorganization6.caption","sourcebytes":[81,81,58],"value":"QQ:"}, 64 {"hash":59478250,"name":"tformcontact.label55.caption","sourcebytes":[77,97,116,114,105,120,58],"value":"Matrix:"}, 65 {"hash":94740348,"name":"tformcontact.tabsheetsocial.caption","sourcebytes":[83,111,99,105,97,108],"value":"Social"}, 66 {"hash":10910938,"name":"tformcontact.label50.caption","sourcebytes":[77,121,115,112,97,99,101,58],"value":"Myspace:"}, 67 {"hash":235645418,"name":"tformcontact.label51.caption","sourcebytes":[84,119,105,116,116,101,114,58],"value":"Twitter:"}, 68 {"hash":175866794,"name":"tformcontact.label52.caption","sourcebytes":[73,110,115,116,97,103,114,97,109,58],"value":"Instagram:"}, 69 {"hash":85712154,"name":"tformcontact.label53.caption","sourcebytes":[76,105,110,107,101,100,73,110,58],"value":"LinkedIn:"}, 70 {"hash":141144634,"name":"tformcontact.label54.caption","sourcebytes":[83,110,97,112,99,104,97,116,58],"value":"Snapchat:"}, 71 {"hash":209448506,"name":"tformcontact.labelorganization7.caption","sourcebytes":[80,101,101,114,84,117,98,101,58],"value":"PeerTube:"}, 72 {"hash":111918730,"name":"tformcontact.labelorganization8.caption","sourcebytes":[89,111,117,84,117,98,101,58],"value":"YouTube:"}, 73 {"hash":179701658,"name":"tformcontact.labelorganization9.caption","sourcebytes":[77,97,115,116,111,100,111,110,58],"value":"Mastodon:"}, 74 {"hash":146452522,"name":"tformcontact.labelorganization10.caption","sourcebytes":[82,101,100,100,105,116,58],"value":"Reddit:"}, 75 {"hash":163129754,"name":"tformcontact.labelorganization11.caption","sourcebytes":[70,97,99,101,98,111,111,107,58],"value":"Facebook:"}, 63 76 {"hash":90893459,"name":"tformcontact.tabsheetothers.caption","sourcebytes":[79,116,104,101,114,115],"value":"Others"}, 64 77 {"hash":89566314,"name":"tformcontact.label6.caption","sourcebytes":[78,111,116,101,115,58],"value":"Notes:"}, -
trunk/Forms/UFormContact.pas
r57 r58 23 23 ButtonPrevious: TButton; 24 24 EditAim: TEdit; 25 EditMatrix: TEdit; 26 EditYouTube: TEdit; 27 EditGender: TEdit; 28 EditLinkedIn: TEdit; 29 EditFacebook: TEdit; 30 EditInstagram: TEdit; 31 EditMySpace: TEdit; 32 EditTwitter: TEdit; 33 EditReddit: TEdit; 34 EditMastodon: TEdit; 25 35 EditWindowsLive: TEdit; 36 EditSnapchat: TEdit; 26 37 EditYahoo: TEdit; 27 38 EditGoogleTalk: TEdit; … … 76 87 EditWorkPhone: TEdit; 77 88 EditQq: TEdit; 89 EditPeerTube: TEdit; 78 90 GroupBox1: TGroupBox; 79 91 GroupBox2: TGroupBox; … … 122 134 Label47: TLabel; 123 135 Label48: TLabel; 136 Label49: TLabel; 124 137 Label5: TLabel; 138 Label50: TLabel; 139 Label51: TLabel; 140 Label52: TLabel; 141 Label53: TLabel; 142 Label54: TLabel; 143 Label55: TLabel; 125 144 Label6: TLabel; 126 145 Label7: TLabel; … … 129 148 LabelOrganization: TLabel; 130 149 LabelOrganization1: TLabel; 150 LabelOrganization10: TLabel; 151 LabelOrganization11: TLabel; 131 152 LabelOrganization2: TLabel; 132 153 LabelOrganization3: TLabel; … … 134 155 LabelOrganization5: TLabel; 135 156 LabelOrganization6: TLabel; 157 LabelOrganization7: TLabel; 158 LabelOrganization8: TLabel; 159 LabelOrganization9: TLabel; 136 160 MemoNotes: TMemo; 137 161 MenuItem1: TMenuItem; … … 142 166 PopupMenuPhoto: TPopupMenu; 143 167 SavePictureDialog1: TSavePictureDialog; 168 TabSheetSocial: TTabSheet; 144 169 TabSheetChat: TTabSheet; 145 170 TabSheetOthers: TTabSheet; … … 166 191 procedure TabSheetOthersHide(Sender: TObject); 167 192 procedure TabSheetOthersShow(Sender: TObject); 193 procedure TabSheetSocialHide(Sender: TObject); 194 procedure TabSheetSocialShow(Sender: TObject); 168 195 procedure TabSheetWorkHide(Sender: TObject); 169 196 procedure TabSheetWorkShow(Sender: TObject); … … 225 252 procedure TFormContact.TabSheetChatHide(Sender: TObject); 226 253 begin 254 Contact.Fields[cfMatrix] := EditMatrix.Text; 227 255 Contact.Fields[cfJabber] := EditJabber.Text; 228 256 Contact.Fields[cfIcq] := EditIcq.Text; … … 234 262 Contact.Fields[cfYahoo] := EditYahoo.Text; 235 263 Contact.Fields[cfAim] := EditAim.Text; 236 Contact.Fields[cfIrc] := EditIrc.Text 264 Contact.Fields[cfIrc] := EditIrc.Text; 265 266 ReloadAllPropertiesTab; 237 267 end; 238 268 239 269 procedure TFormContact.TabSheetChatShow(Sender: TObject); 240 270 begin 271 EditMatrix.Text := Contact.Fields[cfMatrix]; 241 272 EditJabber.Text := Contact.Fields[cfJabber]; 242 273 EditIcq.Text := Contact.Fields[cfIcq]; … … 274 305 Contact.Fields[cfAnniversary] := EditAniversary.Text; 275 306 Contact.Fields[cfUrl] := EditWeb.Text; 307 Contact.Fields[cfGender] := EditGender.Text; 276 308 277 309 // Photo … … 358 390 EditAniversary.Text := Contact.Fields[cfAnniversary]; 359 391 EditWeb.Text := Contact.Fields[cfUrl]; 392 EditGender.Text := Contact.Fields[cfGender]; 360 393 361 394 // Photo … … 466 499 end; 467 500 501 procedure TFormContact.TabSheetSocialHide(Sender: TObject); 502 begin 503 Contact.Fields[cfFacebook] := EditFacebook.Text; 504 Contact.Fields[cfTwitter] := EditTwitter.Text; 505 Contact.Fields[cfInstagram] := EditInstagram.Text; 506 Contact.Fields[cfYouTube] := EditYouTube.Text; 507 Contact.Fields[cfPeerTube] := EditPeerTube.Text; 508 Contact.Fields[cfMastodon] := EditMastodon.Text; 509 Contact.Fields[cfLinkedIn] := EditLinkedIn.Text; 510 Contact.Fields[cfSnapchat] := EditSnapchat.Text; 511 Contact.Fields[cfReddit] := EditReddit.Text; 512 Contact.Fields[cfMySpace] := EditMySpace.Text; 513 514 ReloadAllPropertiesTab; 515 end; 516 517 procedure TFormContact.TabSheetSocialShow(Sender: TObject); 518 begin 519 EditFacebook.Text := Contact.Fields[cfFacebook]; 520 EditTwitter.Text := Contact.Fields[cfTwitter]; 521 EditInstagram.Text := Contact.Fields[cfInstagram]; 522 EditYouTube.Text := Contact.Fields[cfYouTube]; 523 EditPeerTube.Text := Contact.Fields[cfPeerTube]; 524 EditMastodon.Text := Contact.Fields[cfMastodon]; 525 EditLinkedIn.Text := Contact.Fields[cfLinkedIn]; 526 EditSnapchat.Text := Contact.Fields[cfSnapchat]; 527 EditReddit.Text := Contact.Fields[cfReddit]; 528 EditMySpace.Text := Contact.Fields[cfMySpace]; 529 end; 530 468 531 procedure TFormContact.TabSheetWorkHide(Sender: TObject); 469 532 begin -
trunk/Languages/vCardStudio.cs.po
r57 r58 319 319 msgstr "Windows Live:" 320 320 321 #: tformcontact.label49.caption 322 msgid "Gender:" 323 msgstr "Pohlaví:" 324 321 325 #: tformcontact.label5.caption 322 326 msgid "Last name" 323 327 msgstr "Příjmení" 328 329 #: tformcontact.label50.caption 330 msgid "Myspace:" 331 msgstr "MySpace:" 332 333 #: tformcontact.label51.caption 334 msgid "Twitter:" 335 msgstr "Twitter:" 336 337 #: tformcontact.label52.caption 338 msgid "Instagram:" 339 msgstr "Instagram:" 340 341 #: tformcontact.label53.caption 342 msgid "LinkedIn:" 343 msgstr "LinkedIn:" 344 345 #: tformcontact.label54.caption 346 msgid "Snapchat:" 347 msgstr "Snapchat:" 348 349 #: tformcontact.label55.caption 350 msgid "Matrix:" 351 msgstr "Matrix:" 324 352 325 353 #: tformcontact.label6.caption … … 350 378 msgstr "Oddělení:" 351 379 380 #: tformcontact.labelorganization10.caption 381 msgid "Reddit:" 382 msgstr "Reddit:" 383 384 #: tformcontact.labelorganization11.caption 385 msgid "Facebook:" 386 msgstr "Facebook:" 387 352 388 #: tformcontact.labelorganization2.caption 353 389 msgid "Skype:" … … 370 406 msgstr "QQ:" 371 407 408 #: tformcontact.labelorganization7.caption 409 msgid "PeerTube:" 410 msgstr "PeerTube:" 411 412 #: tformcontact.labelorganization8.caption 413 msgid "YouTube:" 414 msgstr "YouTube:" 415 416 #: tformcontact.labelorganization9.caption 417 msgid "Mastodon:" 418 msgstr "Mastodon:" 419 372 420 #: tformcontact.tabsheetall.caption 373 421 msgid "All fields" … … 389 437 msgid "Others" 390 438 msgstr "Ostatní" 439 440 #: tformcontact.tabsheetsocial.caption 441 msgid "Social" 442 msgstr "Sociální" 391 443 392 444 #: tformcontact.tabsheetwork.caption … … 690 742 msgstr "Očekáván začátek vCard" 691 743 744 #: ucontact.sfacebook 745 msgid "Facebook" 746 msgstr "Facebook" 747 692 748 #: ucontact.sfax 693 749 msgid "Fax" … … 715 771 msgstr "Celé jméno" 716 772 773 #: ucontact.sgender 774 msgid "Gender" 775 msgstr "Pohlaví" 776 717 777 #: ucontact.sgoogletalk 718 778 msgid "Google Talk" … … 776 836 msgstr "ICQ" 777 837 838 #: ucontact.sinstagram 839 msgid "Instagram" 840 msgstr "Instagram" 841 778 842 #: ucontact.sinternetemail 779 843 msgid "Internet E-mail" … … 797 861 msgstr "Naposledy kontaktováno" 798 862 863 #: ucontact.slinkedin 864 msgid "LinkedIn" 865 msgstr "LinkedIn" 866 799 867 #: ucontact.smainphone 800 868 msgid "Main phone" 801 869 msgstr "Hlavní telefon" 802 870 871 #: ucontact.smastodon 872 msgid "Mastodon" 873 msgstr "Mastodon" 874 875 #: ucontact.smatrix 876 msgid "Matrix" 877 msgstr "Matrix" 878 803 879 #: ucontact.smiddlename 804 880 msgid "Middle Name" … … 813 889 msgstr "MSN" 814 890 891 #: ucontact.smyspace 892 msgid "MySpace" 893 msgstr "MySpace" 894 815 895 #: ucontact.snickname 816 896 msgid "Nick name" … … 829 909 msgstr "Pager" 830 910 911 #: ucontact.speertube 912 msgid "PeerTube" 913 msgstr "PeerTube" 914 831 915 #: ucontact.sphoto 832 916 msgid "Photo" … … 837 921 msgstr "QQ" 838 922 923 #: ucontact.sreddit 924 msgid "Reddit" 925 msgstr "Reddit" 926 839 927 #: ucontact.srevision 840 928 msgid "Revision" … … 849 937 msgstr "Skype" 850 938 939 #: ucontact.ssnapchat 940 msgid "Snapchat" 941 msgstr "Snapchat" 942 851 943 #: ucontact.stelephone 852 944 msgid "Telephone" … … 868 960 msgid "Title Before" 869 961 msgstr "Titul před" 962 963 #: ucontact.stwitter 964 msgid "Twitter" 965 msgstr "Twitter" 870 966 871 967 #: ucontact.suniqueidentifier … … 950 1046 msgstr "Yahoo!" 951 1047 1048 #: ucontact.syoutube 1049 msgid "YouTube" 1050 msgstr "YouTube" 1051 952 1052 #: ucore.sappexit 953 1053 msgid "Application exit" -
trunk/Languages/vCardStudio.po
r57 r58 309 309 msgstr "" 310 310 311 #: tformcontact.label49.caption 312 msgid "Gender:" 313 msgstr "" 314 311 315 #: tformcontact.label5.caption 312 316 msgid "Last name" 317 msgstr "" 318 319 #: tformcontact.label50.caption 320 msgid "Myspace:" 321 msgstr "" 322 323 #: tformcontact.label51.caption 324 msgid "Twitter:" 325 msgstr "" 326 327 #: tformcontact.label52.caption 328 msgid "Instagram:" 329 msgstr "" 330 331 #: tformcontact.label53.caption 332 msgid "LinkedIn:" 333 msgstr "" 334 335 #: tformcontact.label54.caption 336 msgid "Snapchat:" 337 msgstr "" 338 339 #: tformcontact.label55.caption 340 msgid "Matrix:" 313 341 msgstr "" 314 342 … … 340 368 msgstr "" 341 369 370 #: tformcontact.labelorganization10.caption 371 msgid "Reddit:" 372 msgstr "" 373 374 #: tformcontact.labelorganization11.caption 375 msgid "Facebook:" 376 msgstr "" 377 342 378 #: tformcontact.labelorganization2.caption 343 379 msgid "Skype:" … … 360 396 msgstr "" 361 397 398 #: tformcontact.labelorganization7.caption 399 msgid "PeerTube:" 400 msgstr "" 401 402 #: tformcontact.labelorganization8.caption 403 msgid "YouTube:" 404 msgstr "" 405 406 #: tformcontact.labelorganization9.caption 407 msgid "Mastodon:" 408 msgstr "" 409 362 410 #: tformcontact.tabsheetall.caption 363 411 msgid "All fields" … … 378 426 #: tformcontact.tabsheetothers.caption 379 427 msgid "Others" 428 msgstr "" 429 430 #: tformcontact.tabsheetsocial.caption 431 msgid "Social" 380 432 msgstr "" 381 433 … … 678 730 msgstr "" 679 731 732 #: ucontact.sfacebook 733 msgid "Facebook" 734 msgstr "" 735 680 736 #: ucontact.sfax 681 737 msgid "Fax" … … 703 759 msgstr "" 704 760 761 #: ucontact.sgender 762 msgid "Gender" 763 msgstr "" 764 705 765 #: ucontact.sgoogletalk 706 766 msgid "Google Talk" … … 764 824 msgstr "" 765 825 826 #: ucontact.sinstagram 827 msgid "Instagram" 828 msgstr "" 829 766 830 #: ucontact.sinternetemail 767 831 msgid "Internet E-mail" … … 785 849 msgstr "" 786 850 851 #: ucontact.slinkedin 852 msgid "LinkedIn" 853 msgstr "" 854 787 855 #: ucontact.smainphone 788 856 msgid "Main phone" 789 857 msgstr "" 790 858 859 #: ucontact.smastodon 860 msgid "Mastodon" 861 msgstr "" 862 863 #: ucontact.smatrix 864 msgid "Matrix" 865 msgstr "" 866 791 867 #: ucontact.smiddlename 792 868 msgid "Middle Name" … … 801 877 msgstr "" 802 878 879 #: ucontact.smyspace 880 msgid "MySpace" 881 msgstr "" 882 803 883 #: ucontact.snickname 804 884 msgid "Nick name" … … 817 897 msgstr "" 818 898 899 #: ucontact.speertube 900 msgid "PeerTube" 901 msgstr "" 902 819 903 #: ucontact.sphoto 820 904 msgid "Photo" … … 825 909 msgstr "" 826 910 911 #: ucontact.sreddit 912 msgid "Reddit" 913 msgstr "" 914 827 915 #: ucontact.srevision 828 916 msgid "Revision" … … 837 925 msgstr "" 838 926 927 #: ucontact.ssnapchat 928 msgid "Snapchat" 929 msgstr "" 930 839 931 #: ucontact.stelephone 840 932 msgid "Telephone" … … 855 947 #: ucontact.stitlebefore 856 948 msgid "Title Before" 949 msgstr "" 950 951 #: ucontact.stwitter 952 msgid "Twitter" 857 953 msgstr "" 858 954 … … 938 1034 msgstr "" 939 1035 1036 #: ucontact.syoutube 1037 msgid "YouTube" 1038 msgstr "" 1039 940 1040 #: ucore.sappexit 941 1041 msgid "Application exit" -
trunk/UContact.pas
r57 r58 13 13 TErrorEvent = procedure (Text: string; Line: Integer) of object; 14 14 15 TDataType = (dt String, dtInteger, dtDate, dtDateTime, dtImage, dtStringList);15 TDataType = (dtNone, dtString, dtInteger, dtDate, dtDateTime, dtImage, dtStringList); 16 16 17 17 TContactFieldIndex = (cfFirstName, cfMiddleName, cfLastName, cfTitleBefore, … … 28 28 cfWorkAddressPostalCode, cfWorkAddressRegion, cfWorkAddressPostOfficeBox, 29 29 cfXTimesContacted, cfXLastTimeContacted, cfPhoto, cfDayOfBirth, cfRevision, 30 cfVersion, cfAnniversary, 30 cfVersion, cfAnniversary, cfGender, 31 31 cfJabber, cfIcq, cfWindowsLive, cfGoogleTalk, cfAim, cfQq, cfYahoo, cfIrc, 32 cfSkype, cfMsn); 32 cfSkype, cfMsn, 33 cfTwitter, cfFacebook, cfInstagram, cfSnapchat, cfMatrix, cfYoutube, 34 cfPeerTube, cfLinkedIn, cfMastodon, cfMySpace, cfReddit); 35 36 TContactFields = class; 33 37 34 38 { TContactField } … … 42 46 ValueIndex: Integer; 43 47 DataType: TDataType; 48 Alternatives: TContactFields; 49 function AddAlternative(Name: string; Groups: array of string; NoGroups: 50 array of string): TContactField; 44 51 function GroupsContain(Name: string): Boolean; 45 52 function Match(ASysName: string; AGroups: TStringArray): Boolean; 53 constructor Create; 54 destructor Destroy; override; 46 55 end; 47 56 … … 51 60 function AddNew(Name: string; Groups: array of string; NoGroups: array of string; 52 61 Title: string; Index: TContactFieldIndex; DataType: 53 TDataType ; ValueIndex: Integer = -1): TContactField;62 TDataType = dtNone; ValueIndex: Integer = -1): TContactField; 54 63 function GetBySysName(SysName: string): TContactField; 55 64 function GetBySysNameGroups(SysName: string; Groups: TStringArray): TContactField; … … 101 110 Properties: TContactProperties; 102 111 Parent: TContactsFile; 103 function GetProperty(Index: TContactFieldIndex): TContactProperty; 112 function GetProperty(Field: TContactField): TContactProperty; overload; 113 function GetProperty(FieldIndex: TContactFieldIndex): TContactProperty; overload; 104 114 procedure Assign(Source: TContact); 105 115 function UpdateFrom(Source: TContact): Boolean; … … 222 232 SWebAddressHome = 'Web address home'; 223 233 SWebAddressWork = 'Web address work'; 234 SGender = 'Gender'; 235 // Chat 224 236 SMsn = 'MSN'; 225 237 SGoogleTalk = 'Google Talk'; … … 231 243 SYahoo = 'Yahoo!'; 232 244 SSkype = 'Skype'; 245 SMatrix = 'Matrix'; 246 // Social 247 STwitter = 'Twitter'; 248 SFacebook = 'Facebook'; 249 SInstagram = 'Instagram'; 250 SMastodon = 'Mastodon'; 251 SSnapchat = 'Snapchat'; 252 SLinkedIn = 'LinkedIn'; 253 SYouTube = 'YouTube'; 254 SPeerTube = 'PeerTube'; 255 SReddit = 'Reddit'; 256 SMySpace = 'MySpace'; 233 257 234 258 function GetNext(var Text: string; Separator: string): string; … … 256 280 257 281 { TContactField } 282 283 function TContactField.AddAlternative(Name: string; Groups: array of string; 284 NoGroups: array of string): TContactField; 285 begin 286 Result := Alternatives.AddNew(Name, Groups, NoGroups, Title, Index, DataType, ValueIndex); 287 end; 258 288 259 289 function TContactField.GroupsContain(Name: string): Boolean; … … 282 312 end; 283 313 end; 314 end; 315 316 constructor TContactField.Create; 317 begin 318 Alternatives := TContactFields.Create; 319 end; 320 321 destructor TContactField.Destroy; 322 begin 323 FreeAndNil(Alternatives); 324 inherited; 284 325 end; 285 326 … … 520 561 function TContactFields.AddNew(Name: string; Groups: array of string; 521 562 NoGroups: array of string; Title: string; Index: TContactFieldIndex; 522 DataType: TDataType ; ValueIndex: Integer = -1): TContactField;563 DataType: TDataType = dtNone; ValueIndex: Integer = -1): TContactField; 523 564 var 524 565 I: Integer; … … 567 608 var 568 609 I: Integer; 569 C: Integer; 570 begin 571 C := Count; 610 begin 572 611 I := 0; 573 612 while (I < Count) and (Items[I].Index <> Index) do Inc(I); … … 594 633 begin 595 634 if not Assigned(Parent) then raise Exception.Create(SContactHasNoParent); 596 Prop := GetProperty(Index); 597 if Assigned(Prop) then begin 598 Field := Parent.Fields.GetByIndex(Index); 599 if Field.ValueIndex <> -1 then begin 600 Result := Prop.ValueItem[Field.ValueIndex] 601 end else Result := Prop.Value; 602 end else Result := ''; 635 Field := Parent.Fields.GetByIndex(Index); 636 if Assigned(Field) then begin 637 Prop := GetProperty(Field); 638 if Assigned(Prop) then begin 639 Field := Parent.Fields.GetByIndex(Index); 640 if Field.ValueIndex <> -1 then begin 641 Result := Prop.ValueItem[Field.ValueIndex] 642 end else Result := Prop.Value; 643 end else Result := ''; 644 end else raise Exception.Create(SFieldIndexNotDefined); 603 645 end; 604 646 … … 612 654 Field := Parent.Fields.GetByIndex(Index); 613 655 if Assigned(Field) then begin 614 Prop := Properties.GetByNameGroups(Field.SysName, Field.Groups, Field.NoGroups);656 Prop := GetProperty(Field); 615 657 if (not Assigned(Prop)) and (AValue <> '') then begin 616 658 Prop := TContactProperty.Create; … … 633 675 end; 634 676 635 function TContact.GetProperty(Index: TContactFieldIndex): TContactProperty; 677 function TContact.GetProperty(Field: TContactField): TContactProperty; 678 var 679 I: Integer; 680 begin 681 Result := Properties.GetByNameGroups(Field.SysName, Field.Groups, Field.NoGroups); 682 I := 0; 683 while (not Assigned(Result)) and (I < Field.Alternatives.Count) do begin 684 Result := Properties.GetByNameGroups(Field.Alternatives[I].SysName, 685 Field.Alternatives[I].Groups, Field.Alternatives[I].NoGroups); 686 if Assigned(Result) then Break; 687 Inc(I); 688 end; 689 end; 690 691 function TContact.GetProperty(FieldIndex: TContactFieldIndex): TContactProperty; 636 692 var 637 693 Field: TContactField; 638 694 begin 639 695 if not Assigned(Parent) then raise Exception.Create(SContactHasNoParent); 640 Field := Parent.Fields.GetByIndex( Index);696 Field := Parent.Fields.GetByIndex(FieldIndex); 641 697 if Assigned(Field) then begin 642 Result := Properties.GetByNameGroups(Field.SysName, Field.Groups, Field.NoGroups);643 end else raise Exception.Create(SFieldIndexNotDefined);698 Result := GetProperty(Field); 699 end else Result := nil; 644 700 end; 645 701 … … 872 928 AddNew('EMAIL', ['WORK'], [], SWorkEmail, cfEmailWork, dtString); 873 929 AddNew('EMAIL', ['INTERNET'], [], SInternetEmail, cfEmailInternet, dtString); 874 AddNew('NICKNAME', [], [], SNickName, cfNickName, dtString); 930 with AddNew('NICKNAME', [], [], SNickName, cfNickName, dtString) do 931 AddAlternative('X-NICKNAME', [], []); 875 932 AddNew('NOTE', [], [], SNote, cfNote, dtString); 876 933 AddNew('ROLE', [], [], SRole, cfRole, dtString); … … 903 960 AddNew('URL', ['HOME'], [], SWebAddressHome, cfUrlHome, dtString); 904 961 AddNew('URL', ['WORK'], [], SWebAddressWork, cfUrlWork, dtString); 962 with AddNew('GENDER', [], [], SGender, cfGender, dtString) do 963 AddAlternative('X-CENTRUM-CZ-SEX', [], []); 964 // Chat 965 AddNew('X-MATRIX', [], [], SMatrix, cfMatrix, dtString); 905 966 AddNew('X-JABBER', [], [], SJabber, cfJabber, dtString); 906 967 AddNew('X-AIM', [], [], SAim, cfAim, dtString); 907 968 AddNew('X-Windows Live', [], [], SWindowsLive, cfWindowsLive, dtString); 908 969 AddNew('X-YAHOO', [], [], SYahoo, cfYahoo, dtString); 909 AddNew('X-SKYPE-USERNAME', [], [], SSkype, cfSkype, dtString); 970 with AddNew('X-SKYPE-USERNAME', [], [], SSkype, cfSkype, dtString) do begin 971 AddAlternative('X-SKYPE', [], []); 972 AddAlternative('X-CENTRUM-CZ-SKYPE', [], []); 973 end; 910 974 AddNew('X-QQ', [], [], SQq, cfQq, dtString); 911 975 AddNew('X-GOOGLE-TALK', [], [], SGoogleTalk, cfGoogleTalk, dtString); 912 AddNew('X-ICQ', [], [], SIcq, cfIcq, dtString); 976 with AddNew('X-ICQ', [], [], SIcq, cfIcq, dtString) do 977 AddAlternative('X-CENTRUM-CZ-ICQ', [], []); 913 978 AddNew('X-IRC', [], [], SIrc, cfIrc, dtString); 914 AddNew('X-MSN', [], [], SMsn, cfMsn, dtString); 979 with AddNew('X-MSN', [], [], SMsn, cfMsn, dtString) do 980 AddAlternative('X-CENTRUM-CZ-MSN', [], []); 981 // Social 982 with AddNew('X-TWITTER', [], [], STwitter, cfTwitter, dtString) do 983 AddAlternative('X-SOCIALPROFILE', ['TWITTER'], []); 984 with AddNew('X-FACEBOOK', [], [], SFacebook, cfFacebook, dtString) do 985 AddAlternative('X-SOCIALPROFILE', ['FACEBOOK'], []); 986 with AddNew('X-MASTODON', [], [], SMastodon, cfMastodon, dtString) do 987 AddAlternative('X-SOCIALPROFILE', ['MASTODON'], []); 988 with AddNew('X-YOUTUBE', [], [], SYouTube, cfYouTube, dtString) do 989 AddAlternative('X-SOCIALPROFILE', ['YOUTUBE'], []); 990 with AddNew('X-PEERTUBE', [], [], SPeerTube, cfPeerTube, dtString) do 991 AddAlternative('X-SOCIALPROFILE', ['PEERTUBE'], []); 992 with AddNew('X-LINKEDIN', [], [], SLinkedIn, cfLinkedIn, dtString) do 993 AddAlternative('X-SOCIALPROFILE', ['LINKEDIN'], []); 994 with AddNew('X-SNAPCHAT', [], [], SSnapchat, cfSnapchat, dtString) do 995 AddAlternative('X-SOCIALPROFILE', ['SNAPCHAT'], []); 996 with AddNew('X-INSTAGRAM', [], [], SInstagram, cfInstagram, dtString) do 997 AddAlternative('X-SOCIALPROFILE', ['INSTAGRAM'], []); 998 with AddNew('X-REDDIT', [], [], SReddit, cfReddit, dtString) do 999 AddAlternative('X-SOCIALPROFILE', ['REDDIT'], []); 1000 with AddNew('X-MYSPACE', [], [], SMySpace, cfMySpace, dtString) do 1001 AddAlternative('X-SOCIALPROFILE', ['MYSPACE'], []); 915 1002 end; 916 1003 end;
Note:
See TracChangeset
for help on using the changeset viewer.