- Timestamp:
- Dec 15, 2021, 8:56:06 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormContacts.lfm
r74 r76 10 10 OnClose = FormClose 11 11 OnCreate = FormCreate 12 OnDestroy = FormDestroy 13 OnResize = FormResize 12 14 OnShow = FormShow 13 15 LCLVersion = '2.0.12.0' 14 16 object ListView1: TListView 15 17 Left = 0 16 Height = 8 1018 Height = 801 17 19 Top = 0 18 20 Width = 1210 … … 66 68 Left = 0 67 69 Height = 39 68 Top = 8 4270 Top = 833 69 71 Width = 1210 70 72 Align = alBottom … … 114 116 Left = 0 115 117 Height = 32 116 Top = 8 10118 Top = 801 117 119 Width = 1210 118 120 OnChange = ListViewFilter1Change … … 121 123 object StatusBar1: TStatusBar 122 124 Left = 0 123 Height = 27124 Top = 8 81125 Height = 36 126 Top = 872 125 127 Width = 1210 126 128 Panels = < -
trunk/Forms/UFormContacts.pas
r74 r76 64 64 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 65 65 procedure FormCreate(Sender: TObject); 66 procedure FormDestroy(Sender: TObject); 67 procedure FormResize(Sender: TObject); 66 68 procedure FormShow(Sender: TObject); 67 69 procedure ListView1Data(Sender: TObject; Item: TListItem); … … 81 83 procedure FormContactNext(Sender: TObject); 82 84 procedure DoUpdateInterface; 85 procedure UpdateColumns; 83 86 public 87 ListViewColumns: TContactFieldIndexes; 88 FilterItems: TContactFilterItems; 84 89 property Contacts: TContacts read FContacts write SetContacts; 85 90 procedure ReloadList; … … 123 128 end; 124 129 130 var 131 I: Integer; 125 132 begin 126 133 if Item.Index < ListViewSort1.List.Count then 127 134 with TContact(ListViewSort1.List[Item.Index]) do begin 128 AddItem(Fields[cfFullName], True); 129 AddItem(Fields[cfFirstName]); 130 AddItem(Fields[cfMiddleName]); 131 AddItem(Fields[cfLastName]); 132 AddItem(Fields[cfTel]); 133 AddItem(Fields[cfTelCell]); 134 AddItem(Fields[cfTelHome]); 135 AddItem(Fields[cfTelWork]); 135 for I := 0 to ListViewColumns.Count - 1 do begin 136 AddItem(Fields[ListViewColumns[I]], I = 0); 137 end; 136 138 Item.Data := ListViewSort1.List[Item.Index]; 137 139 end; … … 150 152 151 153 procedure TFormContacts.ListViewFilter1Change(Sender: TObject); 152 begin 154 var 155 I: Integer; 156 begin 157 // Load filter StringGrid cells into filter 158 FilterItems.Clear; 159 for I := 0 to ListViewColumns.Count - 1 do 160 if I < ListViewFilter1.StringGrid.ColCount then 161 if ListViewFilter1.StringGrid.Cells[I, 0] <> '' then 162 FilterItems.AddNew(ListViewColumns[I], ListViewFilter1.StringGrid.Cells[I, 0]); 163 153 164 ReloadList; 154 165 UpdateInterface; … … 165 176 if Assigned(Item1) and Assigned(Item2) and (ListViewSort1.Order <> soNone) then begin 166 177 with ListViewSort1 do 167 case Column of 168 0: Result := CompareString(TContact(Item1).Fields[cfFullName], TContact(Item2).Fields[cfFullName]); 169 1: Result := CompareString(TContact(Item1).Fields[cfFirstName], TContact(Item2).Fields[cfFirstName]); 170 2: Result := CompareString(TContact(Item1).Fields[cfMiddleName], TContact(Item2).Fields[cfMiddleName]); 171 3: Result := CompareString(TContact(Item1).Fields[cfLastName], TContact(Item2).Fields[cfLastName]); 172 4: Result := CompareString(TContact(Item1).Fields[cfTel], TContact(Item2).Fields[cfTel]); 173 5: Result := CompareString(TContact(Item1).Fields[cfTelCell], TContact(Item2).Fields[cfTelCell]); 174 6: Result := CompareString(TContact(Item1).Fields[cfTelHome], TContact(Item2).Fields[cfTelHome]); 175 7: Result := CompareString(TContact(Item1).Fields[cfTelWork], TContact(Item2).Fields[cfTelWork]); 176 end; 178 Result := CompareString(TContact(Item1).Fields[ListViewColumns[Column]], TContact(Item2).Fields[ListViewColumns[Column]]); 177 179 if ListViewSort1.Order = soDown then Result := -Result; 178 180 end else Result := 0; … … 191 193 var 192 194 I: Integer; 195 J: Integer; 196 K: Integer; 193 197 FoundCount: Integer; 194 EnteredCount: Integer; 195 begin 196 EnteredCount := ListViewFilter1.TextEnteredCount; 198 begin 197 199 for I := List.Count - 1 downto 0 do begin 198 200 if List.Items[I] is TContact then begin 199 201 with TContact(List.Items[I]) do begin 200 with ListViewFilter1 do 201 if Visible and (EnteredCount > 0) then begin 202 FoundCount := 0; 203 if Pos(UTF8LowerCase(StringGrid.Cells[0, 0]), 204 UTF8LowerCase(TContact(List.Items[I]).Fields[cfFullName])) > 0 then Inc(FoundCount); 205 if Pos(UTF8LowerCase(StringGrid.Cells[1, 0]), 206 UTF8LowerCase(TContact(List.Items[I]).Fields[cfFirstName])) > 0 then Inc(FoundCount); 207 if Pos(UTF8LowerCase(StringGrid.Cells[2, 0]), 208 UTF8LowerCase(TContact(List.Items[I]).Fields[cfMiddleName])) > 0 then Inc(FoundCount); 209 if Pos(UTF8LowerCase(StringGrid.Cells[3, 0]), 210 UTF8LowerCase(TContact(List.Items[I]).Fields[cfLastName])) > 0 then Inc(FoundCount); 211 if Pos(UTF8LowerCase(StringGrid.Cells[4, 0]), 212 UTF8LowerCase(TContact(List.Items[I]).Fields[cfTel])) > 0 then Inc(FoundCount); 213 if Pos(UTF8LowerCase(StringGrid.Cells[5, 0]), 214 UTF8LowerCase(TContact(List.Items[I]).Fields[cfTelCell])) > 0 then Inc(FoundCount); 215 if Pos(UTF8LowerCase(StringGrid.Cells[6, 0]), 216 UTF8LowerCase(TContact(List.Items[I]).Fields[cfTelHome])) > 0 then Inc(FoundCount); 217 if Pos(UTF8LowerCase(StringGrid.Cells[7, 0]), 218 UTF8LowerCase(TContact(List.Items[I]).Fields[cfTelWork])) > 0 then Inc(FoundCount); 219 if FoundCount <> EnteredCount then List.Delete(I); 220 end; 202 FoundCount := 0; 203 for J := 0 to FilterItems.Count - 1 do begin 204 if FilterItems[J].FieldIndex = cfNone then begin 205 for K := 0 to TContact(List.Items[I]).Parent.Fields.Count - 1 do begin 206 if Pos(UTF8LowerCase(FilterItems[J].Value), 207 UTF8LowerCase(TContact(List.Items[I]).Fields[TContact(List.Items[I]).Parent.Fields[K].Index])) > 0 then begin 208 Inc(FoundCount); 209 Break; 210 end; 211 end; 212 end else begin 213 if Pos(UTF8LowerCase(FilterItems[J].Value), 214 UTF8LowerCase(TContact(List.Items[I]).Fields[FilterItems[J].FieldIndex])) > 0 then 215 Inc(FoundCount); 216 end; 217 end; 218 if FoundCount <> FilterItems.Count then List.Delete(I); 221 219 end; 222 220 end else … … 273 271 end; 274 272 StatusBar1.Panels[0].Text := Text; 273 end; 274 275 procedure TFormContacts.UpdateColumns; 276 var 277 I: Integer; 278 Field: TContactField; 279 begin 280 while ListView1.Columns.Count < ListViewColumns.Count do 281 ListView1.Columns.Add; 282 while ListView1.Columns.Count > ListViewColumns.Count do 283 ListView1.Columns.Delete(ListView1.Columns.Count - 1); 284 for I := 0 to ListView1.Columns.Count - 1 do begin 285 if Assigned(Contacts) and Assigned(Contacts.ContactsFile) then begin 286 Field := Contacts.ContactsFile.Fields.GetByIndex(ListViewColumns[I]); 287 if Assigned(Field) then 288 ListView1.Columns[I].Caption := Field.Title; 289 end; 290 end; 275 291 end; 276 292 … … 512 528 begin 513 529 BeginUpdate; 514 ListView1.BeginUpdate; 515 for I := 0 to ListView1.Items.Count - 1 do 516 ListView1.Items[I].Selected := True; 517 //ListView1.SelectAll; 518 ListView1.EndUpdate; 519 EndUpdate; 530 try 531 ListView1.BeginUpdate; 532 try 533 for I := 0 to ListView1.Items.Count - 1 do 534 ListView1.Items[I].Selected := True; 535 //ListView1.SelectAll; 536 finally 537 ListView1.EndUpdate; 538 end; 539 finally 540 EndUpdate; 541 end; 520 542 end; 521 543 … … 530 552 I: Integer; 531 553 begin 554 FilterItems := TContactFilterItems.Create; 555 556 ListViewColumns := TContactFieldIndexes.Create; 557 ListViewColumns.Add(cfFullName); 558 ListViewColumns.Add(cfFirstName); 559 ListViewColumns.Add(cfMiddleName); 560 ListViewColumns.Add(cfLastName); 561 ListViewColumns.Add(cfTel); 562 ListViewColumns.Add(cfTelCell); 563 ListViewColumns.Add(cfTelHome); 564 ListViewColumns.Add(cfTelWork); 565 ListViewColumns.Add(cfEmailWork); 566 532 567 FContacts := nil; 533 568 for I := 0 to ToolBar1.ButtonCount - 1 do begin … … 535 570 ToolBar1.Buttons[I].Hint := ToolBar1.Buttons[I].Caption; 536 571 end; 572 end; 573 574 procedure TFormContacts.FormDestroy(Sender: TObject); 575 begin 576 FreeAndNil(ListViewColumns); 577 FreeAndNil(FilterItems); 578 end; 579 580 procedure TFormContacts.FormResize(Sender: TObject); 581 begin 582 ListViewFilter1.UpdateFromListView(ListView1); 537 583 end; 538 584 … … 567 613 ACut.Enabled := Assigned(Contacts) and Assigned(ListView1.Selected); 568 614 APaste.Enabled := Assigned(Contacts) and (Clipboard.AsText <> ''); 615 616 UpdateColumns; 569 617 end; 570 618 -
trunk/Forms/UFormMain.lfm
r73 r76 148 148 end 149 149 end 150 object MenuItem7: TMenuItem 151 Caption = 'Find' 152 object MenuItem8: TMenuItem 153 Action = Core.AFind 154 end 155 object MenuItem9: TMenuItem 156 Action = Core.AFindDuplicate 157 end 158 end 150 159 object MenuItemView: TMenuItem 151 160 Caption = 'View' … … 161 170 Action = Core.ASettings 162 171 end 163 object MenuItem 4: TMenuItem164 Action = Core.AFindDuplicate172 object MenuItem10: TMenuItem 173 Caption = '-' 165 174 end 166 175 object MenuItem5: TMenuItem -
trunk/Forms/UFormMain.lrj
r62 r76 3 3 {"hash":315429,"name":"tformmain.menuitemfile.caption","sourcebytes":[70,105,108,101],"value":"File"}, 4 4 {"hash":131987540,"name":"tformmain.menuitemfileopenrecent.caption","sourcebytes":[79,112,101,110,32,114,101,99,101,110,116],"value":"Open recent"}, 5 {"hash":315460,"name":"tformmain.menuitem7.caption","sourcebytes":[70,105,110,100],"value":"Find"}, 5 6 {"hash":380871,"name":"tformmain.menuitemview.caption","sourcebytes":[86,105,101,119],"value":"View"}, 6 7 {"hash":8267778,"name":"tformmain.menuitemtoolbar.caption","sourcebytes":[77,97,105,110,32,116,111,111,108,98,97,114],"value":"Main toolbar"}, -
trunk/Forms/UFormMain.pas
r62 r76 17 17 MainMenu1: TMainMenu; 18 18 MenuItem1: TMenuItem; 19 MenuItem10: TMenuItem; 19 20 MenuItem3: TMenuItem; 20 MenuItem4: TMenuItem;21 21 MenuItem5: TMenuItem; 22 22 MenuItem6: TMenuItem; 23 MenuItem7: TMenuItem; 24 MenuItem8: TMenuItem; 25 MenuItem9: TMenuItem; 23 26 MenuItemToolbar: TMenuItem; 24 27 MenuItemView: TMenuItem; … … 90 93 procedure TFormMain.FormCreate(Sender: TObject); 91 94 begin 95 FormContacts := TFormContacts.Create(nil); 92 96 end; 93 97 94 98 procedure TFormMain.FormDestroy(Sender: TObject); 95 99 begin 96 F ormContacts.Free;100 FreeAndNil(FormContacts); 97 101 end; 98 102 … … 111 115 CoolBar1.AutosizeBands; 112 116 113 FormContacts := TFormContacts.Create(nil);114 117 FormContacts.Contacts := TContactsFile(Core.DataFile).Contacts; 115 118 FormContacts.ManualDock(Self, nil, alClient); -
trunk/Languages/vCardStudio.cs.po
r74 r76 53 53 msgstr "Rozdělit..." 54 54 55 #: tcore.afind.caption 56 msgid "Find..." 57 msgstr "Hledat..." 58 55 59 #: tcore.afindduplicate.caption 56 60 msgctxt "tcore.afindduplicate.caption" … … 558 562 msgstr "Chyby načítání" 559 563 564 #: tformfind.buttonfind.caption 565 msgctxt "tformfind.buttonfind.caption" 566 msgid "Find" 567 msgstr "Hledat" 568 569 #: tformfind.caption 570 msgctxt "tformfind.caption" 571 msgid "Find" 572 msgstr "Hledat" 573 574 #: tformfind.label1.caption 575 msgctxt "tformfind.label1.caption" 576 msgid "By contact field:" 577 msgstr "Podle pole kontaktu:" 578 560 579 #: tformfindduplicity.ashowcontacts.caption 580 msgctxt "tformfindduplicity.ashowcontacts.caption" 561 581 msgid "Show contacts" 562 582 msgstr "Ukázat kontakty" … … 572 592 573 593 #: tformfindduplicity.label1.caption 594 msgctxt "tformfindduplicity.label1.caption" 574 595 msgid "By contact field:" 575 596 msgstr "Podle pole kontaktu:" … … 586 607 587 608 #: tformfindduplicity.listview1.columns[2].caption 609 msgctxt "tformfindduplicity.listview1.columns[2].caption" 588 610 msgid "Count" 589 611 msgstr "Počet" … … 607 629 msgstr "vCard Studio" 608 630 631 #: tformmain.menuitem7.caption 632 msgctxt "tformmain.menuitem7.caption" 633 msgid "Find" 634 msgstr "Hledat" 635 609 636 #: tformmain.menuitemfile.caption 610 637 msgctxt "tformmain.menuitemfile.caption" … … 1175 1202 msgstr "Celkem" 1176 1203 1204 #: uformfind.sany 1205 msgid "Any" 1206 msgstr "Jakékoliv" 1207 1177 1208 #: uformmain.smodified 1178 1209 msgid "Modified" -
trunk/Languages/vCardStudio.po
r74 r76 43 43 msgstr "" 44 44 45 #: tcore.afind.caption 46 msgid "Find..." 47 msgstr "" 48 45 49 #: tcore.afindduplicate.caption 46 50 msgctxt "tcore.afindduplicate.caption" … … 548 552 msgstr "" 549 553 554 #: tformfind.buttonfind.caption 555 msgctxt "tformfind.buttonfind.caption" 556 msgid "Find" 557 msgstr "" 558 559 #: tformfind.caption 560 msgctxt "tformfind.caption" 561 msgid "Find" 562 msgstr "" 563 564 #: tformfind.label1.caption 565 msgctxt "tformfind.label1.caption" 566 msgid "By contact field:" 567 msgstr "" 568 550 569 #: tformfindduplicity.ashowcontacts.caption 570 msgctxt "tformfindduplicity.ashowcontacts.caption" 551 571 msgid "Show contacts" 552 572 msgstr "" … … 562 582 563 583 #: tformfindduplicity.label1.caption 584 msgctxt "tformfindduplicity.label1.caption" 564 585 msgid "By contact field:" 565 586 msgstr "" … … 576 597 577 598 #: tformfindduplicity.listview1.columns[2].caption 599 msgctxt "tformfindduplicity.listview1.columns[2].caption" 578 600 msgid "Count" 579 601 msgstr "" … … 597 619 msgstr "" 598 620 621 #: tformmain.menuitem7.caption 622 msgctxt "tformmain.menuitem7.caption" 623 msgid "Find" 624 msgstr "" 625 599 626 #: tformmain.menuitemfile.caption 600 627 msgctxt "tformmain.menuitemfile.caption" … … 1163 1190 msgstr "" 1164 1191 1192 #: uformfind.sany 1193 msgid "Any" 1194 msgstr "" 1195 1165 1196 #: uformmain.smodified 1166 1197 msgid "Modified" -
trunk/UContact.pas
r74 r76 15 15 TDataType = (dtNone, dtString, dtInteger, dtDate, dtDateTime, dtImage, dtStringList); 16 16 17 TContactFieldIndex = (cf FirstName, cfMiddleName, cfLastName, cfTitleBefore,17 TContactFieldIndex = (cfNone, cfFirstName, cfMiddleName, cfLastName, cfTitleBefore, 18 18 cfTitleAfter, cfFullName, 19 19 cfTel, cfTelCell, cfTelFax, cfTelPager, cfTelHome2, cfTelVoip, cfTelMain, … … 33 33 cfTwitter, cfFacebook, cfInstagram, cfSnapchat, cfMatrix, cfYoutube, 34 34 cfPeerTube, cfLinkedIn, cfMastodon, cfMySpace, cfReddit); 35 36 TContactFieldIndexes = TFPGList<TContactFieldIndex>; 37 38 TContactFilterItem = class 39 FieldIndex: TContactFieldIndex; 40 Value: string; 41 end; 42 43 { TContactFilterItems } 44 45 TContactFilterItems = class(TFPGObjectList<TContactFilterItem>) 46 function AddNew(FieldIndex: TContactFieldIndex; Value: string): TContactFilterItem; 47 end; 35 48 36 49 TContactFields = class; … … 348 361 end; 349 362 SetLength(Result, O - 1); 363 end; 364 365 { TContactFilterItems } 366 367 function TContactFilterItems.AddNew(FieldIndex: TContactFieldIndex; 368 Value: string): TContactFilterItem; 369 begin 370 Result := TContactFilterItem.Create; 371 Result.FieldIndex := FieldIndex; 372 Result.Value := Value; 373 Add(Result); 350 374 end; 351 375 -
trunk/UCore.lfm
r73 r76 10 10 object ImageList1: TImageList 11 11 Left = 115 12 Top = 20 212 Top = 200 13 13 Bitmap = { 14 4C690 E000000100000001000000000000000000000000000000000000000000014 4C690F0000001000000010000000000000000000000000000000000000000000 15 15 0000000000000000000000000000000000000000000000000000000000000000 16 16 0000000000000000000000000000000000000000000000000000000000000000 … … 460 460 00FF840000FF840000FF840000FFFF00FF00FF00FF00FF00FF00FF00FF00FF00 461 461 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 462 FF00FF00FF00FF00FF00FF00FF00 462 FF00FF00FF00FF00FF00FF00FF000000000000000000000000010000001A0000 463 0074000000C1000000DD000000DE000000BF0000006D0000001E000000020000 464 0000000000000000000000000000000000000000000100000036000000B20000 465 00D0000000930000006F0000006D00000098000000CE000000B1000000360000 466 00000000000000000000000000000000000000000024000000B1000000BE0000 467 00370000000700000000000000000000000800000042000000BC000000BE0000 468 000D000000000000000000000000000000050000006B000000D40000003D0000 469 000000000000000000000000000000000000000000020000003C000000DE0000 470 006500000000000000000000000000000019000000B2000000850000000A0000 471 0000000000000000000000000000000000000000000000000000000000910000 472 00C300000006000000000000000000000023000000C900000061000000000000 473 00000000000000000000000000000000000000000000000000000000005D0000 474 00D50000001B000000000000000000000023000000C900000061000000000000 475 00000000000000000000000000000000000000000000000000000000005D0000 476 00D60000001C000000000000000000000019000000B2000000850000000A0000 477 0000000000000000000000000000000000000000000000000000000000910000 478 00C5000000060000000000000000000000050000006B000000D40000003D0000 479 000000000000000000000000000000000000000000020000003C000000DF0000 480 00680000000000000000000000000000000000000024000000AE000000BE0000 481 00370000000700000000000000000000000800000042000000BC000000F90000 482 0039000000000000000000000000000000000000000100000032000000AF0000 483 00D0000000930000006F0000006D00000098000000CE000000ED000000FD0000 484 00B50000002F00000000000000000000000000000000000000000000001A0000 485 0074000000C2000000E5000000E8000000C00000006B00000044000000CA0000 486 00FB000000B40000002900000000000000000000000000000000000000000000 487 0000000000000000000000000000000000000000000000000000000000130000 488 00C4000000FC000000C800000034000000000000000000000000000000000000 489 0000000000000000000000000000000000000000000000000000000000000000 490 002E000000BA000000FA000000B9000000000000000000000000000000000000 491 0000000000000000000000000000000000000000000000000000000000000000 492 000200000033000000A5000000A5000000000000000000000000000000000000 493 0000000000000000000000000000000000000000000000000000000000000000 494 0000000000020000001600000016 463 495 } 464 496 end … … 543 575 Caption = 'Split...' 544 576 OnExecute = AFileSplitExecute 577 end 578 object AFind: TAction 579 Caption = 'Find...' 580 ImageIndex = 14 581 OnExecute = AFindExecute 582 ShortCut = 16454 545 583 end 546 584 end -
trunk/UCore.lrj
r73 r76 14 14 {"hash":245221587,"name":"tcore.agenerate.caption","sourcebytes":[71,101,110,101,114,97,116,101,32,99,111,110,116,97,99,116,115],"value":"Generate contacts"}, 15 15 {"hash":120616622,"name":"tcore.afilesplit.caption","sourcebytes":[83,112,108,105,116,46,46,46],"value":"Split..."}, 16 {"hash":218394958,"name":"tcore.afind.caption","sourcebytes":[70,105,110,100,46,46,46],"value":"Find..."}, 16 17 {"hash":190444780,"name":"tcore.applicationinfo1.description","sourcebytes":[118,67,97,114,100,32,102,105,108,101,115,32,109,97,110,97,103,101,109,101,110,116,32,116,111,111,108],"value":"vCard files management tool"} 17 18 ]} -
trunk/UCore.pas
r73 r76 17 17 AAbout: TAction; 18 18 AboutDialog1: TAboutDialog; 19 AFind: TAction; 19 20 AFileSplit: TAction; 20 21 AGenerate: TAction; … … 52 53 procedure AFileSplitExecute(Sender: TObject); 53 54 procedure AFindDuplicateExecute(Sender: TObject); 55 procedure AFindExecute(Sender: TObject); 54 56 procedure AGenerateExecute(Sender: TObject); 55 57 procedure AHomePageExecute(Sender: TObject); … … 99 101 uses 100 102 UFormMain, UFormSettings, UContact, UFormContacts, UFormFindDuplicity, 101 UFormGenerate, UFormError ;103 UFormGenerate, UFormError, UFormFind; 102 104 103 105 resourcestring … … 202 204 procedure TCore.AFindDuplicateExecute(Sender: TObject); 203 205 begin 204 FormFindDuplicity := TFormFindDuplicity.Create(nil);205 with FormFindDuplicity do begin206 with TFormFindDuplicity.Create(nil) do 207 try 206 208 Contacts := TContactsFile(DataFile).Contacts; 207 209 ShowModal; 208 210 FormContacts.ReloadList; 209 211 FormMain.UpdateInterface; 212 finally 210 213 Free; 211 214 end; 212 215 end; 213 216 217 procedure TCore.AFindExecute(Sender: TObject); 218 begin 219 with TFormFind.Create(nil) do 220 try 221 Contacts := TContactsFile(DataFile).Contacts; 222 ShowModal; 223 FormContacts.ReloadList; 224 FormMain.UpdateInterface; 225 finally 226 Free; 227 end; 228 end; 229 214 230 procedure TCore.AGenerateExecute(Sender: TObject); 215 231 begin 216 FormGenerate := TFormGenerate.Create(nil);217 with FormGenerate do begin232 with TFormGenerate.Create(nil) do 233 try 218 234 Contacts := TContactsFile(DataFile).Contacts; 219 235 ShowModal; … … 222 238 DataFile.Modified := True; 223 239 FormMain.UpdateInterface; 240 finally 224 241 Free; 225 242 end; … … 233 250 procedure TCore.ASettingsExecute(Sender: TObject); 234 251 begin 235 FormSettings := TFormSettings.Create(nil);236 try 237 FormSettings.LoadData;238 if FormSettings.ShowModal = mrOK then begin239 FormSettings.SaveData;252 with TFormSettings.Create(nil) do 253 try 254 LoadData; 255 if ShowModal = mrOK then begin 256 SaveData; 240 257 ThemeManager1.UseTheme(FormMain); 241 258 ThemeManager1.UseTheme(FormContacts); 242 259 end; 243 260 finally 244 F ormSettings.Free;261 Free; 245 262 end; 246 263 end; -
trunk/vCardStudio.lpi
r39 r76 101 101 </Item2> 102 102 </RequiredPackages> 103 <Units Count="1 4">103 <Units Count="15"> 104 104 <Unit0> 105 105 <Filename Value="vCardStudio.lpr"/> … … 188 188 <ResourceBaseClass Value="Form"/> 189 189 </Unit13> 190 <Unit14> 191 <Filename Value="Forms\UFormFind.pas"/> 192 <IsPartOfProject Value="True"/> 193 <ComponentName Value="FormFind"/> 194 <HasResources Value="True"/> 195 <ResourceBaseClass Value="Form"/> 196 </Unit14> 190 197 </Units> 191 198 </ProjectOptions>
Note:
See TracChangeset
for help on using the changeset viewer.