Changes in / [20:30]


Ignore:
Location:
/trunk
Files:
33 added
23 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified /trunk/AcronymDecoder.lpi

    r20 r30  
    7171      </local>
    7272    </RunParams>
    73     <RequiredPackages Count="5">
     73    <RequiredPackages Count="4">
    7474      <Item1>
    7575        <PackageName Value="CoolTranslator"/>
     
    8585      </Item3>
    8686      <Item4>
    87         <PackageName Value="synapse"/>
    88         <DefaultFilename Value="Packages\synapse\synapse.lpk" Prefer="True"/>
     87        <PackageName Value="LCL"/>
    8988      </Item4>
    90       <Item5>
    91         <PackageName Value="LCL"/>
    92       </Item5>
    9389    </RequiredPackages>
    94     <Units Count="11">
     90    <Units Count="15">
    9591      <Unit0>
    9692        <Filename Value="AcronymDecoder.lpr"/>
     
    150146        <IsPartOfProject Value="True"/>
    151147        <ComponentName Value="FormImportSource"/>
     148        <HasResources Value="True"/>
    152149        <ResourceBaseClass Value="Form"/>
    153150      </Unit9>
     
    156153        <IsPartOfProject Value="True"/>
    157154        <ComponentName Value="FormImportSources"/>
     155        <HasResources Value="True"/>
    158156        <ResourceBaseClass Value="Form"/>
    159157      </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>
    160186    </Units>
    161187  </ProjectOptions>
  • TabularUnified /trunk/AcronymDecoder.lpr

    r20 r30  
    88  {$ENDIF}{$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, UAcronym, synapse, Common, SysUtils, TemplateGenerics, UFormImport,
     10  Forms, UAcronym, Common, SysUtils, TemplateGenerics, UFormImport,
    1111  CoolTranslator, UFormCategorySelect, UFormMain, UFormAcronym, UFormSettings,
    12   UFormCategories, UFormAcronyms, UFormImportSource, UFormImportSources
     12  UFormCategories, UFormAcronyms, UFormImportSource, UFormImportSources,
     13  UFormAbout, UFormImportFormat, UFormImportFormats, UFormImportPattern
    1314  { you can add units after this };
    1415
     
    4041  Application.CreateForm(TFormImportSource, FormImportSource);
    4142  Application.CreateForm(TFormImportSources, FormImportSources);
     43  Application.CreateForm(TFormAbout, FormAbout);
     44  Application.CreateForm(TFormImportFormat, FormImportFormat);
     45  Application.CreateForm(TFormImportFormats, FormImportFormats);
     46  Application.CreateForm(TFormImportPattern, FormImportPattern);
    4247  Application.Run;
    4348end.
  • TabularUnified /trunk/Example acronyms.adp

    r20 r30  
    839839    </Acronym>
    840840  </Acronyms>
     841 <ImportFormats>
     842    <ImportFormat>
     843      <Id>1</Id>
     844      <Name>Mediawiki acronyms</Name>
     845      <BlockStartString/>
     846      <BlockEndString/>
     847      <AcronymStartString>&lt;li&gt;&lt;b&gt;</AcronymStartString>
     848      <AcronymEndString>&lt;/b&gt;</AcronymEndString>
     849      <MeaningStartString>–</MeaningStartString>
     850      <MeaningEndString>&lt;/li&gt;</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"&gt;</AcronymStartString>
     860      <AcronymEndString>&lt;/span&gt;</AcronymEndString>
     861      <MeaningStartString>mw-lingo-tooltip-definition "&gt;</MeaningStartString>
     862      <MeaningEndString>&lt;/span&gt;</MeaningEndString>
     863      <DescriptionStartString/>
     864      <DescriptionEndString/>
     865    </ImportFormat>
     866    <ImportFormat>
     867      <Id>3</Id>
     868      <Name>MediaWiki 2</Name>
     869      <BlockStartString>&lt;/ul&gt;</BlockStartString>
     870      <BlockEndString>&lt;table style</BlockEndString>
     871      <AcronymStartString>&lt;li&gt;</AcronymStartString>
     872      <AcronymEndString>—</AcronymEndString>
     873      <MeaningStartString/>
     874      <MeaningEndString>&lt;/li&gt;</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>
    841896</AcronymDecoderProject>
  • TabularUnified /trunk/Forms/UFormAcronyms.lfm

    r20 r30  
    1111  object ListViewAcronyms: TListView
    1212    Left = 8
    13     Height = 510
     13    Height = 480
    1414    Top = 40
    1515    Width = 725
     
    2626      item
    2727        Caption = 'Categories'
    28         Width = 300
     28        Width = 305
    2929      end>
    3030    MultiSelect = True
     
    4848    Anchors = [akTop, akLeft, akRight]
    4949  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
    5064  object ListViewSort1: TListViewSort
    5165    ListView = ListViewAcronyms
     
    5367    OnFilter = ListViewSort1Filter
    5468    Column = 0
    55     Order = soDown
     69    Order = soUp
    5670    left = 248
    5771    top = 168
     
    6377    object AAdd: TAction
    6478      Caption = 'Add'
     79      ImageIndex = 0
    6580      OnExecute = AAddExecute
    6681      ShortCut = 45
     
    6883    object AModify: TAction
    6984      Caption = 'Modify'
     85      ImageIndex = 3
    7086      OnExecute = AModifyExecute
    7187      ShortCut = 13
     
    7389    object ARemove: TAction
    7490      Caption = 'Remove'
     91      ImageIndex = 4
    7592      OnExecute = ARemoveExecute
    7693      ShortCut = 46
     
    7895    object ASelectAll: TAction
    7996      Caption = 'Select all'
     97      OnExecute = ASelectAllExecute
    8098      ShortCut = 16449
    8199    end
  • TabularUnified /trunk/Forms/UFormAcronyms.pas

    r20 r30  
    2727    MenuItem7: TMenuItem;
    2828    PopupMenuAcronym: TPopupMenu;
     29    StatusBar1: TStatusBar;
    2930    procedure AAddExecute(Sender: TObject);
    3031    procedure AModifyExecute(Sender: TObject);
     
    4142    procedure ListViewSort1Filter(ListViewSort: TListViewSort);
    4243  private
     44    MeaningCount: Integer;
    4345    procedure FilterList(List: TListObject);
    4446    procedure UpdateAcronymsList;
     
    5860
    5961resourcestring
    60   SRemoveAllAcronyms = 'Remove all acronyms';
    61   SRemoveAllAcronymsQuery = 'Do you want to remove all acronyms?';
    6262  SRemoveAcronym = 'Remove acronym';
    6363  SRemoveAcronymQuery = 'Do you want to remove selected acronym?';
     
    213213  FormMain.AcronymDb.Acronyms.Sort(AcronymComparer);
    214214  FormMain.AcronymDb.AssignToList(ListViewSort1.List);
     215  MeaningCount := ListViewSort1.List.Count;
    215216  FilterList(ListViewSort1.List);
    216217end;
     
    249250  ListViewSort1.Refresh;
    250251  UpdateInterface;
     252  StatusBar1.Panels[0].Text := 'Total: ' + IntToStr(MeaningCount);
     253  StatusBar1.Panels[1].Text := 'Filtered: ' + IntToStr(ListViewAcronyms.Items.Count);
    251254end;
    252255
     
    256259  AModify.Enabled := Assigned(FormMain.AcronymDb) and Assigned(ListViewAcronyms.Selected);
    257260  AAdd.Enabled := Assigned(FormMain.AcronymDb);
     261  ASelectAll.Enabled := True;
    258262end;
    259263
  • TabularUnified /trunk/Forms/UFormCategories.lfm

    r20 r30  
    11object FormCategories: TFormCategories
    2   Left = 630
    3   Height = 487
    4   Top = 485
     2  Left = 592
     3  Height = 429
     4  Top = 490
    55  Width = 784
    66  Caption = 'Acronym categories'
    7   ClientHeight = 487
     7  ClientHeight = 429
    88  ClientWidth = 784
    99  OnShow = FormShow
     
    1111  object ListViewCategories: TListView
    1212    Left = 9
    13     Height = 432
     13    Height = 374
    1414    Top = 8
    1515    Width = 767
     
    3636    Left = 15
    3737    Height = 25
    38     Top = 448
     38    Top = 390
    3939    Width = 75
    4040    Action = AAdd
     41    Anchors = [akLeft, akBottom]
    4142    TabOrder = 1
    4243  end
     
    4445    Left = 104
    4546    Height = 25
    46     Top = 448
     47    Top = 390
    4748    Width = 75
    4849    Action = AModify
     50    Anchors = [akLeft, akBottom]
    4951    TabOrder = 2
    5052  end
     
    5254    Left = 192
    5355    Height = 25
    54     Top = 448
     56    Top = 390
    5557    Width = 75
    5658    Action = ARemove
     59    Anchors = [akLeft, akBottom]
    5760    TabOrder = 3
    5861  end
     
    6366    object AAdd: TAction
    6467      Caption = 'Add'
     68      ImageIndex = 0
    6569      OnExecute = AAddExecute
    6670      ShortCut = 45
     
    6872    object ARemove: TAction
    6973      Caption = 'Remove'
     74      ImageIndex = 4
    7075      OnExecute = ARemoveExecute
    7176      ShortCut = 46
     
    7378    object AModify: TAction
    7479      Caption = 'Modify'
     80      ImageIndex = 3
    7581      OnExecute = AModifyExecute
    7682      ShortCut = 13
  • TabularUnified /trunk/Forms/UFormImport.pas

    r20 r30  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   httpsend, UAcronym;
     9  UAcronym;
    1010
    1111type
     
    4242  SImportedNewAcronyms = 'Imported %d new acronyms.';
    4343
    44 
    45 function DownloadHTTP(URL: string; Stream: TStream): Boolean;
    46 var
    47   HTTPGetResult: Boolean;
    48   HTTPSender: THTTPSend;
    49 begin
    50   Result := False;
    51   HTTPSender := THTTPSend.Create;
    52   try
    53     HTTPGetResult := HTTPSender.HTTPMethod('GET', URL);
    54     if (HTTPSender.ResultCode >= 100) and (HTTPSender.ResultCode <= 299) then begin
    55       HTTPSender.Document.SaveToStream(Stream);
    56       Result := True;
    57     end;
    58   finally
    59     HTTPSender.Free;
    60   end;
    61 end;
    6244
    6345{ TFormImport }
  • TabularUnified /trunk/Forms/UFormImportSource.lfm

    r20 r30  
    11object FormImportSource: TFormImportSource
    22  Left = 506
    3   Height = 422
     3  Height = 282
    44  Top = 363
    5   Width = 599
     5  Width = 507
    66  Caption = 'Import source'
    7   ClientHeight = 422
    8   ClientWidth = 599
     7  ClientHeight = 282
     8  ClientWidth = 507
    99  LCLVersion = '1.6.0.4'
    1010  object EditName: TEdit
     
    1212    Height = 28
    1313    Top = 10
    14     Width = 432
     14    Width = 340
    1515    Anchors = [akTop, akLeft, akRight]
    1616    TabOrder = 0
     
    3636    Height = 28
    3737    Top = 49
    38     Width = 432
     38    Width = 340
    3939    Anchors = [akTop, akLeft, akRight]
    4040    TabOrder = 1
    4141  end
    4242  object ButtonOk: TButton
    43     Left = 504
     43    Left = 412
    4444    Height = 25
    45     Top = 384
     45    Top = 244
    4646    Width = 75
    4747    Anchors = [akRight, akBottom]
     
    5151  end
    5252  object ButtonCancel: TButton
    53     Left = 408
     53    Left = 316
    5454    Height = 25
    55     Top = 384
     55    Top = 244
    5656    Width = 75
    5757    Anchors = [akRight, akBottom]
     
    6060    TabOrder = 3
    6161  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
    6298end
  • TabularUnified /trunk/Forms/UFormImportSource.lrt

    r20 r30  
    44TFORMIMPORTSOURCE.BUTTONOK.CAPTION=Ok
    55TFORMIMPORTSOURCE.BUTTONCANCEL.CAPTION=Cancel
     6TFORMIMPORTSOURCE.LABEL3.CAPTION=Data format:
     7TFORMIMPORTSOURCE.BUTTONSHOWFORMAT.CAPTION=Configure
     8TFORMIMPORTSOURCE.CHECKBOXENABLED.CAPTION=Enabled
  • TabularUnified /trunk/Forms/UFormImportSource.pas

    r20 r30  
    1414
    1515  TFormImportSource = class(TForm)
     16    ButtonShowFormat: TButton;
    1617    ButtonOk: TButton;
    1718    ButtonCancel: TButton;
     19    CheckBoxEnabled: TCheckBox;
     20    ComboBox1: TComboBox;
    1821    EditName: TEdit;
    1922    EditURL: TEdit;
    2023    Label1: TLabel;
    2124    Label2: TLabel;
     25    Label3: TLabel;
     26    procedure ButtonShowFormatClick(Sender: TObject);
    2227  private
    2328    { private declarations }
     
    3439{$R *.lfm}
    3540
     41uses
     42  UFormMain, UFormImportFormat;
     43
    3644{ TFormImportSource }
    3745
     46procedure TFormImportSource.ButtonShowFormatClick(Sender: TObject);
     47var
     48  NewImportFormat: TImportFormat;
     49begin
     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;
     62end;
     63
    3864procedure TFormImportSource.Load(ImportSource: TImportSource);
     65var
     66  I: Integer;
    3967begin
    4068  EditName.Text := ImportSource.Name;
    4169  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;
    4282end;
    4383
     
    4686  ImportSource.Name := EditName.Text;
    4787  ImportSource.URL := EditURL.Text;
     88  ImportSource.Format := TImportFormat(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
     89  ImportSource.Enabled := CheckBoxEnabled.Checked;
    4890end;
    4991
  • TabularUnified /trunk/Forms/UFormImportSources.lfm

    r20 r30  
    1515    Width = 577
    1616    Anchors = [akTop, akLeft, akRight, akBottom]
     17    Checkboxes = True
    1718    Columns = <   
    1819      item
     
    2223      item
    2324        Caption = 'URL'
    24         Width = 300
     25        Width = 407
    2526      end>
    2627    MultiSelect = True
     
    4142    object AAdd: TAction
    4243      Caption = 'Add'
     44      ImageIndex = 0
    4345      OnExecute = AAddExecute
    4446      ShortCut = 45
     
    4648    object ARemove: TAction
    4749      Caption = 'Remove'
     50      ImageIndex = 4
    4851      OnExecute = ARemoveExecute
    4952      ShortCut = 46
     
    5154    object AModify: TAction
    5255      Caption = 'Modify'
     56      ImageIndex = 3
    5357      OnExecute = AModifyExecute
    5458      ShortCut = 13
     59    end
     60    object AProcess: TAction
     61      Caption = 'Process'
     62      OnExecute = AProcessExecute
    5563    end
    5664  end
     
    6876      Action = ARemove
    6977    end
     78    object MenuItem4: TMenuItem
     79      Action = AProcess
     80    end
    7081  end
    7182end
  • TabularUnified /trunk/Forms/UFormImportSources.lrt

    r20 r30  
    55TFORMIMPORTSOURCES.AREMOVE.CAPTION=Remove
    66TFORMIMPORTSOURCES.AMODIFY.CAPTION=Modify
     7TFORMIMPORTSOURCES.APROCESS.CAPTION=Process
  • TabularUnified /trunk/Forms/UFormImportSources.pas

    r20 r30  
    1515  TFormImportSources = class(TForm)
    1616    AAdd: TAction;
     17    AProcess: TAction;
    1718    ActionList1: TActionList;
    1819    AModify: TAction;
     
    2223    MenuItem2: TMenuItem;
    2324    MenuItem3: TMenuItem;
     25    MenuItem4: TMenuItem;
    2426    PopupMenuImportSource: TPopupMenu;
    2527    procedure AAddExecute(Sender: TObject);
    2628    procedure AModifyExecute(Sender: TObject);
     29    procedure AProcessExecute(Sender: TObject);
    2730    procedure ARemoveExecute(Sender: TObject);
    2831    procedure FormShow(Sender: TObject);
     
    5053
    5154resourcestring
    52   SImportSource = 'Import source';
    53   SImportSourceQuery = 'Enter name of import source';
    5455  SRemoveImportSource = 'Remove import sources';
    5556  SRemoveImportSourceQuery = 'Do you really want to remove selected import sources?';
     
    6667    Item.Data := ImportSources[Item.Index];
    6768    Item.SubItems.Add(URL);
     69    Item.Checked := Enabled;
    6870  end;
    6971end;
     
    143145end;
    144146
     147procedure TFormImportSources.AProcessExecute(Sender: TObject);
     148begin
     149  if Assigned(ListView1.Selected) then begin
     150    TImportSource(ListView1.Selected.Data).Process;
     151    ShowMessage(Format(SAddedCount, [TImportSource(ListView1.Selected.Data).ItemCount]));
     152  end;
     153end;
     154
    145155procedure TFormImportSources.ARemoveExecute(Sender: TObject);
    146156var
  • TabularUnified /trunk/Forms/UFormMain.lfm

    r20 r30  
    1414  OnShow = FormShow
    1515  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
    3825    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
    4270  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
    59122  end
    60123  object TrayIcon1: TTrayIcon
     
    43484411    OnClick = TrayIcon1Click
    43494412    left = 80
    4350     top = 272
     4413    top = 304
    43514414  end
    43524415  object PopupMenuTryIcon: TPopupMenu
    43534416    Images = ImageList1
    43544417    left = 80
    4355     top = 208
     4418    top = 256
    43564419    object MenuItem2: TMenuItem
    43574420      Action = AShow
     
    43704433  object ActionList1: TActionList
    43714434    Images = ImageList1
    4372     left = 464
    4373     top = 144
     4435    left = 472
     4436    top = 192
    43744437    object AExit: TAction
    43754438      Caption = 'Exit'
     4439      ImageIndex = 2
    43764440      OnExecute = AExitExecute
    43774441    end
     
    43864450    object AFileOpen: TAction
    43874451      Caption = 'Open'
     4452      ImageIndex = 8
    43884453      OnExecute = AFileOpenExecute
    43894454    end
    43904455    object AFileNew: TAction
    43914456      Caption = 'New'
     4457      ImageIndex = 16
    43924458      OnExecute = AFileNewExecute
    43934459    end
    43944460    object AFileSave: TAction
    43954461      Caption = 'Save'
     4462      ImageIndex = 10
    43964463      OnExecute = AFileSaveExecute
    43974464    end
    43984465    object AFileClose: TAction
    43994466      Caption = 'Close'
     4467      ImageIndex = 12
    44004468      OnExecute = AFileCloseExecute
    44014469    end
    44024470    object AFileSaveAs: TAction
    44034471      Caption = 'Save as...'
     4472      ImageIndex = 10
    44044473      OnExecute = AFileSaveAsExecute
    44054474    end
    44064475    object ASettings: TAction
    44074476      Caption = 'Settings'
     4477      ImageIndex = 6
    44084478      OnExecute = ASettingsExecute
    44094479    end
    44104480    object AShowCategories: TAction
    44114481      Caption = 'Categories'
     4482      ImageIndex = 11
    44124483      OnExecute = AShowCategoriesExecute
    44134484    end
    44144485    object AShowAcronyms: TAction
    44154486      Caption = 'Acronyms'
     4487      ImageIndex = 15
    44164488      OnExecute = AShowAcronymsExecute
    44174489    end
    44184490    object AShowImportSources: TAction
    44194491      Caption = 'Import sources'
     4492      ImageIndex = 13
    44204493      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
    44214509    end
    44224510  end
     
    44254513    EntireVisible = False
    44264514    left = 264
    4427     top = 80
     4515    top = 128
    44284516  end
    44294517  object MainMenu1: TMainMenu
    44304518    Images = ImageList1
    4431     left = 464
    4432     top = 80
     4519    left = 472
     4520    top = 136
    44334521    object MenuItem8: TMenuItem
    44344522      Caption = 'File'
     
    44694557        Action = AShowImportSources
    44704558      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
    44714569    end
    44724570    object MenuItem16: TMenuItem
     
    44754573        Action = AImport
    44764574      end
     4575      object MenuItem23: TMenuItem
     4576        Action = AProcessImports
     4577      end
    44774578      object MenuItem18: TMenuItem
    44784579        Action = ASettings
     4580      end
     4581    end
     4582    object MenuItem5: TMenuItem
     4583      Caption = 'Help'
     4584      object MenuItem6: TMenuItem
     4585        Action = AShowAbout
    44794586      end
    44804587    end
     
    44824589  object OpenDialog1: TOpenDialog
    44834590    left = 80
    4484     top = 144
     4591    top = 208
    44854592  end
    44864593  object SaveDialog1: TSaveDialog
    44874594    left = 80
    4488     top = 88
     4595    top = 144
    44894596  end
    44904597  object LastOpenedList1: TLastOpenedList
     
    44974604    POFilesFolder = 'Languages'
    44984605    left = 264
    4499     top = 144
     4606    top = 176
    45004607  end
    45014608  object ListViewSort1: TListViewSort
     
    45034610    OnCompareItem = ListViewSort1CompareItem
    45044611    OnFilter = ListViewSort1Filter
    4505     Column = 0
    4506     Order = soDown
    4507     left = 464
    4508     top = 208
     4612    Column = 2
     4613    Order = soUp
     4614    left = 472
     4615    top = 256
    45094616  end
    45104617  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    }
    45135167  end
    45145168end
  • TabularUnified /trunk/Forms/UFormMain.lrt

    r20 r30  
    11TFORMMAIN.CAPTION=Acronym Decoder
     2TFORMMAIN.CHECKBOXEXACTMATH.CAPTION=Exact match
    23TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[0].CAPTION=Name
    34TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[1].CAPTION=Description
    45TFORMMAIN.LISTVIEWACRONYMS.COLUMNS[2].CAPTION=Categories
    5 TFORMMAIN.CHECKBOXEXACTMATH.CAPTION=Exact match
     6TFORMMAIN.TOOLBAR1.CAPTION=ToolBar1
     7TFORMMAIN.TOOLBUTTON8.CAPTION=ToolButton8
    68TFORMMAIN.AEXIT.CAPTION=Exit
    79TFORMMAIN.ASHOW.CAPTION=Show
     
    1618TFORMMAIN.ASHOWACRONYMS.CAPTION=Acronyms
    1719TFORMMAIN.ASHOWIMPORTSOURCES.CAPTION=Import sources
     20TFORMMAIN.ASHOWABOUT.CAPTION=About
     21TFORMMAIN.ASHOWIMPORTFORMATS.CAPTION=Import formats
     22TFORMMAIN.APROCESSIMPORTS.CAPTION=Process imports
    1823TFORMMAIN.MENUITEM8.CAPTION=File
    1924TFORMMAIN.MENUITEMOPENRECENT.CAPTION=Open recent
    2025TFORMMAIN.MENUITEM15.CAPTION=-
    2126TFORMMAIN.MENUITEM20.CAPTION=View
     27TFORMMAIN.MENUITEM24.CAPTION=-
     28TFORMMAIN.MENUITEMTOOLBAR.CAPTION=Toolbar
    2229TFORMMAIN.MENUITEM16.CAPTION=Tools
     30TFORMMAIN.MENUITEM5.CAPTION=Help
  • TabularUnified /trunk/Forms/UFormMain.pas

    r20 r30  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
    9   ComCtrls, StdCtrls, ExtCtrls, ActnList, UAcronym, UPersistentForm, Contnrs,
     9  ComCtrls, StdCtrls, ExtCtrls, ActnList, UAcronym, UPersistentForm,
    1010  URegistry, ULastOpenedList, UListViewSort, UCoolTranslator, Registry,
    1111  SpecializedList, LazUTF8;
     
    1616
    1717  TFormMain = class(TForm)
     18    AProcessImports: TAction;
     19    AShowImportFormats: TAction;
     20    AShowAbout: TAction;
    1821    AShowImportSources: TAction;
    1922    AShowAcronyms: TAction;
     
    5154    MenuItem21: TMenuItem;
    5255    MenuItem22: TMenuItem;
     56    MenuItem23: TMenuItem;
     57    MenuItem24: TMenuItem;
     58    MenuItemToolbar: TMenuItem;
    5359    MenuItem4: TMenuItem;
     60    MenuItem5: TMenuItem;
     61    MenuItem6: TMenuItem;
     62    MenuItem7: TMenuItem;
    5463    MenuItemOpenRecent: TMenuItem;
    5564    MenuItem2: TMenuItem;
     
    5867    MenuItem9: TMenuItem;
    5968    OpenDialog1: TOpenDialog;
     69    Panel1: TPanel;
    6070    PersistentForm1: TPersistentForm;
    6171    PopupMenuTryIcon: TPopupMenu;
    6272    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;
    6382    TrayIcon1: TTrayIcon;
    6483    procedure AExitExecute(Sender: TObject);
     
    6988    procedure AFileSaveExecute(Sender: TObject);
    7089    procedure AImportExecute(Sender: TObject);
     90    procedure AProcessImportsExecute(Sender: TObject);
    7191    procedure ASettingsExecute(Sender: TObject);
     92    procedure AShowAboutExecute(Sender: TObject);
    7293    procedure AShowAcronymsExecute(Sender: TObject);
    7394    procedure AShowCategoriesExecute(Sender: TObject);
    7495    procedure AShowExecute(Sender: TObject);
     96    procedure AShowImportFormatsExecute(Sender: TObject);
    7597    procedure AShowImportSourcesExecute(Sender: TObject);
    7698    procedure CheckBoxExactMathChange(Sender: TObject);
    7799    procedure EditSearchChange(Sender: TObject);
     100    procedure FormShow(Sender: TObject);
    78101    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    79102    procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
    80103    procedure FormCreate(Sender: TObject);
    81104    procedure FormDestroy(Sender: TObject);
    82     procedure FormShow(Sender: TObject);
    83105    procedure LastOpenedList1Change(Sender: TObject);
    84106    procedure ListViewAcronymsData(Sender: TObject; Item: TListItem);
     
    88110    function ListViewSort1CompareItem(Item1, Item2: TObject): Integer;
    89111    procedure ListViewSort1Filter(ListViewSort: TListViewSort);
     112    procedure MenuItemToolbarClick(Sender: TObject);
    90113    procedure TrayIcon1Click(Sender: TObject);
    91114  private
     
    109132  FormMain: TFormMain;
    110133
     134resourcestring
     135  SAddedCount = 'Imported %d acronyms';
     136
     137
    111138implementation
    112139
     
    114141
    115142uses
    116   UFormImport, UFormAcronym, UFormSettings, UFormCategories, UFormAcronyms,
    117   UFormImportSource, UFormImportSources;
     143  UFormImport, UFormSettings, UFormCategories, UFormAcronyms,
     144  UFormImportSources, UFormAbout, UFormImportFormats;
    118145
    119146resourcestring
     
    239266end;
    240267
     268procedure TFormMain.AProcessImportsExecute(Sender: TObject);
     269var
     270  I: Integer;
     271  TotalItemCount: Integer;
     272begin
     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;
     283end;
     284
    241285procedure TFormMain.ASettingsExecute(Sender: TObject);
    242286begin
     
    246290end;
    247291
     292procedure TFormMain.AShowAboutExecute(Sender: TObject);
     293begin
     294  FormAbout.ShowModal;
     295end;
     296
    248297procedure TFormMain.AShowAcronymsExecute(Sender: TObject);
    249298begin
    250299  FormAcronyms.ShowModal;
     300  UpdateInterface;
    251301end;
    252302
     
    264314end;
    265315
     316procedure TFormMain.AShowImportFormatsExecute(Sender: TObject);
     317begin
     318  FormImportFormats.ImportFormats := AcronymDb.ImportFormats;
     319  FormImportFormats.ShowModal;
     320  UpdateInterface;
     321end;
     322
    266323procedure TFormMain.AShowImportSourcesExecute(Sender: TObject);
    267324begin
     
    286343  PersistentForm1.Load(Self);
    287344
    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
    289350    AcronymDB.LoadFromFile(LastOpenedList1.Items[0]);
    290351  UpdateAcronymsList;
     
    339400  AcronymDb.AssignToList(ListViewSort1.List);
    340401  FilterList(ListViewSort1.List);
     402end;
     403
     404procedure TFormMain.MenuItemToolbarClick(Sender: TObject);
     405begin
     406  MenuItemToolbar.Checked := not MenuItemToolbar.Checked;
     407  UpdateInterface;
    341408end;
    342409
     
    436503  AShowAcronyms.Enabled := Assigned(AcronymDb);
    437504  AShowImportSources.Enabled := Assigned(AcronymDb);
     505  ToolBar1.Visible := MenuItemToolbar.Checked;
    438506
    439507  Title := Application.Title;
     
    458526    AlwaysOnTop := ReadBoolWithDefault('AlwaysOnTop', False);
    459527    CheckBoxExactMath.Checked := ReadBoolWithDefault('ExactMatch', False);
     528    MenuItemToolbar.Checked := ReadBoolWithDefault('ToolBarVisible', True);
    460529  finally
    461530    Free;
     
    476545    WriteBool('AlwaysOnTop', AlwaysOnTop);
    477546    WriteBool('ExactMatch', CheckBoxExactMath.Checked);
     547    WriteBool('ToolBarVisible', MenuItemToolbar.Checked);
    478548  finally
    479549    Free;
  • TabularUnified /trunk/Languages/AcronymDecoder.cs.po

    r20 r30  
    1212"X-Generator: Poedit 1.8.7.1\n"
    1313
     14#: tformabout.buttonclose.caption
     15msgctxt "tformabout.buttonclose.caption"
     16msgid "Close"
     17msgstr "Zavřít"
     18
     19#: tformabout.buttonhomepage.caption
     20msgid "Home page"
     21msgstr "Domovská stránka"
     22
     23#: tformabout.caption
     24msgctxt "tformabout.caption"
     25msgid "About"
     26msgstr "O aplikaci"
     27
     28#: tformabout.labelappname.caption
     29msgctxt "tformabout.labelappname.caption"
     30msgid "Acronym Decoder"
     31msgstr "Acronym Decoder"
     32
     33#: tformabout.labelcontent.caption
     34msgctxt "tformabout.labelcontent.caption"
     35msgid "   "
     36msgstr "   "
     37
     38#: tformabout.labeldescription.caption
     39msgctxt "tformabout.labeldescription.caption"
     40msgid "Simple tool for quick search of meaning for various acronyms and abbreviations."
     41msgstr "Jednoduchý nástroj pro hledání významu různých zkratek a zkrácení."
     42
    1443#: tformacronym.acategoryadd.caption
    1544msgctxt "tformacronym.acategoryadd.caption"
     
    5483
    5584#: tformacronyms.aadd.caption
    56 #, fuzzy
    5785msgctxt "tformacronyms.aadd.caption"
    5886msgid "Add"
     
    6088
    6189#: tformacronyms.amodify.caption
    62 #, fuzzy
    6390msgctxt "tformacronyms.amodify.caption"
    6491msgid "Modify"
     
    6693
    6794#: tformacronyms.aremove.caption
    68 #, fuzzy
    6995msgctxt "tformacronyms.aremove.caption"
    7096msgid "Remove"
     
    81107
    82108#: tformacronyms.listviewacronyms.columns[0].caption
    83 #, fuzzy
    84109msgctxt "tformacronyms.listviewacronyms.columns[0].caption"
    85110msgid "Name"
     
    87112
    88113#: tformacronyms.listviewacronyms.columns[1].caption
    89 #, fuzzy
    90114msgctxt "tformacronyms.listviewacronyms.columns[1].caption"
    91115msgid "Description"
     
    140164
    141165#: tformimport.buttonimport.caption
     166msgctxt "tformimport.buttonimport.caption"
    142167msgid "Process"
    143168msgstr "Zpracovat"
     
    157182
    158183#: tformimport.label1.caption
     184msgctxt "tformimport.label1.caption"
    159185msgid "Data format:"
    160186msgstr "Formát dat:"
    161187
     188#: tformimportformat.aadd.caption
     189#, fuzzy
     190msgctxt "tformimportformat.aadd.caption"
     191msgid "Add"
     192msgstr "Přidat"
     193
     194#: tformimportformat.amodify.caption
     195#, fuzzy
     196msgctxt "tformimportformat.amodify.caption"
     197msgid "Modify"
     198msgstr "Upravit"
     199
     200#: tformimportformat.amovedown.caption
     201msgid "Move down"
     202msgstr "Přesunout níže"
     203
     204#: tformimportformat.amoveup.caption
     205msgid "Move up"
     206msgstr "Přesounout výše"
     207
     208#: tformimportformat.aremove.caption
     209#, fuzzy
     210msgctxt "tformimportformat.aremove.caption"
     211msgid "Remove"
     212msgstr "Odebrat"
     213
     214#: tformimportformat.buttoncancel.caption
     215msgctxt "tformimportformat.buttoncancel.caption"
     216msgid "Cancel"
     217msgstr "Zrušit"
     218
     219#: tformimportformat.buttonok.caption
     220msgctxt "tformimportformat.buttonok.caption"
     221msgid "Ok"
     222msgstr "Ok"
     223
     224#: tformimportformat.caption
     225msgid "Import format"
     226msgstr "Formát importu"
     227
     228#: tformimportformat.label1.caption
     229msgctxt "tformimportformat.label1.caption"
     230msgid "Name:"
     231msgstr "Název:"
     232
     233#: tformimportformat.label2.caption
     234#, fuzzy
     235#| msgid "Acronym start:"
     236msgid "Item rules:"
     237msgstr "Začátek zkratky:"
     238
     239#: tformimportformat.label8.caption
     240msgid "Block start:"
     241msgstr "Začátek bloku:"
     242
     243#: tformimportformat.label9.caption
     244msgid "Block end:"
     245msgstr "Konec bloku:"
     246
     247#: tformimportformat.listviewitemrules.columns[0].caption
     248msgid "Start string"
     249msgstr "Počáteční řetězec"
     250
     251#: tformimportformat.listviewitemrules.columns[1].caption
     252msgid "End string"
     253msgstr "Koncový řetězec"
     254
     255#: tformimportformat.listviewitemrules.columns[2].caption
     256msgid "Action"
     257msgstr "Akce"
     258
     259#: tformimportformat.listviewitemrules.columns[3].caption
     260msgid "Variable"
     261msgstr "Proměnná"
     262
     263#: tformimportformat.listviewitemrules.columns[4].caption
     264msgctxt "tformimportformat.listviewitemrules.columns[4].caption"
     265msgid "Repetition"
     266msgstr "Opakování"
     267
     268#: tformimportformats.aadd.caption
     269msgctxt "tformimportformats.aadd.caption"
     270msgid "Add"
     271msgstr "Přidat"
     272
     273#: tformimportformats.amodify.caption
     274msgctxt "tformimportformats.amodify.caption"
     275msgid "Modify"
     276msgstr "Upravit"
     277
     278#: tformimportformats.aremove.caption
     279msgctxt "tformimportformats.aremove.caption"
     280msgid "Remove"
     281msgstr "Odebrat"
     282
     283#: tformimportformats.caption
     284msgctxt "tformimportformats.caption"
     285msgid "Import sources"
     286msgstr "Zdroje importu"
     287
     288#: tformimportformats.listview1.columns[0].caption
     289msgctxt "tformimportformats.listview1.columns[0].caption"
     290msgid "Name"
     291msgstr "Název"
     292
     293#: tformimportpattern.buttoncancel.caption
     294#, fuzzy
     295msgctxt "tformimportpattern.buttoncancel.caption"
     296msgid "Cancel"
     297msgstr "Zrušit"
     298
     299#: tformimportpattern.buttonok.caption
     300#, fuzzy
     301msgctxt "tformimportpattern.buttonok.caption"
     302msgid "Ok"
     303msgstr "Ok"
     304
     305#: tformimportpattern.caption
     306msgid "Import pattern"
     307msgstr "Vzor importu"
     308
     309#: tformimportpattern.checkboxrepetition.caption
     310msgctxt "tformimportpattern.checkboxrepetition.caption"
     311msgid "Repetition"
     312msgstr "Opakování"
     313
     314#: tformimportpattern.label10.caption
     315msgid "Action:"
     316msgstr "Akce"
     317
     318#: tformimportpattern.label11.caption
     319msgid "Variable:"
     320msgstr "Proměnná"
     321
     322#: tformimportpattern.label8.caption
     323msgid "Start string:"
     324msgstr "Počáteční řetězec"
     325
     326#: tformimportpattern.label9.caption
     327msgid "End string:"
     328msgstr "Koncový řetězec"
     329
    162330#: tformimportsource.buttoncancel.caption
    163 #, fuzzy
    164331msgctxt "tformimportsource.buttoncancel.caption"
    165332msgid "Cancel"
     
    167334
    168335#: tformimportsource.buttonok.caption
    169 #, fuzzy
    170336msgctxt "tformimportsource.buttonok.caption"
    171337msgid "Ok"
    172338msgstr "Ok"
    173339
     340#: tformimportsource.buttonshowformat.caption
     341msgid "Configure"
     342msgstr "Nastavit"
     343
    174344#: tformimportsource.caption
    175345msgctxt "tformimportsource.caption"
    176346msgid "Import source"
    177 msgstr ""
     347msgstr "Zdroj importu"
     348
     349#: tformimportsource.checkboxenabled.caption
     350msgid "Enabled"
     351msgstr "Povoleno"
    178352
    179353#: tformimportsource.label1.caption
    180 #, fuzzy
    181354msgctxt "tformimportsource.label1.caption"
    182355msgid "Name:"
     
    185358#: tformimportsource.label2.caption
    186359msgid "Source URL:"
    187 msgstr ""
     360msgstr "Zdrojové URL:"
     361
     362#: tformimportsource.label3.caption
     363msgctxt "tformimportsource.label3.caption"
     364msgid "Data format:"
     365msgstr "Formát dat:"
    188366
    189367#: tformimportsources.aadd.caption
    190 #, fuzzy
    191368msgctxt "tformimportsources.aadd.caption"
    192369msgid "Add"
     
    194371
    195372#: tformimportsources.amodify.caption
    196 #, fuzzy
    197373msgctxt "tformimportsources.amodify.caption"
    198374msgid "Modify"
    199375msgstr "Upravit"
    200376
     377#: tformimportsources.aprocess.caption
     378msgctxt "tformimportsources.aprocess.caption"
     379msgid "Process"
     380msgstr "Zpracovat"
     381
    201382#: tformimportsources.aremove.caption
    202 #, fuzzy
    203383msgctxt "tformimportsources.aremove.caption"
    204384msgid "Remove"
     
    208388msgctxt "tformimportsources.caption"
    209389msgid "Import sources"
    210 msgstr ""
     390msgstr "Zdroje importu"
    211391
    212392#: tformimportsources.listview1.columns[0].caption
    213 #, fuzzy
    214393msgctxt "tformimportsources.listview1.columns[0].caption"
    215394msgid "Name"
     
    218397#: tformimportsources.listview1.columns[1].caption
    219398msgid "URL"
    220 msgstr ""
     399msgstr "URL"
    221400
    222401#: tformmain.aexit.caption
     
    225404
    226405#: tformmain.afileclose.caption
     406msgctxt "tformmain.afileclose.caption"
    227407msgid "Close"
    228408msgstr "Zavřít"
     
    249429msgstr "Importovat"
    250430
     431#: tformmain.aprocessimports.caption
     432msgid "Process imports"
     433msgstr "Zpracovat importy"
     434
    251435#: tformmain.asettings.caption
    252436msgctxt "tformmain.asettings.caption"
     
    258442msgstr "Ukázat"
    259443
     444#: tformmain.ashowabout.caption
     445msgctxt "tformmain.ashowabout.caption"
     446msgid "About"
     447msgstr "O aplikaci"
     448
    260449#: tformmain.ashowacronyms.caption
    261450msgctxt "tformmain.ashowacronyms.caption"
     
    268457msgstr "Kategorie"
    269458
     459#: tformmain.ashowimportformats.caption
     460msgid "Import formats"
     461msgstr "Formáty importu"
     462
    270463#: tformmain.ashowimportsources.caption
    271464msgctxt "tformmain.ashowimportsources.caption"
    272465msgid "Import sources"
    273 msgstr ""
     466msgstr "Zdroje importu"
    274467
    275468#: tformmain.caption
     469msgctxt "tformmain.caption"
    276470msgid "Acronym Decoder"
    277471msgstr "Acronym Decoder"
     
    297491
    298492#: tformmain.menuitem15.caption
     493msgctxt "tformmain.menuitem15.caption"
    299494msgid "-"
    300495msgstr "-"
     
    308503msgstr "Zobrazení"
    309504
     505#: tformmain.menuitem24.caption
     506#, fuzzy
     507msgctxt "tformmain.menuitem24.caption"
     508msgid "-"
     509msgstr "-"
     510
     511#: tformmain.menuitem5.caption
     512msgid "Help"
     513msgstr "Nápověda"
     514
    310515#: tformmain.menuitem8.caption
    311516msgid "File"
     
    315520msgid "Open recent"
    316521msgstr "Otevřít nedávné"
     522
     523#: tformmain.menuitemtoolbar.caption
     524msgid "Toolbar"
     525msgstr "Nástrojový panel"
     526
     527#: tformmain.toolbar1.caption
     528msgid "ToolBar1"
     529msgstr ""
     530
     531#: tformmain.toolbutton8.caption
     532msgid "ToolButton8"
     533msgstr ""
    317534
    318535#: tformsettings.buttoncancel.caption
     
    343560msgstr "Špatný formát souboru"
    344561
     562#: uformabout.slicense
     563msgid "License"
     564msgstr "Licence"
     565
     566#: uformabout.sreleasedate
     567msgid "Release date"
     568msgstr "Datum uvolnění"
     569
     570#: uformabout.sversion
     571msgid "Version"
     572msgstr "Verze"
     573
    345574#: uformacronym.scategory
    346575msgctxt "uformacronym.scategory"
     
    359588
    360589#: uformacronyms.sremoveacronym
    361 #, fuzzy
    362590msgctxt "uformacronyms.sremoveacronym"
    363591msgid "Remove acronym"
     
    365593
    366594#: uformacronyms.sremoveacronymquery
    367 #, fuzzy
    368595msgctxt "uformacronyms.sremoveacronymquery"
    369596msgid "Do you want to remove selected acronym?"
    370597msgstr "Chcete odebrat vybranou zkratku?"
    371 
    372 #: uformacronyms.sremoveallacronyms
    373 #, fuzzy
    374 msgctxt "uformacronyms.sremoveallacronyms"
    375 msgid "Remove all acronyms"
    376 msgstr "Odebrat všechny zkratky"
    377 
    378 #: uformacronyms.sremoveallacronymsquery
    379 #, fuzzy
    380 msgctxt "uformacronyms.sremoveallacronymsquery"
    381 msgid "Do you want to remove all acronyms?"
    382 msgstr "Chcete odebrat všechny zkratky?"
    383598
    384599#: uformcategories.scategory
     
    396611
    397612#: uformcategories.sremovecategory
    398 #, fuzzy
    399 #| msgid "Remove category"
    400613msgctxt "uformcategories.sremovecategory"
    401614msgid "Remove categories"
    402 msgstr "Odebrat kategorii"
     615msgstr "Odebrat kategorie"
    403616
    404617#: uformcategories.sremovecategoryquery
    405 #, fuzzy
    406 #| msgid "Do you really want to remove category?"
    407618msgctxt "uformcategories.sremovecategoryquery"
    408619msgid "Do you really want to remove selected categories?"
    409 msgstr "Opravdu chcete odebrat kategorii?"
     620msgstr "Opravdu chcete odebrat vybrabé kategorie?"
    410621
    411622#: uformimport.simportednewacronyms
     
    413624msgstr "Importováno %d nových zkratek."
    414625
    415 #: uformimportsources.simportsource
    416 msgctxt "uformimportsources.simportsource"
    417 msgid "Import source"
    418 msgstr ""
     626#: uformimportformat.sno
     627msgid "No"
     628msgstr "Ne"
     629
     630#: uformimportformat.sremoveimportpattern
     631msgid "Remove import pattern"
     632msgstr "Odstranit vzory importu"
     633
     634#: uformimportformat.sremoveimportpatternquery
     635msgid "Do you really want to remove selected import patterns?"
     636msgstr "Opravdu chcete odstranit vybrané vzory importu?"
     637
     638#: uformimportformat.syes
     639msgid "Yes"
     640msgstr "Ano"
     641
     642#: uformimportformats.simportformatalreadyexists
     643msgid "Import format %s already exists!"
     644msgstr "Formát importu %s již existuje!"
     645
     646#: uformimportformats.sremoveimportformat
     647msgid "Remove import formats"
     648msgstr "Odebrat formáty importu"
     649
     650#: uformimportformats.sremoveimportformatquery
     651msgid "Do you really want to remove selected import formats?"
     652msgstr "Opravdu chcete odebrat vybrané formáty importu?"
    419653
    420654#: uformimportsources.simportsourcealreadyexists
     655msgctxt "uformimportsources.simportsourcealreadyexists"
    421656msgid "Import source %s already exists!"
    422 msgstr ""
    423 
    424 #: uformimportsources.simportsourcequery
    425 msgid "Enter name of import source"
    426 msgstr ""
     657msgstr "Zdroj importu %s již existuje!"
    427658
    428659#: uformimportsources.sremoveimportsource
     660msgctxt "uformimportsources.sremoveimportsource"
    429661msgid "Remove import sources"
    430 msgstr ""
     662msgstr "Odstranit zdroje importu"
    431663
    432664#: uformimportsources.sremoveimportsourcequery
     665msgctxt "uformimportsources.sremoveimportsourcequery"
    433666msgid "Do you really want to remove selected import sources?"
    434 msgstr ""
     667msgstr "Opravdu chcete odebrat vybrané zdroje importu?"
     668
     669#: uformmain.saddedcount
     670msgid "Imported %d acronyms"
     671msgstr "Importováno %d zkratek"
    435672
    436673#: uformmain.sappexit
  • TabularUnified /trunk/Languages/AcronymDecoder.po

    r20 r30  
    11msgid ""
    22msgstr "Content-Type: text/plain; charset=UTF-8"
     3
     4#: tformabout.buttonclose.caption
     5msgctxt "TFORMABOUT.BUTTONCLOSE.CAPTION"
     6msgid "Close"
     7msgstr ""
     8
     9#: tformabout.buttonhomepage.caption
     10msgid "Home page"
     11msgstr ""
     12
     13#: tformabout.caption
     14msgctxt "tformabout.caption"
     15msgid "About"
     16msgstr ""
     17
     18#: tformabout.labelappname.caption
     19msgctxt "TFORMABOUT.LABELAPPNAME.CAPTION"
     20msgid "Acronym Decoder"
     21msgstr ""
     22
     23#: tformabout.labelcontent.caption
     24msgctxt "TFORMABOUT.LABELCONTENT.CAPTION"
     25msgid "   "
     26msgstr ""
     27
     28#: tformabout.labeldescription.caption
     29msgctxt "TFORMABOUT.LABELDESCRIPTION.CAPTION"
     30msgid "Simple tool for quick search of meaning for various acronyms and abbreviations."
     31msgstr ""
    332
    433#: tformacronym.acategoryadd.caption
     
    125154
    126155#: tformimport.buttonimport.caption
     156msgctxt "tformimport.buttonimport.caption"
    127157msgid "Process"
    128158msgstr ""
     
    142172
    143173#: tformimport.label1.caption
     174msgctxt "tformimport.label1.caption"
    144175msgid "Data format:"
     176msgstr ""
     177
     178#: tformimportformat.aadd.caption
     179msgctxt "TFORMIMPORTFORMAT.AADD.CAPTION"
     180msgid "Add"
     181msgstr ""
     182
     183#: tformimportformat.amodify.caption
     184msgctxt "TFORMIMPORTFORMAT.AMODIFY.CAPTION"
     185msgid "Modify"
     186msgstr ""
     187
     188#: tformimportformat.amovedown.caption
     189msgid "Move down"
     190msgstr ""
     191
     192#: tformimportformat.amoveup.caption
     193msgid "Move up"
     194msgstr ""
     195
     196#: tformimportformat.aremove.caption
     197msgctxt "TFORMIMPORTFORMAT.AREMOVE.CAPTION"
     198msgid "Remove"
     199msgstr ""
     200
     201#: tformimportformat.buttoncancel.caption
     202msgctxt "TFORMIMPORTFORMAT.BUTTONCANCEL.CAPTION"
     203msgid "Cancel"
     204msgstr ""
     205
     206#: tformimportformat.buttonok.caption
     207msgctxt "TFORMIMPORTFORMAT.BUTTONOK.CAPTION"
     208msgid "Ok"
     209msgstr ""
     210
     211#: tformimportformat.caption
     212msgid "Import format"
     213msgstr ""
     214
     215#: tformimportformat.label1.caption
     216msgctxt "TFORMIMPORTFORMAT.LABEL1.CAPTION"
     217msgid "Name:"
     218msgstr ""
     219
     220#: tformimportformat.label2.caption
     221msgid "Item rules:"
     222msgstr ""
     223
     224#: tformimportformat.label8.caption
     225msgid "Block start:"
     226msgstr ""
     227
     228#: tformimportformat.label9.caption
     229msgid "Block end:"
     230msgstr ""
     231
     232#: tformimportformat.listviewitemrules.columns[0].caption
     233msgid "Start string"
     234msgstr ""
     235
     236#: tformimportformat.listviewitemrules.columns[1].caption
     237msgid "End string"
     238msgstr ""
     239
     240#: tformimportformat.listviewitemrules.columns[2].caption
     241msgid "Action"
     242msgstr ""
     243
     244#: tformimportformat.listviewitemrules.columns[3].caption
     245msgid "Variable"
     246msgstr ""
     247
     248#: tformimportformat.listviewitemrules.columns[4].caption
     249msgctxt "TFORMIMPORTFORMAT.LISTVIEWITEMRULES.COLUMNS[4].CAPTION"
     250msgid "Repetition"
     251msgstr ""
     252
     253#: tformimportformats.aadd.caption
     254msgctxt "TFORMIMPORTFORMATS.AADD.CAPTION"
     255msgid "Add"
     256msgstr ""
     257
     258#: tformimportformats.amodify.caption
     259msgctxt "TFORMIMPORTFORMATS.AMODIFY.CAPTION"
     260msgid "Modify"
     261msgstr ""
     262
     263#: tformimportformats.aremove.caption
     264msgctxt "TFORMIMPORTFORMATS.AREMOVE.CAPTION"
     265msgid "Remove"
     266msgstr ""
     267
     268#: tformimportformats.caption
     269msgctxt "TFORMIMPORTFORMATS.CAPTION"
     270msgid "Import sources"
     271msgstr ""
     272
     273#: tformimportformats.listview1.columns[0].caption
     274msgctxt "TFORMIMPORTFORMATS.LISTVIEW1.COLUMNS[0].CAPTION"
     275msgid "Name"
     276msgstr ""
     277
     278#: tformimportpattern.buttoncancel.caption
     279msgctxt "TFORMIMPORTPATTERN.BUTTONCANCEL.CAPTION"
     280msgid "Cancel"
     281msgstr ""
     282
     283#: tformimportpattern.buttonok.caption
     284msgctxt "TFORMIMPORTPATTERN.BUTTONOK.CAPTION"
     285msgid "Ok"
     286msgstr ""
     287
     288#: tformimportpattern.caption
     289msgid "Import pattern"
     290msgstr ""
     291
     292#: tformimportpattern.checkboxrepetition.caption
     293msgctxt "tformimportpattern.checkboxrepetition.caption"
     294msgid "Repetition"
     295msgstr ""
     296
     297#: tformimportpattern.label10.caption
     298msgid "Action:"
     299msgstr ""
     300
     301#: tformimportpattern.label11.caption
     302msgid "Variable:"
     303msgstr ""
     304
     305#: tformimportpattern.label8.caption
     306msgid "Start string:"
     307msgstr ""
     308
     309#: tformimportpattern.label9.caption
     310msgid "End string:"
    145311msgstr ""
    146312
     
    155321msgstr ""
    156322
     323#: tformimportsource.buttonshowformat.caption
     324msgid "Configure"
     325msgstr ""
     326
    157327#: tformimportsource.caption
    158328msgctxt "tformimportsource.caption"
     
    160330msgstr ""
    161331
     332#: tformimportsource.checkboxenabled.caption
     333msgid "Enabled"
     334msgstr ""
     335
    162336#: tformimportsource.label1.caption
    163337msgctxt "TFORMIMPORTSOURCE.LABEL1.CAPTION"
     
    169343msgstr ""
    170344
     345#: tformimportsource.label3.caption
     346msgctxt "TFORMIMPORTSOURCE.LABEL3.CAPTION"
     347msgid "Data format:"
     348msgstr ""
     349
    171350#: tformimportsources.aadd.caption
    172351msgctxt "TFORMIMPORTSOURCES.AADD.CAPTION"
     
    179358msgstr ""
    180359
     360#: tformimportsources.aprocess.caption
     361msgctxt "TFORMIMPORTSOURCES.APROCESS.CAPTION"
     362msgid "Process"
     363msgstr ""
     364
    181365#: tformimportsources.aremove.caption
    182366msgctxt "TFORMIMPORTSOURCES.AREMOVE.CAPTION"
     
    203387
    204388#: tformmain.afileclose.caption
     389msgctxt "tformmain.afileclose.caption"
    205390msgid "Close"
    206391msgstr ""
     
    227412msgstr ""
    228413
     414#: tformmain.aprocessimports.caption
     415msgid "Process imports"
     416msgstr ""
     417
    229418#: tformmain.asettings.caption
    230419msgctxt "tformmain.asettings.caption"
     
    236425msgstr ""
    237426
     427#: tformmain.ashowabout.caption
     428msgctxt "tformmain.ashowabout.caption"
     429msgid "About"
     430msgstr ""
     431
    238432#: tformmain.ashowacronyms.caption
    239433msgctxt "TFORMMAIN.ASHOWACRONYMS.CAPTION"
     
    246440msgstr ""
    247441
     442#: tformmain.ashowimportformats.caption
     443msgid "Import formats"
     444msgstr ""
     445
    248446#: tformmain.ashowimportsources.caption
    249447msgctxt "TFORMMAIN.ASHOWIMPORTSOURCES.CAPTION"
     
    252450
    253451#: tformmain.caption
     452msgctxt "tformmain.caption"
    254453msgid "Acronym Decoder"
    255454msgstr ""
     
    275474
    276475#: tformmain.menuitem15.caption
     476msgctxt "tformmain.menuitem15.caption"
    277477msgid "-"
    278478msgstr ""
     
    286486msgstr ""
    287487
     488#: tformmain.menuitem24.caption
     489msgctxt "TFORMMAIN.MENUITEM24.CAPTION"
     490msgid "-"
     491msgstr ""
     492
     493#: tformmain.menuitem5.caption
     494msgid "Help"
     495msgstr ""
     496
    288497#: tformmain.menuitem8.caption
    289498msgid "File"
     
    292501#: tformmain.menuitemopenrecent.caption
    293502msgid "Open recent"
     503msgstr ""
     504
     505#: tformmain.menuitemtoolbar.caption
     506msgid "Toolbar"
     507msgstr ""
     508
     509#: tformmain.toolbar1.caption
     510msgid "ToolBar1"
     511msgstr ""
     512
     513#: tformmain.toolbutton8.caption
     514msgid "ToolButton8"
    294515msgstr ""
    295516
     
    321542msgstr ""
    322543
     544#: uformabout.slicense
     545msgid "License"
     546msgstr ""
     547
     548#: uformabout.sreleasedate
     549msgid "Release date"
     550msgstr ""
     551
     552#: uformabout.sversion
     553msgid "Version"
     554msgstr ""
     555
    323556#: uformacronym.scategory
    324557msgctxt "uformacronym.scategory"
     
    346579msgstr ""
    347580
    348 #: uformacronyms.sremoveallacronyms
    349 msgctxt "uformacronyms.sremoveallacronyms"
    350 msgid "Remove all acronyms"
    351 msgstr ""
    352 
    353 #: uformacronyms.sremoveallacronymsquery
    354 msgctxt "uformacronyms.sremoveallacronymsquery"
    355 msgid "Do you want to remove all acronyms?"
    356 msgstr ""
    357 
    358581#: uformcategories.scategory
    359582msgctxt "uformcategories.scategory"
     
    383606msgstr ""
    384607
    385 #: uformimportsources.simportsource
    386 msgctxt "uformimportsources.simportsource"
    387 msgid "Import source"
     608#: uformimportformat.sno
     609msgid "No"
     610msgstr ""
     611
     612#: uformimportformat.sremoveimportpattern
     613msgid "Remove import pattern"
     614msgstr ""
     615
     616#: uformimportformat.sremoveimportpatternquery
     617msgid "Do you really want to remove selected import patterns?"
     618msgstr ""
     619
     620#: uformimportformat.syes
     621msgid "Yes"
     622msgstr ""
     623
     624#: uformimportformats.simportformatalreadyexists
     625msgid "Import format %s already exists!"
     626msgstr ""
     627
     628#: uformimportformats.sremoveimportformat
     629msgid "Remove import formats"
     630msgstr ""
     631
     632#: uformimportformats.sremoveimportformatquery
     633msgid "Do you really want to remove selected import formats?"
    388634msgstr ""
    389635
    390636#: uformimportsources.simportsourcealreadyexists
     637msgctxt "uformimportsources.simportsourcealreadyexists"
    391638msgid "Import source %s already exists!"
    392639msgstr ""
    393640
    394 #: uformimportsources.simportsourcequery
    395 msgid "Enter name of import source"
    396 msgstr ""
    397 
    398641#: uformimportsources.sremoveimportsource
     642msgctxt "uformimportsources.sremoveimportsource"
    399643msgid "Remove import sources"
    400644msgstr ""
    401645
    402646#: uformimportsources.sremoveimportsourcequery
     647msgctxt "uformimportsources.sremoveimportsourcequery"
    403648msgid "Do you really want to remove selected import sources?"
     649msgstr ""
     650
     651#: uformmain.saddedcount
     652msgid "Imported %d acronyms"
    404653msgstr ""
    405654
  • TabularUnified /trunk/Packages/synapse/synapse.lpk

    r20 r30  
    1 <?xml version="1.0"?>
     1<?xml version="1.0" encoding="UTF-8"?>
    22<CONFIG>
    3   <Package Version="3">
     3  <Package Version="4">
    44    <PathDelim Value="\"/>
    55    <Name Value="synapse"/>
     6    <Type Value="RunAndDesignTime"/>
     7    <AddToProjectUsesSection Value="True"/>
    68    <CompilerOptions>
    7       <Version Value="9"/>
     9      <Version Value="11"/>
    810      <PathDelim Value="\"/>
    911      <SearchPaths>
     12        <OtherUnitFiles Value="."/>
    1013        <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    1114      </SearchPaths>
     
    1518        </SyntaxOptions>
    1619      </Parsing>
    17       <Other>
    18         <CompilerPath Value="$(CompPath)"/>
    19       </Other>
    2020    </CompilerOptions>
    2121    <Files Count="31">
     
    145145      </Item31>
    146146    </Files>
    147     <Type Value="RunAndDesignTime"/>
    148147    <RequiredPkgs Count="1">
    149148      <Item1>
  • TabularUnified /trunk/Packages/synapse/synaser.pas

    r20 r30  
    22802280  try
    22812281    TmpPorts := '';
    2282     if FindFirst('/dev/ttyS*', $FFFFFFFF, sr) = 0 then
     2282    if FindFirst('/dev/ttyS*', $7FFFFFFF, sr) = 0 then
    22832283    begin
    22842284      repeat
  • TabularUnified /trunk/UAcronym.pas

    r20 r30  
    77uses
    88  Classes, SysUtils, Contnrs, XMLConf, XMLRead, XMLWrite, DOM, UXMLUtils,
    9   SpecializedList;
     9  SpecializedList, fphttpclient, Dialogs;
    1010
    1111type
     
    1414  TAcronymDb = class;
    1515  TImportSources = class;
     16  TImportFormats = class;
    1617
    1718  TAcronymSource = class
     
    108109  end;
    109110
    110   TImportPattern = record
     111  TImportPatternFlag = (ipfNone, ipfNewItem, ipfSkip);
     112  TImportVariable = (ivNone, ivAcronym, ivMeaning, ivDescription);
     113
     114  { TImportPattern }
     115
     116  TImportPattern = class
    111117    StartString: string;
    112118    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);
    114132  end;
    115133
     
    119137    Id: Integer;
    120138    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);
    124143    procedure SaveToNode(Node: TDOMNode);
    125144    procedure LoadFromNode(Node: TDOMNode);
     145    constructor Create;
     146    destructor Destroy; override;
    126147  end;
    127148
     
    132153    procedure SaveToNode(Node: TDOMNode);
    133154    procedure LoadFromNode(Node: TDOMNode);
     155    function SearchByName(Name: string): TImportFormat;
    134156    function SearchById(Id: Integer): TImportFormat;
    135157  end;
     
    138160
    139161  TImportSource = class
     162  private
     163    procedure DoPassword(Sender: TObject; var RepeatRequest : Boolean);
     164  public
     165    Enabled: Boolean;
    140166    Name: string;
    141167    URL: string;
     
    143169    LastTime: TDateTime;
    144170    Sources: TImportSources;
     171    ItemCount: Integer;
     172    function DownloadHTTP(URL: string; Stream: TStream): Boolean;
     173    procedure Process;
    145174    procedure Assign(Source: TImportSource);
    146175    procedure SaveToNode(Node: TDOMNode);
     
    183212function AcronymComparer(Item1, Item2: Pointer): Integer;
    184213
     214const
     215  ImportVariableString: array [TImportVariable] of string = ('None', 'Acronym',
     216    'Meaning', 'Description');
     217  ImportPatternFlagString: array [TImportPatternFlag] of string = ('None', 'New item',
     218    'Skip');
     219
    185220
    186221implementation
     
    189224  SWrongFileFormat = 'Wrong file format';
    190225
     226
    191227function AcronymComparer(Item1, Item2: Pointer): Integer;
    192228begin
     
    194230end;
    195231
     232{ TImportPatterns }
     233
     234procedure TImportPatterns.SaveToNode(Node: TDOMNode);
     235var
     236  I: Integer;
     237  NewNode2: TDOMNode;
     238begin
     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;
     245end;
     246
     247procedure TImportPatterns.LoadFromNode(Node: TDOMNode);
     248var
     249  Node2: TDOMNode;
     250  NewItem: TImportPattern;
     251begin
     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;
     260end;
     261
     262{ TImportPattern }
     263
     264procedure TImportPattern.Assign(Source: TImportPattern);
     265begin
     266  StartString := Source.StartString;
     267  EndString := Source.EndString;
     268  Variable := Source.Variable;
     269  Flag := Source.Flag;
     270  Repetition := Source.Repetition;
     271end;
     272
     273procedure TImportPattern.SaveToNode(Node: TDOMNode);
     274begin
     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);
     280end;
     281
     282procedure TImportPattern.LoadFromNode(Node: TDOMNode);
     283begin
     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);
     289end;
     290
     291procedure TImportSource.DoPassword(Sender: TObject; var RepeatRequest: Boolean);
     292begin
     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;
     298end;
     299
     300function TImportSource.DownloadHTTP(URL: string; Stream: TStream): Boolean;
     301var
     302  HTTPClient: TFPHTTPClient;
     303  FormData: TStringList;
     304begin
     305  HTTPClient := TFPHttpClient.Create(nil);
     306  HTTPClient.OnPassword := DoPassword;
     307  FormData := TStringList.Create;
     308(*
     309FormData.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;
     321end;
     322
     323function StripHTML(S: string): string;
     324var
     325  TagBegin, TagEnd, TagLength: Integer;
     326begin
     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
     340end;
     341
    196342{ TImportFormat }
    197343
     344procedure TImportFormat.Assign(Source: TImportFormat);
     345var
     346  I: Integer;
     347begin
     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;
     358end;
     359
    198360procedure TImportFormat.SaveToNode(Node: TDOMNode);
     361var
     362  NewNode: TDOMNode;
    199363begin
    200364  WriteInteger(Node, 'Id', Id);
    201365  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);
    208372end;
    209373
    210374procedure TImportFormat.LoadFromNode(Node: TDOMNode);
     375var
     376  NewNode: TDOMNode;
    211377begin
    212378  Id := ReadInteger(Node, 'Id', 0);
    213379  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);
     386end;
     387
     388constructor TImportFormat.Create;
     389begin
     390  Block := TImportPattern.Create;
     391  ItemPatterns := TImportPatterns.Create;
     392end;
     393
     394destructor TImportFormat.Destroy;
     395begin
     396  Block.Free;
     397  ItemPatterns.Free;
     398  inherited Destroy;
    220399end;
    221400
     
    263442{ TImportFormats }
    264443
     444function TImportFormats.SearchByName(Name: string): TImportFormat;
     445var
     446  I: Integer;
     447begin
     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;
     452end;
     453
    265454procedure TImportFormats.UpdateIds;
    266455var
     
    324513{ TImportSource }
    325514
     515procedure TImportSource.Process;
     516var
     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;
     528begin
     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, '&quot;', '"', [rfReplaceAll]);
     583              T := StringReplace(T, '&trade;', 'TM', [rfReplaceAll]);
     584              T := StringReplace(T, '&amp;', '&', [rfReplaceAll]);
     585              T := StringReplace(T, '&#160;', ' ', [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;
     620end;
     621
    326622procedure TImportSource.Assign(Source: TImportSource);
    327623begin
     624  Enabled := Source.Enabled;
    328625  Name := Source.Name;
    329626  URL := Source.URL;
    330627  Format := Source.Format;
     628  LastTime := Source.LastTime;
     629  ItemCount := Source.ItemCount;
    331630end;
    332631
     
    337636  if Assigned(Format) then WriteInteger(Node, 'ImportFormat', Format.Id)
    338637    else WriteInteger(Node, 'ImportFormat', -1);
     638  WriteBoolean(Node, 'Enabled', Enabled);
    339639end;
    340640
     
    344644  URL := ReadString(Node, 'URL', '');
    345645  Format := Sources.AcronymDb.ImportFormats.SearchById(ReadInteger(Node, 'ImportFormat', -1));
     646  Enabled := ReadBoolean(Node, 'Enabled', True);
    346647end;
    347648
     
    349650begin
    350651  Format := nil;
     652  Enabled := True;
    351653end;
    352654
Note: See TracChangeset for help on using the changeset viewer.