- Location:
- /trunk
- Files:
-
- 33 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified /trunk/AcronymDecoder.lpi ¶
r20 r30 71 71 </local> 72 72 </RunParams> 73 <RequiredPackages Count=" 5">73 <RequiredPackages Count="4"> 74 74 <Item1> 75 75 <PackageName Value="CoolTranslator"/> … … 85 85 </Item3> 86 86 <Item4> 87 <PackageName Value="synapse"/> 88 <DefaultFilename Value="Packages\synapse\synapse.lpk" Prefer="True"/> 87 <PackageName Value="LCL"/> 89 88 </Item4> 90 <Item5>91 <PackageName Value="LCL"/>92 </Item5>93 89 </RequiredPackages> 94 <Units Count="1 1">90 <Units Count="15"> 95 91 <Unit0> 96 92 <Filename Value="AcronymDecoder.lpr"/> … … 150 146 <IsPartOfProject Value="True"/> 151 147 <ComponentName Value="FormImportSource"/> 148 <HasResources Value="True"/> 152 149 <ResourceBaseClass Value="Form"/> 153 150 </Unit9> … … 156 153 <IsPartOfProject Value="True"/> 157 154 <ComponentName Value="FormImportSources"/> 155 <HasResources Value="True"/> 158 156 <ResourceBaseClass Value="Form"/> 159 157 </Unit10> 158 <Unit11> 159 <Filename Value="Forms\UFormAbout.pas"/> 160 <IsPartOfProject Value="True"/> 161 <ComponentName Value="FormAbout"/> 162 <HasResources Value="True"/> 163 <ResourceBaseClass Value="Form"/> 164 </Unit11> 165 <Unit12> 166 <Filename Value="Forms\UFormImportFormat.pas"/> 167 <IsPartOfProject Value="True"/> 168 <ComponentName Value="FormImportFormat"/> 169 <HasResources Value="True"/> 170 <ResourceBaseClass Value="Form"/> 171 </Unit12> 172 <Unit13> 173 <Filename Value="Forms\UFormImportFormats.pas"/> 174 <IsPartOfProject Value="True"/> 175 <ComponentName Value="FormImportFormats"/> 176 <HasResources Value="True"/> 177 <ResourceBaseClass Value="Form"/> 178 </Unit13> 179 <Unit14> 180 <Filename Value="Forms\UFormImportPattern.pas"/> 181 <IsPartOfProject Value="True"/> 182 <ComponentName Value="FormImportPattern"/> 183 <HasResources Value="True"/> 184 <ResourceBaseClass Value="Form"/> 185 </Unit14> 160 186 </Units> 161 187 </ProjectOptions> -
TabularUnified /trunk/AcronymDecoder.lpr ¶
r20 r30 8 8 {$ENDIF}{$ENDIF} 9 9 Interfaces, // this includes the LCL widgetset 10 Forms, UAcronym, synapse,Common, SysUtils, TemplateGenerics, UFormImport,10 Forms, UAcronym, Common, SysUtils, TemplateGenerics, UFormImport, 11 11 CoolTranslator, UFormCategorySelect, UFormMain, UFormAcronym, UFormSettings, 12 UFormCategories, UFormAcronyms, UFormImportSource, UFormImportSources 12 UFormCategories, UFormAcronyms, UFormImportSource, UFormImportSources, 13 UFormAbout, UFormImportFormat, UFormImportFormats, UFormImportPattern 13 14 { you can add units after this }; 14 15 … … 40 41 Application.CreateForm(TFormImportSource, FormImportSource); 41 42 Application.CreateForm(TFormImportSources, FormImportSources); 43 Application.CreateForm(TFormAbout, FormAbout); 44 Application.CreateForm(TFormImportFormat, FormImportFormat); 45 Application.CreateForm(TFormImportFormats, FormImportFormats); 46 Application.CreateForm(TFormImportPattern, FormImportPattern); 42 47 Application.Run; 43 48 end. -
TabularUnified /trunk/Example acronyms.adp ¶
r20 r30 839 839 </Acronym> 840 840 </Acronyms> 841 <ImportFormats> 842 <ImportFormat> 843 <Id>1</Id> 844 <Name>Mediawiki acronyms</Name> 845 <BlockStartString/> 846 <BlockEndString/> 847 <AcronymStartString><li><b></AcronymStartString> 848 <AcronymEndString></b></AcronymEndString> 849 <MeaningStartString>–</MeaningStartString> 850 <MeaningEndString></li></MeaningEndString> 851 <DescriptionStartString/> 852 <DescriptionEndString/> 853 </ImportFormat> 854 <ImportFormat> 855 <Id>2</Id> 856 <Name>MediaWiki Lingo</Name> 857 <BlockStartString/> 858 <BlockEndString/> 859 <AcronymStartString>mw-lingo-tooltip-abbr"></AcronymStartString> 860 <AcronymEndString></span></AcronymEndString> 861 <MeaningStartString>mw-lingo-tooltip-definition "></MeaningStartString> 862 <MeaningEndString></span></MeaningEndString> 863 <DescriptionStartString/> 864 <DescriptionEndString/> 865 </ImportFormat> 866 <ImportFormat> 867 <Id>3</Id> 868 <Name>MediaWiki 2</Name> 869 <BlockStartString></ul></BlockStartString> 870 <BlockEndString><table style</BlockEndString> 871 <AcronymStartString><li></AcronymStartString> 872 <AcronymEndString>—</AcronymEndString> 873 <MeaningStartString/> 874 <MeaningEndString></li></MeaningEndString> 875 <DescriptionStartString/> 876 <DescriptionEndString/> 877 </ImportFormat> 878 </ImportFormats> 879 <ImportSources> 880 <ImportSource> 881 <Name>Wikipedia - List of business and finance abbreviations</Name> 882 <URL>https://en.wikipedia.org/wiki/List_of_business_and_finance_abbreviations</URL> 883 <ImportFormat>1</ImportFormat> 884 </ImportSource> 885 <ImportSource> 886 <Name>wiki.zdechov.net terminology</Name> 887 <URL>http://wiki.zdechov.net/wiki/Terminologie</URL> 888 <ImportFormat>2</ImportFormat> 889 </ImportSource> 890 <ImportSource> 891 <Name>Wikipedia - List of energy abbreviations</Name> 892 <URL>https://en.wikipedia.org/wiki/List_of_energy_abbreviations</URL> 893 <ImportFormat>3</ImportFormat> 894 </ImportSource> 895 </ImportSources> 841 896 </AcronymDecoderProject> -
TabularUnified /trunk/Forms/UFormAcronyms.lfm ¶
r20 r30 11 11 object ListViewAcronyms: TListView 12 12 Left = 8 13 Height = 51013 Height = 480 14 14 Top = 40 15 15 Width = 725 … … 26 26 item 27 27 Caption = 'Categories' 28 Width = 30 028 Width = 305 29 29 end> 30 30 MultiSelect = True … … 48 48 Anchors = [akTop, akLeft, akRight] 49 49 end 50 object StatusBar1: TStatusBar 51 Left = 0 52 Height = 28 53 Top = 530 54 Width = 740 55 Panels = < 56 item 57 Width = 100 58 end 59 item 60 Width = 100 61 end> 62 SimplePanel = False 63 end 50 64 object ListViewSort1: TListViewSort 51 65 ListView = ListViewAcronyms … … 53 67 OnFilter = ListViewSort1Filter 54 68 Column = 0 55 Order = so Down69 Order = soUp 56 70 left = 248 57 71 top = 168 … … 63 77 object AAdd: TAction 64 78 Caption = 'Add' 79 ImageIndex = 0 65 80 OnExecute = AAddExecute 66 81 ShortCut = 45 … … 68 83 object AModify: TAction 69 84 Caption = 'Modify' 85 ImageIndex = 3 70 86 OnExecute = AModifyExecute 71 87 ShortCut = 13 … … 73 89 object ARemove: TAction 74 90 Caption = 'Remove' 91 ImageIndex = 4 75 92 OnExecute = ARemoveExecute 76 93 ShortCut = 46 … … 78 95 object ASelectAll: TAction 79 96 Caption = 'Select all' 97 OnExecute = ASelectAllExecute 80 98 ShortCut = 16449 81 99 end -
TabularUnified /trunk/Forms/UFormAcronyms.pas ¶
r20 r30 27 27 MenuItem7: TMenuItem; 28 28 PopupMenuAcronym: TPopupMenu; 29 StatusBar1: TStatusBar; 29 30 procedure AAddExecute(Sender: TObject); 30 31 procedure AModifyExecute(Sender: TObject); … … 41 42 procedure ListViewSort1Filter(ListViewSort: TListViewSort); 42 43 private 44 MeaningCount: Integer; 43 45 procedure FilterList(List: TListObject); 44 46 procedure UpdateAcronymsList; … … 58 60 59 61 resourcestring 60 SRemoveAllAcronyms = 'Remove all acronyms';61 SRemoveAllAcronymsQuery = 'Do you want to remove all acronyms?';62 62 SRemoveAcronym = 'Remove acronym'; 63 63 SRemoveAcronymQuery = 'Do you want to remove selected acronym?'; … … 213 213 FormMain.AcronymDb.Acronyms.Sort(AcronymComparer); 214 214 FormMain.AcronymDb.AssignToList(ListViewSort1.List); 215 MeaningCount := ListViewSort1.List.Count; 215 216 FilterList(ListViewSort1.List); 216 217 end; … … 249 250 ListViewSort1.Refresh; 250 251 UpdateInterface; 252 StatusBar1.Panels[0].Text := 'Total: ' + IntToStr(MeaningCount); 253 StatusBar1.Panels[1].Text := 'Filtered: ' + IntToStr(ListViewAcronyms.Items.Count); 251 254 end; 252 255 … … 256 259 AModify.Enabled := Assigned(FormMain.AcronymDb) and Assigned(ListViewAcronyms.Selected); 257 260 AAdd.Enabled := Assigned(FormMain.AcronymDb); 261 ASelectAll.Enabled := True; 258 262 end; 259 263 -
TabularUnified /trunk/Forms/UFormCategories.lfm ¶
r20 r30 1 1 object FormCategories: TFormCategories 2 Left = 6303 Height = 4 874 Top = 4 852 Left = 592 3 Height = 429 4 Top = 490 5 5 Width = 784 6 6 Caption = 'Acronym categories' 7 ClientHeight = 4 877 ClientHeight = 429 8 8 ClientWidth = 784 9 9 OnShow = FormShow … … 11 11 object ListViewCategories: TListView 12 12 Left = 9 13 Height = 43213 Height = 374 14 14 Top = 8 15 15 Width = 767 … … 36 36 Left = 15 37 37 Height = 25 38 Top = 44838 Top = 390 39 39 Width = 75 40 40 Action = AAdd 41 Anchors = [akLeft, akBottom] 41 42 TabOrder = 1 42 43 end … … 44 45 Left = 104 45 46 Height = 25 46 Top = 44847 Top = 390 47 48 Width = 75 48 49 Action = AModify 50 Anchors = [akLeft, akBottom] 49 51 TabOrder = 2 50 52 end … … 52 54 Left = 192 53 55 Height = 25 54 Top = 44856 Top = 390 55 57 Width = 75 56 58 Action = ARemove 59 Anchors = [akLeft, akBottom] 57 60 TabOrder = 3 58 61 end … … 63 66 object AAdd: TAction 64 67 Caption = 'Add' 68 ImageIndex = 0 65 69 OnExecute = AAddExecute 66 70 ShortCut = 45 … … 68 72 object ARemove: TAction 69 73 Caption = 'Remove' 74 ImageIndex = 4 70 75 OnExecute = ARemoveExecute 71 76 ShortCut = 46 … … 73 78 object AModify: TAction 74 79 Caption = 'Modify' 80 ImageIndex = 3 75 81 OnExecute = AModifyExecute 76 82 ShortCut = 13 -
TabularUnified /trunk/Forms/UFormImport.pas ¶
r20 r30 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 httpsend,UAcronym;9 UAcronym; 10 10 11 11 type … … 42 42 SImportedNewAcronyms = 'Imported %d new acronyms.'; 43 43 44 45 function DownloadHTTP(URL: string; Stream: TStream): Boolean;46 var47 HTTPGetResult: Boolean;48 HTTPSender: THTTPSend;49 begin50 Result := False;51 HTTPSender := THTTPSend.Create;52 try53 HTTPGetResult := HTTPSender.HTTPMethod('GET', URL);54 if (HTTPSender.ResultCode >= 100) and (HTTPSender.ResultCode <= 299) then begin55 HTTPSender.Document.SaveToStream(Stream);56 Result := True;57 end;58 finally59 HTTPSender.Free;60 end;61 end;62 44 63 45 { TFormImport } -
TabularUnified /trunk/Forms/UFormImportSource.lfm ¶
r20 r30 1 1 object FormImportSource: TFormImportSource 2 2 Left = 506 3 Height = 4223 Height = 282 4 4 Top = 363 5 Width = 5 995 Width = 507 6 6 Caption = 'Import source' 7 ClientHeight = 4228 ClientWidth = 5 997 ClientHeight = 282 8 ClientWidth = 507 9 9 LCLVersion = '1.6.0.4' 10 10 object EditName: TEdit … … 12 12 Height = 28 13 13 Top = 10 14 Width = 43214 Width = 340 15 15 Anchors = [akTop, akLeft, akRight] 16 16 TabOrder = 0 … … 36 36 Height = 28 37 37 Top = 49 38 Width = 43238 Width = 340 39 39 Anchors = [akTop, akLeft, akRight] 40 40 TabOrder = 1 41 41 end 42 42 object ButtonOk: TButton 43 Left = 50443 Left = 412 44 44 Height = 25 45 Top = 38445 Top = 244 46 46 Width = 75 47 47 Anchors = [akRight, akBottom] … … 51 51 end 52 52 object ButtonCancel: TButton 53 Left = 40853 Left = 316 54 54 Height = 25 55 Top = 38455 Top = 244 56 56 Width = 75 57 57 Anchors = [akRight, akBottom] … … 60 60 TabOrder = 3 61 61 end 62 object Label3: TLabel 63 Left = 11 64 Height = 20 65 Top = 96 66 Width = 84 67 Caption = 'Data format:' 68 ParentColor = False 69 end 70 object ComboBox1: TComboBox 71 Left = 160 72 Height = 28 73 Top = 91 74 Width = 212 75 Anchors = [akTop, akLeft, akRight] 76 ItemHeight = 20 77 Style = csDropDownList 78 TabOrder = 4 79 end 80 object ButtonShowFormat: TButton 81 Left = 380 82 Height = 25 83 Top = 91 84 Width = 120 85 Anchors = [akTop, akRight] 86 Caption = 'Configure' 87 OnClick = ButtonShowFormatClick 88 TabOrder = 5 89 end 90 object CheckBoxEnabled: TCheckBox 91 Left = 11 92 Height = 24 93 Top = 136 94 Width = 78 95 Caption = 'Enabled' 96 TabOrder = 6 97 end 62 98 end -
TabularUnified /trunk/Forms/UFormImportSource.lrt ¶
r20 r30 4 4 TFORMIMPORTSOURCE.BUTTONOK.CAPTION=Ok 5 5 TFORMIMPORTSOURCE.BUTTONCANCEL.CAPTION=Cancel 6 TFORMIMPORTSOURCE.LABEL3.CAPTION=Data format: 7 TFORMIMPORTSOURCE.BUTTONSHOWFORMAT.CAPTION=Configure 8 TFORMIMPORTSOURCE.CHECKBOXENABLED.CAPTION=Enabled -
TabularUnified /trunk/Forms/UFormImportSource.pas ¶
r20 r30 14 14 15 15 TFormImportSource = class(TForm) 16 ButtonShowFormat: TButton; 16 17 ButtonOk: TButton; 17 18 ButtonCancel: TButton; 19 CheckBoxEnabled: TCheckBox; 20 ComboBox1: TComboBox; 18 21 EditName: TEdit; 19 22 EditURL: TEdit; 20 23 Label1: TLabel; 21 24 Label2: TLabel; 25 Label3: TLabel; 26 procedure ButtonShowFormatClick(Sender: TObject); 22 27 private 23 28 { private declarations } … … 34 39 {$R *.lfm} 35 40 41 uses 42 UFormMain, UFormImportFormat; 43 36 44 { TFormImportSource } 37 45 46 procedure TFormImportSource.ButtonShowFormatClick(Sender: TObject); 47 var 48 NewImportFormat: TImportFormat; 49 begin 50 if ComboBox1.ItemIndex <> -1 then begin 51 NewImportFormat := TImportFormat.Create; 52 NewImportFormat.Assign(TImportFormat(ComboBox1.Items.Objects[ComboBox1.ItemIndex])); 53 FormImportFormat.Load(NewImportFormat); 54 if FormImportFormat.ShowModal = mrOk then begin 55 FormImportFormat.Save(NewImportFormat); 56 TImportFormat(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).Assign(NewImportFormat); 57 FormMain.AcronymDb.Modified := True; 58 ComboBox1.Items.Strings[ComboBox1.ItemIndex] := NewImportFormat.Name; 59 end; 60 if Assigned(NewImportFormat) then NewImportFormat.Free; 61 end; 62 end; 63 38 64 procedure TFormImportSource.Load(ImportSource: TImportSource); 65 var 66 I: Integer; 39 67 begin 40 68 EditName.Text := ImportSource.Name; 41 69 EditURL.Text := ImportSource.URL; 70 while ComboBox1.Items.Count > FormMain.AcronymDb.ImportFormats.Count do 71 ComboBox1.Items.Delete(ComboBox1.Items.Count - 1); 72 while ComboBox1.Items.Count < FormMain.AcronymDb.ImportFormats.Count do 73 ComboBox1.Items.Add(''); 74 for I := 0 to FormMain.AcronymDb.ImportFormats.Count - 1 do begin 75 ComboBox1.Items[I] := TImportFormat(FormMain.AcronymDb.ImportFormats[I]).Name; 76 ComboBox1.Items.Objects[I] := FormMain.AcronymDb.ImportFormats[I]; 77 end; 78 ComboBox1.ItemIndex := ComboBox1.Items.IndexOfObject(ImportSource.Format); 79 if (ComboBox1.ItemIndex = -1) and (ComboBox1.Items.Count > 0) then 80 ComboBox1.ItemIndex := 0; 81 CheckBoxEnabled.Checked := ImportSource.Enabled; 42 82 end; 43 83 … … 46 86 ImportSource.Name := EditName.Text; 47 87 ImportSource.URL := EditURL.Text; 88 ImportSource.Format := TImportFormat(ComboBox1.Items.Objects[ComboBox1.ItemIndex]); 89 ImportSource.Enabled := CheckBoxEnabled.Checked; 48 90 end; 49 91 -
TabularUnified /trunk/Forms/UFormImportSources.lfm ¶
r20 r30 15 15 Width = 577 16 16 Anchors = [akTop, akLeft, akRight, akBottom] 17 Checkboxes = True 17 18 Columns = < 18 19 item … … 22 23 item 23 24 Caption = 'URL' 24 Width = 30025 Width = 407 25 26 end> 26 27 MultiSelect = True … … 41 42 object AAdd: TAction 42 43 Caption = 'Add' 44 ImageIndex = 0 43 45 OnExecute = AAddExecute 44 46 ShortCut = 45 … … 46 48 object ARemove: TAction 47 49 Caption = 'Remove' 50 ImageIndex = 4 48 51 OnExecute = ARemoveExecute 49 52 ShortCut = 46 … … 51 54 object AModify: TAction 52 55 Caption = 'Modify' 56 ImageIndex = 3 53 57 OnExecute = AModifyExecute 54 58 ShortCut = 13 59 end 60 object AProcess: TAction 61 Caption = 'Process' 62 OnExecute = AProcessExecute 55 63 end 56 64 end … … 68 76 Action = ARemove 69 77 end 78 object MenuItem4: TMenuItem 79 Action = AProcess 80 end 70 81 end 71 82 end -
TabularUnified /trunk/Forms/UFormImportSources.lrt ¶
r20 r30 5 5 TFORMIMPORTSOURCES.AREMOVE.CAPTION=Remove 6 6 TFORMIMPORTSOURCES.AMODIFY.CAPTION=Modify 7 TFORMIMPORTSOURCES.APROCESS.CAPTION=Process -
TabularUnified /trunk/Forms/UFormImportSources.pas ¶
r20 r30 15 15 TFormImportSources = class(TForm) 16 16 AAdd: TAction; 17 AProcess: TAction; 17 18 ActionList1: TActionList; 18 19 AModify: TAction; … … 22 23 MenuItem2: TMenuItem; 23 24 MenuItem3: TMenuItem; 25 MenuItem4: TMenuItem; 24 26 PopupMenuImportSource: TPopupMenu; 25 27 procedure AAddExecute(Sender: TObject); 26 28 procedure AModifyExecute(Sender: TObject); 29 procedure AProcessExecute(Sender: TObject); 27 30 procedure ARemoveExecute(Sender: TObject); 28 31 procedure FormShow(Sender: TObject); … … 50 53 51 54 resourcestring 52 SImportSource = 'Import source';53 SImportSourceQuery = 'Enter name of import source';54 55 SRemoveImportSource = 'Remove import sources'; 55 56 SRemoveImportSourceQuery = 'Do you really want to remove selected import sources?'; … … 66 67 Item.Data := ImportSources[Item.Index]; 67 68 Item.SubItems.Add(URL); 69 Item.Checked := Enabled; 68 70 end; 69 71 end; … … 143 145 end; 144 146 147 procedure TFormImportSources.AProcessExecute(Sender: TObject); 148 begin 149 if Assigned(ListView1.Selected) then begin 150 TImportSource(ListView1.Selected.Data).Process; 151 ShowMessage(Format(SAddedCount, [TImportSource(ListView1.Selected.Data).ItemCount])); 152 end; 153 end; 154 145 155 procedure TFormImportSources.ARemoveExecute(Sender: TObject); 146 156 var -
TabularUnified /trunk/Forms/UFormMain.lfm ¶
r20 r30 14 14 OnShow = FormShow 15 15 LCLVersion = '1.6.0.4' 16 object ListViewAcronyms: TListView 17 Left = 8 18 Height = 340 19 Top = 72 20 Width = 613 21 Anchors = [akTop, akLeft, akRight, akBottom] 22 Columns = < 23 item 24 Caption = 'Name' 25 Width = 100 26 end 27 item 28 Caption = 'Description' 29 Width = 300 30 end 31 item 32 Caption = 'Categories' 33 Width = 300 34 end> 35 OwnerData = True 36 ReadOnly = True 37 RowSelect = True 16 object Panel1: TPanel 17 Left = 0 18 Height = 395 19 Top = 26 20 Width = 631 21 Align = alClient 22 BevelOuter = bvNone 23 ClientHeight = 395 24 ClientWidth = 631 38 25 TabOrder = 0 39 ViewStyle = vsReport 40 OnData = ListViewAcronymsData 41 OnSelectItem = ListViewAcronymsSelectItem 26 object CheckBoxExactMath: TCheckBox 27 Left = 8 28 Height = 24 29 Top = 3 30 Width = 104 31 Caption = 'Exact match' 32 OnChange = CheckBoxExactMathChange 33 TabOrder = 0 34 end 35 object ListViewFilter1: TListViewFilter 36 Left = 8 37 Height = 30 38 Top = 32 39 Width = 616 40 OnChange = ListViewFilter1Change 41 Anchors = [akTop, akLeft, akRight] 42 end 43 object ListViewAcronyms: TListView 44 Left = 8 45 Height = 323 46 Top = 64 47 Width = 616 48 Anchors = [akTop, akLeft, akRight, akBottom] 49 Columns = < 50 item 51 Caption = 'Name' 52 Width = 100 53 end 54 item 55 Caption = 'Description' 56 Width = 300 57 end 58 item 59 Caption = 'Categories' 60 Width = 300 61 end> 62 OwnerData = True 63 ReadOnly = True 64 RowSelect = True 65 TabOrder = 2 66 ViewStyle = vsReport 67 OnData = ListViewAcronymsData 68 OnSelectItem = ListViewAcronymsSelectItem 69 end 42 70 end 43 object ListViewFilter1: TListViewFilter 44 Left = 8 45 Height = 30 46 Top = 32 47 Width = 613 48 OnChange = ListViewFilter1Change 49 Anchors = [akTop, akLeft, akRight] 50 end 51 object CheckBoxExactMath: TCheckBox 52 Left = 8 53 Height = 24 54 Top = 3 55 Width = 104 56 Caption = 'Exact match' 57 OnChange = CheckBoxExactMathChange 58 TabOrder = 2 71 object ToolBar1: TToolBar 72 Left = 0 73 Height = 26 74 Top = 0 75 Width = 631 76 Caption = 'ToolBar1' 77 Images = ImageList1 78 TabOrder = 1 79 object ToolButton1: TToolButton 80 Left = 1 81 Top = 2 82 Action = AFileNew 83 end 84 object ToolButton2: TToolButton 85 Left = 75 86 Top = 2 87 Action = AShowAcronyms 88 end 89 object ToolButton3: TToolButton 90 Left = 121 91 Top = 2 92 Action = AShowCategories 93 end 94 object ToolButton4: TToolButton 95 Left = 98 96 Top = 2 97 Action = AShowImportFormats 98 end 99 object ToolButton5: TToolButton 100 Left = 144 101 Top = 2 102 Action = AShowImportSources 103 end 104 object ToolButton6: TToolButton 105 Left = 24 106 Top = 2 107 Action = AFileOpen 108 end 109 object ToolButton7: TToolButton 110 Left = 47 111 Top = 2 112 Action = AFileSave 113 end 114 object ToolButton8: TToolButton 115 Left = 70 116 Height = 22 117 Top = 2 118 Width = 5 119 Caption = 'ToolButton8' 120 Style = tbsDivider 121 end 59 122 end 60 123 object TrayIcon1: TTrayIcon … … 4348 4411 OnClick = TrayIcon1Click 4349 4412 left = 80 4350 top = 2724413 top = 304 4351 4414 end 4352 4415 object PopupMenuTryIcon: TPopupMenu 4353 4416 Images = ImageList1 4354 4417 left = 80 4355 top = 2 084418 top = 256 4356 4419 object MenuItem2: TMenuItem 4357 4420 Action = AShow … … 4370 4433 object ActionList1: TActionList 4371 4434 Images = ImageList1 4372 left = 4 644373 top = 1 444435 left = 472 4436 top = 192 4374 4437 object AExit: TAction 4375 4438 Caption = 'Exit' 4439 ImageIndex = 2 4376 4440 OnExecute = AExitExecute 4377 4441 end … … 4386 4450 object AFileOpen: TAction 4387 4451 Caption = 'Open' 4452 ImageIndex = 8 4388 4453 OnExecute = AFileOpenExecute 4389 4454 end 4390 4455 object AFileNew: TAction 4391 4456 Caption = 'New' 4457 ImageIndex = 16 4392 4458 OnExecute = AFileNewExecute 4393 4459 end 4394 4460 object AFileSave: TAction 4395 4461 Caption = 'Save' 4462 ImageIndex = 10 4396 4463 OnExecute = AFileSaveExecute 4397 4464 end 4398 4465 object AFileClose: TAction 4399 4466 Caption = 'Close' 4467 ImageIndex = 12 4400 4468 OnExecute = AFileCloseExecute 4401 4469 end 4402 4470 object AFileSaveAs: TAction 4403 4471 Caption = 'Save as...' 4472 ImageIndex = 10 4404 4473 OnExecute = AFileSaveAsExecute 4405 4474 end 4406 4475 object ASettings: TAction 4407 4476 Caption = 'Settings' 4477 ImageIndex = 6 4408 4478 OnExecute = ASettingsExecute 4409 4479 end 4410 4480 object AShowCategories: TAction 4411 4481 Caption = 'Categories' 4482 ImageIndex = 11 4412 4483 OnExecute = AShowCategoriesExecute 4413 4484 end 4414 4485 object AShowAcronyms: TAction 4415 4486 Caption = 'Acronyms' 4487 ImageIndex = 15 4416 4488 OnExecute = AShowAcronymsExecute 4417 4489 end 4418 4490 object AShowImportSources: TAction 4419 4491 Caption = 'Import sources' 4492 ImageIndex = 13 4420 4493 OnExecute = AShowImportSourcesExecute 4494 end 4495 object AShowAbout: TAction 4496 Caption = 'About' 4497 ImageIndex = 7 4498 OnExecute = AShowAboutExecute 4499 end 4500 object AShowImportFormats: TAction 4501 Caption = 'Import formats' 4502 ImageIndex = 14 4503 OnExecute = AShowImportFormatsExecute 4504 end 4505 object AProcessImports: TAction 4506 Caption = 'Process imports' 4507 ImageIndex = 5 4508 OnExecute = AProcessImportsExecute 4421 4509 end 4422 4510 end … … 4425 4513 EntireVisible = False 4426 4514 left = 264 4427 top = 804515 top = 128 4428 4516 end 4429 4517 object MainMenu1: TMainMenu 4430 4518 Images = ImageList1 4431 left = 4 644432 top = 804519 left = 472 4520 top = 136 4433 4521 object MenuItem8: TMenuItem 4434 4522 Caption = 'File' … … 4469 4557 Action = AShowImportSources 4470 4558 end 4559 object MenuItem7: TMenuItem 4560 Action = AShowImportFormats 4561 end 4562 object MenuItem24: TMenuItem 4563 Caption = '-' 4564 end 4565 object MenuItemToolbar: TMenuItem 4566 Caption = 'Toolbar' 4567 OnClick = MenuItemToolbarClick 4568 end 4471 4569 end 4472 4570 object MenuItem16: TMenuItem … … 4475 4573 Action = AImport 4476 4574 end 4575 object MenuItem23: TMenuItem 4576 Action = AProcessImports 4577 end 4477 4578 object MenuItem18: TMenuItem 4478 4579 Action = ASettings 4580 end 4581 end 4582 object MenuItem5: TMenuItem 4583 Caption = 'Help' 4584 object MenuItem6: TMenuItem 4585 Action = AShowAbout 4479 4586 end 4480 4587 end … … 4482 4589 object OpenDialog1: TOpenDialog 4483 4590 left = 80 4484 top = 1444591 top = 208 4485 4592 end 4486 4593 object SaveDialog1: TSaveDialog 4487 4594 left = 80 4488 top = 884595 top = 144 4489 4596 end 4490 4597 object LastOpenedList1: TLastOpenedList … … 4497 4604 POFilesFolder = 'Languages' 4498 4605 left = 264 4499 top = 1 444606 top = 176 4500 4607 end 4501 4608 object ListViewSort1: TListViewSort … … 4503 4610 OnCompareItem = ListViewSort1CompareItem 4504 4611 OnFilter = ListViewSort1Filter 4505 Column = 04506 Order = so Down4507 left = 4 644508 top = 2 084612 Column = 2 4613 Order = soUp 4614 left = 472 4615 top = 256 4509 4616 end 4510 4617 object ImageList1: TImageList 4511 left = 464 4512 top = 280 4618 left = 472 4619 top = 312 4620 Bitmap = { 4621 4C69110000001000000010000000000000000000000000000000000000000000 4622 000070A970FF006400FF006200FF70A670FF0000000000000000000000000000 4623 0000000000000000000000000000000000000000000000000000000000000000 4624 0000006400FFECFFECFF8CFE8CFF006000FFD4D4D4FF00000000000000000000 4625 0000000000000000000000000000000000000000000000000000000000000000 4626 0000006400FF8CFE8CFF00E800FF005E00FFB2B2B2FF00000000000000000000 4627 0000000000000000000000000000000000000000000000000000000000000000 4628 0000006200FF8CFE8CFF00E500FF005C00FFB2B2B2FF00000000000000000000 4629 0000000000000000000000000000000000000000000000000000000000000000 4630 0000006000FF8CFE8CFF00E000FF005A00FFB2B2B2FF00000000000000000000 4631 000000000000000000000000000070A970FF006400FF006400FF006200FF0060 4632 00FF006000FF8CFE8CFF00DD00FF005800FF005600FF005400FF005300FF0050 4633 00FF709C70FF0000000000000000006400FFECFFECFF8CFE8CFF8CFE8CFF8CFE 4634 8CFF8CFE8CFF00DE00FF00D900FF00D400FF00D000FF00CC00FF00C800FF00C4 4635 00FF004A00FFD4D4D4FF00000000006200FF8CFE8CFF00EA00FF00E600FF00E2 4636 00FF00DE00FF00DA00FF00D400FF00D000FF00CC00FF00C800FF00C400FF00C2 4637 00FF004800FFB2B2B2FF0000000070A670FF005E00FF005C00FF005A00FF0058 4638 00FF005600FF00D600FF00D000FF005000FF004E00FF004C00FF004A00FF004A 4639 00FF4E764EFFB2B2B2FF0000000000000000D4D4D4FFB2B2B2FFB2B2B2FFB2B2 4640 B2FF005400FF00D200FF00CE00FF004E00FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2 4641 B2FFB2B2B2FFD4D4D4FF00000000000000000000000000000000000000000000 4642 0000005300FF00CE00FF00CA00FF004C00FFB2B2B2FF00000000000000000000 4643 0000000000000000000000000000000000000000000000000000000000000000 4644 0000005000FF00CA00FF00C600FF004A00FFB2B2B2FF00000000000000000000 4645 0000000000000000000000000000000000000000000000000000000000000000 4646 0000004E00FF00C800FF00C400FF004800FFB2B2B2FF00000000000000000000 4647 0000000000000000000000000000000000000000000000000000000000000000 4648 0000709B70FF004A00FF004800FF4E764EFFB2B2B2FF00000000000000000000 4649 0000000000000000000000000000000000000000000000000000000000000000 4650 000000000000D4D4D4FFB2B2B2FFB2B2B2FFD4D4D4FF00000000000000000000 4651 0000000000000000000000000000000000000000000000000000000000000000 4652 0000000000000000000000000000000000000000000000000000000000000000 4653 0000000000000000000000000000000000000000000000000000000000000000 4654 0000000000000000000000000000000000000000000000000000000000000000 4655 0000000000000000000000000000000000000000000000000000000000000000 4656 00000000000000000000D69562FFD69562FFD69562FFD1925FFFD1925FFFD192 4657 5FFFD1925FFFD1925FFF875735FF000000000000000000000000000000000000 4658 00000000000000000000D69562FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5 4659 F5FFF5F5F5FFF5F5F5FF875735FF000000000000000000000000000000000000 4660 00000000000000000000D69562FFFAFAFAFFFFEDE0FFFFEDE0FFFFEDE0FFFFED 4661 E0FFFFEDE0FFFFFFFFFF875735FF000000000000000000000000000000000000 4662 00000000000000000000EED4BFFFFFFFFFFFE0D5BFFFE4D9C3FFCCB27EFFFFED 4663 E0FFFFEDE0FFFFFFFFFF875735FF00000000D69562FFD69562FFD69562FFD192 4664 5FFFD1925FFFD1925FFFD1925FFFD1925FFF875735FFFFF7F2FFFFECDEFFFFEC 4665 DEFFFFECDDFFFFFFFFFF875735FF00000000D69562FFF5F5F5FFF5F5F5FFF5F5 4666 F5FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5F5FF875735FFE4D9C3FFCCB27EFFD5BC 4667 87FFDDC490FFFFFFFFFF875735FF00000000D69562FFFAFAFAFFFFEDE0FFFFED 4668 E0FFFFEDE0FFFFEDE0FFFFEDE0FFFFFFFFFF875735FFFFF6EFFFFFE8D7FFFFE8 4669 D7FFFFE8D7FFFFFFFFFF875735FF00000000D49360FFFFFFFFFFB2955FFFBB9F 4670 69FFCCB27EFFFFEDE0FFFFEDE0FFFFFFFFFF875735FFE4D9C3FFCCB27EFFD5BC 4671 87FFDDC490FFFFFFFFFF875735FF00000000D0905EFFFFFFFFFFFFECDEFFFFEC 4672 DEFFFFECDEFFFFECDEFFFFECDDFFFFFFFFFF875735FFFFF6EFFFFFE8D7FFFFE8 4673 D7FFFFE8D7FFFFFFFFFF875735FF00000000CC8D5CFFFFFFFFFFB2955FFFBB9F 4674 69FFCCB27EFFD5BC87FFDDC490FFFFFFFFFF875735FFFFFFFFFFFFFFFFFFFFFF 4675 FFFFFFFFFFFFFFFFFFFF875735FF00000000C18556FFFFFFFFFFFFE8D7FFFFE8 4676 D7FFFFE8D7FFFFE8D7FFFFE8D7FFFFFFFFFF875735FFCFBCAEFF875735FF8757 4677 35FF875735FF875735FF875735FF00000000C18556FFFFFFFFFFB2955FFFBB9F 4678 69FFCCB27EFFD5BC87FFDDC490FFFFFFFFFF875735FF00000000000000000000 4679 000000000000000000000000000000000000C18556FFFFFFFFFFFFE8D7FFFFE8 4680 D7FFFFE8D7FFFFE8D7FFFFE8D7FFFFFFFFFF875735FF00000000000000000000 4681 000000000000000000000000000000000000C18556FFFFFFFFFFFFFFFFFFFFFF 4682 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF875735FF00000000000000000000 4683 000000000000000000000000000000000000875735FF875735FF875735FF8757 4684 35FF875735FF875735FF875735FF875735FF875735FF00000000000000000000 4685 0000000000000000000000000000000000000000000000000000000000000000 4686 0000000000000000000000000000000000000000000000000000000000000000 4687 000000000000000000000000000000000000000000FF000000FF000000FF0000 4688 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 4689 000000000000000000000000000000000000000000FF000000FFFFFFFFFFFFFF 4690 FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 4691 000000000000000000000000000000000000000000FF008484FF000000FFFFFF 4692 FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 4693 0000840000FF000000000000000000000000000000FF008484FF008484FF0000 4694 00FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000008400 4695 00FF840000FF000000000000000000000000000000FF008484FF008484FF0084 4696 84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000840000FF8400 4697 00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084 4698 84FF000000FFFFFFFFFFFFFFFFFF000000FF00000000840000FF840000FF8400 4699 00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084 4700 84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000840000FF8400 4701 00FF840000FF840000FF840000FF00000000000000FF008484FF008484FF0084 4702 84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000008400 4703 00FF840000FF000000000000000000000000000000FF008484FF008484FF0000 4704 00FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 4705 0000840000FF000000000000000000000000000000FF008484FF008484FF0084 4706 84FF000000FFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 4707 0000000000000000000000000000000000FF000000FF008484FF008484FF0084 4708 84FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4709 00FF0000000000000000000000000000000000000000000000FF008484FF0084 4710 84FF000000FF0000000000000000000000000000000000000000000000000000 4711 0000000000000000000000000000000000000000000000000000000000FF0084 4712 84FF000000FF0000000000000000000000000000000000000000000000000000 4713 0000000000000000000000000000000000000000000000000000000000000000 4714 00FF000000FF0000000000000000000000000000000000000000000000000000 4715 0000000000000000000000000000000000000000000000000000000000000000 4716 0000000000FF0000000000000000000000000000000000000000000000000000 4717 0000000000000000000000000000A37B48FFA37B48FFA27A47FFA27946FFA178 4718 45FFA07744FFA07643FF9F7542FF9E7441FF9E7340FF9D723FFF9C713EFF9C70 4719 3DFF9B6F3CFF9A6E3BFF9A6D3AFFA37B48FFBEA27FFFBEA17EFFBDA17DFFBDA0 4720 7CFFBD9F7CFFBC9F7BFFBB9E7AFFBB9D7AFFBB9D79FFBA9C78FFB99B78FFB99A 4721 77FFB89A76FFB89975FF996C39FFA27A47FFFFFFFFFFFFFFFFFFFEFEFEFFFEFE 4722 FEFFFDFDFDFFFDFDFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFAF9FFFAFAF9FFFAF9 4723 F8FFF9F9F7FFF9F8F7FF986B37FFA17946FFFFFFFFFF878787FF5D5D5DFFA0A0 4724 A0FFFDFCFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFAF9FFFAFAF9FFFAF9F8FFF9F8 4725 F7FFF8F8F7FFF8F7F6FF976A36FFA17844FFFEFEFEFF5F5F5FFF949494FF5353 4726 53FFFCFCFBFF7B7B7BFF797979FF757575FF727272FF6E6E6EFF6A6A69FF6666 4727 66FF626262FFF7F7F5FF966935FFA07643FFFEFDFDFF8C8C8CFF525252FFA4A4 4728 A4FFFBFBFAFFFBFBFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F8F7FFF8F8F6FFF8F7 4729 F6FFF7F7F5FFF7F6F4FF966734FF9F7542FFFDFDFCFFFCFCFCFFFCFCFBFFFBFB 4730 FAFFFBFAFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F8F7FFF8F8F6FFF8F7F6FFF7F6 4731 F5FFF7F6F4FFF6F5F4FF956633FF9E7441FFFCFCFCFFB5B5B5FF848484FFBEBD 4732 BDFFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FFF8F8F6FFF8F7F5FFF7F6F5FFF7F6 4733 F4FFF6F5F3FFF6F5F3FF946531FF9D7340FFFCFBFBFF818181FFC4C4C4FF8F8F 4734 8FFFFAF9F8FF7B7B7AFF797979FF757574FF727171FF6D6D6DFF696969FF6666 4735 65FF626261FFF5F4F2FF936430FF9D723EFFFBFBFAFF9F9F9EFF7F7F7FFFAEAE 4736 ADFFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F6F4FFF6F5F3FFF5F4 4737 F3FFF5F4F2FFF4F3F1FF92622FFF9C703DFFFAFAF9FFFAF9F9FFF9F9F8FFF9F8 4738 F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F5F4FFF6F5F3FFF5F4F3FFF5F4 4739 F2FFF4F3F1FFF4F3F0FF92612EFF9B6F3CFFFAF9F8FFBEBEBDFF929292FFBCBC 4740 BBFFF8F7F6FFF7F7F5FFF7F6F4FFF6F5F4FFF6F5F3FFF5F4F2FFF5F4F2FFF4F3 4741 F1FFF4F2F0FFF3F2F0FF91602DFF9A6E3BFFF9F9F8FF7C7C7CFFC4C4C4FF8787 4742 87FFF7F6F5FF7A7A7AFF787878FF747474FF717170FF6D6D6CFF696968FF6565 4743 65FF616161FFF2F1EFFF905F2BFF996D3AFFF9F8F7FF959594FF878787FF9B9A 4744 9AFFF7F6F4FFF6F5F3FFF6F5F3FFF5F4F2FFF4F3F1FFF4F3F1FFF3F2F0FFF3F2 4745 EFFFF2F1EFFFF2F1EEFF8F5E2AFF996C38FFF8F7F6FFF8F7F5FFF7F6F5FFF6F6 4746 F4FFF6F5F3FFF5F5F3FFF5F4F2FFF4F3F1FFF4F3F1FFF3F2F0FFF3F2EFFFF2F1 4747 EFFFF2F0EEFFF1F0EDFF8E5D29FF986B37FF976A36FF966935FF966734FF9566 4748 33FF946532FF946531FF936430FF92622FFF92612EFF91602DFF90602CFF905F 4749 2BFF8F5D2AFF8E5C29FF8D5B28FF000000000000000000000000000000000000 4750 0000000000000000000000000000000000000000000000000000000000000000 4751 000000000000000000000000000000000000000000008C8CBBFF000088FF8C8C 4752 BBFF00000000000000000000000000000000000000008C8CBBFF000075FF8C8C 4753 BBFF000000000000000000000000000000008C8CBBFF000088FF619BFFFF0000 4754 86FF7979A8FF0000000000000000000000008C8CBBFF000075FF619BFFFF0000 4755 6EFF7979A8FF000000000000000000000000000088FF619BFFFF0057FFFF0054 4756 FFFF000082FF7979A8FF000000008C8CBBFF000075FF619BFFFF003AFFFF0035 4757 FFFF000068FFDCDCDCFF00000000000000008C8CBBFF000086FF0054FFFF0052 4758 FFFF004EFFFF00007CFF7979A8FF000075FF619BFFFF003AFFFF0035FFFF0000 4759 67FF626291FFB2B2B2FF0000000000000000000000007979A8FF000082FF004E 4760 FFFF004BFFFF0047FFFF000075FF619BFFFF003AFFFF0035FFFF000068FF6262 4761 91FFB2B2B2FFDCDCDCFF000000000000000000000000000000007979A8FF0000 4762 7CFF0047FFFF0042FFFF003EFFFF003AFFFF0035FFFF000068FF626291FFB2B2 4763 B2FFDCDCDCFF0000000000000000000000000000000000000000000000007979 4764 A8FF000075FF003EFFFF003AFFFF0035FFFF000068FF626291FFB2B2B2FFDCDC 4765 DCFF0000000000000000000000000000000000000000000000008C8CBBFF0000 4766 75FF619BFFFF003AFFFF0035FFFF0030FFFF002BFFFF000061FF7979A8FF0000 4767 000000000000000000000000000000000000000000008C8CBBFF000075FF619B 4768 FFFF003AFFFF0035FFFF000067FF002CFFFF0027FFFF0023FFFF000059FF7979 4769 A8FF000000000000000000000000000000008C8CBBFF000075FF619BFFFF003A 4770 FFFF0035FFFF000067FF626291FF000061FF0023FFFF001FFFFF001BFFFF0000 4771 54FF7979A8FF000000000000000000000000000072FF619BFFFF003AFFFF0035 4772 FFFF000067FF626291FFB2B2B2FF7979A8FF000059FF001BFFFF0018FFFF0015 4773 FFFF000050FFDCDCDCFF00000000000000008C8CBBFF00006EFF0035FFFF0000 4774 68FF626291FFB2B2B2FFDCDCDCFF000000007979A8FF000054FF0015FFFF0000 4775 50FF626291FFB2B2B2FF0000000000000000000000007979A8FF000067FF6262 4776 91FFB2B2B2FFDCDCDCFF0000000000000000000000007979A8FF000050FF6262 4777 91FFB2B2B2FFDCDCDCFF00000000000000000000000000000000DCDCDCFFB2B2 4778 B2FFDCDCDCFF0000000000000000000000000000000000000000DCDCDCFFB2B2 4779 B2FFDCDCDCFF0000000000000000000000000000000000000000000000000000 4780 0000000000000000000000000000000000000000000000000000000000000000 4781 0000000000000000000000000000000000000000000000000000000000000000 4782 000000000000303030FF303030FF000000000000000000000000000000000000 4783 0000000000000000000000000000000000000000000000000000000000000000 4784 0000303030FF303030FF303030FF303030FF0000000000000000000000000000 4785 0000000000000000000000000000000000000000000000000000000000000000 4786 0000303030FF303030FF303030FF303030FF0000000000000000000000000000 4787 0000000000000000000000000000000000000000000000000000000000000000 4788 000000000000303030FF303030FF000000000000000000000000000000000000 4789 00000000000000000000000000000000000000000000303030FF000000000000 4790 00000000000000000000303030FF303030FF303030FF303030FF303030FF0000 4791 00000000000000000000000000000000000000000000303030FF303030FF0000 4792 0000303030FF303030FF303030FF303030FF0000000000000000303030FF0000 4793 0000000000000000000000000000000000000000000000000000303030FF3030 4794 30FF303030FF303030FF303030FF303030FF0000000000000000303030FF0000 4795 0000000000000000000000000000000000000000000000000000000000003030 4796 30FF0000000000000000303030FF303030FF0000000000000000303030FF0000 4797 0000000000000000000000000000000000000000000000000000000000000000 4798 00000000000000000000303030FF303030FF0000000000000000000000000000 4799 0000000000000000000000000000000000000000000000000000000000000000 4800 000000000000303030FF303030FF303030FF303030FF00000000000000000000 4801 0000000000000000000000000000000000000000000000000000000000000000 4802 0000303030FF303030FF303030FF303030FF303030FF303030FF303030FF3030 4803 30FF303030FF0000000000000000000000000000000000000000000000000000 4804 0000303030FF303030FF0000000000000000303030FF303030FF303030FF3030 4805 30FF303030FF0000000000000000000000000000000000000000000000000000 4806 0000303030FF303030FF00000000000000000000000000000000000000000000 4807 0000303030FF0000000000000000000000000000000000000000000000000000 4808 0000303030FF303030FF00000000000000000000000000000000000000000000 4809 0000303030FF0000000000000000000000000000000000000000303030FF3030 4810 30FF303030FF303030FF00000000000000000000000000000000000000000000 4811 0000000000000000000000000000000000000000000000000000000000000000 4812 0000000000000000000000000000000000000000000000000000000000000000 4813 0000000000000000000000000000000000000000000000000000000000000000 4814 000000000000A19588FF9C9083FF9C9083FFA19588FF00000000000000000000 4815 00000000000000000000000000000000000000000000000000009C9083FF9C90 4816 83FF00000000998D80FFFFFFFFFFFFFFFFFF998D80FF000000009C9083FF9C90 4817 83FF0000000000000000000000000000000000000000998F83FFCCC5BEFFF6F1 4818 EEFF908377FF908377FFEDE7E0FFEDE7E0FF908377FF908377FFF6F1EEFFCCC5 4819 BEFFA9A096FF000000000000000000000000675D50FFCDC6BFFFF6F1EEFFF8F7 4820 F4FFF8F7F4FFFFFFFFFFFCFDFDFFFCFDFDFFFFFFFFFFF8F7F4FFF8F7F4FFF6F1 4821 EEFFCDC6BFFF696053FF0000000000000000696053FFF6F1EEFFBBAC9DFFDFD8 4822 D3FFEEEFEFFFEBE7E2FFE3D9D1FFE3D9D1FFEBE7E2FFEEEFEFFFDFD8D3FFBBAC 4823 9DFFF6F1EEFF696053FF000000000000000000000000696053FFDFDFDEFFDFDF 4824 DEFFD1C4BAFF8E8377FF44392EFF44392EFF8E8377FFD1C4BAFFDFDFDEFFDFDF 4825 DEFF696053FF00000000000000008E8378FF897D72FF84796CFFD8D5D3FFC9C2 4826 B9FFA99C90FF594F45FFFFFFFF00FFFFFF0060564DFFA99C90FFC9C2B9FFD8D5 4827 D3FF84796CFF897D72FF8E8378FF877B70FFFFFFFFFFFFFFFFFFBFBCB8FFD6CD 4828 C5FF695E53FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00695E53FFD6CDC5FFBFBC 4829 B8FFFFFFFFFFFFFFFFFF877B70FF897E74FFE8E0D7FFE8E0D7FFB0ACA8FFE8E3 4830 DDFF695E53FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00695E53FFE8E3DDFFB0AC 4831 A8FFE8E0D7FFE8E0D7FF897E74FF463B2FFF3E3328FF61564CFFAFA8A4FFC1BC 4832 B6FFAFA8A4FF695E53FFFFFFFF00FFFFFF00695E53FFAFA8A4FFC1BCB6FFAFA8 4833 A4FF61564CFF3E3328FF463B2FFF000000000000000061564CFFE1D9D1FFACA3 4834 9BFFE4E1DCFFAFA8A4FF695E53FF695E53FFAFA8A4FFE4E1DCFFACA39BFFE1D9 4835 D1FF61564CFF0000000000000000000000003F3428FFE1D9D1FFEBE7E2FFE1D9 4836 D1FFAEA7A0FFE2DDDAFFB7B1ABFFB7B1ABFFE2DDDAFFAEA7A0FFE1D9D1FFEBE7 4837 E2FFE1D9D1FF3F3428FF00000000000000003F3428FFB6B0A9FFE1D9D1FFC8BE 4838 B4FFE1D9D1FFC8BEB4FFEDE5DDFFEDE5DDFFC8BEB4FFE1D9D1FFC8BEB4FFE1D9 4839 D1FFB6B0A9FF3F3428FF0000000000000000000000003F3428FF877D73FFE1D9 4840 D1FF574D42FF766C63FFEDE5DDFFEDE5DDFF766C63FF574D42FFE1D9D1FF877D 4841 73FF3F3428FF00000000000000000000000000000000000000003F3428FF3F34 4842 28FF00000000776D66FFE5DBD2FFE5DBD2FF776D66FF000000003F3428FF3F34 4843 28FF000000000000000000000000000000000000000000000000000000000000 4844 0000000000003F3428FF3F3428FF3F3428FF3F3428FF00000000000000000000 4845 0000000000000000000000000000000000000000000000000000000000000000 4846 0000000000000000000000000000000000000000000000000000000000000000 4847 000000000000000000000000000000000000000000000000000000000000C584 4848 44FFC28342FFD89C6DFFD69668FFD49463FFD69668FFB2793CFFB1783BFF0000 4849 0000000000000000000000000000000000000000000000000000C58442FFDCA2 4850 77FFF3DAC7FFFCF7F1FFFFFEFEFFFFFEFEFFFCF4EDFFF1D6C0FFC7935DFFA66F 4851 33FF0000000000000000000000000000000000000000C48443FFE5B999FFFCF4 4852 EDFFFBD2C1FFFAA887FFFD8757FFFD8454FFF8A582FFF7CEBDFFFAF1E7FFD2A7 4853 7AFFA36A2AFF000000000000000000000000C48445FFDCA277FFFCF4EDFFFABF 4854 A6FFFF7A43FFFFBB9EFFFFF6F3FFFFFEFEFFFEEDE5FFFA9970FFF3B69CFFF8F0 4855 E6FFBB8B56FF986426FF0000000000000000C48341FFF0DAC3FFFAD1C0FFFF79 4856 40FFFF986EFFFFFEFEFFFFC9B2FFFD9164FFFAC6AFFFFEF5F1FFF5773DFFEDC5 4857 B2FFE4CBB3FF905D21FF0000000000000000D1834CFFFCF7F1FFFAA582FFFF73 4858 3AFFFF844EFFFFAE8AFFFE6C2DFFF76727FFF19268FFFFFEFEFFE98354FFD785 4859 60FFF8F1ECFF81551FFF0000000000000000CD844EFFFFFEFEFFFC814CFFFF70 4860 31FFFF6B2CFFFD6928FFF86523FFF49265FFFDF5F1FFF4D4C5FFC65018FFBA59 4861 27FFFEFEFDFF834A1CFF0000000000000000CD8147FFFFFEFEFFF87A46FFF968 4862 29FFF66525FFF16020FFF18653FFFFFEFEFFF0BFA8FFC55A24FFB64C15FFB757 4863 24FFFEFEFDFF7F481AFF0000000000000000CD7F45FFFCF4EDFFEC9772FFE860 4864 21FFE05A1DFFDB5819FFEDAA89FFFFFEFEFFC84E12FFB94C11FFB34C13FFC77B 4865 53FFF6F0ECFF7A4319FF0000000000000000B4793AFFEFD6C1FFEDC5B2FFDD5A 4866 1AFFD55617FFD25313FFD87D4DFFE3A686FFBB4C11FFB34A12FFB64A10FFDEB9 4867 A6FFDCC9B8FF563C0DFF0000000000000000B67734FFD6996BFFF9F0E7FFDDA4 4868 88FFC75013FFC04E11FFDCA688FFFFFEFEFFB54911FFB64A10FFD59E82FFF3EC 4869 E7FF9A7352FF49340DFF000000000000000000000000B2702BFFDBAB80FFF8EF 4870 E7FFE2BBA6FFCC7E56FFC15823FFC05722FFC97F56FFDEBAA7FFF2EBE7FFB393 4871 76FF483108FF0000000000000000000000000000000000000000A1692CFFC088 4872 58FFE0C9B4FFF7F1ECFFFEFDFCFFFEFDFCFFF5F0ECFFDCC9B8FF9E7857FF4731 4873 08FF000000000000000000000000000000000000000000000000000000009164 4874 29FF855A24FF885015FF824A1DFF7E4719FF794417FF583C0EFF49340DFF0000 4875 0000000000000000000000000000000000000000000000000000000000000000 4876 0000000000000000000000000000000000000000000000000000000000000000 4877 0000000000000000000000000000000000000000000000000000000000000000 4878 0000000000000000000000000000000000000000000000000000000000000000 4879 0000000000000000000000000000000000000000000000000000000000000000 4880 000000000000000000000000000000000000000000FF000000FF000000FF0000 4881 0000000000000000000000000000000000000000000000000000000000000000 4882 0000000000000000000000000000000000FF0000000000000000000000000000 4883 00FF00000000000000FF00000000000000000000000000000000000000000000 4884 0000000000000000000000000000000000000000000000000000000000000000 4885 0000000000FF000000FF0000000000000000000000FF000000FF000000FF0000 4886 0000000000000000000000000000000000000000000000000000000000000000 4887 00FF000000FF000000FF00000000000000FF00FFFFFFFFFFFFFF00FFFFFF0000 4888 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 4889 0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFFFFFF00FF 4890 FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000000000000 4891 0000000000000000000000000000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFF 4892 FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF000000FF000000000000 4893 0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFFFFFF00FF 4894 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4895 00FF000000FF000000FF000000FF000000FF00FFFFFFFFFFFFFF00FFFFFF0000 4896 00FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084 4897 84FF008484FF000000FF00000000000000FFFFFFFFFF00FFFFFF000000FF0084 4898 84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084 4899 84FF000000FF0000000000000000000000FF00FFFFFF000000FF008484FF0084 4900 84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0000 4901 00FF000000000000000000000000000000FF000000FF008484FF008484FF0084 4902 84FF008484FF008484FF008484FF008484FF008484FF008484FF000000FF0000 4903 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 4904 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 4905 0000000000000000000000000000000000000000000000000000000000000000 4906 0000000000000000000000000000000000000000000000000000000000000000 4907 0000000000000000000000000000000000000000000000000000000000000000 4908 0000000000000000000000000000000000000000000000000000000000000000 4909 0000000000000000000000000000000000000000000000000000000000000000 4910 0000000000000000000000000000000000000000000000000000000000000000 4911 0000000000000000000000000000000000000000000000000000000000000000 4912 0000000000000000000000000000000000000000000000000000000000000000 4913 0000000000000000000000000000000000000000000000000000000000000000 4914 0000000000000000000000000000000000000000000000000000000000000000 4915 0000000000000000000000000000000000000000000000000000339966FF0000 4916 00000000000066CC99FF009933FF009933FF009933FF339966FF000000000000 4917 0000000000000000000000000000000000000000000000000000009933FF3399 4918 66FF009933FF009933FF009933FF009933FF009933FF339966FF339966FF0000 4919 0000000000000000000000000000000000000000000000000000009933FF0099 4920 33FF009933FF009933FF66CC99FF000000000000000066CC99FF009933FF66CC 4921 99FF000000000000000000000000000000000000000000000000009933FF0099 4922 33FF009933FF339966FF0000000000000000000000000000000066CC99FF0099 4923 33FF000000000000000000000000000000000000000000000000009933FF0099 4924 33FF009933FF009933FF339966FF000000000000000000000000000000000000 4925 0000000000000000000000000000000000000000000000000000000000000000 4926 0000000000000000000000000000000000000000000000000000000000000000 4927 0000000000000000000000000000000000000000000000000000000000000000 4928 0000000000000000000000000000339966FF009933FF009933FF009933FF0099 4929 33FF000000000000000000000000000000000000000000000000009933FF66CC 4930 99FF00000000000000000000000000000000339966FF009933FF009933FF0099 4931 33FF00000000000000000000000000000000000000000000000066CC99FF0099 4932 33FF66CC99FF000000000000000066CC99FF009933FF009933FF009933FF0099 4933 33FF000000000000000000000000000000000000000000000000000000003399 4934 66FF339966FF009933FF009933FF009933FF009933FF009933FF339966FF0099 4935 33FF000000000000000000000000000000000000000000000000000000000000 4936 0000339966FF009933FF009933FF009933FF66CC99FF00000000000000003399 4937 66FF000000000000000000000000000000000000000000000000000000000000 4938 0000000000000000000000000000000000000000000000000000000000000000 4939 0000000000000000000000000000000000000000000000000000000000000000 4940 0000000000000000000000000000000000000000000000000000000000000000 4941 0000000000000000000000000000000000000000000000000000000000000000 4942 0000000000000000000000000000000000000000000000000000000000000000 4943 000000000000000000000000000000000000000000FF000000FF000000FF0000 4944 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4945 00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF 4946 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4947 00FFFFFFFFFF000000FF0000000000000000000000FF008484FF000000FFFFFF 4948 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4949 00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF 4950 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4951 00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF 4952 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4953 00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF 4954 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4955 00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF 4956 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 4957 00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000 4958 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0084 4959 84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0084 4960 84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084 4961 84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000 4962 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4963 00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000 4964 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000 4965 00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000 4966 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000 4967 00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000 4968 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000 4969 00FF008484FF000000FF000000000000000000000000000000FF000000FF0000 4970 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4971 00FF000000FF000000FF00000000000000000000000000000000000000000000 4972 0000000000000000000000000000000000000000000000000000000000000000 4973 0000000000000000000000000000000000000000000000000000000000000000 4974 0000000000000000000000000000000000000000000000000000000000000000 4975 000000000000000000000000000000000000000000000000000000000000F4F9 4976 FFFF4195EFFF2F8AF1FF2F8DF3FF2F8DF3FF2F8DF3FF2F8BF1FF2F8BEFFFE9F2 4977 FEFF00000000000000000000000000000000000000000000000000000000F0F6 4978 FEFF239AFCFF21CFFFFF24CCFFFF24CCFFFF24CCFFFF23D1FFFF1C9FFFFFE2EE 4979 FDFF00000000000000000000000000000000000000000000000000000000F1F7 4980 FEFF32A2FBFF36DBFFFF39D8FFFF39D8FFFF39D8FFFF3ADEFFFF26A5FFFFE3EE 4981 FDFF00000000000000000000000000000000000000000000000000000000F0F6 4982 FEFF3CABFCFF58F6FFFF59F1FFFF58F1FFFF59F1FFFF5CF9FFFF35B2FFFFE2ED 4983 FDFF00000000000000000000000000000000000000000000000000000000F1F7 4984 FFFF2F9AF6FF3ECBFFFF3BC7FFFF36C5FFFF3BC6FFFF40CEFFFF299EF9FFE4EF 4985 FEFF00000000000000000000000000000000000000000000000000000000FEFE 4986 FEFFB8D3F4FFA9BFEFFF9FC0EEFF567BACFF91B9EAFFA9BFEFFFADCCF3FFFCFC 4987 FDFF000000000000000000000000000000000000000000000000FFFFFFFFFAFA 4988 FAFFFDFDFDFFFDFDFDFFF5F5F6FF9F978EFFE9EAEAFFFDFDFDFFFDFDFDFFFAFA 4989 FAFFFEFEFEFF0000000000000000000000000000000000000000EDF2F8FF7A7E 4990 83FF979694FF9A9896FF8D8D8FFF7E7F80FF8F8E8AFF999796FF989795FF8282 4991 7DFFE9EBE9FF000000000000000000000000FFF3DCFFFFEED0FFE7D2AEFFC0AB 4992 88FFFAECD3FFFBEDD5FFFCFAF6FF00000000F9F9FBFFD8D7EDFFD5D4EBFF9492 4993 B8FFA4A4C7FFD3D2EEFFDADAF1FF00000000FCB02CFFFFBC35FFFFB72BFFFFB8 4994 2DFFFFC035FFFFB726FFFFE2A5FF00000000C2C2EBFF000FC6FF0013D6FF0005 4995 CCFF0004C9FF0021D9FF0C20C0FF00000000FEB12FFFFFDA6AFFFFD862FFFFD8 4996 64FFFFDA69FFFFC748FFFFD9A6FF00000000C3C3E7FF001CE2FF003AFFFF003F 4997 FFFF003BFFFF0034FFFF1018CCFF00000000FFB93BFFFFEB89FFFFE782FFFFE7 4998 82FFFFEB88FFFFD561FFFFDAA6FF00000000C3C3E7FF0029E2FF0B5DFFFF0E61 4999 FFFF0B5CFFFF044CFFFF111CCDFF00000000FFC34CFFFFFFCEFFFFFFC3FFFFFF 5000 C3FFFFFFCBFFFFF094FFFFD8A4FF00000000C2C2E7FF003EE9FF1E8CFFFF2190 5001 FFFF1D88FFFF136FFFFF0D23CFFF00000000FBB73DFFFFCE5BFFFFCB58FFFFCB 5002 58FFFFCD5AFFFFC044FFFFE0ACFF00000000C7C7EBFF1123C2FF1143D3FF1149 5003 D6FF1143D1FF1133D2FF2121B5FF000000000000000000000000000000000000 5004 0000000000000000000000000000000000000000000000000000000000000000 5005 0000000000000000000000000000000000000000000000000000000000000000 5006 0000000000000000000000000000000000000000000000000000000000000000 5007 0000000000000000000000000000000000000000000000000000000000000000 5008 0000000000000000000000000000000000000000000000000000000000000000 5009 000000000000000000000000000000000000000000001818C0FF1818C0FFC0C0 5010 C0FF000000000000000000000000000000000000000000000000000000000000 5011 00001818C0FF1818C0FFC0C0C0FF00000000000000002020C8FF2020C8FF2020 5012 C8FF2020C8FFC0C0C0FF00000000000000000000000000000000000000002020 5013 C8FF2020C8FFC0C0C0FF000000000000000000000000000000002626CEFF2626 5014 CEFF2626CEFF2626CEFFC0C0C0FF0000000000000000000000002626CEFF2626 5015 CEFFC0C0C0FF0000000000000000000000000000000000000000000000000000 5016 00002929D1FF2929D1FF2929D1FFC0C0C0FF000000002929D1FFC0C0C0FF0000 5017 0000000000000000000000000000000000000000000000000000000000000000 5018 0000000000002C2CD4FF2C2CD4FF2C2CD4FF2C2CD4FF2C2CD4FFC0C0C0FF0000 5019 0000000000000000000000000000000000000000000000000000000000000000 5020 000000000000000000002F2FD7FF2F2FD7FF2F2FD7FFC0C0C0FF000000000000 5021 0000000000000000000000000000000000000000000000000000000000000000 5022 0000000000003232DAFF3232DAFF3232DAFF3232DAFF3232DAFFC0C0C0FF0000 5023 0000000000000000000000000000000000000000000000000000000000000000 5024 00003535DDFF3535DDFF3535DDFFC0C0C0FF000000003535DDFF3535DDFFC0C0 5025 C0FF000000000000000000000000000000000000000000000000000000003838 5026 E0FF3838E0FF3838E0FFC0C0C0FF0000000000000000000000003838E0FF3838 5027 E0FFC0C0C0FF00000000000000000000000000000000000000003A3AE2FF3A3A 5028 E2FF3A3AE2FFC0C0C0FF00000000000000000000000000000000000000003A3A 5029 E2FFC0C0C0FF00000000000000000000000000000000000000003A3AE2FF3A3A 5030 E2FF3A3AE2FFC0C0C0FF00000000000000000000000000000000000000000000 5031 00003A3AE2FFC0C0C0FF00000000000000000000000000000000000000003A3A 5032 E2FFC0C0C0FF0000000000000000000000000000000000000000000000000000 5033 0000000000000000000000000000000000000000000000000000000000000000 5034 0000000000000000000000000000000000000000000000000000000000000000 5035 0000000000003A3AE2FFC0C0C0FF000000000000000000000000000000000000 5036 0000000000000000000000000000000000000000000000000000000000000000 5037 0000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5038 FFFFFFFFFFFFCB6600FFCB6600FFB65100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5039 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5040 FFFFFFFFFFFFCB6600FFFFFFFFFF993300FFB2B2B2FFFFFFFFFFFFFFFFFFFFFF 5041 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5042 FFFFFFFFFFFFCB6600FFFFD9A0FF993300FFB2B2B2FFFFFFFFFFFFFFFFFFFFFF 5043 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5044 FFFFFFFFFFFFCB6600FFFFD9A0FF993300FFB2B2B2FFFFFFFFFFFFFFFFFFFFFF 5045 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5046 FFFFFFFFFFFFCB6600FFFFD493FF993300FFB2B2B2FFFFFFFFFFFFFFFFFFFFFF 5047 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB6600FFCB66 5048 00FFCB6600FFCB6600FFFFCA7BFF993300FF993300FF993300FF993300FFFFFF 5049 FFFFFFFFFFFFFFFFFFFFFFFFFFFFBF6060FFDDDDDDFFDDDDDDFFCB6600FFFFF9 5050 F0FFFFEDD2FFFFEDD2FFFFBE5CFFFFB444FFFFAB2DFFFFA319FF993300FF9A9A 5051 9AFFDDDDDDFF7B3D3EFFFFFFFFFFBF6060FFDDDDDDFFDDDDDDFFC9976EFFB651 5052 00FFFFC56CFFFFBE5CFFFFB444FFFFA826FFFF9E0DFF993300FF99664DFF9A9A 5053 9AFFDDDDDDFF7B3D3EFFB2B2B2FFBF6060FFDDDDDDFFDDDDDDFFDDDDDDFFB886 5054 5DFFB65100FFFFAB2DFFFFA319FFFF9E0DFF993300FF99664DFF9A9A9AFFBBBB 5055 BBFFDDDDDDFF7B3D3EFFB2B2B2FFBF6060FFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5056 DDFFB8865DFFB65100FFFF9E0DFF993300FF99664DFF9A9A9AFFBBBBBBFFDDDD 5057 DDFFDDDDDDFF733939FFB2B2B2FFB3595AFFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5058 DDFFDDDDDDFFB8865DFFB65100FF99664DFF9A9A9AFFBBBBBBFFDDDDDDFFDDDD 5059 DDFFDDDDDDFF733939FFB2B2B2FFB3595AFFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5060 DDFFDDDDDDFFDDDDDDFFBBBBBBFF9A9A9AFFBBBBBBFFDDDDDDFFDDDDDDFFDDDD 5061 DDFFDDDDDDFF6F3738FFB2B2B2FFA95455FFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5062 DDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5063 DDFFDDDDDDFF6F3738FFB2B2B2FFA95455FFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5064 DDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDDDDFFDDDD 5065 DDFFDDDDDDFF693534FFB2B2B2FFCFA5A5FF9F4F50FF9F4F50FF954A4BFF8F47 5066 47FF8F4747FF844242FF844242FF7B3D3EFF7B3D3EFF733939FF6F3738FF6F37 5067 38FF693534FF8B7070FFB2B2B2FFFFFFFFFFD7D7D7FFB2B2B2FFB2B2B2FFB2B2 5068 B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2 5069 B2FFB2B2B2FFB2B2B2FFD7D7D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5070 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5071 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5072 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5073 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3DEDCFFEED0CEFFEED0CEFFEED0 5074 CEFFEED0CEFFEED0CEFFEED0CEFFEED0CEFFEED0CEFFEED0CEFFEED0CEFFEED0 5075 CEFFEED0CEFFF5EDEDFFFFFFFFFFF7E9E8FFEED0CEFFF3DEDCFFF3DEDCFFF3DE 5076 DCFFF3DEDCFFF3DEDCFFF3DEDCFFF3DEDCFFF3DEDCFFF3DEDCFFF3DEDCFFF3DE 5077 DCFFF3DEDCFFE2C9C8FFFFFFFFFFEBC6BDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5078 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5079 FFFFFFFFFFFFFFF9F6FFD7CDCCFFEED0CEFFF8F8F8FFA19F9CFFC6BFBEFFFFFF 5080 FFFFECECECFFB5B3B0FFECECECFFE4E1DDFFB5B3B0FFF8F8F8FFFFF9F6FFA19F 5081 9CFFC6BFBEFFFFFFFFFFD5C6C3FFEED0CEFF7B7D7AFF6F6D69FF4C4A48FFCEC8 5082 C7FFE4E1DDFF2E2D2CFFE4E1DDFFB5B3B0FF423F3CFFFFFFFFFF9B958CFF4C4A 5083 48FF423F3CFFD7CDCCFFD5C6C3FFEBC6BDFF52534EFFCEC8C7FF6F6D69FF9B95 5084 8CFFE4E1DDFF312F2BFFE7DDD0FFBEB6ABFF4B4741FFFFF9F6FF635F59FFA19F 5085 9CFF635F59FFACA298FFD5C6C3FFEBC6BDFF52534EFFBEB6ABFF635F59FF9B95 5086 8CFFE7DDD0FF312F2BFFDCD3C6FFB7ADA0FF423F3CFFFEF3E4FF635F59FF928B 5087 83FF57524CFFACA298FFD5C6C3FFE6C1B5FFABA599FF4B4741FF57524CFFDCCF 5088 C0FFDCCFC0FF4B4741FFD9CDBDFFB7ADA0FF57524CFFF0E3D2FFB7ADA0FF312F 5089 2BFF4B4741FFE3D4C1FFCDBEBAFFDFB6A9FFE7DDD0FFDDCFBCFFE3D4C1FFE0D2 5090 BEFFDDCFBCFFE0D2BEFFDDCFBCFFE0D2BEFFE0D2BEFFDDCFBCFFE3D4C1FFE0D2 5091 BEFFE3D4C1FFE3D4C1FFCDBEBAFFD5C6C3FFE0C8B2FFDECDB6FFDECDB6FFDECD 5092 B6FFDECDB6FFDECDB6FFDECDB6FFDECDB6FFDECDB6FFDECDB6FFDECDB6FFDECD 5093 B6FFDECDB6FFD8B9A7FFCEC8C7FFFFFFFFFFD7CDCCFFC3ABA6FFC3ABA6FFC3AB 5094 A6FFC3ABA6FFC3ABA6FFC3ABA6FFC3ABA6FFC3ABA6FFC3ABA6FFC3ABA6FFC3AB 5095 A6FFC3ABA6FFC6BFBEFFF8F8F8FFFFFFFFFFFFFFFFFFECECECFFECECECFFECEC 5096 ECFFECECECFFECECECFFECECECFFECECECFFECECECFFECECECFFECECECFFECEC 5097 ECFFECECECFFF8F8F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5098 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5099 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5100 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5101 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5102 FF00FFFFFF00F8F8F8FFF0F0F0FFF7F7F7FFFFFFFF00FFFFFF00FFFFFF00FFFF 5103 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5104 FF00FFFFFF00969696FF585858FF777777FFF2F2F2FFFFFFFF00FFFFFF00FFFF 5105 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5106 FF00EFEFEFFF7B7B7BFF585858FF585858FF969696FFFFFFFF00FFFFFF00FFFF 5107 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5108 FF00A5A5A5FF585858FF585858FF585858FF727272FFE9E9E9FFFFFFFF00FFFF 5109 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E8E8 5110 E8FF747474FF696969FF878787FF585858FF585858FFA5A5A5FFFFFFFF00FFFF 5111 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4B4 5112 B4FF585858FF9E9E9EFFB1B1B1FF585858FF585858FFA5A5A5FFFFFFFF00FFFF 5113 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E6E6E6FF6A6A 5114 6AFF5A5A5AFFFFFFFF00FFFFFF00787878FF585858FF616161FFE0E0E0FFFFFF 5115 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C3C3C3FF5858 5116 58FFA7A7A7FFFFFFFF00FFFFFF00B7B7B7FF585858FF585858FFB4B4B4FFFFFF 5117 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C3C3C3FF5858 5118 58FF787878FF787878FF787878FF787878FF585858FF585858FF555555FFDFDF 5119 DFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4E4E4FF505050FF5858 5120 58FF969696FF969696FF969696FF969696FF3E3E3EFF585858FF585858FFC3C3 5121 C3FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D2D2D2FF585858FFBFBF 5122 BFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00CACACAFF3A3A3AFF585858FF4545 5123 45FFE1E1E1FFFFFFFF006464B1FFFFFFFF00E9E9E9FF585858FF585858FFFFFF 5124 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005A5A5AFF585858FF5858 5125 58FFD2D2D2FF6060AFFF040482FFF3F3F3FF585858FF585858FF585858FF5858 5126 58FF818181FFFFFFFF00FFFFFF00979797FF585858FF585858FF585858FF5858 5127 58FF585858FF070778FF000080FFFCFCFCFFD2D2D2FFD2D2D2FFD2D2D2FFD2D2 5128 D2FFE1E1E1FFFFFFFF00FFFFFF00E7E7E7FFD2D2D2FFD2D2D2FFD2D2D2FF3131 5129 81FF000069FF00007DFF000080FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5130 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006060B0FF0707 5131 83FF000080FF000080FF000080FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5132 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006464B1FF040482FF0000 5133 80FF000080FF000080FF000080FFFFFFFFFFFFFFFFFFF8CCA3FFEE9640FFEE96 5134 40FFEE9640FFEE9640FFEE9640FFEE9640FFEE9640FFF8CEA8FFFFFFFFFFFFFF 5135 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFDCC8FFFFF2 5136 EBFFFFFCFAFFFFFFFFFFFFFFFFFFFFFAF7FFF9AF68FFF8C799FFEDC49EFFFFFF 5137 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFEBDFFFFFDE 5138 CBFFFFE0CEFFFFE2D1FFFFE3D3FFFFE5D5FFF9AF68FFFCEEE0FFFAD2ADFFEDC4 5139 9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFF5EFFFFFE1 5140 CFFFFFE3D3FFFFE5D5FFFFE6D8FFFFE8DAFFF9AF68FFFEF6EFFFFCEFE2FFF9CB 5141 A0FFEDC59FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFAF7FFFFE3 5142 D3FFFFE5D7FFFFE7DAFFFFE9DDFFFFEBDFFFEBB27CFFF9AF68FFF9AF68FFF9AF 5143 68FFF0A358FFEDEDEDFFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFDFCFFFFE5 5144 D6FFFFE7DAFFFFEADEFFFFECE1FFFFEEE4FFF1D9C7FFF2D9C8FFF2D9C8FFF2E2 5145 D5FFF0AC6BFFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFFFFFFFFE7 5146 D9FFFFEADDFFFFECE1FFFFEEE5FFFFF1E8FFFFF2EAFFFFF3ECFFFFF3ECFFFFFD 5147 FCFFF3B77BFFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFFFFFFFFE8 5148 DCFFFFEBE0FFFFEEE4FFFFF1EAFFFFF4EDFFFFF6F1FFFFF7F2FFFFF7F3FFFFFF 5149 FFFFF4BE88FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9741FFFFFFFFFFFFEA 5150 DEFFFFEEE4FFFFF1E9FFFFF5EFFFFFF7F3FFFFF9F6FFFFFAF7FFFFFAF7FFFFFF 5151 FFFFF5C28FFFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9843FFFFFEFDFFFFED 5152 E2FFFFF1E8FFFFF4EDFFFFF7F2FFFFF9F6FFFFFCF9FFFFFDFCFFFFFDFBFFFFFF 5153 FFFFF5C291FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFCFAFFFFEF 5154 E6FFFFF2EBFFFFF5EFFFFFF8F4FFFFFBF8FFFFFDFBFFFFFFFFFFFFFDFDFFFFFF 5155 FFFFF5C08DFFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFFAF7FFFFF1 5156 E9FFFFF4EEFFFFF7F2FFFFF9F5FFFFFBF9FFFFFDFBFFFFFEFDFFFFFDFCFFFFFE 5157 FEFFF4BB83FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFF6F1FFFFF3 5158 ECFFFFF5EFFFFFF7F3FFFFF9F6FFFFFBF9FFFFFCFBFFFFFDFBFFFFFDFCFFFFFD 5159 FDFFF3B374FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFEE9640FFFFF2EAFFFFF8 5160 F4FFFFFCFAFFFFFDFCFFFFFEFDFFFFFEFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFD 5161 FCFFF1A963FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFF6C898FFEE9640FFEE96 5162 40FFF09F51FFF1A860FFF2AE6CFFF3B274FFF3B476FFF3B273FFF2AE6BFFF1A7 5163 5FFFE6BC93FFD9D9D9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBEBFFD9D9 5164 D9FFD9D9D9FFD9D9D9FFD9D9D9FFD9D9D9FFD9D9D9FFD9D9D9FFD9D9D9FFD9D9 5165 D9FFD9D9D9FFEBEBEBFFFFFFFFFF 5166 } 4513 5167 end 4514 5168 end -
TabularUnified /trunk/Forms/UFormMain.lrt ¶
r20 r30 1 1 TFORMMAIN.CAPTION=Acronym Decoder 2 TFORMMAIN.CHECKBOXEXACTMATH.CAPTION=Exact match 2 3 TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[0].CAPTION=Name 3 4 TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[1].CAPTION=Description 4 5 TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[2].CAPTION=Categories 5 TFORMMAIN.CHECKBOXEXACTMATH.CAPTION=Exact match 6 TFORMMAIN.TOOLBAR1.CAPTION=ToolBar1 7 TFORMMAIN.TOOLBUTTON8.CAPTION=ToolButton8 6 8 TFORMMAIN.AEXIT.CAPTION=Exit 7 9 TFORMMAIN.ASHOW.CAPTION=Show … … 16 18 TFORMMAIN.ASHOWACRONYMS.CAPTION=Acronyms 17 19 TFORMMAIN.ASHOWIMPORTSOURCES.CAPTION=Import sources 20 TFORMMAIN.ASHOWABOUT.CAPTION=About 21 TFORMMAIN.ASHOWIMPORTFORMATS.CAPTION=Import formats 22 TFORMMAIN.APROCESSIMPORTS.CAPTION=Process imports 18 23 TFORMMAIN.MENUITEM8.CAPTION=File 19 24 TFORMMAIN.MENUITEMOPENRECENT.CAPTION=Open recent 20 25 TFORMMAIN.MENUITEM15.CAPTION=- 21 26 TFORMMAIN.MENUITEM20.CAPTION=View 27 TFORMMAIN.MENUITEM24.CAPTION=- 28 TFORMMAIN.MENUITEMTOOLBAR.CAPTION=Toolbar 22 29 TFORMMAIN.MENUITEM16.CAPTION=Tools 30 TFORMMAIN.MENUITEM5.CAPTION=Help -
TabularUnified /trunk/Forms/UFormMain.pas ¶
r20 r30 7 7 uses 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, 9 ComCtrls, StdCtrls, ExtCtrls, ActnList, UAcronym, UPersistentForm, Contnrs,9 ComCtrls, StdCtrls, ExtCtrls, ActnList, UAcronym, UPersistentForm, 10 10 URegistry, ULastOpenedList, UListViewSort, UCoolTranslator, Registry, 11 11 SpecializedList, LazUTF8; … … 16 16 17 17 TFormMain = class(TForm) 18 AProcessImports: TAction; 19 AShowImportFormats: TAction; 20 AShowAbout: TAction; 18 21 AShowImportSources: TAction; 19 22 AShowAcronyms: TAction; … … 51 54 MenuItem21: TMenuItem; 52 55 MenuItem22: TMenuItem; 56 MenuItem23: TMenuItem; 57 MenuItem24: TMenuItem; 58 MenuItemToolbar: TMenuItem; 53 59 MenuItem4: TMenuItem; 60 MenuItem5: TMenuItem; 61 MenuItem6: TMenuItem; 62 MenuItem7: TMenuItem; 54 63 MenuItemOpenRecent: TMenuItem; 55 64 MenuItem2: TMenuItem; … … 58 67 MenuItem9: TMenuItem; 59 68 OpenDialog1: TOpenDialog; 69 Panel1: TPanel; 60 70 PersistentForm1: TPersistentForm; 61 71 PopupMenuTryIcon: TPopupMenu; 62 72 SaveDialog1: TSaveDialog; 73 ToolBar1: TToolBar; 74 ToolButton1: TToolButton; 75 ToolButton2: TToolButton; 76 ToolButton3: TToolButton; 77 ToolButton4: TToolButton; 78 ToolButton5: TToolButton; 79 ToolButton6: TToolButton; 80 ToolButton7: TToolButton; 81 ToolButton8: TToolButton; 63 82 TrayIcon1: TTrayIcon; 64 83 procedure AExitExecute(Sender: TObject); … … 69 88 procedure AFileSaveExecute(Sender: TObject); 70 89 procedure AImportExecute(Sender: TObject); 90 procedure AProcessImportsExecute(Sender: TObject); 71 91 procedure ASettingsExecute(Sender: TObject); 92 procedure AShowAboutExecute(Sender: TObject); 72 93 procedure AShowAcronymsExecute(Sender: TObject); 73 94 procedure AShowCategoriesExecute(Sender: TObject); 74 95 procedure AShowExecute(Sender: TObject); 96 procedure AShowImportFormatsExecute(Sender: TObject); 75 97 procedure AShowImportSourcesExecute(Sender: TObject); 76 98 procedure CheckBoxExactMathChange(Sender: TObject); 77 99 procedure EditSearchChange(Sender: TObject); 100 procedure FormShow(Sender: TObject); 78 101 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); 79 102 procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); 80 103 procedure FormCreate(Sender: TObject); 81 104 procedure FormDestroy(Sender: TObject); 82 procedure FormShow(Sender: TObject);83 105 procedure LastOpenedList1Change(Sender: TObject); 84 106 procedure ListViewAcronymsData(Sender: TObject; Item: TListItem); … … 88 110 function ListViewSort1CompareItem(Item1, Item2: TObject): Integer; 89 111 procedure ListViewSort1Filter(ListViewSort: TListViewSort); 112 procedure MenuItemToolbarClick(Sender: TObject); 90 113 procedure TrayIcon1Click(Sender: TObject); 91 114 private … … 109 132 FormMain: TFormMain; 110 133 134 resourcestring 135 SAddedCount = 'Imported %d acronyms'; 136 137 111 138 implementation 112 139 … … 114 141 115 142 uses 116 UFormImport, UForm Acronym, UFormSettings, UFormCategories, UFormAcronyms,117 UFormImportSource , UFormImportSources;143 UFormImport, UFormSettings, UFormCategories, UFormAcronyms, 144 UFormImportSources, UFormAbout, UFormImportFormats; 118 145 119 146 resourcestring … … 239 266 end; 240 267 268 procedure TFormMain.AProcessImportsExecute(Sender: TObject); 269 var 270 I: Integer; 271 TotalItemCount: Integer; 272 begin 273 TotalItemCount := 0; 274 for I := 0 to AcronymDb.ImportSources.Count - 1 do 275 with TImportSource(AcronymDb.ImportSources[I]) do 276 if Enabled then begin 277 Process; 278 TotalItemCount := TotalItemCount + ItemCount; 279 end; 280 ShowMessage(Format(SAddedCount, [TotalItemCount])); 281 UpdateAcronymsList; 282 UpdateInterface; 283 end; 284 241 285 procedure TFormMain.ASettingsExecute(Sender: TObject); 242 286 begin … … 246 290 end; 247 291 292 procedure TFormMain.AShowAboutExecute(Sender: TObject); 293 begin 294 FormAbout.ShowModal; 295 end; 296 248 297 procedure TFormMain.AShowAcronymsExecute(Sender: TObject); 249 298 begin 250 299 FormAcronyms.ShowModal; 300 UpdateInterface; 251 301 end; 252 302 … … 264 314 end; 265 315 316 procedure TFormMain.AShowImportFormatsExecute(Sender: TObject); 317 begin 318 FormImportFormats.ImportFormats := AcronymDb.ImportFormats; 319 FormImportFormats.ShowModal; 320 UpdateInterface; 321 end; 322 266 323 procedure TFormMain.AShowImportSourcesExecute(Sender: TObject); 267 324 begin … … 286 343 PersistentForm1.Load(Self); 287 344 288 if (LastOpenedList1.Items.Count > 0) and FileExists(LastOpenedList1.Items[0]) then 345 if ParamCount > 0 then begin 346 AcronymDB.LoadFromFile(ParamStr(1)); 347 LastOpenedList1.AddItem(OpenDialog1.FileName); 348 end else 349 if (LastOpenedList1.Items.Count > 0) and FileExists(LastOpenedList1.Items[0]) then 289 350 AcronymDB.LoadFromFile(LastOpenedList1.Items[0]); 290 351 UpdateAcronymsList; … … 339 400 AcronymDb.AssignToList(ListViewSort1.List); 340 401 FilterList(ListViewSort1.List); 402 end; 403 404 procedure TFormMain.MenuItemToolbarClick(Sender: TObject); 405 begin 406 MenuItemToolbar.Checked := not MenuItemToolbar.Checked; 407 UpdateInterface; 341 408 end; 342 409 … … 436 503 AShowAcronyms.Enabled := Assigned(AcronymDb); 437 504 AShowImportSources.Enabled := Assigned(AcronymDb); 505 ToolBar1.Visible := MenuItemToolbar.Checked; 438 506 439 507 Title := Application.Title; … … 458 526 AlwaysOnTop := ReadBoolWithDefault('AlwaysOnTop', False); 459 527 CheckBoxExactMath.Checked := ReadBoolWithDefault('ExactMatch', False); 528 MenuItemToolbar.Checked := ReadBoolWithDefault('ToolBarVisible', True); 460 529 finally 461 530 Free; … … 476 545 WriteBool('AlwaysOnTop', AlwaysOnTop); 477 546 WriteBool('ExactMatch', CheckBoxExactMath.Checked); 547 WriteBool('ToolBarVisible', MenuItemToolbar.Checked); 478 548 finally 479 549 Free; -
TabularUnified /trunk/Languages/AcronymDecoder.cs.po ¶
r20 r30 12 12 "X-Generator: Poedit 1.8.7.1\n" 13 13 14 #: tformabout.buttonclose.caption 15 msgctxt "tformabout.buttonclose.caption" 16 msgid "Close" 17 msgstr "Zavřít" 18 19 #: tformabout.buttonhomepage.caption 20 msgid "Home page" 21 msgstr "Domovská stránka" 22 23 #: tformabout.caption 24 msgctxt "tformabout.caption" 25 msgid "About" 26 msgstr "O aplikaci" 27 28 #: tformabout.labelappname.caption 29 msgctxt "tformabout.labelappname.caption" 30 msgid "Acronym Decoder" 31 msgstr "Acronym Decoder" 32 33 #: tformabout.labelcontent.caption 34 msgctxt "tformabout.labelcontent.caption" 35 msgid " " 36 msgstr " " 37 38 #: tformabout.labeldescription.caption 39 msgctxt "tformabout.labeldescription.caption" 40 msgid "Simple tool for quick search of meaning for various acronyms and abbreviations." 41 msgstr "Jednoduchý nástroj pro hledání významu různých zkratek a zkrácení." 42 14 43 #: tformacronym.acategoryadd.caption 15 44 msgctxt "tformacronym.acategoryadd.caption" … … 54 83 55 84 #: tformacronyms.aadd.caption 56 #, fuzzy57 85 msgctxt "tformacronyms.aadd.caption" 58 86 msgid "Add" … … 60 88 61 89 #: tformacronyms.amodify.caption 62 #, fuzzy63 90 msgctxt "tformacronyms.amodify.caption" 64 91 msgid "Modify" … … 66 93 67 94 #: tformacronyms.aremove.caption 68 #, fuzzy69 95 msgctxt "tformacronyms.aremove.caption" 70 96 msgid "Remove" … … 81 107 82 108 #: tformacronyms.listviewacronyms.columns[0].caption 83 #, fuzzy84 109 msgctxt "tformacronyms.listviewacronyms.columns[0].caption" 85 110 msgid "Name" … … 87 112 88 113 #: tformacronyms.listviewacronyms.columns[1].caption 89 #, fuzzy90 114 msgctxt "tformacronyms.listviewacronyms.columns[1].caption" 91 115 msgid "Description" … … 140 164 141 165 #: tformimport.buttonimport.caption 166 msgctxt "tformimport.buttonimport.caption" 142 167 msgid "Process" 143 168 msgstr "Zpracovat" … … 157 182 158 183 #: tformimport.label1.caption 184 msgctxt "tformimport.label1.caption" 159 185 msgid "Data format:" 160 186 msgstr "Formát dat:" 161 187 188 #: tformimportformat.aadd.caption 189 #, fuzzy 190 msgctxt "tformimportformat.aadd.caption" 191 msgid "Add" 192 msgstr "Přidat" 193 194 #: tformimportformat.amodify.caption 195 #, fuzzy 196 msgctxt "tformimportformat.amodify.caption" 197 msgid "Modify" 198 msgstr "Upravit" 199 200 #: tformimportformat.amovedown.caption 201 msgid "Move down" 202 msgstr "Přesunout níže" 203 204 #: tformimportformat.amoveup.caption 205 msgid "Move up" 206 msgstr "Přesounout výše" 207 208 #: tformimportformat.aremove.caption 209 #, fuzzy 210 msgctxt "tformimportformat.aremove.caption" 211 msgid "Remove" 212 msgstr "Odebrat" 213 214 #: tformimportformat.buttoncancel.caption 215 msgctxt "tformimportformat.buttoncancel.caption" 216 msgid "Cancel" 217 msgstr "Zrušit" 218 219 #: tformimportformat.buttonok.caption 220 msgctxt "tformimportformat.buttonok.caption" 221 msgid "Ok" 222 msgstr "Ok" 223 224 #: tformimportformat.caption 225 msgid "Import format" 226 msgstr "Formát importu" 227 228 #: tformimportformat.label1.caption 229 msgctxt "tformimportformat.label1.caption" 230 msgid "Name:" 231 msgstr "Název:" 232 233 #: tformimportformat.label2.caption 234 #, fuzzy 235 #| msgid "Acronym start:" 236 msgid "Item rules:" 237 msgstr "Začátek zkratky:" 238 239 #: tformimportformat.label8.caption 240 msgid "Block start:" 241 msgstr "Začátek bloku:" 242 243 #: tformimportformat.label9.caption 244 msgid "Block end:" 245 msgstr "Konec bloku:" 246 247 #: tformimportformat.listviewitemrules.columns[0].caption 248 msgid "Start string" 249 msgstr "Počáteční řetězec" 250 251 #: tformimportformat.listviewitemrules.columns[1].caption 252 msgid "End string" 253 msgstr "Koncový řetězec" 254 255 #: tformimportformat.listviewitemrules.columns[2].caption 256 msgid "Action" 257 msgstr "Akce" 258 259 #: tformimportformat.listviewitemrules.columns[3].caption 260 msgid "Variable" 261 msgstr "Proměnná" 262 263 #: tformimportformat.listviewitemrules.columns[4].caption 264 msgctxt "tformimportformat.listviewitemrules.columns[4].caption" 265 msgid "Repetition" 266 msgstr "Opakování" 267 268 #: tformimportformats.aadd.caption 269 msgctxt "tformimportformats.aadd.caption" 270 msgid "Add" 271 msgstr "Přidat" 272 273 #: tformimportformats.amodify.caption 274 msgctxt "tformimportformats.amodify.caption" 275 msgid "Modify" 276 msgstr "Upravit" 277 278 #: tformimportformats.aremove.caption 279 msgctxt "tformimportformats.aremove.caption" 280 msgid "Remove" 281 msgstr "Odebrat" 282 283 #: tformimportformats.caption 284 msgctxt "tformimportformats.caption" 285 msgid "Import sources" 286 msgstr "Zdroje importu" 287 288 #: tformimportformats.listview1.columns[0].caption 289 msgctxt "tformimportformats.listview1.columns[0].caption" 290 msgid "Name" 291 msgstr "Název" 292 293 #: tformimportpattern.buttoncancel.caption 294 #, fuzzy 295 msgctxt "tformimportpattern.buttoncancel.caption" 296 msgid "Cancel" 297 msgstr "Zrušit" 298 299 #: tformimportpattern.buttonok.caption 300 #, fuzzy 301 msgctxt "tformimportpattern.buttonok.caption" 302 msgid "Ok" 303 msgstr "Ok" 304 305 #: tformimportpattern.caption 306 msgid "Import pattern" 307 msgstr "Vzor importu" 308 309 #: tformimportpattern.checkboxrepetition.caption 310 msgctxt "tformimportpattern.checkboxrepetition.caption" 311 msgid "Repetition" 312 msgstr "Opakování" 313 314 #: tformimportpattern.label10.caption 315 msgid "Action:" 316 msgstr "Akce" 317 318 #: tformimportpattern.label11.caption 319 msgid "Variable:" 320 msgstr "Proměnná" 321 322 #: tformimportpattern.label8.caption 323 msgid "Start string:" 324 msgstr "Počáteční řetězec" 325 326 #: tformimportpattern.label9.caption 327 msgid "End string:" 328 msgstr "Koncový řetězec" 329 162 330 #: tformimportsource.buttoncancel.caption 163 #, fuzzy164 331 msgctxt "tformimportsource.buttoncancel.caption" 165 332 msgid "Cancel" … … 167 334 168 335 #: tformimportsource.buttonok.caption 169 #, fuzzy170 336 msgctxt "tformimportsource.buttonok.caption" 171 337 msgid "Ok" 172 338 msgstr "Ok" 173 339 340 #: tformimportsource.buttonshowformat.caption 341 msgid "Configure" 342 msgstr "Nastavit" 343 174 344 #: tformimportsource.caption 175 345 msgctxt "tformimportsource.caption" 176 346 msgid "Import source" 177 msgstr "" 347 msgstr "Zdroj importu" 348 349 #: tformimportsource.checkboxenabled.caption 350 msgid "Enabled" 351 msgstr "Povoleno" 178 352 179 353 #: tformimportsource.label1.caption 180 #, fuzzy181 354 msgctxt "tformimportsource.label1.caption" 182 355 msgid "Name:" … … 185 358 #: tformimportsource.label2.caption 186 359 msgid "Source URL:" 187 msgstr "" 360 msgstr "Zdrojové URL:" 361 362 #: tformimportsource.label3.caption 363 msgctxt "tformimportsource.label3.caption" 364 msgid "Data format:" 365 msgstr "Formát dat:" 188 366 189 367 #: tformimportsources.aadd.caption 190 #, fuzzy191 368 msgctxt "tformimportsources.aadd.caption" 192 369 msgid "Add" … … 194 371 195 372 #: tformimportsources.amodify.caption 196 #, fuzzy197 373 msgctxt "tformimportsources.amodify.caption" 198 374 msgid "Modify" 199 375 msgstr "Upravit" 200 376 377 #: tformimportsources.aprocess.caption 378 msgctxt "tformimportsources.aprocess.caption" 379 msgid "Process" 380 msgstr "Zpracovat" 381 201 382 #: tformimportsources.aremove.caption 202 #, fuzzy203 383 msgctxt "tformimportsources.aremove.caption" 204 384 msgid "Remove" … … 208 388 msgctxt "tformimportsources.caption" 209 389 msgid "Import sources" 210 msgstr " "390 msgstr "Zdroje importu" 211 391 212 392 #: tformimportsources.listview1.columns[0].caption 213 #, fuzzy214 393 msgctxt "tformimportsources.listview1.columns[0].caption" 215 394 msgid "Name" … … 218 397 #: tformimportsources.listview1.columns[1].caption 219 398 msgid "URL" 220 msgstr " "399 msgstr "URL" 221 400 222 401 #: tformmain.aexit.caption … … 225 404 226 405 #: tformmain.afileclose.caption 406 msgctxt "tformmain.afileclose.caption" 227 407 msgid "Close" 228 408 msgstr "Zavřít" … … 249 429 msgstr "Importovat" 250 430 431 #: tformmain.aprocessimports.caption 432 msgid "Process imports" 433 msgstr "Zpracovat importy" 434 251 435 #: tformmain.asettings.caption 252 436 msgctxt "tformmain.asettings.caption" … … 258 442 msgstr "Ukázat" 259 443 444 #: tformmain.ashowabout.caption 445 msgctxt "tformmain.ashowabout.caption" 446 msgid "About" 447 msgstr "O aplikaci" 448 260 449 #: tformmain.ashowacronyms.caption 261 450 msgctxt "tformmain.ashowacronyms.caption" … … 268 457 msgstr "Kategorie" 269 458 459 #: tformmain.ashowimportformats.caption 460 msgid "Import formats" 461 msgstr "Formáty importu" 462 270 463 #: tformmain.ashowimportsources.caption 271 464 msgctxt "tformmain.ashowimportsources.caption" 272 465 msgid "Import sources" 273 msgstr " "466 msgstr "Zdroje importu" 274 467 275 468 #: tformmain.caption 469 msgctxt "tformmain.caption" 276 470 msgid "Acronym Decoder" 277 471 msgstr "Acronym Decoder" … … 297 491 298 492 #: tformmain.menuitem15.caption 493 msgctxt "tformmain.menuitem15.caption" 299 494 msgid "-" 300 495 msgstr "-" … … 308 503 msgstr "Zobrazení" 309 504 505 #: tformmain.menuitem24.caption 506 #, fuzzy 507 msgctxt "tformmain.menuitem24.caption" 508 msgid "-" 509 msgstr "-" 510 511 #: tformmain.menuitem5.caption 512 msgid "Help" 513 msgstr "Nápověda" 514 310 515 #: tformmain.menuitem8.caption 311 516 msgid "File" … … 315 520 msgid "Open recent" 316 521 msgstr "Otevřít nedávné" 522 523 #: tformmain.menuitemtoolbar.caption 524 msgid "Toolbar" 525 msgstr "Nástrojový panel" 526 527 #: tformmain.toolbar1.caption 528 msgid "ToolBar1" 529 msgstr "" 530 531 #: tformmain.toolbutton8.caption 532 msgid "ToolButton8" 533 msgstr "" 317 534 318 535 #: tformsettings.buttoncancel.caption … … 343 560 msgstr "Špatný formát souboru" 344 561 562 #: uformabout.slicense 563 msgid "License" 564 msgstr "Licence" 565 566 #: uformabout.sreleasedate 567 msgid "Release date" 568 msgstr "Datum uvolnění" 569 570 #: uformabout.sversion 571 msgid "Version" 572 msgstr "Verze" 573 345 574 #: uformacronym.scategory 346 575 msgctxt "uformacronym.scategory" … … 359 588 360 589 #: uformacronyms.sremoveacronym 361 #, fuzzy362 590 msgctxt "uformacronyms.sremoveacronym" 363 591 msgid "Remove acronym" … … 365 593 366 594 #: uformacronyms.sremoveacronymquery 367 #, fuzzy368 595 msgctxt "uformacronyms.sremoveacronymquery" 369 596 msgid "Do you want to remove selected acronym?" 370 597 msgstr "Chcete odebrat vybranou zkratku?" 371 372 #: uformacronyms.sremoveallacronyms373 #, fuzzy374 msgctxt "uformacronyms.sremoveallacronyms"375 msgid "Remove all acronyms"376 msgstr "Odebrat všechny zkratky"377 378 #: uformacronyms.sremoveallacronymsquery379 #, fuzzy380 msgctxt "uformacronyms.sremoveallacronymsquery"381 msgid "Do you want to remove all acronyms?"382 msgstr "Chcete odebrat všechny zkratky?"383 598 384 599 #: uformcategories.scategory … … 396 611 397 612 #: uformcategories.sremovecategory 398 #, fuzzy399 #| msgid "Remove category"400 613 msgctxt "uformcategories.sremovecategory" 401 614 msgid "Remove categories" 402 msgstr "Odebrat kategori i"615 msgstr "Odebrat kategorie" 403 616 404 617 #: uformcategories.sremovecategoryquery 405 #, fuzzy406 #| msgid "Do you really want to remove category?"407 618 msgctxt "uformcategories.sremovecategoryquery" 408 619 msgid "Do you really want to remove selected categories?" 409 msgstr "Opravdu chcete odebrat kategorii?"620 msgstr "Opravdu chcete odebrat vybrabé kategorie?" 410 621 411 622 #: uformimport.simportednewacronyms … … 413 624 msgstr "Importováno %d nových zkratek." 414 625 415 #: uformimportsources.simportsource 416 msgctxt "uformimportsources.simportsource" 417 msgid "Import source" 418 msgstr "" 626 #: uformimportformat.sno 627 msgid "No" 628 msgstr "Ne" 629 630 #: uformimportformat.sremoveimportpattern 631 msgid "Remove import pattern" 632 msgstr "Odstranit vzory importu" 633 634 #: uformimportformat.sremoveimportpatternquery 635 msgid "Do you really want to remove selected import patterns?" 636 msgstr "Opravdu chcete odstranit vybrané vzory importu?" 637 638 #: uformimportformat.syes 639 msgid "Yes" 640 msgstr "Ano" 641 642 #: uformimportformats.simportformatalreadyexists 643 msgid "Import format %s already exists!" 644 msgstr "Formát importu %s již existuje!" 645 646 #: uformimportformats.sremoveimportformat 647 msgid "Remove import formats" 648 msgstr "Odebrat formáty importu" 649 650 #: uformimportformats.sremoveimportformatquery 651 msgid "Do you really want to remove selected import formats?" 652 msgstr "Opravdu chcete odebrat vybrané formáty importu?" 419 653 420 654 #: uformimportsources.simportsourcealreadyexists 655 msgctxt "uformimportsources.simportsourcealreadyexists" 421 656 msgid "Import source %s already exists!" 422 msgstr "" 423 424 #: uformimportsources.simportsourcequery 425 msgid "Enter name of import source" 426 msgstr "" 657 msgstr "Zdroj importu %s již existuje!" 427 658 428 659 #: uformimportsources.sremoveimportsource 660 msgctxt "uformimportsources.sremoveimportsource" 429 661 msgid "Remove import sources" 430 msgstr " "662 msgstr "Odstranit zdroje importu" 431 663 432 664 #: uformimportsources.sremoveimportsourcequery 665 msgctxt "uformimportsources.sremoveimportsourcequery" 433 666 msgid "Do you really want to remove selected import sources?" 434 msgstr "" 667 msgstr "Opravdu chcete odebrat vybrané zdroje importu?" 668 669 #: uformmain.saddedcount 670 msgid "Imported %d acronyms" 671 msgstr "Importováno %d zkratek" 435 672 436 673 #: uformmain.sappexit -
TabularUnified /trunk/Languages/AcronymDecoder.po ¶
r20 r30 1 1 msgid "" 2 2 msgstr "Content-Type: text/plain; charset=UTF-8" 3 4 #: tformabout.buttonclose.caption 5 msgctxt "TFORMABOUT.BUTTONCLOSE.CAPTION" 6 msgid "Close" 7 msgstr "" 8 9 #: tformabout.buttonhomepage.caption 10 msgid "Home page" 11 msgstr "" 12 13 #: tformabout.caption 14 msgctxt "tformabout.caption" 15 msgid "About" 16 msgstr "" 17 18 #: tformabout.labelappname.caption 19 msgctxt "TFORMABOUT.LABELAPPNAME.CAPTION" 20 msgid "Acronym Decoder" 21 msgstr "" 22 23 #: tformabout.labelcontent.caption 24 msgctxt "TFORMABOUT.LABELCONTENT.CAPTION" 25 msgid " " 26 msgstr "" 27 28 #: tformabout.labeldescription.caption 29 msgctxt "TFORMABOUT.LABELDESCRIPTION.CAPTION" 30 msgid "Simple tool for quick search of meaning for various acronyms and abbreviations." 31 msgstr "" 3 32 4 33 #: tformacronym.acategoryadd.caption … … 125 154 126 155 #: tformimport.buttonimport.caption 156 msgctxt "tformimport.buttonimport.caption" 127 157 msgid "Process" 128 158 msgstr "" … … 142 172 143 173 #: tformimport.label1.caption 174 msgctxt "tformimport.label1.caption" 144 175 msgid "Data format:" 176 msgstr "" 177 178 #: tformimportformat.aadd.caption 179 msgctxt "TFORMIMPORTFORMAT.AADD.CAPTION" 180 msgid "Add" 181 msgstr "" 182 183 #: tformimportformat.amodify.caption 184 msgctxt "TFORMIMPORTFORMAT.AMODIFY.CAPTION" 185 msgid "Modify" 186 msgstr "" 187 188 #: tformimportformat.amovedown.caption 189 msgid "Move down" 190 msgstr "" 191 192 #: tformimportformat.amoveup.caption 193 msgid "Move up" 194 msgstr "" 195 196 #: tformimportformat.aremove.caption 197 msgctxt "TFORMIMPORTFORMAT.AREMOVE.CAPTION" 198 msgid "Remove" 199 msgstr "" 200 201 #: tformimportformat.buttoncancel.caption 202 msgctxt "TFORMIMPORTFORMAT.BUTTONCANCEL.CAPTION" 203 msgid "Cancel" 204 msgstr "" 205 206 #: tformimportformat.buttonok.caption 207 msgctxt "TFORMIMPORTFORMAT.BUTTONOK.CAPTION" 208 msgid "Ok" 209 msgstr "" 210 211 #: tformimportformat.caption 212 msgid "Import format" 213 msgstr "" 214 215 #: tformimportformat.label1.caption 216 msgctxt "TFORMIMPORTFORMAT.LABEL1.CAPTION" 217 msgid "Name:" 218 msgstr "" 219 220 #: tformimportformat.label2.caption 221 msgid "Item rules:" 222 msgstr "" 223 224 #: tformimportformat.label8.caption 225 msgid "Block start:" 226 msgstr "" 227 228 #: tformimportformat.label9.caption 229 msgid "Block end:" 230 msgstr "" 231 232 #: tformimportformat.listviewitemrules.columns[0].caption 233 msgid "Start string" 234 msgstr "" 235 236 #: tformimportformat.listviewitemrules.columns[1].caption 237 msgid "End string" 238 msgstr "" 239 240 #: tformimportformat.listviewitemrules.columns[2].caption 241 msgid "Action" 242 msgstr "" 243 244 #: tformimportformat.listviewitemrules.columns[3].caption 245 msgid "Variable" 246 msgstr "" 247 248 #: tformimportformat.listviewitemrules.columns[4].caption 249 msgctxt "TFORMIMPORTFORMAT.LISTVIEWITEMRULES.COLUMNS[4].CAPTION" 250 msgid "Repetition" 251 msgstr "" 252 253 #: tformimportformats.aadd.caption 254 msgctxt "TFORMIMPORTFORMATS.AADD.CAPTION" 255 msgid "Add" 256 msgstr "" 257 258 #: tformimportformats.amodify.caption 259 msgctxt "TFORMIMPORTFORMATS.AMODIFY.CAPTION" 260 msgid "Modify" 261 msgstr "" 262 263 #: tformimportformats.aremove.caption 264 msgctxt "TFORMIMPORTFORMATS.AREMOVE.CAPTION" 265 msgid "Remove" 266 msgstr "" 267 268 #: tformimportformats.caption 269 msgctxt "TFORMIMPORTFORMATS.CAPTION" 270 msgid "Import sources" 271 msgstr "" 272 273 #: tformimportformats.listview1.columns[0].caption 274 msgctxt "TFORMIMPORTFORMATS.LISTVIEW1.COLUMNS[0].CAPTION" 275 msgid "Name" 276 msgstr "" 277 278 #: tformimportpattern.buttoncancel.caption 279 msgctxt "TFORMIMPORTPATTERN.BUTTONCANCEL.CAPTION" 280 msgid "Cancel" 281 msgstr "" 282 283 #: tformimportpattern.buttonok.caption 284 msgctxt "TFORMIMPORTPATTERN.BUTTONOK.CAPTION" 285 msgid "Ok" 286 msgstr "" 287 288 #: tformimportpattern.caption 289 msgid "Import pattern" 290 msgstr "" 291 292 #: tformimportpattern.checkboxrepetition.caption 293 msgctxt "tformimportpattern.checkboxrepetition.caption" 294 msgid "Repetition" 295 msgstr "" 296 297 #: tformimportpattern.label10.caption 298 msgid "Action:" 299 msgstr "" 300 301 #: tformimportpattern.label11.caption 302 msgid "Variable:" 303 msgstr "" 304 305 #: tformimportpattern.label8.caption 306 msgid "Start string:" 307 msgstr "" 308 309 #: tformimportpattern.label9.caption 310 msgid "End string:" 145 311 msgstr "" 146 312 … … 155 321 msgstr "" 156 322 323 #: tformimportsource.buttonshowformat.caption 324 msgid "Configure" 325 msgstr "" 326 157 327 #: tformimportsource.caption 158 328 msgctxt "tformimportsource.caption" … … 160 330 msgstr "" 161 331 332 #: tformimportsource.checkboxenabled.caption 333 msgid "Enabled" 334 msgstr "" 335 162 336 #: tformimportsource.label1.caption 163 337 msgctxt "TFORMIMPORTSOURCE.LABEL1.CAPTION" … … 169 343 msgstr "" 170 344 345 #: tformimportsource.label3.caption 346 msgctxt "TFORMIMPORTSOURCE.LABEL3.CAPTION" 347 msgid "Data format:" 348 msgstr "" 349 171 350 #: tformimportsources.aadd.caption 172 351 msgctxt "TFORMIMPORTSOURCES.AADD.CAPTION" … … 179 358 msgstr "" 180 359 360 #: tformimportsources.aprocess.caption 361 msgctxt "TFORMIMPORTSOURCES.APROCESS.CAPTION" 362 msgid "Process" 363 msgstr "" 364 181 365 #: tformimportsources.aremove.caption 182 366 msgctxt "TFORMIMPORTSOURCES.AREMOVE.CAPTION" … … 203 387 204 388 #: tformmain.afileclose.caption 389 msgctxt "tformmain.afileclose.caption" 205 390 msgid "Close" 206 391 msgstr "" … … 227 412 msgstr "" 228 413 414 #: tformmain.aprocessimports.caption 415 msgid "Process imports" 416 msgstr "" 417 229 418 #: tformmain.asettings.caption 230 419 msgctxt "tformmain.asettings.caption" … … 236 425 msgstr "" 237 426 427 #: tformmain.ashowabout.caption 428 msgctxt "tformmain.ashowabout.caption" 429 msgid "About" 430 msgstr "" 431 238 432 #: tformmain.ashowacronyms.caption 239 433 msgctxt "TFORMMAIN.ASHOWACRONYMS.CAPTION" … … 246 440 msgstr "" 247 441 442 #: tformmain.ashowimportformats.caption 443 msgid "Import formats" 444 msgstr "" 445 248 446 #: tformmain.ashowimportsources.caption 249 447 msgctxt "TFORMMAIN.ASHOWIMPORTSOURCES.CAPTION" … … 252 450 253 451 #: tformmain.caption 452 msgctxt "tformmain.caption" 254 453 msgid "Acronym Decoder" 255 454 msgstr "" … … 275 474 276 475 #: tformmain.menuitem15.caption 476 msgctxt "tformmain.menuitem15.caption" 277 477 msgid "-" 278 478 msgstr "" … … 286 486 msgstr "" 287 487 488 #: tformmain.menuitem24.caption 489 msgctxt "TFORMMAIN.MENUITEM24.CAPTION" 490 msgid "-" 491 msgstr "" 492 493 #: tformmain.menuitem5.caption 494 msgid "Help" 495 msgstr "" 496 288 497 #: tformmain.menuitem8.caption 289 498 msgid "File" … … 292 501 #: tformmain.menuitemopenrecent.caption 293 502 msgid "Open recent" 503 msgstr "" 504 505 #: tformmain.menuitemtoolbar.caption 506 msgid "Toolbar" 507 msgstr "" 508 509 #: tformmain.toolbar1.caption 510 msgid "ToolBar1" 511 msgstr "" 512 513 #: tformmain.toolbutton8.caption 514 msgid "ToolButton8" 294 515 msgstr "" 295 516 … … 321 542 msgstr "" 322 543 544 #: uformabout.slicense 545 msgid "License" 546 msgstr "" 547 548 #: uformabout.sreleasedate 549 msgid "Release date" 550 msgstr "" 551 552 #: uformabout.sversion 553 msgid "Version" 554 msgstr "" 555 323 556 #: uformacronym.scategory 324 557 msgctxt "uformacronym.scategory" … … 346 579 msgstr "" 347 580 348 #: uformacronyms.sremoveallacronyms349 msgctxt "uformacronyms.sremoveallacronyms"350 msgid "Remove all acronyms"351 msgstr ""352 353 #: uformacronyms.sremoveallacronymsquery354 msgctxt "uformacronyms.sremoveallacronymsquery"355 msgid "Do you want to remove all acronyms?"356 msgstr ""357 358 581 #: uformcategories.scategory 359 582 msgctxt "uformcategories.scategory" … … 383 606 msgstr "" 384 607 385 #: uformimportsources.simportsource 386 msgctxt "uformimportsources.simportsource" 387 msgid "Import source" 608 #: uformimportformat.sno 609 msgid "No" 610 msgstr "" 611 612 #: uformimportformat.sremoveimportpattern 613 msgid "Remove import pattern" 614 msgstr "" 615 616 #: uformimportformat.sremoveimportpatternquery 617 msgid "Do you really want to remove selected import patterns?" 618 msgstr "" 619 620 #: uformimportformat.syes 621 msgid "Yes" 622 msgstr "" 623 624 #: uformimportformats.simportformatalreadyexists 625 msgid "Import format %s already exists!" 626 msgstr "" 627 628 #: uformimportformats.sremoveimportformat 629 msgid "Remove import formats" 630 msgstr "" 631 632 #: uformimportformats.sremoveimportformatquery 633 msgid "Do you really want to remove selected import formats?" 388 634 msgstr "" 389 635 390 636 #: uformimportsources.simportsourcealreadyexists 637 msgctxt "uformimportsources.simportsourcealreadyexists" 391 638 msgid "Import source %s already exists!" 392 639 msgstr "" 393 640 394 #: uformimportsources.simportsourcequery395 msgid "Enter name of import source"396 msgstr ""397 398 641 #: uformimportsources.sremoveimportsource 642 msgctxt "uformimportsources.sremoveimportsource" 399 643 msgid "Remove import sources" 400 644 msgstr "" 401 645 402 646 #: uformimportsources.sremoveimportsourcequery 647 msgctxt "uformimportsources.sremoveimportsourcequery" 403 648 msgid "Do you really want to remove selected import sources?" 649 msgstr "" 650 651 #: uformmain.saddedcount 652 msgid "Imported %d acronyms" 404 653 msgstr "" 405 654 -
TabularUnified /trunk/Packages/synapse/synapse.lpk ¶
r20 r30 1 <?xml version="1.0" ?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 <Package Version=" 3">3 <Package Version="4"> 4 4 <PathDelim Value="\"/> 5 5 <Name Value="synapse"/> 6 <Type Value="RunAndDesignTime"/> 7 <AddToProjectUsesSection Value="True"/> 6 8 <CompilerOptions> 7 <Version Value=" 9"/>9 <Version Value="11"/> 8 10 <PathDelim Value="\"/> 9 11 <SearchPaths> 12 <OtherUnitFiles Value="."/> 10 13 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 11 14 </SearchPaths> … … 15 18 </SyntaxOptions> 16 19 </Parsing> 17 <Other>18 <CompilerPath Value="$(CompPath)"/>19 </Other>20 20 </CompilerOptions> 21 21 <Files Count="31"> … … 145 145 </Item31> 146 146 </Files> 147 <Type Value="RunAndDesignTime"/>148 147 <RequiredPkgs Count="1"> 149 148 <Item1> -
TabularUnified /trunk/Packages/synapse/synaser.pas ¶
r20 r30 2280 2280 try 2281 2281 TmpPorts := ''; 2282 if FindFirst('/dev/ttyS*', $ FFFFFFFF, sr) = 0 then2282 if FindFirst('/dev/ttyS*', $7FFFFFFF, sr) = 0 then 2283 2283 begin 2284 2284 repeat -
TabularUnified /trunk/UAcronym.pas ¶
r20 r30 7 7 uses 8 8 Classes, SysUtils, Contnrs, XMLConf, XMLRead, XMLWrite, DOM, UXMLUtils, 9 SpecializedList ;9 SpecializedList, fphttpclient, Dialogs; 10 10 11 11 type … … 14 14 TAcronymDb = class; 15 15 TImportSources = class; 16 TImportFormats = class; 16 17 17 18 TAcronymSource = class … … 108 109 end; 109 110 110 TImportPattern = record 111 TImportPatternFlag = (ipfNone, ipfNewItem, ipfSkip); 112 TImportVariable = (ivNone, ivAcronym, ivMeaning, ivDescription); 113 114 { TImportPattern } 115 116 TImportPattern = class 111 117 StartString: string; 112 118 EndString: string; 113 NewItem: Boolean; 119 Variable: TImportVariable; 120 Flag: TImportPatternFlag; 121 Repetition: Boolean; 122 procedure Assign(Source: TImportPattern); 123 procedure SaveToNode(Node: TDOMNode); 124 procedure LoadFromNode(Node: TDOMNode); 125 end; 126 127 { TImportPatterns } 128 129 TImportPatterns = class(TObjectList) 130 procedure SaveToNode(Node: TDOMNode); 131 procedure LoadFromNode(Node: TDOMNode); 114 132 end; 115 133 … … 119 137 Id: Integer; 120 138 Name: string; 121 Acronym: TImportPattern; 122 Meaning: TImportPattern; 123 Description: TImportPattern; 139 Block: TImportPattern; 140 ItemPatterns: TImportPatterns; 141 Formats: TImportFormats; 142 procedure Assign(Source: TImportFormat); 124 143 procedure SaveToNode(Node: TDOMNode); 125 144 procedure LoadFromNode(Node: TDOMNode); 145 constructor Create; 146 destructor Destroy; override; 126 147 end; 127 148 … … 132 153 procedure SaveToNode(Node: TDOMNode); 133 154 procedure LoadFromNode(Node: TDOMNode); 155 function SearchByName(Name: string): TImportFormat; 134 156 function SearchById(Id: Integer): TImportFormat; 135 157 end; … … 138 160 139 161 TImportSource = class 162 private 163 procedure DoPassword(Sender: TObject; var RepeatRequest : Boolean); 164 public 165 Enabled: Boolean; 140 166 Name: string; 141 167 URL: string; … … 143 169 LastTime: TDateTime; 144 170 Sources: TImportSources; 171 ItemCount: Integer; 172 function DownloadHTTP(URL: string; Stream: TStream): Boolean; 173 procedure Process; 145 174 procedure Assign(Source: TImportSource); 146 175 procedure SaveToNode(Node: TDOMNode); … … 183 212 function AcronymComparer(Item1, Item2: Pointer): Integer; 184 213 214 const 215 ImportVariableString: array [TImportVariable] of string = ('None', 'Acronym', 216 'Meaning', 'Description'); 217 ImportPatternFlagString: array [TImportPatternFlag] of string = ('None', 'New item', 218 'Skip'); 219 185 220 186 221 implementation … … 189 224 SWrongFileFormat = 'Wrong file format'; 190 225 226 191 227 function AcronymComparer(Item1, Item2: Pointer): Integer; 192 228 begin … … 194 230 end; 195 231 232 { TImportPatterns } 233 234 procedure TImportPatterns.SaveToNode(Node: TDOMNode); 235 var 236 I: Integer; 237 NewNode2: TDOMNode; 238 begin 239 for I := 0 to Count - 1 do 240 with TImportPattern(Items[I]) do begin 241 NewNode2 := Node.OwnerDocument.CreateElement('Pattern'); 242 Node.AppendChild(NewNode2); 243 SaveToNode(NewNode2); 244 end; 245 end; 246 247 procedure TImportPatterns.LoadFromNode(Node: TDOMNode); 248 var 249 Node2: TDOMNode; 250 NewItem: TImportPattern; 251 begin 252 Count := 0; 253 Node2 := Node.FirstChild; 254 while Assigned(Node2) and (Node2.NodeName = 'Pattern') do begin 255 NewItem := TImportPattern.Create; 256 NewItem.LoadFromNode(Node2); 257 Add(NewItem); 258 Node2 := Node2.NextSibling; 259 end; 260 end; 261 262 { TImportPattern } 263 264 procedure TImportPattern.Assign(Source: TImportPattern); 265 begin 266 StartString := Source.StartString; 267 EndString := Source.EndString; 268 Variable := Source.Variable; 269 Flag := Source.Flag; 270 Repetition := Source.Repetition; 271 end; 272 273 procedure TImportPattern.SaveToNode(Node: TDOMNode); 274 begin 275 WriteString(Node, 'StartString', StartString); 276 WriteString(Node, 'EndString', EndString); 277 WriteInteger(Node, 'Variable', Integer(Variable)); 278 WriteInteger(Node, 'Flag', Integer(Flag)); 279 WriteBoolean(Node, 'Repetition', Repetition); 280 end; 281 282 procedure TImportPattern.LoadFromNode(Node: TDOMNode); 283 begin 284 StartString := ReadString(Node, 'StartString', ''); 285 EndString := ReadString(Node, 'EndString', ''); 286 Variable := TImportVariable(ReadInteger(Node, 'Variable', 0)); 287 Flag := TImportPatternFlag(ReadInteger(Node, 'Flag', 0)); 288 Repetition := ReadBoolean(Node, 'Repetition', False); 289 end; 290 291 procedure TImportSource.DoPassword(Sender: TObject; var RepeatRequest: Boolean); 292 begin 293 if TFPHttpClient(Sender).Password = '' then begin 294 TFPHttpClient(Sender).UserName := 'test'; 295 TFPHttpClient(Sender).Password := 'test'; 296 RepeatRequest := True; 297 end else RepeatRequest := False; 298 end; 299 300 function TImportSource.DownloadHTTP(URL: string; Stream: TStream): Boolean; 301 var 302 HTTPClient: TFPHTTPClient; 303 FormData: TStringList; 304 begin 305 HTTPClient := TFPHttpClient.Create(nil); 306 HTTPClient.OnPassword := DoPassword; 307 FormData := TStringList.Create; 308 (* 309 FormData.action=clientlogin 310 &loginreturnurl=http://example.com/& 311 logintoken=29590a3037d325be70b93fb8258ed29257448cfb%2B%5C& 312 username=Bob& 313 password=secret& 314 rememberMe=1 315 HTTPClient.FormPost(URL, FormData, Stream); 316 *) 317 HTTPClient.Get(URL, Stream); 318 FormData.Free; 319 HTTPClient.Free; 320 Result := True; 321 end; 322 323 function StripHTML(S: string): string; 324 var 325 TagBegin, TagEnd, TagLength: Integer; 326 begin 327 TagBegin := Pos( '<', S); // search position of first < 328 329 while (TagBegin > 0) do begin // while there is a < in S 330 TagEnd := Pos('>', S); // find the matching > 331 if TagEnd = 0 then TagLength := Length(S) - TagBegin 332 else TagLength := TagEnd - TagBegin + 1; 333 if TagLength > 0 then 334 Delete(S, TagBegin, TagLength) // delete the tag 335 else Delete(S, 1, TagEnd); // delete the tag 336 TagBegin := Pos( '<', S); // search for next < 337 end; 338 339 Result := S; // give the result 340 end; 341 196 342 { TImportFormat } 197 343 344 procedure TImportFormat.Assign(Source: TImportFormat); 345 var 346 I: Integer; 347 begin 348 Name := Source.Name; 349 Block.StartString := Source.Block.StartString; 350 Block.EndString := Source.Block.EndString; 351 while ItemPatterns.Count < Source.ItemPatterns.Count do 352 ItemPatterns.Add(TImportPattern.Create); 353 if ItemPatterns.Count > Source.ItemPatterns.Count then 354 ItemPatterns.Count := Source.ItemPatterns.Count; 355 for I := 0 to ItemPatterns.Count - 1 do begin 356 TImportPattern(ItemPatterns[I]).Assign(TImportPattern(Source.ItemPatterns[I])); 357 end; 358 end; 359 198 360 procedure TImportFormat.SaveToNode(Node: TDOMNode); 361 var 362 NewNode: TDOMNode; 199 363 begin 200 364 WriteInteger(Node, 'Id', Id); 201 365 WriteString(Node, 'Name', Name); 202 WriteString(Node, ' AcronymStartString', Acronym.StartString);203 WriteString(Node, ' AcronymEndString', Acronym.EndString);204 WriteString(Node, 'MeaningStartString', Meaning.StartString); 205 WriteString(Node, 'MeaningEndString', Meaning.EndString);206 WriteString(Node, 'DescriptionStartString', Description.StartString);207 WriteString(Node, 'DescriptionEndString', Description.EndString);366 WriteString(Node, 'BlockStartString', Block.StartString); 367 WriteString(Node, 'BlockEndString', Block.EndString); 368 369 NewNode := Node.OwnerDocument.CreateElement('Patterns'); 370 Node.AppendChild(NewNode); 371 ItemPatterns.SaveToNode(NewNode); 208 372 end; 209 373 210 374 procedure TImportFormat.LoadFromNode(Node: TDOMNode); 375 var 376 NewNode: TDOMNode; 211 377 begin 212 378 Id := ReadInteger(Node, 'Id', 0); 213 379 Name := ReadString(Node, 'Name', ''); 214 Acronym.StartString := ReadString(Node, 'AcronymStartString', ''); 215 Acronym.EndString := ReadString(Node, 'AcronymEndString', ''); 216 Meaning.StartString := ReadString(Node, 'MeaningStartString', ''); 217 Meaning.EndString := ReadString(Node, 'MeaningEndString', ''); 218 Description.StartString := ReadString(Node, 'DescriptionStartString', ''); 219 Description.EndString := ReadString(Node, 'DescriptionEndString', ''); 380 Block.StartString := ReadString(Node, 'BlockStartString', ''); 381 Block.EndString := ReadString(Node, 'BlockEndString', ''); 382 383 NewNode := Node.FindNode('Patterns'); 384 if Assigned(NewNode) then 385 ItemPatterns.LoadFromNode(NewNode); 386 end; 387 388 constructor TImportFormat.Create; 389 begin 390 Block := TImportPattern.Create; 391 ItemPatterns := TImportPatterns.Create; 392 end; 393 394 destructor TImportFormat.Destroy; 395 begin 396 Block.Free; 397 ItemPatterns.Free; 398 inherited Destroy; 220 399 end; 221 400 … … 263 442 { TImportFormats } 264 443 444 function TImportFormats.SearchByName(Name: string): TImportFormat; 445 var 446 I: Integer; 447 begin 448 I := 0; 449 while (I < Count) and (TImportFormat(Items[I]).Name <> Name) do Inc(I); 450 if I < Count then Result := TImportFormat(Items[I]) 451 else Result := nil; 452 end; 453 265 454 procedure TImportFormats.UpdateIds; 266 455 var … … 324 513 { TImportSource } 325 514 515 procedure TImportSource.Process; 516 var 517 Stream: TMemoryStream; 518 S: string; 519 SS: string; 520 NewAcronym: TAcronymEntry; 521 P: Integer; 522 P1, P2: Integer; 523 Q: Integer; 524 I: Integer; 525 T: string; 526 LastLength: Integer; 527 AddedAcronym: TAcronymMeaning; 528 begin 529 ItemCount := 0; 530 Stream := TMemoryStream.Create; 531 NewAcronym := TAcronymEntry.Create; 532 try 533 if DownloadHTTP(URL, Stream) then begin 534 Stream.Position := 0; 535 SetLength(S, Stream.Size); 536 Stream.Read(S[1], Length(S)); 537 538 // Find main block 539 if Format.Block.StartString <> '' then begin 540 P := Pos(Format.Block.StartString, S); 541 if P > 0 then 542 Delete(S, 1, P + Length(Format.Block.StartString) - 1); 543 end; 544 if Format.Block.EndString <> '' then begin 545 P := Pos(Format.Block.EndString, S); 546 if P > 0 then 547 Delete(S, P, Length(S)); 548 end; 549 550 // Remove unneeded items 551 repeat 552 LastLength := Length(S); 553 for I := 0 to Format.ItemPatterns.Count - 1 do 554 with TImportPattern(Format.ItemPatterns[I]) do 555 if Flag = ipfSkip then begin 556 P := Pos(StartString, S); 557 if P > 0 then begin 558 SS := Copy(S, P + Length(StartString), Length(S)); 559 Q := Pos(EndString, SS); 560 if Q > 0 then begin 561 Delete(S, P, Q + Length(EndString) + Length(StartString) - 1); 562 end; 563 end; 564 end; 565 until Length(S) = LastLength; 566 567 // Find items 568 repeat 569 LastLength := Length(S); 570 I := 0; 571 while I < Format.ItemPatterns.Count do 572 with TImportPattern(Format.ItemPatterns[I]) do begin 573 if Flag <> ipfSkip then begin 574 if Length(StartString) > 0 then begin 575 P := Pos(StartString, S); 576 if P > 0 then Delete(S, 1, P + Length(StartString) - 1); 577 end; 578 579 if ((Length(StartString) > 0) and (P > 0)) or (Length(StartString) = 0) then begin 580 P := Pos(EndString, S); 581 T := StripHTML(Copy(S, 1, P - 1)); 582 T := StringReplace(T, '"', '"', [rfReplaceAll]); 583 T := StringReplace(T, '™', 'TM', [rfReplaceAll]); 584 T := StringReplace(T, '&', '&', [rfReplaceAll]); 585 T := StringReplace(T, ' ', ' ', [rfReplaceAll]); // No break space 586 T := Trim(T); 587 case Variable of 588 ivAcronym: NewAcronym.Name := T; 589 ivMeaning: NewAcronym.Meaning := T; 590 ivDescription: NewAcronym.Description := T; 591 end; 592 Delete(S, 1, P + Length(EndString) - 1); 593 594 if (Flag = ipfNewItem) and (Trim(NewAcronym.Name) <> '') and 595 (Trim(NewAcronym.Meaning) <> '') then begin 596 AddedAcronym := Sources.AcronymDb.AddAcronym(NewAcronym.Name, NewAcronym.Meaning); 597 AddedAcronym.Description := NewAcronym.Description; 598 Inc(ItemCount); 599 end; 600 601 if Repetition then begin 602 if Length(StartString) > 0 then begin 603 P1 := Pos(StartString, S); 604 if P1 > 0 then begin 605 P2 := Pos(TImportPattern(Format.ItemPatterns[(I + 1) mod Format.ItemPatterns.Count]).StartString, S); 606 if (P2 > 0) and (P1 < P2) then Continue; 607 end; 608 end; 609 end; 610 end; 611 end; 612 Inc(I); 613 end; 614 until Length(S) = LastLength; 615 end; 616 finally 617 NewAcronym.Free; 618 Stream.Free; 619 end; 620 end; 621 326 622 procedure TImportSource.Assign(Source: TImportSource); 327 623 begin 624 Enabled := Source.Enabled; 328 625 Name := Source.Name; 329 626 URL := Source.URL; 330 627 Format := Source.Format; 628 LastTime := Source.LastTime; 629 ItemCount := Source.ItemCount; 331 630 end; 332 631 … … 337 636 if Assigned(Format) then WriteInteger(Node, 'ImportFormat', Format.Id) 338 637 else WriteInteger(Node, 'ImportFormat', -1); 638 WriteBoolean(Node, 'Enabled', Enabled); 339 639 end; 340 640 … … 344 644 URL := ReadString(Node, 'URL', ''); 345 645 Format := Sources.AcronymDb.ImportFormats.SearchById(ReadInteger(Node, 'ImportFormat', -1)); 646 Enabled := ReadBoolean(Node, 'Enabled', True); 346 647 end; 347 648 … … 349 650 begin 350 651 Format := nil; 652 Enabled := True; 351 653 end; 352 654
Note:
See TracChangeset
for help on using the changeset viewer.