Changeset 456


Ignore:
Timestamp:
May 30, 2023, 11:31:10 AM (11 months ago)
Author:
chronos
Message:
  • Modified: Removed U prefix from unit names.
Location:
trunk
Files:
7 added
25 edited
1 copied
58 moved

Legend:

Unmodified
Added
Removed
  • trunk/Brain.pas

    r455 r456  
    1 unit UBrain;
     1unit Brain;
    22
    33interface
  • trunk/Direct.lfm

    r426 r456  
    88  Caption = 'C-evo'
    99  Color = clBtnFace
    10   DesignTimePPI = 125
     10  DesignTimePPI = 144
    1111  Font.Color = clWindowText
    12   Font.Height = -13
     12  Font.Height = -20
    1313  Font.Name = 'MS Sans Serif'
    1414  FormStyle = fsStayOnTop
     
    1818  OnShow = FormShow
    1919  ShowInTaskBar = stNever
    20   PixelsPerInch = 96
     20  LCLVersion = '2.2.6.0'
    2121  Scaled = False
    2222end
  • trunk/Direct.pas

    r447 r456  
    4343
    4444uses
    45   ScreenTools, Protocol, Start, LocalPlayer, NoTerm, Back, Global, UNetworkServer,
    46   UNetworkClient;
     45  ScreenTools, Protocol, Start, LocalPlayer, NoTerm, Back, Global, NetworkServer,
     46  NetworkClient;
    4747
    4848{$R *.lfm}
     
    183183  BrainTerm.Name := Phrases.Lookup('HUMAN');
    184184  if NetworkEnabled then begin
    185     BrainNetworkServer.Client := UNetworkServer.Client;
     185    BrainNetworkServer.Client := NetworkServer.Client;
    186186    BrainNetworkServer.Name := Phrases.Lookup('NETWORK_SERVER');
    187     BrainNetworkClient.Client := UNetworkClient.Client;
     187    BrainNetworkClient.Client := NetworkClient.Client;
    188188    BrainNetworkClient.Name := Phrases.Lookup('NETWORK_CLIENT');
    189189  end;
     
    280280procedure TDirectDlg.FormPaint(Sender: TObject);
    281281begin
    282   PaintBackground(self, 3, 3, ClientWidth - 6, ClientHeight - 6);
     282  PaintBackground(Self, 3, 3, ClientWidth - 6, ClientHeight - 6);
    283283  Frame(Canvas, 0, 0, ClientWidth - 1, ClientHeight - 1, 0, 0);
    284284  Frame(Canvas, 1, 1, ClientWidth - 2, ClientHeight - 2,
  • trunk/GameServer.pas

    r447 r456  
    88uses
    99  Protocol, Database, dynlibs, Platform, dateutils, LazFileUtils, Graphics,
    10   UBrain, Global;
     10  Brain, Global;
    1111
    1212const
  • trunk/Install/snap/snapcraft.yaml

    r450 r456  
    1111  * Support for user defined key mapping
    1212  * Many other small improvements
    13 confinement: strict
     13confinement: devmode
    1414base: core22
    1515grade: stable
     
    6969    override-build: |
    7070      snapcraftctl build
    71       (cd AI/StdAI &&lazbuild --build-mode=Release StdAI.lpi)
     71      (cd AI/StdAI &&lazbuild --build-mode=Debug StdAI.lpi)
    7272      mv AI/StdAI/libstdai.so AI/StdAI/libstdai-amd64.so
    73       lazbuild --build-mode=Release Integrated.lpi
     73      lazbuild --build-mode=Debug Integrated.lpi
    7474      install -d -m 755 $SNAPCRAFT_PART_INSTALL/usr/share/c-evo
    7575      install -s -m 755 c-evo $SNAPCRAFT_PART_INSTALL/usr/share/c-evo
  • trunk/Integrated.lpi

    r422 r456  
    3636          <SearchPaths>
    3737            <IncludeFiles Value="LocalPlayer;$(ProjOutDir)"/>
    38             <OtherUnitFiles Value="LocalPlayer;Network"/>
     38            <OtherUnitFiles Value="LocalPlayer;Network;Packages\CevoComponents"/>
    3939            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)-$(BuildMode)"/>
    4040          </SearchPaths>
     
    5656            <Debugging>
    5757              <GenerateDebugInfo Value="False"/>
     58              <DebugInfoType Value="dsDwarf2Set"/>
    5859            </Debugging>
    5960            <LinkSmart Value="True"/>
     
    337338      </Unit40>
    338339      <Unit41>
    339         <Filename Value="LocalPlayer\UKeyBindings.pas"/>
     340        <Filename Value="LocalPlayer\KeyBindings.pas"/>
    340341        <IsPartOfProject Value="True"/>
    341342      </Unit41>
    342343      <Unit42>
    343         <Filename Value="UMiniMap.pas"/>
     344        <Filename Value="MiniMap.pas"/>
    344345        <IsPartOfProject Value="True"/>
    345346      </Unit42>
    346347      <Unit43>
    347         <Filename Value="UBrain.pas"/>
     348        <Filename Value="Brain.pas"/>
    348349        <IsPartOfProject Value="True"/>
    349350      </Unit43>
    350351      <Unit44>
    351         <Filename Value="Network\UNetworkServer.pas"/>
     352        <Filename Value="Network\NetworkServer.pas"/>
    352353        <IsPartOfProject Value="True"/>
    353354      </Unit44>
    354355      <Unit45>
    355         <Filename Value="Network\UNetworkClient.pas"/>
     356        <Filename Value="Network\NetworkClient.pas"/>
    356357        <IsPartOfProject Value="True"/>
    357358      </Unit45>
    358359      <Unit46>
    359         <Filename Value="Network\UNetworkCommon.pas"/>
     360        <Filename Value="Network\NetworkCommon.pas"/>
    360361        <IsPartOfProject Value="True"/>
    361362      </Unit46>
     
    370371    <SearchPaths>
    371372      <IncludeFiles Value="LocalPlayer;$(ProjOutDir)"/>
    372       <OtherUnitFiles Value="LocalPlayer;Network"/>
     373      <OtherUnitFiles Value="LocalPlayer;Network;Packages\CevoComponents"/>
    373374      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)-$(BuildMode)"/>
    374375    </SearchPaths>
     
    393394    <Linking>
    394395      <Debugging>
     396        <DebugInfoType Value="dsDwarf2Set"/>
    395397        <UseHeaptrc Value="True"/>
    396398        <UseExternalDbgSyms Value="True"/>
  • trunk/LocalPlayer/CityScreen.pas

    r447 r456  
    88  Protocol, ClientTools, Term, ScreenTools, IsoEngine, BaseWin,
    99  LCLIntf, LCLType, Messages, SysUtils, Classes, Graphics, Controls, Forms, ExtCtrls,
    10   ButtonA, ButtonC, Area, GraphType, UTexture;
     10  ButtonA, ButtonC, Area, GraphType, Texture;
    1111
    1212const
  • trunk/LocalPlayer/Enhance.pas

    r447 r456  
    5050
    5151uses
    52   Help, UKeyBindings;
     52  Help, KeyBindings;
    5353
    5454{$R *.lfm}
  • trunk/LocalPlayer/Help.pas

    r447 r456  
    128128
    129129uses
    130   Directories, ClientTools, Term, Tribes, Inp, Messg, UPixelPointer, Global,
    131   UKeyBindings;
     130  Directories, ClientTools, Term, Tribes, Inp, Messg, PixelPointer, Global,
     131  KeyBindings;
    132132
    133133{$R *.lfm}
     
    467467  xSrc := iix mod 7 * xSizeBig;
    468468  ySrc := (iix div 7 + 1) * ySizeBig;
    469   PaintPtr := PixelPointer(OffScreen, ScaleToNative(x0), ScaleToNative(y0));
    470   CoalPtr := PixelPointer(Templates.Data, ScaleToNative(xCoal), ScaleToNative(yCoal));
     469  PaintPtr := TPixelPointer.Create(OffScreen, ScaleToNative(x0), ScaleToNative(y0));
     470  CoalPtr := TPixelPointer.Create(Templates.Data, ScaleToNative(xCoal), ScaleToNative(yCoal));
    471471  for dy := -1 to 1 do
    472     ImpPtr[dy] := PixelPointer(BigImp, ScaleToNative(xSrc), ScaleToNative(ySrc));
     472    ImpPtr[dy] := TPixelPointer.Create(BigImp, ScaleToNative(xSrc), ScaleToNative(ySrc));
    473473  for Y := 0 to ScaleToNative(ySizeBig) * 2 - 1 do begin
    474474    if ((ScaleToNative(y0) + Y) >= 0) and ((ScaleToNative(y0) + Y) < ScaleToNative(InnerHeight)) then begin
  • trunk/LocalPlayer/IsoEngine.pas

    r447 r456  
    66uses
    77  Protocol, ClientTools, ScreenTools, Tribes, LCLIntf, LCLType, SysUtils,
    8   Classes, Graphics, UPixelPointer, UGraphicSet;
     8  Classes, Graphics, PixelPointer, GraphicSet;
    99
    1010const
     
    255255  for ySrc := 0 to TerrainIconLines - 1 do begin
    256256    for I := 0 to yyt * 3 - 1 do
    257       MaskLine[I] := PixelPointer(Mask24, ScaleToNative(0),
     257      MaskLine[I] := TPixelPointer.Create(Mask24, ScaleToNative(0),
    258258        ScaleToNative(1 + ySrc * (yyt * 3 + 1) + I));
    259259    for xSrc := 0 to TerrainIconCols - 1 do begin
     
    14241424begin
    14251425  FOutput.BeginUpdate;
    1426   Line := PixelPointer(FOutput, ScaleToNative(x0), ScaleToNative(y0));
     1426  Line := TPixelPointer.Create(FOutput, ScaleToNative(x0), ScaleToNative(y0));
    14271427  for Y := 0 to ScaleToNative(Height) - 1 do begin
    14281428    y_n := (ScaleFromNative(Y) + y0 - ym) / yyt;
  • trunk/LocalPlayer/KeyBindings.pas

    r455 r456  
    1 unit UKeyBindings;
     1unit KeyBindings;
    22
    33interface
  • trunk/LocalPlayer/MessgEx.lfm

    r426 r456  
    1212  DesignTimePPI = 144
    1313  Font.Color = clWindowText
    14   Font.Height = -13
     14  Font.Height = -20
    1515  Font.Name = 'MS Sans Serif'
    1616  FormStyle = fsStayOnTop
     
    2020  OnPaint = FormPaint
    2121  OnShow = FormShow
    22   LCLVersion = '2.0.12.0'
     22  LCLVersion = '2.2.2.0'
    2323  Scaled = False
    2424  object Button1: TButtonA
     
    6161  object EInput: TEdit
    6262    Left = 125
    63     Height = 26
     63    Height = 27
    6464    Top = 64
    6565    Width = 168
  • trunk/LocalPlayer/MessgEx.pas

    r447 r456  
    6363
    6464uses
    65   ClientTools, BaseWin, Term, Help, UnitStat, Tribes, UPixelPointer,
     65  ClientTools, BaseWin, Term, Help, UnitStat, Tribes, PixelPointer,
    6666  Diagram, Sound;
    6767
     
    211211  else
    212212    Result := inherited;
    213   Gtk2Fix;
     213  //Gtk2Fix;
    214214end;
    215215
     
    244244    Screwed := Default(TScrewed);
    245245    BigImp.BeginUpdate;
    246     SrcPtr := PixelPointer(BigImp, ScaleToNative(xIcon), ScaleToNative(yIcon));
     246    SrcPtr := TPixelPointer.Create(BigImp, ScaleToNative(xIcon), ScaleToNative(yIcon));
    247247    for iy := 0 to ScaleToNative(Height) - 1 do begin
    248248      for ix := 0 to ScaleToNative(Width) - 1 do begin
  • trunk/LocalPlayer/Select.lfm

    r232 r456  
    11object ListDlg: TListDlg
    22  Left = 290
     3  Height = 262
    34  Top = 145
     5  Width = 381
    46  BorderIcons = []
    57  BorderStyle = bsNone
     
    79  ClientWidth = 381
    810  Color = clBtnFace
    9   Font.Charset = DEFAULT_CHARSET
     11  DesignTimePPI = 144
    1012  Font.Color = clWindowText
    11   Font.Height = -13
     13  Font.Height = -20
    1214  Font.Name = 'MS Sans Serif'
    13   Font.Style = []
    1415  FormStyle = fsStayOnTop
    1516  OnCloseQuery = FormCloseQuery
     
    1718  OnDestroy = FormDestroy
    1819  OnKeyDown = FormKeyDown
    19   OnMouseWheel = FormMouseWheel
    2020  OnMouseDown = PaintBox1MouseDown
    2121  OnMouseMove = PaintBox1MouseMove
     22  OnMouseWheel = FormMouseWheel
    2223  OnPaint = FormPaint
    2324  OnShow = FormShow
    24   PixelsPerInch = 96
     25  LCLVersion = '2.2.2.0'
    2526  Scaled = False
    2627  object CloseBtn: TButtonB
    2728    Left = 343
     29    Height = 25
    2830    Top = 6
    2931    Width = 25
    30     Height = 25
    3132    Down = False
    3233    Permanent = False
     
    3738    Tag = 2
    3839    Left = 344
     40    Height = 25
    3941    Top = 224
    4042    Width = 25
    41     Height = 25
    4243    Down = False
    4344    Permanent = True
     
    4849    Tag = 1
    4950    Left = 312
     51    Height = 25
    5052    Top = 224
    5153    Width = 25
    52     Height = 25
    5354    Down = False
    5455    Permanent = True
     
    5859  object Layer0Btn: TButtonB
    5960    Left = 280
     61    Height = 25
    6062    Top = 224
    6163    Width = 25
    62     Height = 25
    6364    Down = False
    6465    Permanent = True
     
    6869  object ToggleBtn: TButtonB
    6970    Left = 13
     71    Height = 25
    7072    Top = 6
    7173    Width = 25
    72     Height = 25
    7374    Down = False
    7475    Permanent = False
  • trunk/LocalPlayer/Select.pas

    r447 r456  
    850850procedure TListDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    851851begin
    852   Gtk2Fix;
     852  //Gtk2Fix;
    853853end;
    854854
  • trunk/LocalPlayer/Term.lfm

    r427 r456  
    1212  Constraints.MinHeight = 480
    1313  Constraints.MinWidth = 800
    14   DesignTimePPI = 120
     14  DesignTimePPI = 144
    1515  Font.Color = clWindowText
    16   Font.Height = -13
     16  Font.Height = -20
    1717  Font.Name = 'MS Sans Serif'
    1818  KeyPreview = True
     
    3131  OnShow = FormShow
    3232  Position = poDefault
    33   LCLVersion = '2.0.12.0'
     33  LCLVersion = '2.2.0.4'
    3434  Scaled = False
    3535  WindowState = wsMaximized
  • trunk/LocalPlayer/Term.pas

    r447 r456  
    1414  LCLIntf, LCLType, SysUtils, Classes, Graphics, Controls, DrawDlg, Types,
    1515  Forms, Menus, ExtCtrls, dateutils, Platform, ButtonB, ButtonC, EOTButton, Area,
    16   UGraphicSet, UMiniMap, IsoEngine;
     16  GraphicSet, MiniMap, IsoEngine;
    1717
    1818const
     
    591591uses
    592592  Directories, CityScreen, Draft, MessgEx, Select, CityType, Help,
    593   UnitStat, Log, Diagram, NatStat, Wonders, Enhance, Nego, UPixelPointer, Sound,
    594   Battle, Rates, TechTree, Registry, Global, UKeyBindings, CmdList;
     593  UnitStat, Log, Diagram, NatStat, Wonders, Enhance, Nego, PixelPointer, Sound,
     594  Battle, Rates, TechTree, Registry, Global, KeyBindings, CmdList;
    595595
    596596{$R *.lfm}
     
    680680  for ix := 0 to BigImp.Width div xSizeBig - 1 do
    681681    for iy := 0 to BigImp.Height div ySizeBig - 1 do begin
    682       PixelPtr := PixelPointer(BigImp, ScaleToNative(ix * xSizeBig),
     682      PixelPtr := TPixelPointer.Create(BigImp, ScaleToNative(ix * xSizeBig),
    683683        ScaleToNative(Cut + iy * ySizeBig));
    684684      for Y := 0 to ScaleToNative(ySizeBig - 2 * Cut) - 1 do begin
     
    718718  SmallImp.SetSize(nx, ny);
    719719  SmallImp.BeginUpdate;
    720   PixelPtr := PixelPointer(SmallImp);
     720  PixelPtr := TPixelPointer.Create(SmallImp);
    721721  for Y := 0 to ScaleToNative(ny) - 1 do begin
    722722    for X := 0 to ScaleToNative(nx) - 1 do begin
     
    68776877        begin
    68786878          BrushType := trix[I];
    6879           PanelPaint
     6879          PanelPaint;
    68806880        end
    68816881        else if (TroopLoc >= 0) then
  • trunk/LocalPlayer/Tribes.pas

    r447 r456  
    66uses
    77  Protocol, ScreenTools, LazFileUtils, Classes, Graphics, SysUtils, Global,
    8   UGraphicSet;
     8  GraphicSet;
    99
    1010type
  • trunk/LocalPlayer/UnitStat.pas

    r447 r456  
    5252
    5353uses
    54   Tribes, Help, Directories, UTexture;
     54  Tribes, Help, Directories, Texture;
    5555
    5656{$R *.lfm}
  • trunk/LocalPlayer/Wonders.pas

    r447 r456  
    3838
    3939uses
    40   Term, ClientTools, Help, Tribes, UPixelPointer;
     40  Term, ClientTools, Help, Tribes, PixelPointer;
    4141
    4242{$R *.lfm}
     
    110110  Height := ScaleToNative(128);
    111111  Offscreen.BeginUpdate;
    112   Line[0] := PixelPointer(Offscreen, ScaleToNative(Center.X), ScaleToNative(Center.Y));
    113   Line[1] := PixelPointer(Offscreen, ScaleToNative(Center.X), ScaleToNative(Center.Y) - 1);
    114   Line[2] := PixelPointer(Offscreen, ScaleToNative(Center.X) - 1, ScaleToNative(Center.Y));
    115   Line[3] := PixelPointer(Offscreen, ScaleToNative(Center.X) - 1, ScaleToNative(Center.Y) - 1);
     112  Line[0] := TPixelPointer.Create(Offscreen, ScaleToNative(Center.X), ScaleToNative(Center.Y));
     113  Line[1] := TPixelPointer.Create(Offscreen, ScaleToNative(Center.X), ScaleToNative(Center.Y) - 1);
     114  Line[2] := TPixelPointer.Create(Offscreen, ScaleToNative(Center.X) - 1, ScaleToNative(Center.Y));
     115  Line[3] := TPixelPointer.Create(Offscreen, ScaleToNative(Center.X) - 1, ScaleToNative(Center.Y) - 1);
    116116  for Y := 0 to Height - 1 do begin
    117117    for X := 0 to Width - 1 do begin
     
    160160  x0Src := (I mod 7) * xSizeBig;
    161161  y0Src := (I div 7 + SystemIconLines) * ySizeBig;
    162   Src := PixelPointer(BigImp, ScaleToNative(x0Src), ScaleToNative(y0Src));
    163   Dst := PixelPointer(Offscreen, ScaleToNative(x0Dst), ScaleToNative(y0Dst));
     162  Src := TPixelPointer.Create(BigImp, ScaleToNative(x0Src), ScaleToNative(y0Src));
     163  Dst := TPixelPointer.Create(Offscreen, ScaleToNative(x0Dst), ScaleToNative(y0Dst));
    164164  for Y := 0 to ScaleToNative(ySizeBig) - 1 do begin
    165165    for X := 0 to ScaleToNative(xSizeBig) - 1 do begin
  • trunk/MiniMap.pas

    r455 r456  
    11{$INCLUDE Switches.inc}
    2 unit UMiniMap;
     2unit MiniMap;
    33
    44interface
     
    3737
    3838uses
    39   ScreenTools, UPixelPointer, Global, GameServer, IsoEngine, Tribes;
     39  ScreenTools, PixelPointer, Global, GameServer, IsoEngine, Tribes;
    4040
    4141const
     
    172172  Bitmap.SetSize(Size.X * 2, Size.Y);
    173173  Bitmap.BeginUpdate;
    174   MiniPixel := PixelPointer(Bitmap);
     174  MiniPixel := TPixelPointer.Create(Bitmap);
    175175  for y := 0 to ScaleToNative(Size.Y) - 1 do begin
    176176    for x := 0 to ScaleToNative(Size.X) - 1 do begin
     
    203203  if Mode = mmPicture then begin
    204204    Bitmap.BeginUpdate;
    205     MiniPixel := PixelPointer(Bitmap);
    206     PrevMiniPixel := PixelPointer(Bitmap, 0, -1);
     205    MiniPixel := TPixelPointer.Create(Bitmap);
     206    PrevMiniPixel := TPixelPointer.Create(Bitmap, 0, -1);
    207207    for y := 0 to ScaleToNative(Size.Y) - 1 do begin
    208208      for x := 0 to ScaleToNative(Size.X) - 1 do begin
     
    264264  Bitmap.SetSize(Size.X * 2, Size.Y);
    265265  Bitmap.BeginUpdate;
    266   MiniPixel := PixelPointer(Bitmap);
    267   PrevMiniPixel := PixelPointer(Bitmap, 0, -1);
     266  MiniPixel := TPixelPointer.Create(Bitmap);
     267  PrevMiniPixel := TPixelPointer.Create(Bitmap, 0, -1);
    268268  for y := 0 to ScaleToNative(Size.Y) - 1 do begin
    269269    for x := 0 to ScaleToNative(Size.X) - 1 do begin
  • trunk/Network/NetworkClient.pas

    r455 r456  
    1 unit UNetworkClient;
     1unit NetworkClient;
    22
    33interface
     
    4646
    4747uses
    48   LocalPlayer{$IFDEF UNIX}, Global, UNetworkCommon{$ENDIF};
     48  LocalPlayer{$IFDEF UNIX}, Global, NetworkCommon{$ENDIF};
    4949
    5050procedure Client(Command, Player: Integer; var Data);
  • trunk/Network/NetworkCommon.pas

    r455 r456  
    1 unit UNetworkCommon;
     1unit NetworkCommon;
    22
    33interface
  • trunk/Network/NetworkServer.pas

    r455 r456  
    1 unit UNetworkServer;
     1unit NetworkServer;
    22
    33interface
     
    8888{$IFDEF UNIX}
    8989uses
    90   Global, UNetworkCommon;
     90  Global, NetworkCommon;
    9191{$ENDIF}
    9292
  • trunk/Packages/CevoComponents/CevoComponents.lpk

    r396 r456  
    11<?xml version="1.0" encoding="UTF-8"?>
    22<CONFIG>
    3   <Package Version="4">
     3  <Package Version="5">
    44    <PathDelim Value="\"/>
    55    <Name Value="CevoComponents"/>
     
    103103      </Item14>
    104104      <Item15>
    105         <Filename Value="UGraphicSet.pas"/>
    106         <UnitName Value="UGraphicSet"/>
     105        <Filename Value="GraphicSet.pas"/>
     106        <UnitName Value="GraphicSet"/>
    107107      </Item15>
    108108      <Item16>
    109         <Filename Value="UTexture.pas"/>
    110         <UnitName Value="UTexture"/>
     109        <Filename Value="Texture.pas"/>
     110        <UnitName Value="Texture"/>
    111111      </Item16>
    112112    </Files>
     113    <CompatibilityMode Value="True"/>
    113114    <RequiredPkgs Count="3">
    114115      <Item1>
  • trunk/Packages/CevoComponents/CevoComponents.pas

    r447 r456  
    1010uses
    1111  Area, ButtonA, ButtonB, ButtonC, ButtonN, EOTButton, ButtonBase, DrawDlg,
    12   Sound, BaseWin, AsyncProcess2, UGraphicSet, UTexture, LazarusPackageIntf;
     12  Sound, BaseWin, AsyncProcess2, GraphicSet, Texture, LazarusPackageIntf;
    1313
    1414implementation
     
    2929  RegisterPackage('CevoComponents', @Register);
    3030end.
    31 
  • trunk/Packages/CevoComponents/GraphicSet.pas

    r455 r456  
    1 unit UGraphicSet;
     1unit GraphicSet;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, Graphics, Generics.Collections, LCLType, UPixelPointer, DOM,
    7   XMLRead, XMLWrite, UXMLUtils;
     6  Classes, SysUtils, Graphics, Generics.Collections, LCLType, DOM,
     7  XMLRead, XMLWrite, XML;
    88
    99type
  • trunk/Packages/CevoComponents/ScreenTools.pas

    r447 r456  
    88  {$ENDIF}
    99  StringTables, LCLIntf, LCLType, SysUtils, Classes, Graphics, Controls, Math,
    10   Forms, Menus, GraphType, UGraphicSet, LazFileUtils, UTexture;
     10  Forms, Menus, GraphType, GraphicSet, LazFileUtils, Texture;
    1111
    1212type
     
    2424function TurnToString(Turn: Integer): string;
    2525function MovementToString(Movement: Integer): string;
    26 procedure BtnFrame(ca: TCanvas; P: TRect; T: TTexture);
    27 procedure EditFrame(ca: TCanvas; P: TRect; T: TTexture);
     26procedure BtnFrame(Canvas: TCanvas; P: TRect; T: TTexture);
     27procedure EditFrame(Canvas: TCanvas; P: TRect; T: TTexture);
    2828function HexStringToColor(S: string): Integer;
    2929function ExtractFileNameWithoutExt(const Filename: string): string;
     
    5454function BitBltBitmap(Dest: TBitmap; DestRect: TRect;
    5555  Src: TBitmap; SrcPos: TPoint; Rop: DWORD = SRCCOPY): Boolean; overload;
    56 procedure SLine(ca: TCanvas; x0, x1, Y: Integer; cl: TColor);
    57 procedure DLine(ca: TCanvas; x0, x1, Y: Integer; cl0, cl1: TColor);
    58 procedure Frame(ca: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
    59 procedure RFrame(ca: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
    60 procedure CFrame(ca: TCanvas; x0, y0, x1, y1, Corner: Integer; cl: TColor);
    61 procedure FrameImage(ca: TCanvas; Src: TBitmap;
     56procedure SLine(Canvas: TCanvas; x0, x1, Y: Integer; cl: TColor);
     57procedure DLine(Canvas: TCanvas; x0, x1, Y: Integer; cl0, cl1: TColor);
     58procedure Frame(Canvas: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
     59procedure RFrame(Canvas: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
     60procedure CFrame(Canvas: TCanvas; x0, y0, x1, y1, Corner: Integer; cl: TColor);
     61procedure FrameImage(Canvas: TCanvas; Src: TBitmap;
    6262  X, Y, Width, Height, xSrc, ySrc: Integer; IsControl: Boolean = False);
    6363procedure GlowFrame(Dst: TBitmap; x0, y0, Width, Height: Integer; cl: TColor);
    6464procedure InitOrnament;
    65 procedure InitCityMark(T: TTexture);
    66 procedure Fill(ca: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer); overload;
     65procedure InitCityMark(Texture: TTexture);
     66procedure Fill(Canvas: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer); overload;
    6767procedure Fill(Canvas: TCanvas; Rect: TRect; Offset: TPoint); overload;
    68 procedure FillLarge(ca: TCanvas; x0, y0, x1, y1, xm: Integer);
    69 procedure FillSeamless(ca: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer;
     68procedure FillLarge(Canvas: TCanvas; x0, y0, x1, y1, xm: Integer);
     69procedure FillSeamless(Canvas: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer;
    7070  const Texture: TBitmap);
    71 procedure FillRectSeamless(ca: TCanvas; x0, y0, x1, y1, xOffset, yOffset: Integer;
     71procedure FillRectSeamless(Canvas: TCanvas; x0, y0, x1, y1, xOffset, yOffset: Integer;
    7272  const Texture: TBitmap);
    7373procedure PaintBackground(Form: TForm; Left, Top, Width, Height: Integer);
    74 procedure Corner(ca: TCanvas; X, Y, Kind: Integer; T: TTexture);
    75 procedure BiColorTextOut(ca: TCanvas; clMain, clBack: TColor; X, Y: Integer; S: string);
    76 procedure LoweredTextOut(ca: TCanvas; cl: TColor; T: TTexture;
     74procedure Corner(Canvas: TCanvas; X, Y, Kind: Integer; T: TTexture);
     75procedure BiColorTextOut(Canvas: TCanvas; clMain, clBack: TColor; X, Y: Integer; S: string);
     76procedure LoweredTextOut(Canvas: TCanvas; cl: TColor; T: TTexture;
    7777  X, Y: Integer; S: string);
    78 function BiColorTextWidth(ca: TCanvas; S: string): Integer;
    79 procedure RisedTextOut(ca: TCanvas; X, Y: Integer; S: string);
    80 procedure LightGradient(ca: TCanvas; X, Y, Width, Color: Integer);
    81 procedure DarkGradient(ca: TCanvas; X, Y, Width, Kind: Integer);
    82 procedure VLightGradient(ca: TCanvas; X, Y, Height, Color: Integer);
    83 procedure VDarkGradient(ca: TCanvas; X, Y, Height, Kind: Integer);
     78function BiColorTextWidth(Canvas: TCanvas; S: string): Integer;
     79procedure RisedTextOut(Canvas: TCanvas; X, Y: Integer; S: string);
     80procedure LightGradient(Canvas: TCanvas; X, Y, Width, Color: Integer);
     81procedure DarkGradient(Canvas: TCanvas; X, Y, Width, Kind: Integer);
     82procedure VLightGradient(Canvas: TCanvas; X, Y, Height, Color: Integer);
     83procedure VDarkGradient(Canvas: TCanvas; X, Y, Height, Kind: Integer);
    8484procedure UnderlinedTitleValue(Canvas: TCanvas; Title, Value: string; X, Y, Width: Integer);
    8585procedure NumberBar(dst: TBitmap; X, Y: Integer; Cap: string; val: Integer;
     
    8787procedure CountBar(dst: TBitmap; X, Y, W: Integer; Kind: Integer;
    8888  Cap: string; val: Integer; T: TTexture);
    89 procedure PaintProgressBar(ca: TCanvas; Kind, X, Y, Pos, Growth, Max: Integer;
     89procedure PaintProgressBar(Canvas: TCanvas; Kind, X, Y, Pos, Growth, Max: Integer;
    9090  T: TTexture);
    91 procedure PaintRelativeProgressBar(ca: TCanvas;
     91procedure PaintRelativeProgressBar(Canvas: TCanvas;
    9292  Kind, X, Y, size, Pos, Growth, Max: Integer; IndicateComplete: Boolean;
    9393  T: TTexture);
     
    199199
    200200uses
    201   Directories, Sound, UPixelPointer;
     201  Directories, Sound, PixelPointer;
    202202
    203203var
     
    318318end;
    319319
    320 procedure BtnFrame(ca: TCanvas; P: TRect; T: TTexture);
    321 begin
    322   RFrame(ca, P.Left - 1, P.Top - 1, P.Right, P.Bottom, T.ColorBevelShade,
     320procedure BtnFrame(Canvas: TCanvas; P: TRect; T: TTexture);
     321begin
     322  RFrame(Canvas, P.Left - 1, P.Top - 1, P.Right, P.Bottom, T.ColorBevelShade,
    323323    T.ColorBevelLight);
    324324end;
    325325
    326 procedure EditFrame(ca: TCanvas; P: TRect; T: TTexture);
    327 begin
    328   Frame(ca, P.Left - 1, P.Top - 1, P.Right, P.Bottom, $000000, $000000);
    329   Frame(ca, P.Left - 2, P.Top - 2, P.Right + 1, P.Bottom + 1, $000000, $000000);
    330   Frame(ca, P.Left - 3, P.Top - 3, P.Right + 2, P.Bottom + 1, $000000, $000000);
    331   RFrame(ca, P.Left - 4, P.Top - 4, P.Right + 3, P.Bottom + 2, T.ColorBevelShade,
     326procedure EditFrame(Canvas: TCanvas; P: TRect; T: TTexture);
     327begin
     328  Frame(Canvas, P.Left - 1, P.Top - 1, P.Right, P.Bottom, $000000, $000000);
     329  Frame(Canvas, P.Left - 2, P.Top - 2, P.Right + 1, P.Bottom + 1, $000000, $000000);
     330  Frame(Canvas, P.Left - 3, P.Top - 3, P.Right + 2, P.Bottom + 1, $000000, $000000);
     331  RFrame(Canvas, P.Left - 4, P.Top - 4, P.Right + 3, P.Bottom + 2, T.ColorBevelShade,
    332332    T.ColorBevelLight);
    333333end;
     
    371371begin
    372372  Bitmap.BeginUpdate;
    373   PixelPtr := PixelPointer(Bitmap);
     373  PixelPtr := TPixelPointer.Create(Bitmap);
    374374  for Y := 0 to ScaleToNative(Bitmap.Height) - 1 do begin
    375375    for X := 0 to ScaleToNative(Bitmap.Width) - 1 do begin
     
    388388begin
    389389  //Dst.SetSize(Src.Width, Src.Height);
    390   SrcPtr := PixelPointer(Src);
    391   DstPtr := PixelPointer(Dst);
     390  SrcPtr := TPixelPointer.Create(Src);
     391  DstPtr := TPixelPointer.Create(Dst);
    392392  for Y := 0 to ScaleToNative(Src.Height - 1) do begin
    393393    for X := 0 to ScaleToNative(Src.Width - 1) do begin
     
    520520      Result.Data.BeginUpdate;
    521521      Result.Mask.BeginUpdate;
    522       DataPixel := PixelPointer(Result.Data);
    523       MaskPixel := PixelPointer(Result.Mask);
     522      DataPixel := TPixelPointer.Create(Result.Data);
     523      MaskPixel := TPixelPointer.Create(Result.Mask);
    524524      for Y := 0 to ScaleToNative(Result.Data.Height) - 1 do begin
    525525        for X := 0 to ScaleToNative(Result.Data.Width) - 1 do begin
     
    564564begin
    565565  Dst.BeginUpdate;
    566   PixelPtr := PixelPointer(Dst, ScaleToNative(X), ScaleToNative(Y));
     566  PixelPtr := TPixelPointer.Create(Dst, ScaleToNative(X), ScaleToNative(Y));
    567567  for YY := 0 to ScaleToNative(Height) - 1 do begin
    568568    for XX := 0 to ScaleToNative(Width) - 1 do begin
     
    583583begin
    584584  Dst.BeginUpdate;
    585   PixelPtr := PixelPointer(Dst, ScaleToNative(X), ScaleToNative(Y));
     585  PixelPtr := TPixelPointer.Create(Dst, ScaleToNative(X), ScaleToNative(Y));
    586586  for yy := 0 to ScaleToNative(Height) - 1 do begin
    587587    for xx := 0 to ScaleToNative(Width) - 1 do begin
     
    603603begin
    604604  Dst.BeginUpdate;
    605   PixelPtr := PixelPointer(Dst, ScaleToNative(X), ScaleToNative(Y));
     605  PixelPtr := TPixelPointer.Create(Dst, ScaleToNative(X), ScaleToNative(Y));
    606606  for YY := 0 to ScaleToNative(Height) - 1 do begin
    607607    for XX := 0 to ScaleToNative(Width) - 1 do begin
     
    654654  dst.BeginUpdate;
    655655  Src.BeginUpdate;
    656   PixelDst := PixelPointer(Dst, xDst, yDst);
    657   PixelSrc := PixelPointer(Src, xSrc, ySrc);
     656  PixelDst := TPixelPointer.Create(Dst, xDst, yDst);
     657  PixelSrc := TPixelPointer.Create(Src, xSrc, ySrc);
    658658  for Y := 0 to Height - 1 do begin
    659659    for X := 0 to Width - 1 do  begin
     
    720720  Src.BeginUpdate;
    721721  dst.BeginUpdate;
    722   SrcPixel := PixelPointer(Src, xSrc, ySrc);
    723   DstPixel := PixelPointer(Dst, xDst, yDst);
     722  SrcPixel := TPixelPointer.Create(Src, xSrc, ySrc);
     723  DstPixel := TPixelPointer.Create(Dst, xDst, yDst);
    724724  for iy := 0 to Height - 1 do begin
    725725    for ix := 0 to Width - 1 do begin
     
    777777  Src.BeginUpdate;
    778778  Dst.BeginUpdate;
    779   SrcPixel := PixelPointer(Src, xSrc, ySrc);
    780   DstPixel := PixelPointer(Dst, xDst, yDst);
     779  SrcPixel := TPixelPointer.Create(Src, xSrc, ySrc);
     780  DstPixel := TPixelPointer.Create(Dst, xDst, yDst);
    781781  for iy := 0 to Height - 1 do begin
    782782    for ix := 0 to Width - 1 do begin
     
    823823  Assert(bmp.PixelFormat = pf24bit);
    824824  Height := Y + Height;
    825   PixelPtr := PixelPointer(Bmp, X, Y);
     825  PixelPtr := TPixelPointer.Create(Bmp, X, Y);
    826826  while Y < Height do begin
    827827    for I := 0 to Width - 1 do begin
     
    890890end;
    891891
    892 procedure SLine(ca: TCanvas; x0, x1, Y: Integer; cl: TColor);
    893 begin
    894   with ca do begin
     892procedure SLine(Canvas: TCanvas; x0, x1, Y: Integer; cl: TColor);
     893begin
     894  with Canvas do begin
    895895    Pen.Color := cl;
    896896    MoveTo(x0, Y);
     
    899899end;
    900900
    901 procedure DLine(ca: TCanvas; x0, x1, Y: Integer; cl0, cl1: TColor);
    902 begin
    903   with ca do begin
     901procedure DLine(Canvas: TCanvas; x0, x1, Y: Integer; cl0, cl1: TColor);
     902begin
     903  with Canvas do begin
    904904    Pen.Color := cl0;
    905905    MoveTo(x0, Y);
     
    913913end;
    914914
    915 procedure Frame(ca: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
    916 begin
    917   with ca do begin
     915procedure Frame(Canvas: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
     916begin
     917  with Canvas do begin
    918918    MoveTo(x0, y1);
    919919    Pen.Color := cl0;
     
    926926end;
    927927
    928 procedure RFrame(ca: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
    929 begin
    930   with ca do begin
     928procedure RFrame(Canvas: TCanvas; x0, y0, x1, y1: Integer; cl0, cl1: TColor);
     929begin
     930  with Canvas do begin
    931931    Pen.Color := cl0;
    932932    MoveTo(x0, y0 + 1);
     
    942942end;
    943943
    944 procedure CFrame(ca: TCanvas; x0, y0, x1, y1, Corner: Integer; cl: TColor);
    945 begin
    946   with ca do begin
     944procedure CFrame(Canvas: TCanvas; x0, y0, x1, y1, Corner: Integer; cl: TColor);
     945begin
     946  with Canvas do begin
    947947    Pen.Color := cl;
    948948    MoveTo(x0, y0 + Corner - 1);
     
    961961end;
    962962
    963 procedure FrameImage(ca: TCanvas; Src: TBitmap;
     963procedure FrameImage(Canvas: TCanvas; Src: TBitmap;
    964964  X, Y, Width, Height, xSrc, ySrc: Integer; IsControl: Boolean = False);
    965965begin
    966966  if IsControl then begin
    967     Frame(ca, X - 1, Y - 1, X + Width, Y + Height, $B0B0B0, $FFFFFF);
    968     RFrame(ca, X - 2, Y - 2, X + Width + 1, Y + Height + 1, $FFFFFF, $B0B0B0);
     967    Frame(Canvas, X - 1, Y - 1, X + Width, Y + Height, $B0B0B0, $FFFFFF);
     968    RFrame(Canvas, X - 2, Y - 2, X + Width + 1, Y + Height + 1, $FFFFFF, $B0B0B0);
    969969  end else
    970     Frame(ca, X - 1, Y - 1, X + Width, Y + Height, $000000, $000000);
    971   BitBltCanvas(ca, X, Y, Width, Height, Src.Canvas, xSrc, ySrc);
     970    Frame(Canvas, X - 1, Y - 1, X + Width, Y + Height, $000000, $000000);
     971  BitBltCanvas(Canvas, X, Y, Width, Height, Src.Canvas, xSrc, ySrc);
    972972end;
    973973
     
    984984  Height := ScaleToNative(Height);
    985985  Dst.BeginUpdate;
    986   DstPtr := PixelPointer(Dst, x0 - DpiGlowRange + 1, y0 - DpiGlowRange + 1);
     986  DstPtr := TPixelPointer.Create(Dst, x0 - DpiGlowRange + 1, y0 - DpiGlowRange + 1);
    987987  for Y := -DpiGlowRange + 1 to Height - 1 + DpiGlowRange - 1 do begin
    988988    for X := -DpiGlowRange + 1 to Width - 1 + DpiGlowRange - 1 do begin
     
    10361036    MainTexture.ColorBevelLight and $FCFCFC shr 2);
    10371037  HGrSystem2.Data.BeginUpdate;
    1038   PixelPtr := PixelPointer(HGrSystem2.Data, ScaleToNative(Ornament.Left),
     1038  PixelPtr := TPixelPointer.Create(HGrSystem2.Data, ScaleToNative(Ornament.Left),
    10391039    ScaleToNative(Ornament.Top));
    10401040  if PixelPtr.BytesPerPixel = 3 then begin
     
    10631063end;
    10641064
    1065 procedure InitCityMark(T: TTexture);
     1065procedure InitCityMark(Texture: TTexture);
    10661066var
    10671067  X: Integer;
     
    10761076          X, CityMark1.Top + Y] and $FF;
    10771077        HGrSystem.Data.Canvas.Pixels[CityMark2.Left + X, CityMark2.Top + Y] :=
    1078           T.ColorMark and $FF * Intensity div $FF + T.ColorMark shr 8 and
    1079           $FF * Intensity div $FF shl 8 + T.ColorMark shr 16 and
     1078          Texture.ColorMark and $FF * Intensity div $FF + Texture.ColorMark shr 8 and
     1079          $FF * Intensity div $FF shl 8 + Texture.ColorMark shr 16 and
    10801080          $FF * Intensity div $FF shl 16;
    10811081      end;
     
    10861086end;
    10871087
    1088 procedure Fill(ca: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer);
    1089 begin
    1090   Assert((Left + xOffset >= 0) and (Left + xOffset + Width <= MainTexture.Width) and
    1091     (Top + yOffset >= 0) and (Top + yOffset + Height <= MainTexture.Height));
    1092   BitBltCanvas(ca, Left, Top, Width, Height, MainTexture.Image.Canvas,
     1088procedure Fill(Canvas: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer);
     1089begin
     1090  //Assert((Left + xOffset >= 0) and (Left + xOffset + Width <= MainTexture.Width) and
     1091  //  (Top + yOffset >= 0) and (Top + yOffset + Height <= MainTexture.Height));
     1092  BitBltCanvas(Canvas, Left, Top, Width, Height, MainTexture.Image.Canvas,
    10931093    Left + xOffset, Top + yOffset);
    10941094end;
     
    10991099end;
    11001100
    1101 procedure FillLarge(ca: TCanvas; x0, y0, x1, y1, xm: Integer);
     1101procedure FillLarge(Canvas: TCanvas; x0, y0, x1, y1, xm: Integer);
    11021102
    11031103  function Band(I: Integer): Integer;
     
    11171117begin
    11181118  for I := 0 to (x1 - xm) div MainTexture.Width - 1 do
    1119     BitBltCanvas(ca, xm + I * MainTexture.Width, y0, MainTexture.Width, y1 - y0,
     1119    BitBltCanvas(Canvas, xm + I * MainTexture.Width, y0, MainTexture.Width, y1 - y0,
    11201120      MainTexture.Image.Canvas, 0, MainTexture.Height div 2 + Band(I) *
    11211121      (y1 - y0));
    1122   BitBltCanvas(ca, xm + ((x1 - xm) div MainTexture.Width) * MainTexture.Width, y0,
     1122  BitBltCanvas(Canvas, xm + ((x1 - xm) div MainTexture.Width) * MainTexture.Width, y0,
    11231123    x1 - (xm + ((x1 - xm) div MainTexture.Width) * MainTexture.Width), y1 - y0,
    11241124    MainTexture.Image.Canvas, 0, MainTexture.Height div 2 + Band(
    11251125    (x1 - xm) div MainTexture.Width) * (y1 - y0));
    11261126  for I := 0 to (xm - x0) div MainTexture.Width - 1 do
    1127     BitBltCanvas(ca, xm - (I + 1) * MainTexture.Width, y0, MainTexture.Width, y1 - y0,
     1127    BitBltCanvas(Canvas, xm - (I + 1) * MainTexture.Width, y0, MainTexture.Width, y1 - y0,
    11281128      MainTexture.Image.Canvas, 0, MainTexture.Height div 2 +
    11291129      Band(-I - 1) * (y1 - y0));
    1130   BitBltCanvas(ca, x0, y0, xm - ((xm - x0) div MainTexture.Width) *
     1130  BitBltCanvas(Canvas, x0, y0, xm - ((xm - x0) div MainTexture.Width) *
    11311131    MainTexture.Width - x0, y1 - y0, MainTexture.Image.Canvas,
    11321132    ((xm - x0) div MainTexture.Width + 1) * MainTexture.Width - (xm - x0),
     
    11341134end;
    11351135
    1136 procedure FillSeamless(ca: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer;
     1136procedure FillSeamless(Canvas: TCanvas; Left, Top, Width, Height, xOffset, yOffset: Integer;
    11371137  const Texture: TBitmap);
    11381138var
     
    11611161      if x1cut < 0 then
    11621162        x1cut := 0;
    1163       BitBltCanvas(ca, X * Texture.Width + x0cut - xOffset,
     1163      BitBltCanvas(Canvas, X * Texture.Width + x0cut - xOffset,
    11641164        Y * Texture.Height + y0cut - yOffset, Texture.Width - x0cut - x1cut,
    11651165        Texture.Height - y0cut - y1cut, Texture.Canvas, x0cut, y0cut);
     
    11681168end;
    11691169
    1170 procedure FillRectSeamless(ca: TCanvas; x0, y0, x1, y1, xOffset, yOffset: Integer;
     1170procedure FillRectSeamless(Canvas: TCanvas; x0, y0, x1, y1, xOffset, yOffset: Integer;
    11711171  const Texture: TBitmap);
    11721172begin
    1173   FillSeamless(ca, x0, y0, x1 - x0, y1 - y0, xOffset, yOffset, Texture);
     1173  FillSeamless(Canvas, x0, y0, x1 - x0, y1 - y0, xOffset, yOffset, Texture);
    11741174end;
    11751175
     
    11801180end;
    11811181
    1182 procedure Corner(ca: TCanvas; X, Y, Kind: Integer; T: TTexture);
    1183 begin
    1184   { BitBltCanvas(ca,x,y,8,8,T.HGr.Mask.Canvas,
     1182procedure Corner(Canvas: TCanvas; X, Y, Kind: Integer; T: TTexture);
     1183begin
     1184  { BitBltCanvas(Canvas,x,y,8,8,T.HGr.Mask.Canvas,
    11851185    T.xGr+29+Kind*9,T.yGr+89,SRCAND);
    1186     BitBltCanvas(ca,X,Y,8,8,T.HGr.Data.Canvas,
     1186    BitBltCanvas(Canvas,X,Y,8,8,T.HGr.Data.Canvas,
    11871187    T.xGr+29+Kind*9,T.yGr+89,SRCPAINT); }
    11881188end;
    11891189
    1190 procedure BiColorTextOut(ca: TCanvas; clMain, clBack: TColor; X, Y: Integer; S: string);
     1190procedure BiColorTextOut(Canvas: TCanvas; clMain, clBack: TColor; X, Y: Integer; S: string);
    11911191
    11921192  procedure PaintIcon(X, Y, Kind: Integer);
    11931193  begin
    1194     BitBltCanvas(ca, X, Y + 6, 10, 10, HGrSystem.Mask.Canvas,
     1194    BitBltCanvas(Canvas, X, Y + 6, 10, 10, HGrSystem.Mask.Canvas,
    11951195      66 + Kind mod 11 * 11, 115 + Kind div 11 * 11, SRCAND);
    1196     BitBltCanvas(ca, X, Y + 6, 10, 10, HGrSystem.Data.Canvas,
     1196    BitBltCanvas(Canvas, X, Y + 6, 10, 10, HGrSystem.Data.Canvas,
    11971197      66 + Kind mod 11 * 11, 115 + Kind div 11 * 11, SRCPAINT);
    11981198  end;
     
    12071207  Inc(Y);
    12081208  for shadow := True downto False do
    1209     with ca do
     1209    with Canvas do
    12101210      if not shadow or (clBack <> $7F007F) then
    12111211      begin
     
    12211221            (sp[P + 1] in ['c', 'f', 'l', 'm', 'n', 'o', 'p', 'r', 't', 'w']) then
    12221222          begin
    1223             ca.Textout(xp, Y, sp);
     1223            Canvas.Textout(xp, Y, sp);
    12241224            Break;
    12251225          end
     
    12281228            Text := Copy(sp, 1, P - 1);
    12291229            Textout(xp, Y, Text);
    1230             Inc(xp, ca.TextWidth(Text));
     1230            Inc(xp, Canvas.TextWidth(Text));
    12311231            if not shadow then
    12321232              case sp[P + 1] of
     
    12511251end;
    12521252
    1253 function BiColorTextWidth(ca: TCanvas; S: string): Integer;
     1253function BiColorTextWidth(Canvas: TCanvas; S: string): Integer;
    12541254var
    12551255  P: Integer;
     
    12601260    if (P = 0) or (P = Length(S)) then
    12611261    begin
    1262       Inc(Result, ca.TextWidth(S));
     1262      Inc(Result, Canvas.TextWidth(S));
    12631263      Break;
    12641264    end
     
    12671267      if not (S[P + 1] in ['c', 'f', 'l', 'm', 'n', 'o', 'p', 'r', 't', 'w'])
    12681268      then
    1269         Inc(Result, ca.TextWidth(Copy(S, 1, P + 1)))
     1269        Inc(Result, Canvas.TextWidth(Copy(S, 1, P + 1)))
    12701270      else
    1271         Inc(Result, ca.TextWidth(Copy(S, 1, P - 1)) + 10);
     1271        Inc(Result, Canvas.TextWidth(Copy(S, 1, P - 1)) + 10);
    12721272      Delete(S, 1, P + 1);
    12731273    end;
     
    12751275end;
    12761276
    1277 procedure LoweredTextOut(ca: TCanvas; cl: TColor; T: TTexture;
     1277procedure LoweredTextOut(Canvas: TCanvas; cl: TColor; T: TTexture;
    12781278  X, Y: Integer; S: string);
    12791279begin
    12801280  if cl = -2 then
    1281     BiColorTextOut(ca, (T.ColorBevelShade and $FEFEFE) shr 1,
     1281    BiColorTextOut(Canvas, (T.ColorBevelShade and $FEFEFE) shr 1,
    12821282      T.ColorBevelLight, X, Y, S)
    12831283  else if cl < 0 then
    1284     BiColorTextOut(ca, T.ColorTextShade, T.ColorTextLight, X, Y, S)
     1284    BiColorTextOut(Canvas, T.ColorTextShade, T.ColorTextLight, X, Y, S)
    12851285  else
    1286     BiColorTextOut(ca, cl, T.ColorTextLight, X, Y, S);
    1287 end;
    1288 
    1289 procedure RisedTextOut(ca: TCanvas; X, Y: Integer; S: string);
    1290 begin
    1291   BiColorTextOut(ca, $FFFFFF, $000000, X, Y, S);
    1292 end;
    1293 
    1294 procedure Gradient(ca: TCanvas; X, Y, dx, dy, Width, Height, Color: Integer;
     1286    BiColorTextOut(Canvas, cl, T.ColorTextLight, X, Y, S);
     1287end;
     1288
     1289procedure RisedTextOut(Canvas: TCanvas; X, Y: Integer; S: string);
     1290begin
     1291  BiColorTextOut(Canvas, $FFFFFF, $000000, X, Y, S);
     1292end;
     1293
     1294procedure Gradient(Canvas: TCanvas; X, Y, dx, dy, Width, Height, Color: Integer;
    12951295  Brightness: array of Integer);
    12961296var
     
    13131313    else if B >= 256 then
    13141314      B := 255;
    1315     ca.Pen.Color := R + G shl 8 + B shl 16;
    1316     ca.MoveTo(X + dx * I, Y + dy * I);
    1317     ca.LineTo(X + dx * I + Width, Y + dy * I + Height);
    1318   end;
    1319   ca.Pen.Color := $000000;
    1320   ca.MoveTo(X + 1, Y + 16 * dy + Height);
    1321   ca.LineTo(X + 16 * dx + Width, Y + 16 * dy + Height);
    1322   ca.LineTo(X + 16 * dx + Width, Y);
    1323 end;
    1324 
    1325 procedure LightGradient(ca: TCanvas; X, Y, Width, Color: Integer);
     1315    Canvas.Pen.Color := R + G shl 8 + B shl 16;
     1316    Canvas.MoveTo(X + dx * I, Y + dy * I);
     1317    Canvas.LineTo(X + dx * I + Width, Y + dy * I + Height);
     1318  end;
     1319  Canvas.Pen.Color := $000000;
     1320  Canvas.MoveTo(X + 1, Y + 16 * dy + Height);
     1321  Canvas.LineTo(X + 16 * dx + Width, Y + 16 * dy + Height);
     1322  Canvas.LineTo(X + 16 * dx + Width, Y);
     1323end;
     1324
     1325procedure LightGradient(Canvas: TCanvas; X, Y, Width, Color: Integer);
    13261326const
    13271327  Brightness: array [0 .. 15] of Integer =
    13281328    (16, 12, 8, 4, 0, -4, -8, -12, -16, -20, -24, -28, -32, -36, -40, -44);
    13291329begin
    1330   Gradient(ca, X, Y, 0, 1, Width, 0, Color, Brightness);
    1331 end;
    1332 
    1333 procedure DarkGradient(ca: TCanvas; X, Y, Width, Kind: Integer);
     1330  Gradient(Canvas, X, Y, 0, 1, Width, 0, Color, Brightness);
     1331end;
     1332
     1333procedure DarkGradient(Canvas: TCanvas; X, Y, Width, Kind: Integer);
    13341334const
    13351335  Brightness: array [0 .. 15] of Integer =
    13361336    (16, 12, 8, 4, 0, -4, -8, -12 - 24, -16 + 16, -20, -24, -28, -32, -36, -40, -44);
    13371337begin
    1338   Gradient(ca, X, Y, 0, 1, Width, 0, HGrSystem.Data.Canvas.Pixels
     1338  Gradient(Canvas, X, Y, 0, 1, Width, 0, HGrSystem.Data.Canvas.Pixels
    13391339    [187, 137 + Kind], Brightness);
    13401340end;
    13411341
    1342 procedure VLightGradient(ca: TCanvas; X, Y, Height, Color: Integer);
     1342procedure VLightGradient(Canvas: TCanvas; X, Y, Height, Color: Integer);
    13431343const
    13441344  Brightness: array [0 .. 15] of Integer =
    13451345    (16, 12, 8, 4, 0, -4, -8, -12, -16, -20, -24, -28, -32, -36, -40, -44);
    13461346begin
    1347   Gradient(ca, X, Y, 1, 0, 0, Height, Color, Brightness);
    1348 end;
    1349 
    1350 procedure VDarkGradient(ca: TCanvas; X, Y, Height, Kind: Integer);
     1347  Gradient(Canvas, X, Y, 1, 0, 0, Height, Color, Brightness);
     1348end;
     1349
     1350procedure VDarkGradient(Canvas: TCanvas; X, Y, Height, Kind: Integer);
    13511351const
    13521352  Brightness: array [0 .. 15] of Integer =
    13531353    (16, 12, 8, 4, 0, -4, -8, -12 - 24, -16 + 16, -20, -24, -28, -32, -36, -40, -44);
    13541354begin
    1355   Gradient(ca, X, Y, 1, 0, 0, Height,
     1355  Gradient(Canvas, X, Y, 1, 0, 0, Height,
    13561356    HGrSystem.Data.Canvas.Pixels[187, 137 + Kind], Brightness);
    13571357end;
     
    14761476end;
    14771477
    1478 procedure PaintProgressBar(ca: TCanvas; Kind, X, Y, Pos, Growth, Max: Integer;
     1478procedure PaintProgressBar(Canvas: TCanvas; Kind, X, Y, Pos, Growth, Max: Integer;
    14791479  T: TTexture);
    14801480var
     
    14941494  else if Pos + Growth > Max then
    14951495    Growth := Max - Pos;
    1496   Frame(ca, X - 1, Y - 1, X + Max, Y + 7, $000000, $000000);
    1497   RFrame(ca, X - 2, Y - 2, X + Max + 1, Y + 8, T.ColorBevelShade,
     1496  Frame(Canvas, X - 1, Y - 1, X + Max, Y + 7, $000000, $000000);
     1497  RFrame(Canvas, X - 2, Y - 2, X + Max + 1, Y + 8, T.ColorBevelShade,
    14981498    T.ColorBevelLight);
    1499   with ca do
     1499  with Canvas do
    15001500  begin
    15011501    for I := 0 to Pos div 8 - 1 do
    1502       BitBltCanvas(ca, X + I * 8, Y, 8, 7,
     1502      BitBltCanvas(Canvas, X + I * 8, Y, 8, 7,
    15031503        HGrSystem.Data.Canvas, 104, 9 + 8 * Kind);
    1504     BitBltCanvas(ca, X + 8 * (Pos div 8), Y, Pos - 8 * (Pos div 8), 7,
     1504    BitBltCanvas(Canvas, X + 8 * (Pos div 8), Y, Pos - 8 * (Pos div 8), 7,
    15051505      HGrSystem.Data.Canvas, 104, 9 + 8 * Kind);
    15061506    if Growth > 0 then
    15071507    begin
    15081508      for I := 0 to Growth div 8 - 1 do
    1509         BitBltCanvas(ca, X + Pos + I * 8, Y, 8, 7,
     1509        BitBltCanvas(Canvas, X + Pos + I * 8, Y, 8, 7,
    15101510          HGrSystem.Data.Canvas, 112, 9 + 8 * Kind);
    1511       BitBltCanvas(ca, X + Pos + 8 * (Growth div 8), Y,
     1511      BitBltCanvas(Canvas, X + Pos + 8 * (Growth div 8), Y,
    15121512        Growth - 8 * (Growth div 8), 7, HGrSystem.Data.Canvas,
    15131513        112, 9 + 8 * Kind);
     
    15161516    begin
    15171517      for I := 0 to -Growth div 8 - 1 do
    1518         BitBltCanvas(ca, X + Pos + I * 8, Y, 8, 7,
     1518        BitBltCanvas(Canvas, X + Pos + I * 8, Y, 8, 7,
    15191519          HGrSystem.Data.Canvas, 104, 1);
    1520       BitBltCanvas(ca, X + Pos + 8 * (-Growth div 8), Y, -Growth -
     1520      BitBltCanvas(Canvas, X + Pos + 8 * (-Growth div 8), Y, -Growth -
    15211521        8 * (-Growth div 8), 7,
    15221522        HGrSystem.Data.Canvas, 104, 1);
     
    15291529
    15301530// pos and growth are relative to max, set size independent
    1531 procedure PaintRelativeProgressBar(ca: TCanvas;
     1531procedure PaintRelativeProgressBar(Canvas: TCanvas;
    15321532  Kind, X, Y, size, Pos, Growth, Max: Integer; IndicateComplete: Boolean;
    15331533  T: TTexture);
    15341534begin
    15351535  if Growth > 0 then
    1536     PaintProgressBar(ca, Kind, X, Y, Pos * size div Max,
     1536    PaintProgressBar(Canvas, Kind, X, Y, Pos * size div Max,
    15371537      (Growth * size + Max div 2) div Max, size, T)
    15381538  else
    1539     PaintProgressBar(ca, Kind, X, Y, Pos * size div Max,
     1539    PaintProgressBar(Canvas, Kind, X, Y, Pos * size div Max,
    15401540      (Growth * size - Max div 2) div Max, size, T);
    15411541  if IndicateComplete and (Pos + Growth >= Max) then
    1542     Sprite(ca, HGrSystem, X + size - 10, Y - 7, 23, 16, 1, 129);
     1542    Sprite(Canvas, HGrSystem, X + size - 10, Y - 7, 23, 16, 1, 129);
    15431543end;
    15441544
     
    15911591  TexWidth := Texture.Width;
    15921592  TexHeight := Texture.Height;
    1593   DstPixel := PixelPointer(Dest);
    1594   SrcPixel := PixelPointer(Texture);
     1593  DstPixel := TPixelPointer.Create(Dest);
     1594  SrcPixel := TPixelPointer.Create(Texture);
    15951595  for Y := 0 to ScaleToNative(Dest.Height) - 1 do begin
    15961596    for X := 0 to ScaleToNative(Dest.Width) - 1 do begin
     
    16141614begin
    16151615  Bitmap.BeginUpdate;
    1616   PicturePixel := PixelPointer(Bitmap);
     1616  PicturePixel := TPixelPointer.Create(Bitmap);
    16171617  for Y := 0 to ScaleToNative(Bitmap.Height) - 1 do begin
    16181618    for X := 0 to ScaleToNative(Bitmap.Width) - 1 do begin
  • trunk/Packages/CevoComponents/Texture.pas

    r455 r456  
    1 unit UTexture;
    2 
    3 {$mode objfpc}{$H+}
     1unit Texture;
    42
    53interface
  • trunk/Packages/Common/AboutDialog.pas

    r455 r456  
    1 unit UAboutDialog;
     1unit AboutDialog;
    22
    33interface
     
    55uses
    66  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
    7   ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme, UFormAbout;
     7  ExtCtrls, ApplicationInfo, Common, Translator, Theme, FormAbout;
    88
    99type
     
    5050
    5151end.
    52 
    53 
  • trunk/Packages/Common/ApplicationInfo.pas

    r455 r456  
    1 unit UApplicationInfo;
     1unit ApplicationInfo;
    22
    33interface
    44
    55uses
    6   SysUtils, Classes, Forms, URegistry, Controls, Graphics, LCLType;
     6  SysUtils, Classes, Forms, RegistryEx, Controls, Graphics, LCLType;
    77
    88type
  • trunk/Packages/Common/Common.Delay.pas

    r455 r456  
    1 unit UDelay;
     1unit Common.Delay;
    22
    33interface
     
    7171
    7272end.
    73 
  • trunk/Packages/Common/Common.lpk

    r424 r456  
    4141Source: https://svn.zdechov.net/PascalClassLibrary/Common/"/>
    4242    <License Value="Copy left."/>
    43     <Version Minor="10"/>
    44     <Files Count="29">
     43    <Version Minor="11"/>
     44    <Files Count="33">
    4545      <Item1>
    4646        <Filename Value="StopWatch.pas"/>
     
    4848      </Item1>
    4949      <Item2>
    50         <Filename Value="UCommon.pas"/>
    51         <UnitName Value="UCommon"/>
     50        <Filename Value="Common.pas"/>
     51        <UnitName Value="Common"/>
    5252      </Item2>
    5353      <Item3>
    54         <Filename Value="UDebugLog.pas"/>
    55         <HasRegisterProc Value="True"/>
    56         <UnitName Value="UDebugLog"/>
     54        <Filename Value="DebugLog.pas"/>
     55        <HasRegisterProc Value="True"/>
     56        <UnitName Value="DebugLog"/>
    5757      </Item3>
    5858      <Item4>
    59         <Filename Value="UDelay.pas"/>
    60         <UnitName Value="UDelay"/>
     59        <Filename Value="Common.Delay.pas"/>
     60        <UnitName Value="Common.Delay"/>
    6161      </Item4>
    6262      <Item5>
    63         <Filename Value="UPrefixMultiplier.pas"/>
    64         <HasRegisterProc Value="True"/>
    65         <UnitName Value="UPrefixMultiplier"/>
     63        <Filename Value="PrefixMultiplier.pas"/>
     64        <HasRegisterProc Value="True"/>
     65        <UnitName Value="PrefixMultiplier"/>
    6666      </Item5>
    6767      <Item6>
    68         <Filename Value="UURI.pas"/>
    69         <UnitName Value="UURI"/>
     68        <Filename Value="URI.pas"/>
     69        <UnitName Value="URI"/>
    7070      </Item6>
    7171      <Item7>
    72         <Filename Value="UThreading.pas"/>
    73         <UnitName Value="UThreading"/>
     72        <Filename Value="Threading.pas"/>
     73        <UnitName Value="Threading"/>
    7474      </Item7>
    7575      <Item8>
    76         <Filename Value="UMemory.pas"/>
    77         <UnitName Value="UMemory"/>
     76        <Filename Value="Memory.pas"/>
     77        <UnitName Value="Memory"/>
    7878      </Item8>
    7979      <Item9>
    80         <Filename Value="UResetableThread.pas"/>
    81         <UnitName Value="UResetableThread"/>
     80        <Filename Value="ResetableThread.pas"/>
     81        <UnitName Value="ResetableThread"/>
    8282      </Item9>
    8383      <Item10>
    84         <Filename Value="UPool.pas"/>
    85         <UnitName Value="UPool"/>
     84        <Filename Value="Pool.pas"/>
     85        <UnitName Value="Pool"/>
    8686      </Item10>
    8787      <Item11>
    88         <Filename Value="ULastOpenedList.pas"/>
    89         <HasRegisterProc Value="True"/>
    90         <UnitName Value="ULastOpenedList"/>
     88        <Filename Value="LastOpenedList.pas"/>
     89        <HasRegisterProc Value="True"/>
     90        <UnitName Value="LastOpenedList"/>
    9191      </Item11>
    9292      <Item12>
    93         <Filename Value="URegistry.pas"/>
    94         <UnitName Value="URegistry"/>
     93        <Filename Value="RegistryEx.pas"/>
     94        <UnitName Value="RegistryEx"/>
    9595      </Item12>
    9696      <Item13>
    97         <Filename Value="UJobProgressView.pas"/>
    98         <HasRegisterProc Value="True"/>
    99         <UnitName Value="UJobProgressView"/>
     97        <Filename Value="JobProgressView.pas"/>
     98        <HasRegisterProc Value="True"/>
     99        <UnitName Value="JobProgressView"/>
    100100      </Item13>
    101101      <Item14>
    102         <Filename Value="UXMLUtils.pas"/>
    103         <UnitName Value="UXMLUtils"/>
     102        <Filename Value="XML.pas"/>
     103        <UnitName Value="XML"/>
    104104      </Item14>
    105105      <Item15>
    106         <Filename Value="UApplicationInfo.pas"/>
    107         <HasRegisterProc Value="True"/>
    108         <UnitName Value="UApplicationInfo"/>
     106        <Filename Value="ApplicationInfo.pas"/>
     107        <HasRegisterProc Value="True"/>
     108        <UnitName Value="ApplicationInfo"/>
    109109      </Item15>
    110110      <Item16>
    111         <Filename Value="USyncCounter.pas"/>
    112         <UnitName Value="USyncCounter"/>
     111        <Filename Value="SyncCounter.pas"/>
     112        <UnitName Value="SyncCounter"/>
    113113      </Item16>
    114114      <Item17>
    115         <Filename Value="UListViewSort.pas"/>
    116         <HasRegisterProc Value="True"/>
    117         <UnitName Value="UListViewSort"/>
     115        <Filename Value="ListViewSort.pas"/>
     116        <HasRegisterProc Value="True"/>
     117        <UnitName Value="ListViewSort"/>
    118118      </Item17>
    119119      <Item18>
    120         <Filename Value="UPersistentForm.pas"/>
    121         <HasRegisterProc Value="True"/>
    122         <UnitName Value="UPersistentForm"/>
     120        <Filename Value="PersistentForm.pas"/>
     121        <HasRegisterProc Value="True"/>
     122        <UnitName Value="PersistentForm"/>
    123123      </Item18>
    124124      <Item19>
    125         <Filename Value="UFindFile.pas"/>
    126         <HasRegisterProc Value="True"/>
    127         <UnitName Value="UFindFile"/>
     125        <Filename Value="FindFile.pas"/>
     126        <HasRegisterProc Value="True"/>
     127        <UnitName Value="FindFile"/>
    128128      </Item19>
    129129      <Item20>
    130         <Filename Value="UScaleDPI.pas"/>
    131         <HasRegisterProc Value="True"/>
    132         <UnitName Value="UScaleDPI"/>
     130        <Filename Value="ScaleDPI.pas"/>
     131        <HasRegisterProc Value="True"/>
     132        <UnitName Value="ScaleDPI"/>
    133133      </Item20>
    134134      <Item21>
    135         <Filename Value="UTheme.pas"/>
    136         <HasRegisterProc Value="True"/>
    137         <UnitName Value="UTheme"/>
     135        <Filename Value="Theme.pas"/>
     136        <HasRegisterProc Value="True"/>
     137        <UnitName Value="Theme"/>
    138138      </Item21>
    139139      <Item22>
    140         <Filename Value="UStringTable.pas"/>
    141         <UnitName Value="UStringTable"/>
     140        <Filename Value="StringTable.pas"/>
     141        <UnitName Value="StringTable"/>
    142142      </Item22>
    143143      <Item23>
    144         <Filename Value="UMetaCanvas.pas"/>
    145         <UnitName Value="UMetaCanvas"/>
     144        <Filename Value="MetaCanvas.pas"/>
     145        <UnitName Value="MetaCanvas"/>
    146146      </Item23>
    147147      <Item24>
    148         <Filename Value="UGeometric.pas"/>
    149         <UnitName Value="UGeometric"/>
     148        <Filename Value="Geometric.pas"/>
     149        <UnitName Value="Geometric"/>
    150150      </Item24>
    151151      <Item25>
    152         <Filename Value="UTranslator.pas"/>
    153         <HasRegisterProc Value="True"/>
    154         <UnitName Value="UTranslator"/>
     152        <Filename Value="Translator.pas"/>
     153        <HasRegisterProc Value="True"/>
     154        <UnitName Value="Translator"/>
    155155      </Item25>
    156156      <Item26>
    157         <Filename Value="ULanguages.pas"/>
    158         <UnitName Value="ULanguages"/>
     157        <Filename Value="Languages.pas"/>
     158        <UnitName Value="Languages"/>
    159159      </Item26>
    160160      <Item27>
    161         <Filename Value="UFormAbout.pas"/>
    162         <UnitName Value="UFormAbout"/>
     161        <Filename Value="FormAbout.pas"/>
     162        <UnitName Value="FormAbout"/>
    163163      </Item27>
    164164      <Item28>
    165         <Filename Value="UAboutDialog.pas"/>
    166         <HasRegisterProc Value="True"/>
    167         <UnitName Value="UAboutDialog"/>
     165        <Filename Value="AboutDialog.pas"/>
     166        <HasRegisterProc Value="True"/>
     167        <UnitName Value="AboutDialog"/>
    168168      </Item28>
    169169      <Item29>
    170         <Filename Value="UPixelPointer.pas"/>
    171         <UnitName Value="UPixelPointer"/>
     170        <Filename Value="PixelPointer.pas"/>
     171        <UnitName Value="PixelPointer"/>
    172172      </Item29>
     173      <Item30>
     174        <Filename Value="DataFile.pas"/>
     175        <UnitName Value="DataFile"/>
     176      </Item30>
     177      <Item31>
     178        <Filename Value="TestCase.pas"/>
     179        <UnitName Value="TestCase"/>
     180      </Item31>
     181      <Item32>
     182        <Filename Value="Generics.pas"/>
     183        <UnitName Value="Generics"/>
     184      </Item32>
     185      <Item33>
     186        <Filename Value="CommonPackage.pas"/>
     187        <Type Value="Main Unit"/>
     188        <UnitName Value="CommonPackage"/>
     189      </Item33>
    173190    </Files>
    174191    <CompatibilityMode Value="True"/>
  • trunk/Packages/Common/Common.pas

    r455 r456  
    1 unit UCommon;
     1unit Common;
    22
    33interface
     
    77  {$IFDEF UNIX}baseunix,{$ENDIF}
    88  Classes, SysUtils, StrUtils, Dialogs, Process, LCLIntf, Graphics,
    9   FileUtil; //, ShFolder, ShellAPI;
     9  FileUtil, Generics.Collections; //, ShFolder, ShellAPI;
    1010
    1111type
     
    4242  clLightRed = TColor($8080FF);
    4343
    44 function AddLeadingZeroes(const aNumber, Length : Integer) : string;
     44function AddLeadingZeroes(const aNumber, Length : integer) : string;
    4545function BinToInt(BinStr: string): Int64;
    4646function BinToHexString(Source: AnsiString): string;
     
    6565function GetFileFilterItemExt(Filter: string; Index: Integer): string;
    6666function IntToBin(Data: Int64; Count: Byte): string;
     67function Implode(Separator: Char; List: TList<string>): string;
    6768function LastPos(const SubStr: String; const S: String): Integer;
    6869function LoadFileToStr(const FileName: TFileName): AnsiString;
     
    9697function BinToInt(BinStr : string) : Int64;
    9798var
    98   I : Byte;
     99  i : byte;
    99100  RetVar : Int64;
    100101begin
    101102  BinStr := UpperCase(BinStr);
    102   if BinStr[Length(BinStr)] = 'B' then Delete(BinStr,Length(BinStr),1);
     103  if BinStr[length(BinStr)] = 'B' then Delete(BinStr,length(BinStr),1);
    103104  RetVar := 0;
    104   for I := 1 to Length(BinStr) do begin
    105     if not (BinStr[I] in ['0','1']) then begin
     105  for i := 1 to length(BinStr) do begin
     106    if not (BinStr[i] in ['0','1']) then begin
    106107      RetVar := 0;
    107108      Break;
    108109    end;
    109     RetVar := (RetVar shl 1) + (Byte(BinStr[I]) and 1) ;
     110    RetVar := (RetVar shl 1) + (byte(BinStr[i]) and 1) ;
    110111  end;
    111112
     
    313314end;
    314315
     316function Implode(Separator: Char; List: TList<string>): string;
     317var
     318  I: Integer;
     319begin
     320  Result := '';
     321  for I := 0 to List.Count - 1 do begin
     322    Result := Result + List[I];
     323    if I < List.Count - 1 then Result := Result + Separator;
     324  end;
     325end;
     326
    315327{$IFDEF WINDOWS}
    316328function GetUserName: string;
     
    435447end;
    436448
    437 function AddLeadingZeroes(const aNumber, Length : Integer) : string;
     449function AddLeadingZeroes(const aNumber, Length : integer) : string;
    438450begin
    439451  Result := SysUtils.Format('%.*d', [Length, aNumber]) ;
     
    614626  begin
    615627    for J := ReadFrom to Len do
    616       if (S[J] = C) then
     628      if (S[j] = C) then
    617629      begin
    618630        Result := J;
     
    631643    Inc(I);
    632644    APos := ReadUntil(I, '<');
    633     Result := Result + Copy(S, I, APos - I);
     645    Result := Result + Copy(S, I, APos - i);
    634646    I := ReadUntil(APos + 1, '>');
    635647  end;
  • trunk/Packages/Common/CommonPackage.pas

    r455 r456  
    33 }
    44
    5 unit Common;
     5unit CommonPackage;
    66
    77{$warn 5023 off : no warning about unused units}
     
    99
    1010uses
    11   StopWatch, UCommon, UDebugLog, UDelay, UPrefixMultiplier, UURI, UThreading,
    12   UMemory, UResetableThread, UPool, ULastOpenedList, URegistry,
    13   UJobProgressView, UXMLUtils, UApplicationInfo, USyncCounter, UListViewSort,
    14   UPersistentForm, UFindFile, UScaleDPI, UTheme, UStringTable, UMetaCanvas,
    15   UGeometric, UTranslator, ULanguages, UFormAbout, UAboutDialog,
    16   UPixelPointer, LazarusPackageIntf;
     11  StopWatch, Common, DebugLog, Common.Delay, PrefixMultiplier, URI, Threading,
     12  Memory, ResetableThread, Pool, LastOpenedList, RegistryEx, JobProgressView,
     13  XML, ApplicationInfo, SyncCounter, ListViewSort, PersistentForm, FindFile,
     14  ScaleDPI, Theme, StringTable, MetaCanvas, Geometric, Translator, Languages,
     15  FormAbout, AboutDialog, PixelPointer, DataFile, TestCase, Generics,
     16  LazarusPackageIntf;
    1717
    1818implementation
     
    2020procedure Register;
    2121begin
    22   RegisterUnit('UDebugLog', @UDebugLog.Register);
    23   RegisterUnit('UPrefixMultiplier', @UPrefixMultiplier.Register);
    24   RegisterUnit('ULastOpenedList', @ULastOpenedList.Register);
    25   RegisterUnit('UJobProgressView', @UJobProgressView.Register);
    26   RegisterUnit('UApplicationInfo', @UApplicationInfo.Register);
    27   RegisterUnit('UListViewSort', @UListViewSort.Register);
    28   RegisterUnit('UPersistentForm', @UPersistentForm.Register);
    29   RegisterUnit('UFindFile', @UFindFile.Register);
    30   RegisterUnit('UScaleDPI', @UScaleDPI.Register);
    31   RegisterUnit('UTheme', @UTheme.Register);
    32   RegisterUnit('UTranslator', @UTranslator.Register);
    33   RegisterUnit('UAboutDialog', @UAboutDialog.Register);
     22  RegisterUnit('DebugLog', @DebugLog.Register);
     23  RegisterUnit('PrefixMultiplier', @PrefixMultiplier.Register);
     24  RegisterUnit('LastOpenedList', @LastOpenedList.Register);
     25  RegisterUnit('JobProgressView', @JobProgressView.Register);
     26  RegisterUnit('ApplicationInfo', @ApplicationInfo.Register);
     27  RegisterUnit('ListViewSort', @ListViewSort.Register);
     28  RegisterUnit('PersistentForm', @PersistentForm.Register);
     29  RegisterUnit('FindFile', @FindFile.Register);
     30  RegisterUnit('ScaleDPI', @ScaleDPI.Register);
     31  RegisterUnit('Theme', @Theme.Register);
     32  RegisterUnit('Translator', @Translator.Register);
     33  RegisterUnit('AboutDialog', @AboutDialog.Register);
    3434end;
    3535
     
    3737  RegisterPackage('Common', @Register);
    3838end.
    39 
  • trunk/Packages/Common/DebugLog.pas

    r455 r456  
    1 unit UDebugLog;
     1unit DebugLog;
    22
    33interface
     
    134134
    135135end.
    136 
  • trunk/Packages/Common/FindFile.pas

    r455 r456  
    66Tired of using FindFirst, Next and Close?
    77Come see how to encapsulate all those functions
    8 in A Single "find-files-recursively" component.
     8in a single "find-files-recursively" component.
    99It's easy to use, free and with code.
    1010
     
    1919}
    2020
    21 unit UFindFile;
     21unit FindFile;
    2222
    2323interface
     
    3434  TFindFile = class(TComponent)
    3535  private
    36     S : TStringList;
    37     fSubFolder : Boolean;
     36    s : TStringList;
     37    fSubFolder : boolean;
    3838    fAttr: TFileAttrib;
    3939    fPath : string;
     
    4747  published
    4848    property FileAttr: TFileAttrib read fAttr write fAttr;
    49     property InSubFolders : Boolean read fSubFolder write fSubFolder;
     49    property InSubFolders : boolean read fSubFolder write fSubFolder;
    5050    property Path : string read fPath write SetPath;
    5151    property FileMask : string read fFileMask write fFileMask ;
     
    7979  FileMask := FilterAll;
    8080  FileAttr := [ffaAnyFile];
    81   S := TStringList.Create;
     81  s := TStringList.Create;
    8282end;
    8383
    8484destructor TFindFile.Destroy;
    8585begin
    86   S.Free;
    87   inherited Destroy;
     86  s.Free;
     87  inherited;
    8888end;
    8989
     
    101101function TFindFile.SearchForFiles: TStringList;
    102102begin
    103   S.Clear;
     103  s.Clear;
    104104  try
    105105    FileSearch(Path);
    106106  finally
    107     Result := S;
     107    Result := s;
    108108  end;
    109109end;
     
    111111procedure TFindFile.FileSearch(const InPath : string);
    112112var Rec  : TSearchRec;
    113     Attr : Integer;
     113    Attr : integer;
    114114begin
    115115  Attr := 0;
     
    125125  try
    126126    repeat
    127       S.Add(inPath + Rec.Name);
     127      s.Add(inPath + Rec.Name);
    128128    until SysUtils.FindNext(Rec) <> 0;
    129129  finally
     
    143143    SysUtils.FindClose(Rec);
    144144  end;
    145 end; 
     145end;
    146146
    147147end.
    148 
  • trunk/Packages/Common/FormAbout.lfm

    r455 r456  
    11object FormAbout: TFormAbout
    22  Left = 1014
    3   Height = 402
     3  Height = 349
    44  Top = 577
    5   Width = 702
     5  Width = 609
    66  Caption = 'About'
    7   ClientHeight = 402
    8   ClientWidth = 702
    9   DesignTimePPI = 144
    10   OnCreate = FormCreate
     7  ClientHeight = 349
     8  ClientWidth = 609
     9  DesignTimePPI = 125
    1110  OnShow = FormShow
    1211  Position = poScreenCenter
    13   LCLVersion = '2.0.10.0'
     12  LCLVersion = '2.2.4.0'
    1413  object LabelDescription: TLabel
    15     Left = 30
    16     Height = 24
    17     Top = 135
    18     Width = 642
     14    Left = 26
     15    Height = 22
     16    Top = 117
     17    Width = 557
    1918    Align = alTop
    20     BorderSpacing.Left = 30
    21     BorderSpacing.Right = 30
    22     BorderSpacing.Bottom = 30
     19    BorderSpacing.Left = 26
     20    BorderSpacing.Right = 26
     21    BorderSpacing.Bottom = 26
    2322    Caption = 'Description'
    2423    ParentColor = False
     
    2726  end
    2827  object LabelContent: TLabel
    29     Left = 30
    30     Height = 24
    31     Top = 189
    32     Width = 642
     28    Left = 26
     29    Height = 22
     30    Top = 165
     31    Width = 557
    3332    Align = alTop
    34     BorderSpacing.Around = 30
     33    BorderSpacing.Around = 26
    3534    Caption = '   '
    3635    ParentColor = False
     
    3938  object PanelTop: TPanel
    4039    Left = 0
    41     Height = 135
     40    Height = 117
    4241    Top = 0
    43     Width = 702
     42    Width = 609
    4443    Align = alTop
    4544    BevelOuter = bvNone
    46     ClientHeight = 135
    47     ClientWidth = 702
     45    ClientHeight = 117
     46    ClientWidth = 609
    4847    FullRepaint = False
    4948    ParentFont = False
    5049    TabOrder = 0
    5150    object LabelAppName: TLabel
    52       Left = 108
    53       Height = 84
    54       Top = 20
    55       Width = 564
     51      Left = 94
     52      Height = 73
     53      Top = 17
     54      Width = 489
    5655      Anchors = [akTop, akLeft, akRight]
    5756      AutoSize = False
    58       BorderSpacing.Around = 30
     57      BorderSpacing.Around = 26
    5958      Caption = 'Title'
    60       Font.Height = -60
     59      Font.Height = -52
    6160      ParentColor = False
    6261      ParentFont = False
     
    6463    end
    6564    object ImageLogo: TImage
    66       Left = 24
    67       Height = 74
    68       Top = 30
    69       Width = 72
     65      Left = 21
     66      Height = 64
     67      Top = 26
     68      Width = 62
    7069      Proportional = True
    7170      Stretch = True
     
    7473  object PanelButtons: TPanel
    7574    Left = 0
    76     Height = 75
    77     Top = 327
    78     Width = 702
     75    Height = 65
     76    Top = 284
     77    Width = 609
    7978    Align = alBottom
    8079    BevelOuter = bvNone
    81     ClientHeight = 75
    82     ClientWidth = 702
     80    ClientHeight = 65
     81    ClientWidth = 609
    8382    TabOrder = 1
    8483    object ButtonHomePage: TButton
    85       Left = 24
    86       Height = 38
    87       Top = 24
    88       Width = 264
     84      Left = 21
     85      Height = 33
     86      Top = 21
     87      Width = 229
    8988      Anchors = [akLeft, akBottom]
    9089      Caption = 'Home page'
     
    9493    end
    9594    object ButtonClose: TButton
    96       Left = 532
    97       Height = 38
    98       Top = 24
    99       Width = 140
     95      Left = 461
     96      Height = 33
     97      Top = 21
     98      Width = 122
    10099      Anchors = [akRight, akBottom]
    101100      Caption = 'Close'
  • trunk/Packages/Common/FormAbout.pas

    r455 r456  
    1 unit UFormAbout;
     1unit FormAbout;
    22
    33interface
     
    55uses
    66  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
    7   StdCtrls, ExtCtrls, UApplicationInfo, UCommon, UTranslator, UTheme;
     7  StdCtrls, ExtCtrls, ApplicationInfo, Common, Translator, Theme;
    88
    99type
     
    2020    PanelButtons: TPanel;
    2121    procedure ButtonHomePageClick(Sender: TObject);
    22     procedure FormCreate(Sender: TObject);
    2322    procedure FormShow(Sender: TObject);
    24   private
    25     { private declarations }
    2623  public
    2724    AboutDialog: TObject; //TAboutDialog
     
    3532
    3633uses
    37   UAboutDialog;
     34  AboutDialog;
    3835
    3936resourcestring
     
    7774end;
    7875
    79 procedure TFormAbout.FormCreate(Sender: TObject);
    80 begin
    81 end;
    82 
    8376end.
    84 
    85 
  • trunk/Packages/Common/Geometric.pas

    r455 r456  
    1 unit UGeometric;
     1unit Geometric;
    22
    33interface
     
    88type
    99  TPointArray = array of TPoint;
     10
     11  { TVector }
     12
     13  TVector = record
     14    Position: TPoint;
     15    Direction: TPoint;
     16    function GetLength: Double;
     17    function GetAngle: Double;
     18    procedure SetLength(Value: Double);
     19    class function Create(P1, P2: TPoint): TVector; static;
     20  end;
    1021
    1122function Distance(P1, P2: TPoint): Integer;
     
    1324function AddPoint(const P1, P2: TPoint): TPoint;
    1425function SubPoint(const P1, P2: TPoint): TPoint;
    15 function PointToLineDistance(const P, V, W: TPoint): Integer;
     26function PointToLineDistance(const P, V, W: TPoint; out Intersect: TPoint): Integer;
    1627function ComparePoint(P1, P2: TPoint): Boolean;
    1728function RotatePoint(Center, P: TPoint; Angle: Double): TPoint;
     
    5061end;
    5162
    52 function PointToLineDistance(const P, V, W: TPoint): Integer;
     63function PointToLineDistance(const P, V, W: TPoint; out Intersect: TPoint): Integer;
    5364var
    54   l2, T: Double;
     65  l2, t: Double;
    5566  tt: TPoint;
    5667begin
     
    6879  if T < 0 then begin
    6980    Result := Distance(P, V);       // Beyond the 'v' end of the segment
    70     exit;
     81    Intersect := V;
     82    Exit;
    7183  end
    7284  else if T > 1 then begin
    7385    Result := Distance(P, W);  // Beyond the 'w' end of the segment
     86    Intersect := W;
    7487    Exit;
    7588  end;
     
    7790  TT.Y := Trunc(V.Y + T * (W.Y - V.Y));
    7891  Result := Distance(P, TT);
     92  Intersect := TT;
    7993end;
    8094
     
    162176end;
    163177
     178{ TVector }
     179
     180function TVector.GetLength: Double;
     181begin
     182  Result := Sqrt(Sqr(Direction.X) + Sqr(Direction.Y));
     183end;
     184
     185function TVector.GetAngle: Double;
     186begin
     187  Result := ArcTan2(Direction.Y, Direction.X);
     188end;
     189
     190procedure TVector.SetLength(Value: Double);
     191var
     192  Angle: Double;
     193begin
     194  Angle := GetAngle;
     195  Direction := Point(Round(Cos(Angle) * Value),
     196    Round(Sin(Angle) * Value));
     197end;
     198
     199class function TVector.Create(P1, P2: TPoint): TVector;
     200begin
     201  Result.Position := P1;
     202  Result.Direction := Point(P2.X - P1.X, P2.Y - P1.Y);
     203end;
    164204
    165205end.
    166 
    167 
  • trunk/Packages/Common/JobProgressView.pas

    r455 r456  
    1 unit UJobProgressView;
     1unit JobProgressView;
    22
    33interface
     
    55uses
    66  SysUtils, Variants, Classes, Graphics, Controls, Forms, Syncobjs,
    7   Dialogs, ComCtrls, StdCtrls, ExtCtrls, Generics.Collections, UThreading, Math,
     7  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Generics.Collections, Threading, Math,
    88  DateUtils;
    99
     
    154154  end;
    155155
    156   //var
    157   //  FormJobProgressView: TFormJobProgressView;
    158 
    159156procedure Register;
    160157
     
    185182  try
    186183    try
    187       //raise Exception.Create('Exception in job');
    188184      ProgressView.CurrentJob.Method(Job);
    189185    except
     
    221217      for I := 0 to ListViewJobs.Items.Count - 1 do
    222218      begin
    223         ItemRect := ListViewJobs.Items[I].DisplayRect(drBounds);
     219        ItemRect := ListViewJobs.Items[i].DisplayRect(drBounds);
    224220        Maxh := Max(Maxh, ItemRect.Top + (ItemRect.Bottom - ItemRect.Top));
    225221      end;
     
    641637begin
    642638  FLock.Free;
    643   inherited Destroy;
     639  inherited;
    644640end;
    645641
  • trunk/Packages/Common/Languages.pas

    r455 r456  
    1 unit ULanguages;
     1unit Languages;
    22
    33interface
     
    443443
    444444end.
    445 
  • trunk/Packages/Common/Languages/DebugLog.cs.po

    r455 r456  
    1010"Content-Transfer-Encoding: 8bit\n"
    1111
    12 #: udebuglog.sfilenamenotdefined
     12#: debuglog.sfilenamenotdefined
     13#, fuzzy
     14msgctxt "debuglog.sfilenamenotdefined"
    1315msgid "Filename not defined"
    1416msgstr "Neurčen soubor"
  • trunk/Packages/Common/Languages/DebugLog.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: udebuglog.sfilenamenotdefined
     4#: debuglog.sfilenamenotdefined
    55msgid "Filename not defined"
    66msgstr ""
  • trunk/Packages/Common/Languages/FindFile.cs.po

    r455 r456  
    1212"X-Generator: Poedit 1.8.9\n"
    1313
    14 #: ufindfile.sdirnotfound
     14#: findfile.sdirnotfound
     15#, fuzzy
     16msgctxt "findfile.sdirnotfound"
    1517msgid "Directory not found"
    1618msgstr "Adresář nenalezen"
  • trunk/Packages/Common/Languages/FindFile.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: ufindfile.sdirnotfound
     4#: findfile.sdirnotfound
    55msgid "Directory not found"
    66msgstr ""
  • trunk/Packages/Common/Languages/FormAbout.cs.po

    r455 r456  
    1212"X-Generator: Poedit 2.4.1\n"
    1313
    14 #: uformabout.slicense
     14#: formabout.slicense
     15#, fuzzy
     16msgctxt "formabout.slicense"
    1517msgid "License"
    1618msgstr "Licence"
    1719
    18 #: uformabout.sreleasedate
     20#: formabout.sreleasedate
     21#, fuzzy
     22msgctxt "formabout.sreleasedate"
    1923msgid "Release date"
    2024msgstr "Datum uvolnění"
    2125
    22 #: uformabout.sversion
     26#: formabout.sversion
     27#, fuzzy
     28msgctxt "formabout.sversion"
    2329msgid "Version"
    2430msgstr "Verze"
  • trunk/Packages/Common/Languages/FormAbout.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: uformabout.slicense
     4#: formabout.slicense
    55msgid "License"
    66msgstr ""
    77
    8 #: uformabout.sreleasedate
     8#: formabout.sreleasedate
    99msgid "Release date"
    1010msgstr ""
    1111
    12 #: uformabout.sversion
     12#: formabout.sversion
    1313msgid "Version"
    1414msgstr ""
  • trunk/Packages/Common/Languages/JobProgressView.cs.po

    r455 r456  
    1212"X-Generator: Poedit 2.2\n"
    1313
    14 #: ujobprogressview.sestimatedtime
    15 #, object-pascal-format
     14#: jobprogressview.sestimatedtime
     15#, object-pascal-format, fuzzy
     16msgctxt "jobprogressview.sestimatedtime"
    1617msgid "Estimated time: %s"
    1718msgstr "Odhadovaný čas: %s"
    1819
    19 #: ujobprogressview.sexecuted
     20#: jobprogressview.sexecuted
     21#, fuzzy
     22msgctxt "jobprogressview.sexecuted"
    2023msgid "Executed"
    2124msgstr "Vykonané"
    2225
    23 #: ujobprogressview.sfinished
     26#: jobprogressview.sfinished
     27#, fuzzy
     28msgctxt "jobprogressview.sfinished"
    2429msgid "Finished"
    2530msgstr "Dokončené"
    2631
    27 #: ujobprogressview.spleasewait
     32#: jobprogressview.spleasewait
     33#, fuzzy
     34msgctxt "jobprogressview.spleasewait"
    2835msgid "Please wait..."
    2936msgstr "Prosím čekejte..."
    3037
    31 #: ujobprogressview.sterminate
     38#: jobprogressview.sterminate
     39#, fuzzy
     40msgctxt "jobprogressview.sterminate"
    3241msgid "Termination"
    3342msgstr "Přerušení"
    3443
    35 #: ujobprogressview.stotalestimatedtime
    36 #, object-pascal-format
     44#: jobprogressview.stotalestimatedtime
     45#, object-pascal-format, fuzzy
     46msgctxt "jobprogressview.stotalestimatedtime"
    3747msgid "Total estimated time: %s"
    3848msgstr "Celkový odhadovaný čas: %s"
  • trunk/Packages/Common/Languages/JobProgressView.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: ujobprogressview.sestimatedtime
     4#: jobprogressview.sestimatedtime
    55#, object-pascal-format
    66msgid "Estimated time: %s"
    77msgstr ""
    88
    9 #: ujobprogressview.sexecuted
     9#: jobprogressview.sexecuted
    1010msgid "Executed"
    1111msgstr ""
    1212
    13 #: ujobprogressview.sfinished
     13#: jobprogressview.sfinished
    1414msgid "Finished"
    1515msgstr ""
    1616
    17 #: ujobprogressview.spleasewait
     17#: jobprogressview.spleasewait
    1818msgid "Please wait..."
    1919msgstr ""
    2020
    21 #: ujobprogressview.sterminate
     21#: jobprogressview.sterminate
    2222msgid "Termination"
    2323msgstr ""
    2424
    25 #: ujobprogressview.stotalestimatedtime
     25#: jobprogressview.stotalestimatedtime
    2626#, object-pascal-format
    2727msgid "Total estimated time: %s"
  • trunk/Packages/Common/Languages/Languages.cs.po

    r455 r456  
    1010"Content-Transfer-Encoding: 8bit\n"
    1111
    12 #: ulanguages.slangauto
     12#: languages.slangauto
     13#, fuzzy
     14msgctxt "languages.slangauto"
    1315msgid "Automatic"
    1416msgstr "Automaticky"
    1517
    16 #: ulanguages.slang_aa
     18#: languages.slang_aa
     19msgctxt "languages.slang_aa"
    1720msgid "Afar"
    1821msgstr ""
    1922
    20 #: ulanguages.slang_ab
     23#: languages.slang_ab
     24#, fuzzy
     25msgctxt "languages.slang_ab"
    2126msgid "Abkhazian"
    2227msgstr "Abcházština"
    2328
    24 #: ulanguages.slang_ae
     29#: languages.slang_ae
     30msgctxt "languages.slang_ae"
    2531msgid "Avestan"
    2632msgstr ""
    2733
    28 #: ulanguages.slang_af
     34#: languages.slang_af
     35#, fuzzy
     36msgctxt "languages.slang_af"
    2937msgid "Afrikaans"
    3038msgstr "Afrikánština"
    3139
    32 #: ulanguages.slang_ak
     40#: languages.slang_ak
     41msgctxt "languages.slang_ak"
    3342msgid "Akan"
    3443msgstr ""
    3544
    36 #: ulanguages.slang_am
     45#: languages.slang_am
     46msgctxt "languages.slang_am"
    3747msgid "Amharic"
    3848msgstr ""
    3949
    40 #: ulanguages.slang_an
     50#: languages.slang_an
     51msgctxt "languages.slang_an"
    4152msgid "Aragonese"
    4253msgstr ""
    4354
    44 #: ulanguages.slang_ar
     55#: languages.slang_ar
     56#, fuzzy
     57msgctxt "languages.slang_ar"
    4558msgid "Arabic"
    4659msgstr "Arabština"
    4760
    48 #: ulanguages.slang_as
     61#: languages.slang_as
     62msgctxt "languages.slang_as"
    4963msgid "Assamese"
    5064msgstr ""
    5165
    52 #: ulanguages.slang_av
     66#: languages.slang_av
     67msgctxt "languages.slang_av"
    5368msgid "Avaric"
    5469msgstr ""
    5570
    56 #: ulanguages.slang_ay
     71#: languages.slang_ay
     72msgctxt "languages.slang_ay"
    5773msgid "Aymara"
    5874msgstr ""
    5975
    60 #: ulanguages.slang_az
     76#: languages.slang_az
     77msgctxt "languages.slang_az"
    6178msgid "Azerbaijani"
    6279msgstr ""
    6380
    64 #: ulanguages.slang_ba
     81#: languages.slang_ba
     82msgctxt "languages.slang_ba"
    6583msgid "Bashkir"
    6684msgstr ""
    6785
    68 #: ulanguages.slang_be
     86#: languages.slang_be
     87msgctxt "languages.slang_be"
    6988msgid "Belarusian"
    7089msgstr ""
    7190
    72 #: ulanguages.slang_bg
     91#: languages.slang_bg
     92#, fuzzy
     93msgctxt "languages.slang_bg"
    7394msgid "Bulgarian"
    7495msgstr "Maďarština"
    7596
    76 #: ulanguages.slang_bh
     97#: languages.slang_bh
     98msgctxt "languages.slang_bh"
    7799msgid "Bihari"
    78100msgstr ""
    79101
    80 #: ulanguages.slang_bi
     102#: languages.slang_bi
     103msgctxt "languages.slang_bi"
    81104msgid "Bislama"
    82105msgstr ""
    83106
    84 #: ulanguages.slang_bm
     107#: languages.slang_bm
     108msgctxt "languages.slang_bm"
    85109msgid "Bambara"
    86110msgstr ""
    87111
    88 #: ulanguages.slang_bn
     112#: languages.slang_bn
     113msgctxt "languages.slang_bn"
    89114msgid "Bengali"
    90115msgstr ""
    91116
    92 #: ulanguages.slang_bo
     117#: languages.slang_bo
     118#, fuzzy
     119msgctxt "languages.slang_bo"
    93120msgid "Tibetan"
    94121msgstr "Tibetština"
    95122
    96 #: ulanguages.slang_br
     123#: languages.slang_br
     124msgctxt "languages.slang_br"
    97125msgid "Breton"
    98126msgstr ""
    99127
    100 #: ulanguages.slang_bs
     128#: languages.slang_bs
     129msgctxt "languages.slang_bs"
    101130msgid "Bosnian"
    102131msgstr ""
    103132
    104 #: ulanguages.slang_ca
     133#: languages.slang_ca
     134#, fuzzy
     135msgctxt "languages.slang_ca"
    105136msgid "Catalan"
    106137msgstr "Katalánština"
    107138
    108 #: ulanguages.slang_ce
     139#: languages.slang_ce
     140msgctxt "languages.slang_ce"
    109141msgid "Chechen"
    110142msgstr ""
    111143
    112 #: ulanguages.slang_ch
     144#: languages.slang_ch
     145msgctxt "languages.slang_ch"
    113146msgid "Chamorro"
    114147msgstr ""
    115148
    116 #: ulanguages.slang_co
     149#: languages.slang_co
     150msgctxt "languages.slang_co"
    117151msgid "Corsican"
    118152msgstr ""
    119153
    120 #: ulanguages.slang_cr
     154#: languages.slang_cr
     155#, fuzzy
     156msgctxt "languages.slang_cr"
    121157msgid "Cree"
    122158msgstr "Kríjština"
    123159
    124 #: ulanguages.slang_cs
     160#: languages.slang_cs
     161#, fuzzy
     162msgctxt "languages.slang_cs"
    125163msgid "Czech"
    126164msgstr "Čeština"
    127165
    128 #: ulanguages.slang_cv
     166#: languages.slang_cv
     167msgctxt "languages.slang_cv"
    129168msgid "Chuvash"
    130169msgstr ""
    131170
    132 #: ulanguages.slang_cy
     171#: languages.slang_cy
     172msgctxt "languages.slang_cy"
    133173msgid "Welsh"
    134174msgstr ""
    135175
    136 #: ulanguages.slang_da
     176#: languages.slang_da
     177#, fuzzy
     178msgctxt "languages.slang_da"
    137179msgid "Danish"
    138180msgstr "Dánština"
    139181
    140 #: ulanguages.slang_de
     182#: languages.slang_de
     183#, fuzzy
     184msgctxt "languages.slang_de"
    141185msgid "German"
    142186msgstr "Němčina"
    143187
    144 #: ulanguages.slang_de_at
     188#: languages.slang_de_at
     189#, fuzzy
     190msgctxt "languages.slang_de_at"
    145191msgid "Austrian German"
    146192msgstr "Australská němčina"
    147193
    148 #: ulanguages.slang_de_ch
     194#: languages.slang_de_ch
     195#, fuzzy
     196msgctxt "languages.slang_de_ch"
    149197msgid "Swiss German"
    150198msgstr "Švédská němčina"
    151199
    152 #: ulanguages.slang_dv
     200#: languages.slang_dv
     201msgctxt "languages.slang_dv"
    153202msgid "Divehi"
    154203msgstr ""
    155204
    156 #: ulanguages.slang_dz
     205#: languages.slang_dz
     206msgctxt "languages.slang_dz"
    157207msgid "Dzongkha"
    158208msgstr ""
    159209
    160 #: ulanguages.slang_ee
     210#: languages.slang_ee
     211msgctxt "languages.slang_ee"
    161212msgid "Ewe"
    162213msgstr ""
    163214
    164 #: ulanguages.slang_el
     215#: languages.slang_el
     216#, fuzzy
     217msgctxt "languages.slang_el"
    165218msgid "Greek"
    166219msgstr "Řečtina"
    167220
    168 #: ulanguages.slang_en
     221#: languages.slang_en
     222#, fuzzy
     223msgctxt "languages.slang_en"
    169224msgid "English"
    170225msgstr "Angličtina"
    171226
    172 #: ulanguages.slang_en_au
     227#: languages.slang_en_au
     228#, fuzzy
     229msgctxt "languages.slang_en_au"
    173230msgid "Australian English"
    174231msgstr "Australská angličtina"
    175232
    176 #: ulanguages.slang_en_ca
     233#: languages.slang_en_ca
     234#, fuzzy
     235msgctxt "languages.slang_en_ca"
    177236msgid "Canadian English"
    178237msgstr "Kanadská angličtina"
    179238
    180 #: ulanguages.slang_en_gb
     239#: languages.slang_en_gb
     240#, fuzzy
     241msgctxt "languages.slang_en_gb"
    181242msgid "British English"
    182243msgstr "Britská angličtina"
    183244
    184 #: ulanguages.slang_en_us
     245#: languages.slang_en_us
     246#, fuzzy
     247msgctxt "languages.slang_en_us"
    185248msgid "American English"
    186249msgstr "Americká angličtina"
    187250
    188 #: ulanguages.slang_eo
     251#: languages.slang_eo
     252#, fuzzy
     253msgctxt "languages.slang_eo"
    189254msgid "Esperanto"
    190255msgstr "Esperanto"
    191256
    192 #: ulanguages.slang_es
     257#: languages.slang_es
     258#, fuzzy
     259msgctxt "languages.slang_es"
    193260msgid "Spanish"
    194261msgstr "Španělština"
    195262
    196 #: ulanguages.slang_et
     263#: languages.slang_et
     264#, fuzzy
     265msgctxt "languages.slang_et"
    197266msgid "Estonian"
    198267msgstr "Estonština"
    199268
    200 #: ulanguages.slang_eu
     269#: languages.slang_eu
     270msgctxt "languages.slang_eu"
    201271msgid "Basque"
    202272msgstr ""
    203273
    204 #: ulanguages.slang_fa
     274#: languages.slang_fa
     275#, fuzzy
     276msgctxt "languages.slang_fa"
    205277msgid "Persian"
    206278msgstr "Perština"
    207279
    208 #: ulanguages.slang_ff
     280#: languages.slang_ff
     281msgctxt "languages.slang_ff"
    209282msgid "Fulah"
    210283msgstr ""
    211284
    212 #: ulanguages.slang_fi
     285#: languages.slang_fi
     286#, fuzzy
     287msgctxt "languages.slang_fi"
    213288msgid "Finnish"
    214289msgstr "Finština"
    215290
    216 #: ulanguages.slang_fj
     291#: languages.slang_fj
     292msgctxt "languages.slang_fj"
    217293msgid "Fijian"
    218294msgstr ""
    219295
    220 #: ulanguages.slang_fo
     296#: languages.slang_fo
     297msgctxt "languages.slang_fo"
    221298msgid "Faroese"
    222299msgstr ""
    223300
    224 #: ulanguages.slang_fr
     301#: languages.slang_fr
     302#, fuzzy
     303msgctxt "languages.slang_fr"
    225304msgid "French"
    226305msgstr "Francouzština"
    227306
    228 #: ulanguages.slang_fr_be
    229 msgctxt "ulanguages.slang_fr_be"
     307#: languages.slang_fr_be
     308msgctxt "languages.slang_fr_be"
    230309msgid "Walloon"
    231310msgstr ""
    232311
    233 #: ulanguages.slang_fy
     312#: languages.slang_fy
     313msgctxt "languages.slang_fy"
    234314msgid "Frisian"
    235315msgstr ""
    236316
    237 #: ulanguages.slang_ga
     317#: languages.slang_ga
     318#, fuzzy
     319msgctxt "languages.slang_ga"
    238320msgid "Irish"
    239321msgstr "Irština"
    240322
    241 #: ulanguages.slang_gd
     323#: languages.slang_gd
     324msgctxt "languages.slang_gd"
    242325msgid "Gaelic"
    243326msgstr ""
    244327
    245 #: ulanguages.slang_gl
     328#: languages.slang_gl
     329msgctxt "languages.slang_gl"
    246330msgid "Gallegan"
    247331msgstr ""
    248332
    249 #: ulanguages.slang_gn
     333#: languages.slang_gn
     334msgctxt "languages.slang_gn"
    250335msgid "Guarani"
    251336msgstr ""
    252337
    253 #: ulanguages.slang_gu
     338#: languages.slang_gu
     339msgctxt "languages.slang_gu"
    254340msgid "Gujarati"
    255341msgstr ""
    256342
    257 #: ulanguages.slang_gv
     343#: languages.slang_gv
     344msgctxt "languages.slang_gv"
    258345msgid "Manx"
    259346msgstr ""
    260347
    261 #: ulanguages.slang_ha
     348#: languages.slang_ha
     349msgctxt "languages.slang_ha"
    262350msgid "Hausa"
    263351msgstr ""
    264352
    265 #: ulanguages.slang_he
     353#: languages.slang_he
     354#, fuzzy
     355msgctxt "languages.slang_he"
    266356msgid "Hebrew"
    267357msgstr "Hebrejština"
    268358
    269 #: ulanguages.slang_hi
     359#: languages.slang_hi
     360msgctxt "languages.slang_hi"
    270361msgid "Hindi"
    271362msgstr ""
    272363
    273 #: ulanguages.slang_ho
     364#: languages.slang_ho
     365msgctxt "languages.slang_ho"
    274366msgid "Hiri Motu"
    275367msgstr ""
    276368
    277 #: ulanguages.slang_hr
     369#: languages.slang_hr
     370#, fuzzy
     371msgctxt "languages.slang_hr"
    278372msgid "Croatian"
    279373msgstr "Chorvatština"
    280374
    281 #: ulanguages.slang_ht
     375#: languages.slang_ht
     376msgctxt "languages.slang_ht"
    282377msgid "Haitian"
    283378msgstr ""
    284379
    285 #: ulanguages.slang_hu
     380#: languages.slang_hu
     381#, fuzzy
     382msgctxt "languages.slang_hu"
    286383msgid "Hungarian"
    287384msgstr "Maďarština"
    288385
    289 #: ulanguages.slang_hy
     386#: languages.slang_hy
     387#, fuzzy
     388msgctxt "languages.slang_hy"
    290389msgid "Armenian"
    291390msgstr "Arménština"
    292391
    293 #: ulanguages.slang_hz
     392#: languages.slang_hz
     393msgctxt "languages.slang_hz"
    294394msgid "Herero"
    295395msgstr ""
    296396
    297 #: ulanguages.slang_ia
     397#: languages.slang_ia
     398msgctxt "languages.slang_ia"
    298399msgid "Interlingua"
    299400msgstr ""
    300401
    301 #: ulanguages.slang_id
     402#: languages.slang_id
     403msgctxt "languages.slang_id"
    302404msgid "Indonesian"
    303405msgstr ""
    304406
    305 #: ulanguages.slang_ie
     407#: languages.slang_ie
     408msgctxt "languages.slang_ie"
    306409msgid "Interlingue"
    307410msgstr ""
    308411
    309 #: ulanguages.slang_ig
     412#: languages.slang_ig
     413msgctxt "languages.slang_ig"
    310414msgid "Igbo"
    311415msgstr ""
    312416
    313 #: ulanguages.slang_ii
     417#: languages.slang_ii
     418msgctxt "languages.slang_ii"
    314419msgid "Sichuan Yi"
    315420msgstr ""
    316421
    317 #: ulanguages.slang_ik
     422#: languages.slang_ik
     423msgctxt "languages.slang_ik"
    318424msgid "Inupiaq"
    319425msgstr ""
    320426
    321 #: ulanguages.slang_io
     427#: languages.slang_io
     428msgctxt "languages.slang_io"
    322429msgid "Ido"
    323430msgstr ""
    324431
    325 #: ulanguages.slang_is
     432#: languages.slang_is
     433#, fuzzy
     434msgctxt "languages.slang_is"
    326435msgid "Icelandic"
    327436msgstr "Islandština"
    328437
    329 #: ulanguages.slang_it
     438#: languages.slang_it
     439#, fuzzy
     440msgctxt "languages.slang_it"
    330441msgid "Italian"
    331442msgstr "Italština"
    332443
    333 #: ulanguages.slang_iu
     444#: languages.slang_iu
     445msgctxt "languages.slang_iu"
    334446msgid "Inuktitut"
    335447msgstr ""
    336448
    337 #: ulanguages.slang_ja
     449#: languages.slang_ja
     450#, fuzzy
     451msgctxt "languages.slang_ja"
    338452msgid "Japanese"
    339453msgstr "Japonština"
    340454
    341 #: ulanguages.slang_jv
     455#: languages.slang_jv
     456msgctxt "languages.slang_jv"
    342457msgid "Javanese"
    343458msgstr ""
    344459
    345 #: ulanguages.slang_ka
     460#: languages.slang_ka
     461#, fuzzy
     462msgctxt "languages.slang_ka"
    346463msgid "Georgian"
    347464msgstr "Gruzínština"
    348465
    349 #: ulanguages.slang_kg
     466#: languages.slang_kg
     467#, fuzzy
     468msgctxt "languages.slang_kg"
    350469msgid "Kongo"
    351470msgstr "Konžština"
    352471
    353 #: ulanguages.slang_ki
     472#: languages.slang_ki
     473msgctxt "languages.slang_ki"
    354474msgid "Kikuyu"
    355475msgstr ""
    356476
    357 #: ulanguages.slang_kj
     477#: languages.slang_kj
     478msgctxt "languages.slang_kj"
    358479msgid "Kuanyama"
    359480msgstr ""
    360481
    361 #: ulanguages.slang_kk
     482#: languages.slang_kk
     483msgctxt "languages.slang_kk"
    362484msgid "Kazakh"
    363485msgstr ""
    364486
    365 #: ulanguages.slang_kl
     487#: languages.slang_kl
     488#, fuzzy
     489msgctxt "languages.slang_kl"
    366490msgid "Greenlandic"
    367491msgstr "Grónština"
    368492
    369 #: ulanguages.slang_km
     493#: languages.slang_km
     494msgctxt "languages.slang_km"
    370495msgid "Khmer"
    371496msgstr ""
    372497
    373 #: ulanguages.slang_kn
     498#: languages.slang_kn
     499#, fuzzy
     500msgctxt "languages.slang_kn"
    374501msgid "Kannada"
    375502msgstr "Kannadština"
    376503
    377 #: ulanguages.slang_ko
     504#: languages.slang_ko
     505#, fuzzy
     506msgctxt "languages.slang_ko"
    378507msgid "Korean"
    379508msgstr "Korejština"
    380509
    381 #: ulanguages.slang_kr
     510#: languages.slang_kr
     511msgctxt "languages.slang_kr"
    382512msgid "Kanuri"
    383513msgstr ""
    384514
    385 #: ulanguages.slang_ks
     515#: languages.slang_ks
     516msgctxt "languages.slang_ks"
    386517msgid "Kashmiri"
    387518msgstr ""
    388519
    389 #: ulanguages.slang_ku
     520#: languages.slang_ku
     521msgctxt "languages.slang_ku"
    390522msgid "Kurdish"
    391523msgstr ""
    392524
    393 #: ulanguages.slang_kv
     525#: languages.slang_kv
     526msgctxt "languages.slang_kv"
    394527msgid "Komi"
    395528msgstr ""
    396529
    397 #: ulanguages.slang_kw
     530#: languages.slang_kw
     531#, fuzzy
     532msgctxt "languages.slang_kw"
    398533msgid "Cornish"
    399534msgstr "Kornština"
    400535
    401 #: ulanguages.slang_ky
     536#: languages.slang_ky
     537msgctxt "languages.slang_ky"
    402538msgid "Kirghiz"
    403539msgstr ""
    404540
    405 #: ulanguages.slang_la
     541#: languages.slang_la
     542#, fuzzy
     543msgctxt "languages.slang_la"
    406544msgid "Latin"
    407545msgstr "Latina"
    408546
    409 #: ulanguages.slang_lb
     547#: languages.slang_lb
     548#, fuzzy
     549msgctxt "languages.slang_lb"
    410550msgid "Luxembourgish"
    411551msgstr "Lucemburština"
    412552
    413 #: ulanguages.slang_lg
     553#: languages.slang_lg
     554msgctxt "languages.slang_lg"
    414555msgid "Ganda"
    415556msgstr ""
    416557
    417 #: ulanguages.slang_li
     558#: languages.slang_li
     559msgctxt "languages.slang_li"
    418560msgid "Limburgan"
    419561msgstr ""
    420562
    421 #: ulanguages.slang_ln
     563#: languages.slang_ln
     564msgctxt "languages.slang_ln"
    422565msgid "Lingala"
    423566msgstr ""
    424567
    425 #: ulanguages.slang_lo
     568#: languages.slang_lo
     569#, fuzzy
     570msgctxt "languages.slang_lo"
    426571msgid "Lao"
    427572msgstr "Laoština"
    428573
    429 #: ulanguages.slang_lt
     574#: languages.slang_lt
     575#, fuzzy
     576msgctxt "languages.slang_lt"
    430577msgid "Lithuanian"
    431578msgstr "Litevština"
    432579
    433 #: ulanguages.slang_lu
     580#: languages.slang_lu
     581msgctxt "languages.slang_lu"
    434582msgid "Luba-Katanga"
    435583msgstr ""
    436584
    437 #: ulanguages.slang_lv
     585#: languages.slang_lv
     586#, fuzzy
     587msgctxt "languages.slang_lv"
    438588msgid "Latvian"
    439589msgstr "Lotyština"
    440590
    441 #: ulanguages.slang_mg
     591#: languages.slang_mg
     592msgctxt "languages.slang_mg"
    442593msgid "Malagasy"
    443594msgstr ""
    444595
    445 #: ulanguages.slang_mh
     596#: languages.slang_mh
     597msgctxt "languages.slang_mh"
    446598msgid "Marshallese"
    447599msgstr ""
    448600
    449 #: ulanguages.slang_mi
     601#: languages.slang_mi
     602msgctxt "languages.slang_mi"
    450603msgid "Maori"
    451604msgstr ""
    452605
    453 #: ulanguages.slang_mk
     606#: languages.slang_mk
     607#, fuzzy
     608msgctxt "languages.slang_mk"
    454609msgid "Macedonian"
    455610msgstr "Makedonština"
    456611
    457 #: ulanguages.slang_ml
     612#: languages.slang_ml
     613msgctxt "languages.slang_ml"
    458614msgid "Malayalam"
    459615msgstr ""
    460616
    461 #: ulanguages.slang_mn
     617#: languages.slang_mn
     618#, fuzzy
     619msgctxt "languages.slang_mn"
    462620msgid "Mongolian"
    463621msgstr "Mongolština"
    464622
    465 #: ulanguages.slang_mo
     623#: languages.slang_mo
     624#, fuzzy
     625msgctxt "languages.slang_mo"
    466626msgid "Moldavian"
    467627msgstr "Moldavština"
    468628
    469 #: ulanguages.slang_mr
     629#: languages.slang_mr
     630msgctxt "languages.slang_mr"
    470631msgid "Marathi"
    471632msgstr ""
    472633
    473 #: ulanguages.slang_ms
     634#: languages.slang_ms
     635msgctxt "languages.slang_ms"
    474636msgid "Malay"
    475637msgstr ""
    476638
    477 #: ulanguages.slang_mt
     639#: languages.slang_mt
     640msgctxt "languages.slang_mt"
    478641msgid "Maltese"
    479642msgstr ""
    480643
    481 #: ulanguages.slang_my
     644#: languages.slang_my
     645msgctxt "languages.slang_my"
    482646msgid "Burmese"
    483647msgstr ""
    484648
    485 #: ulanguages.slang_na
     649#: languages.slang_na
     650msgctxt "languages.slang_na"
    486651msgid "Nauru"
    487652msgstr ""
    488653
    489 #: ulanguages.slang_nb
     654#: languages.slang_nb
     655msgctxt "languages.slang_nb"
    490656msgid "Norwegian Bokmaal"
    491657msgstr ""
    492658
    493 #: ulanguages.slang_nd
     659#: languages.slang_nd
     660msgctxt "languages.slang_nd"
    494661msgid "Ndebele, North"
    495662msgstr ""
    496663
    497 #: ulanguages.slang_ne
     664#: languages.slang_ne
     665msgctxt "languages.slang_ne"
    498666msgid "Nepali"
    499667msgstr ""
    500668
    501 #: ulanguages.slang_ng
     669#: languages.slang_ng
     670msgctxt "languages.slang_ng"
    502671msgid "Ndonga"
    503672msgstr ""
    504673
    505 #: ulanguages.slang_nl
     674#: languages.slang_nl
     675#, fuzzy
     676msgctxt "languages.slang_nl"
    506677msgid "Dutch"
    507678msgstr "Němčina"
    508679
    509 #: ulanguages.slang_nl_be
     680#: languages.slang_nl_be
     681msgctxt "languages.slang_nl_be"
    510682msgid "Flemish"
    511683msgstr ""
    512684
    513 #: ulanguages.slang_nn
     685#: languages.slang_nn
     686msgctxt "languages.slang_nn"
    514687msgid "Norwegian Nynorsk"
    515688msgstr ""
    516689
    517 #: ulanguages.slang_no
     690#: languages.slang_no
     691#, fuzzy
     692msgctxt "languages.slang_no"
    518693msgid "Norwegian"
    519694msgstr "Norština"
    520695
    521 #: ulanguages.slang_nr
     696#: languages.slang_nr
     697msgctxt "languages.slang_nr"
    522698msgid "Ndebele, South"
    523699msgstr ""
    524700
    525 #: ulanguages.slang_nv
     701#: languages.slang_nv
     702#, fuzzy
     703msgctxt "languages.slang_nv"
    526704msgid "Navajo"
    527705msgstr "Navažština"
    528706
    529 #: ulanguages.slang_ny
     707#: languages.slang_ny
     708msgctxt "languages.slang_ny"
    530709msgid "Chichewa"
    531710msgstr ""
    532711
    533 #: ulanguages.slang_oc
     712#: languages.slang_oc
     713msgctxt "languages.slang_oc"
    534714msgid "Occitan"
    535715msgstr ""
    536716
    537 #: ulanguages.slang_oj
     717#: languages.slang_oj
     718msgctxt "languages.slang_oj"
    538719msgid "Ojibwa"
    539720msgstr ""
    540721
    541 #: ulanguages.slang_om
     722#: languages.slang_om
     723msgctxt "languages.slang_om"
    542724msgid "Oromo"
    543725msgstr ""
    544726
    545 #: ulanguages.slang_or
     727#: languages.slang_or
     728msgctxt "languages.slang_or"
    546729msgid "Oriya"
    547730msgstr ""
    548731
    549 #: ulanguages.slang_os
     732#: languages.slang_os
     733msgctxt "languages.slang_os"
    550734msgid "Ossetian"
    551735msgstr ""
    552736
    553 #: ulanguages.slang_pa
     737#: languages.slang_pa
     738msgctxt "languages.slang_pa"
    554739msgid "Panjabi"
    555740msgstr ""
    556741
    557 #: ulanguages.slang_pi
     742#: languages.slang_pi
     743msgctxt "languages.slang_pi"
    558744msgid "Pali"
    559745msgstr ""
    560746
    561 #: ulanguages.slang_pl
     747#: languages.slang_pl
     748#, fuzzy
     749msgctxt "languages.slang_pl"
    562750msgid "Polish"
    563751msgstr "Polština"
    564752
    565 #: ulanguages.slang_ps
     753#: languages.slang_ps
     754msgctxt "languages.slang_ps"
    566755msgid "Pushto"
    567756msgstr ""
    568757
    569 #: ulanguages.slang_pt
     758#: languages.slang_pt
     759#, fuzzy
     760msgctxt "languages.slang_pt"
    570761msgid "Portuguese"
    571762msgstr "Portugalština"
    572763
    573 #: ulanguages.slang_pt_br
     764#: languages.slang_pt_br
     765#, fuzzy
     766msgctxt "languages.slang_pt_br"
    574767msgid "Brazilian Portuguese"
    575768msgstr "Brazislká portugalština"
    576769
    577 #: ulanguages.slang_qu
     770#: languages.slang_qu
     771msgctxt "languages.slang_qu"
    578772msgid "Quechua"
    579773msgstr ""
    580774
    581 #: ulanguages.slang_rm
     775#: languages.slang_rm
     776msgctxt "languages.slang_rm"
    582777msgid "Raeto-Romance"
    583778msgstr ""
    584779
    585 #: ulanguages.slang_rn
     780#: languages.slang_rn
     781msgctxt "languages.slang_rn"
    586782msgid "Rundi"
    587783msgstr ""
    588784
    589 #: ulanguages.slang_ro
     785#: languages.slang_ro
     786#, fuzzy
     787msgctxt "languages.slang_ro"
    590788msgid "Romanian"
    591789msgstr "Romština"
    592790
    593 #: ulanguages.slang_ru
     791#: languages.slang_ru
     792#, fuzzy
     793msgctxt "languages.slang_ru"
    594794msgid "Russian"
    595795msgstr "Ruština"
    596796
    597 #: ulanguages.slang_rw
     797#: languages.slang_rw
     798msgctxt "languages.slang_rw"
    598799msgid "Kinyarwanda"
    599800msgstr ""
    600801
    601 #: ulanguages.slang_sa
     802#: languages.slang_sa
     803msgctxt "languages.slang_sa"
    602804msgid "Sanskrit"
    603805msgstr ""
    604806
    605 #: ulanguages.slang_sc
     807#: languages.slang_sc
     808msgctxt "languages.slang_sc"
    606809msgid "Sardinian"
    607810msgstr ""
    608811
    609 #: ulanguages.slang_sd
     812#: languages.slang_sd
     813msgctxt "languages.slang_sd"
    610814msgid "Sindhi"
    611815msgstr ""
    612816
    613 #: ulanguages.slang_se
     817#: languages.slang_se
     818msgctxt "languages.slang_se"
    614819msgid "Northern Sami"
    615820msgstr ""
    616821
    617 #: ulanguages.slang_sg
     822#: languages.slang_sg
     823msgctxt "languages.slang_sg"
    618824msgid "Sango"
    619825msgstr ""
    620826
    621 #: ulanguages.slang_si
     827#: languages.slang_si
     828msgctxt "languages.slang_si"
    622829msgid "Sinhalese"
    623830msgstr ""
    624831
    625 #: ulanguages.slang_sk
     832#: languages.slang_sk
     833#, fuzzy
     834msgctxt "languages.slang_sk"
    626835msgid "Slovak"
    627836msgstr "Slovenština"
    628837
    629 #: ulanguages.slang_sl
     838#: languages.slang_sl
     839#, fuzzy
     840msgctxt "languages.slang_sl"
    630841msgid "Slovenian"
    631842msgstr "Slovinština"
    632843
    633 #: ulanguages.slang_sm
     844#: languages.slang_sm
     845msgctxt "languages.slang_sm"
    634846msgid "Samoan"
    635847msgstr ""
    636848
    637 #: ulanguages.slang_sn
     849#: languages.slang_sn
     850msgctxt "languages.slang_sn"
    638851msgid "Shona"
    639852msgstr ""
    640853
    641 #: ulanguages.slang_so
     854#: languages.slang_so
     855msgctxt "languages.slang_so"
    642856msgid "Somali"
    643857msgstr ""
    644858
    645 #: ulanguages.slang_sq
     859#: languages.slang_sq
     860#, fuzzy
     861msgctxt "languages.slang_sq"
    646862msgid "Albanian"
    647863msgstr "Albánština"
    648864
    649 #: ulanguages.slang_sr
     865#: languages.slang_sr
     866msgctxt "languages.slang_sr"
    650867msgid "Serbian"
    651868msgstr ""
    652869
    653 #: ulanguages.slang_ss
     870#: languages.slang_ss
     871msgctxt "languages.slang_ss"
    654872msgid "Swati"
    655873msgstr ""
    656874
    657 #: ulanguages.slang_st
     875#: languages.slang_st
     876msgctxt "languages.slang_st"
    658877msgid "Sotho, Southern"
    659878msgstr ""
    660879
    661 #: ulanguages.slang_su
     880#: languages.slang_su
     881#, fuzzy
     882msgctxt "languages.slang_su"
    662883msgid "Sundanese"
    663884msgstr "Sundština"
    664885
    665 #: ulanguages.slang_sv
     886#: languages.slang_sv
     887#, fuzzy
     888msgctxt "languages.slang_sv"
    666889msgid "Swedish"
    667890msgstr "Švédština"
    668891
    669 #: ulanguages.slang_sw
     892#: languages.slang_sw
     893msgctxt "languages.slang_sw"
    670894msgid "Swahili"
    671895msgstr ""
    672896
    673 #: ulanguages.slang_ta
     897#: languages.slang_ta
     898msgctxt "languages.slang_ta"
    674899msgid "Tamil"
    675900msgstr ""
    676901
    677 #: ulanguages.slang_te
     902#: languages.slang_te
     903msgctxt "languages.slang_te"
    678904msgid "Telugu"
    679905msgstr ""
    680906
    681 #: ulanguages.slang_tg
     907#: languages.slang_tg
     908msgctxt "languages.slang_tg"
    682909msgid "Tajik"
    683910msgstr ""
    684911
    685 #: ulanguages.slang_th
     912#: languages.slang_th
     913msgctxt "languages.slang_th"
    686914msgid "Thai"
    687915msgstr ""
    688916
    689 #: ulanguages.slang_ti
     917#: languages.slang_ti
     918msgctxt "languages.slang_ti"
    690919msgid "Tigrinya"
    691920msgstr ""
    692921
    693 #: ulanguages.slang_tk
     922#: languages.slang_tk
     923msgctxt "languages.slang_tk"
    694924msgid "Turkmen"
    695925msgstr ""
    696926
    697 #: ulanguages.slang_tl
     927#: languages.slang_tl
     928msgctxt "languages.slang_tl"
    698929msgid "Tagalog"
    699930msgstr ""
    700931
    701 #: ulanguages.slang_tn
     932#: languages.slang_tn
     933msgctxt "languages.slang_tn"
    702934msgid "Tswana"
    703935msgstr ""
    704936
    705 #: ulanguages.slang_to
     937#: languages.slang_to
     938msgctxt "languages.slang_to"
    706939msgid "Tonga"
    707940msgstr ""
    708941
    709 #: ulanguages.slang_tr
     942#: languages.slang_tr
     943#, fuzzy
     944msgctxt "languages.slang_tr"
    710945msgid "Turkish"
    711946msgstr "Turečtina"
    712947
    713 #: ulanguages.slang_ts
     948#: languages.slang_ts
     949msgctxt "languages.slang_ts"
    714950msgid "Tsonga"
    715951msgstr ""
    716952
    717 #: ulanguages.slang_tt
     953#: languages.slang_tt
     954#, fuzzy
     955msgctxt "languages.slang_tt"
    718956msgid "Tatar"
    719957msgstr "Tatarština"
    720958
    721 #: ulanguages.slang_tw
     959#: languages.slang_tw
     960msgctxt "languages.slang_tw"
    722961msgid "Twi"
    723962msgstr ""
    724963
    725 #: ulanguages.slang_ty
     964#: languages.slang_ty
     965msgctxt "languages.slang_ty"
    726966msgid "Tahitian"
    727967msgstr ""
    728968
    729 #: ulanguages.slang_ug
     969#: languages.slang_ug
     970msgctxt "languages.slang_ug"
    730971msgid "Uighur"
    731972msgstr ""
    732973
    733 #: ulanguages.slang_uk
     974#: languages.slang_uk
     975#, fuzzy
     976msgctxt "languages.slang_uk"
    734977msgid "Ukrainian"
    735978msgstr "Ukrajinština"
    736979
    737 #: ulanguages.slang_ur
     980#: languages.slang_ur
     981msgctxt "languages.slang_ur"
    738982msgid "Urdu"
    739983msgstr ""
    740984
    741 #: ulanguages.slang_uz
     985#: languages.slang_uz
     986msgctxt "languages.slang_uz"
    742987msgid "Uzbek"
    743988msgstr ""
    744989
    745 #: ulanguages.slang_ve
     990#: languages.slang_ve
     991msgctxt "languages.slang_ve"
    746992msgid "Venda"
    747993msgstr ""
    748994
    749 #: ulanguages.slang_vi
     995#: languages.slang_vi
     996#, fuzzy
     997msgctxt "languages.slang_vi"
    750998msgid "Vietnamese"
    751999msgstr "Vietnamština"
    7521000
    753 #: ulanguages.slang_vo
     1001#: languages.slang_vo
     1002msgctxt "languages.slang_vo"
    7541003msgid "Volapuk"
    7551004msgstr ""
    7561005
    757 #: ulanguages.slang_wa
    758 msgctxt "ulanguages.slang_wa"
     1006#: languages.slang_wa
     1007msgctxt "languages.slang_wa"
    7591008msgid "Walloon"
    7601009msgstr ""
    7611010
    762 #: ulanguages.slang_wo
     1011#: languages.slang_wo
     1012msgctxt "languages.slang_wo"
    7631013msgid "Wolof"
    7641014msgstr ""
    7651015
    766 #: ulanguages.slang_xh
     1016#: languages.slang_xh
     1017msgctxt "languages.slang_xh"
    7671018msgid "Xhosa"
    7681019msgstr ""
    7691020
    770 #: ulanguages.slang_yi
     1021#: languages.slang_yi
     1022msgctxt "languages.slang_yi"
    7711023msgid "Yiddish"
    7721024msgstr ""
    7731025
    774 #: ulanguages.slang_yo
     1026#: languages.slang_yo
     1027msgctxt "languages.slang_yo"
    7751028msgid "Yoruba"
    7761029msgstr ""
    7771030
    778 #: ulanguages.slang_za
     1031#: languages.slang_za
     1032msgctxt "languages.slang_za"
    7791033msgid "Zhuang"
    7801034msgstr ""
    7811035
    782 #: ulanguages.slang_zh
     1036#: languages.slang_zh
     1037#, fuzzy
     1038msgctxt "languages.slang_zh"
    7831039msgid "Chinese"
    7841040msgstr "Čínština"
    7851041
    786 #: ulanguages.slang_zu
     1042#: languages.slang_zu
     1043#, fuzzy
     1044msgctxt "languages.slang_zu"
    7871045msgid "Zulu"
    7881046msgstr "Zuluština"
  • trunk/Packages/Common/Languages/Languages.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: ulanguages.slangauto
     4#: languages.slangauto
    55msgid "Automatic"
    66msgstr ""
    77
    8 #: ulanguages.slang_aa
     8#: languages.slang_aa
    99msgid "Afar"
    1010msgstr ""
    1111
    12 #: ulanguages.slang_ab
     12#: languages.slang_ab
    1313msgid "Abkhazian"
    1414msgstr ""
    1515
    16 #: ulanguages.slang_ae
     16#: languages.slang_ae
    1717msgid "Avestan"
    1818msgstr ""
    1919
    20 #: ulanguages.slang_af
     20#: languages.slang_af
    2121msgid "Afrikaans"
    2222msgstr ""
    2323
    24 #: ulanguages.slang_ak
     24#: languages.slang_ak
    2525msgid "Akan"
    2626msgstr ""
    2727
    28 #: ulanguages.slang_am
     28#: languages.slang_am
    2929msgid "Amharic"
    3030msgstr ""
    3131
    32 #: ulanguages.slang_an
     32#: languages.slang_an
    3333msgid "Aragonese"
    3434msgstr ""
    3535
    36 #: ulanguages.slang_ar
     36#: languages.slang_ar
    3737msgid "Arabic"
    3838msgstr ""
    3939
    40 #: ulanguages.slang_as
     40#: languages.slang_as
    4141msgid "Assamese"
    4242msgstr ""
    4343
    44 #: ulanguages.slang_av
     44#: languages.slang_av
    4545msgid "Avaric"
    4646msgstr ""
    4747
    48 #: ulanguages.slang_ay
     48#: languages.slang_ay
    4949msgid "Aymara"
    5050msgstr ""
    5151
    52 #: ulanguages.slang_az
     52#: languages.slang_az
    5353msgid "Azerbaijani"
    5454msgstr ""
    5555
    56 #: ulanguages.slang_ba
     56#: languages.slang_ba
    5757msgid "Bashkir"
    5858msgstr ""
    5959
    60 #: ulanguages.slang_be
     60#: languages.slang_be
    6161msgid "Belarusian"
    6262msgstr ""
    6363
    64 #: ulanguages.slang_bg
     64#: languages.slang_bg
    6565msgid "Bulgarian"
    6666msgstr ""
    6767
    68 #: ulanguages.slang_bh
     68#: languages.slang_bh
    6969msgid "Bihari"
    7070msgstr ""
    7171
    72 #: ulanguages.slang_bi
     72#: languages.slang_bi
    7373msgid "Bislama"
    7474msgstr ""
    7575
    76 #: ulanguages.slang_bm
     76#: languages.slang_bm
    7777msgid "Bambara"
    7878msgstr ""
    7979
    80 #: ulanguages.slang_bn
     80#: languages.slang_bn
    8181msgid "Bengali"
    8282msgstr ""
    8383
    84 #: ulanguages.slang_bo
     84#: languages.slang_bo
    8585msgid "Tibetan"
    8686msgstr ""
    8787
    88 #: ulanguages.slang_br
     88#: languages.slang_br
    8989msgid "Breton"
    9090msgstr ""
    9191
    92 #: ulanguages.slang_bs
     92#: languages.slang_bs
    9393msgid "Bosnian"
    9494msgstr ""
    9595
    96 #: ulanguages.slang_ca
     96#: languages.slang_ca
    9797msgid "Catalan"
    9898msgstr ""
    9999
    100 #: ulanguages.slang_ce
     100#: languages.slang_ce
    101101msgid "Chechen"
    102102msgstr ""
    103103
    104 #: ulanguages.slang_ch
     104#: languages.slang_ch
    105105msgid "Chamorro"
    106106msgstr ""
    107107
    108 #: ulanguages.slang_co
     108#: languages.slang_co
    109109msgid "Corsican"
    110110msgstr ""
    111111
    112 #: ulanguages.slang_cr
     112#: languages.slang_cr
    113113msgid "Cree"
    114114msgstr ""
    115115
    116 #: ulanguages.slang_cs
     116#: languages.slang_cs
    117117msgid "Czech"
    118118msgstr ""
    119119
    120 #: ulanguages.slang_cv
     120#: languages.slang_cv
    121121msgid "Chuvash"
    122122msgstr ""
    123123
    124 #: ulanguages.slang_cy
     124#: languages.slang_cy
    125125msgid "Welsh"
    126126msgstr ""
    127127
    128 #: ulanguages.slang_da
     128#: languages.slang_da
    129129msgid "Danish"
    130130msgstr ""
    131131
    132 #: ulanguages.slang_de
     132#: languages.slang_de
    133133msgid "German"
    134134msgstr ""
    135135
    136 #: ulanguages.slang_de_at
     136#: languages.slang_de_at
    137137msgid "Austrian German"
    138138msgstr ""
    139139
    140 #: ulanguages.slang_de_ch
     140#: languages.slang_de_ch
    141141msgid "Swiss German"
    142142msgstr ""
    143143
    144 #: ulanguages.slang_dv
     144#: languages.slang_dv
    145145msgid "Divehi"
    146146msgstr ""
    147147
    148 #: ulanguages.slang_dz
     148#: languages.slang_dz
    149149msgid "Dzongkha"
    150150msgstr ""
    151151
    152 #: ulanguages.slang_ee
     152#: languages.slang_ee
    153153msgid "Ewe"
    154154msgstr ""
    155155
    156 #: ulanguages.slang_el
     156#: languages.slang_el
    157157msgid "Greek"
    158158msgstr ""
    159159
    160 #: ulanguages.slang_en
     160#: languages.slang_en
    161161msgid "English"
    162162msgstr ""
    163163
    164 #: ulanguages.slang_en_au
     164#: languages.slang_en_au
    165165msgid "Australian English"
    166166msgstr ""
    167167
    168 #: ulanguages.slang_en_ca
     168#: languages.slang_en_ca
    169169msgid "Canadian English"
    170170msgstr ""
    171171
    172 #: ulanguages.slang_en_gb
     172#: languages.slang_en_gb
    173173msgid "British English"
    174174msgstr ""
    175175
    176 #: ulanguages.slang_en_us
     176#: languages.slang_en_us
    177177msgid "American English"
    178178msgstr ""
    179179
    180 #: ulanguages.slang_eo
     180#: languages.slang_eo
    181181msgid "Esperanto"
    182182msgstr ""
    183183
    184 #: ulanguages.slang_es
     184#: languages.slang_es
    185185msgid "Spanish"
    186186msgstr ""
    187187
    188 #: ulanguages.slang_et
     188#: languages.slang_et
    189189msgid "Estonian"
    190190msgstr ""
    191191
    192 #: ulanguages.slang_eu
     192#: languages.slang_eu
    193193msgid "Basque"
    194194msgstr ""
    195195
    196 #: ulanguages.slang_fa
     196#: languages.slang_fa
    197197msgid "Persian"
    198198msgstr ""
    199199
    200 #: ulanguages.slang_ff
     200#: languages.slang_ff
    201201msgid "Fulah"
    202202msgstr ""
    203203
    204 #: ulanguages.slang_fi
     204#: languages.slang_fi
    205205msgid "Finnish"
    206206msgstr ""
    207207
    208 #: ulanguages.slang_fj
     208#: languages.slang_fj
    209209msgid "Fijian"
    210210msgstr ""
    211211
    212 #: ulanguages.slang_fo
     212#: languages.slang_fo
    213213msgid "Faroese"
    214214msgstr ""
    215215
    216 #: ulanguages.slang_fr
     216#: languages.slang_fr
    217217msgid "French"
    218218msgstr ""
    219219
    220 #: ulanguages.slang_fr_be
    221 msgctxt "ulanguages.slang_fr_be"
     220#: languages.slang_fr_be
     221msgctxt "languages.slang_fr_be"
    222222msgid "Walloon"
    223223msgstr ""
    224224
    225 #: ulanguages.slang_fy
     225#: languages.slang_fy
    226226msgid "Frisian"
    227227msgstr ""
    228228
    229 #: ulanguages.slang_ga
     229#: languages.slang_ga
    230230msgid "Irish"
    231231msgstr ""
    232232
    233 #: ulanguages.slang_gd
     233#: languages.slang_gd
    234234msgid "Gaelic"
    235235msgstr ""
    236236
    237 #: ulanguages.slang_gl
     237#: languages.slang_gl
    238238msgid "Gallegan"
    239239msgstr ""
    240240
    241 #: ulanguages.slang_gn
     241#: languages.slang_gn
    242242msgid "Guarani"
    243243msgstr ""
    244244
    245 #: ulanguages.slang_gu
     245#: languages.slang_gu
    246246msgid "Gujarati"
    247247msgstr ""
    248248
    249 #: ulanguages.slang_gv
     249#: languages.slang_gv
    250250msgid "Manx"
    251251msgstr ""
    252252
    253 #: ulanguages.slang_ha
     253#: languages.slang_ha
    254254msgid "Hausa"
    255255msgstr ""
    256256
    257 #: ulanguages.slang_he
     257#: languages.slang_he
    258258msgid "Hebrew"
    259259msgstr ""
    260260
    261 #: ulanguages.slang_hi
     261#: languages.slang_hi
    262262msgid "Hindi"
    263263msgstr ""
    264264
    265 #: ulanguages.slang_ho
     265#: languages.slang_ho
    266266msgid "Hiri Motu"
    267267msgstr ""
    268268
    269 #: ulanguages.slang_hr
     269#: languages.slang_hr
    270270msgid "Croatian"
    271271msgstr ""
    272272
    273 #: ulanguages.slang_ht
     273#: languages.slang_ht
    274274msgid "Haitian"
    275275msgstr ""
    276276
    277 #: ulanguages.slang_hu
     277#: languages.slang_hu
    278278msgid "Hungarian"
    279279msgstr ""
    280280
    281 #: ulanguages.slang_hy
     281#: languages.slang_hy
    282282msgid "Armenian"
    283283msgstr ""
    284284
    285 #: ulanguages.slang_hz
     285#: languages.slang_hz
    286286msgid "Herero"
    287287msgstr ""
    288288
    289 #: ulanguages.slang_ia
     289#: languages.slang_ia
    290290msgid "Interlingua"
    291291msgstr ""
    292292
    293 #: ulanguages.slang_id
     293#: languages.slang_id
    294294msgid "Indonesian"
    295295msgstr ""
    296296
    297 #: ulanguages.slang_ie
     297#: languages.slang_ie
    298298msgid "Interlingue"
    299299msgstr ""
    300300
    301 #: ulanguages.slang_ig
     301#: languages.slang_ig
    302302msgid "Igbo"
    303303msgstr ""
    304304
    305 #: ulanguages.slang_ii
     305#: languages.slang_ii
    306306msgid "Sichuan Yi"
    307307msgstr ""
    308308
    309 #: ulanguages.slang_ik
     309#: languages.slang_ik
    310310msgid "Inupiaq"
    311311msgstr ""
    312312
    313 #: ulanguages.slang_io
     313#: languages.slang_io
    314314msgid "Ido"
    315315msgstr ""
    316316
    317 #: ulanguages.slang_is
     317#: languages.slang_is
    318318msgid "Icelandic"
    319319msgstr ""
    320320
    321 #: ulanguages.slang_it
     321#: languages.slang_it
    322322msgid "Italian"
    323323msgstr ""
    324324
    325 #: ulanguages.slang_iu
     325#: languages.slang_iu
    326326msgid "Inuktitut"
    327327msgstr ""
    328328
    329 #: ulanguages.slang_ja
     329#: languages.slang_ja
    330330msgid "Japanese"
    331331msgstr ""
    332332
    333 #: ulanguages.slang_jv
     333#: languages.slang_jv
    334334msgid "Javanese"
    335335msgstr ""
    336336
    337 #: ulanguages.slang_ka
     337#: languages.slang_ka
    338338msgid "Georgian"
    339339msgstr ""
    340340
    341 #: ulanguages.slang_kg
     341#: languages.slang_kg
    342342msgid "Kongo"
    343343msgstr ""
    344344
    345 #: ulanguages.slang_ki
     345#: languages.slang_ki
    346346msgid "Kikuyu"
    347347msgstr ""
    348348
    349 #: ulanguages.slang_kj
     349#: languages.slang_kj
    350350msgid "Kuanyama"
    351351msgstr ""
    352352
    353 #: ulanguages.slang_kk
     353#: languages.slang_kk
    354354msgid "Kazakh"
    355355msgstr ""
    356356
    357 #: ulanguages.slang_kl
     357#: languages.slang_kl
    358358msgid "Greenlandic"
    359359msgstr ""
    360360
    361 #: ulanguages.slang_km
     361#: languages.slang_km
    362362msgid "Khmer"
    363363msgstr ""
    364364
    365 #: ulanguages.slang_kn
     365#: languages.slang_kn
    366366msgid "Kannada"
    367367msgstr ""
    368368
    369 #: ulanguages.slang_ko
     369#: languages.slang_ko
    370370msgid "Korean"
    371371msgstr ""
    372372
    373 #: ulanguages.slang_kr
     373#: languages.slang_kr
    374374msgid "Kanuri"
    375375msgstr ""
    376376
    377 #: ulanguages.slang_ks
     377#: languages.slang_ks
    378378msgid "Kashmiri"
    379379msgstr ""
    380380
    381 #: ulanguages.slang_ku
     381#: languages.slang_ku
    382382msgid "Kurdish"
    383383msgstr ""
    384384
    385 #: ulanguages.slang_kv
     385#: languages.slang_kv
    386386msgid "Komi"
    387387msgstr ""
    388388
    389 #: ulanguages.slang_kw
     389#: languages.slang_kw
    390390msgid "Cornish"
    391391msgstr ""
    392392
    393 #: ulanguages.slang_ky
     393#: languages.slang_ky
    394394msgid "Kirghiz"
    395395msgstr ""
    396396
    397 #: ulanguages.slang_la
     397#: languages.slang_la
    398398msgid "Latin"
    399399msgstr ""
    400400
    401 #: ulanguages.slang_lb
     401#: languages.slang_lb
    402402msgid "Luxembourgish"
    403403msgstr ""
    404404
    405 #: ulanguages.slang_lg
     405#: languages.slang_lg
    406406msgid "Ganda"
    407407msgstr ""
    408408
    409 #: ulanguages.slang_li
     409#: languages.slang_li
    410410msgid "Limburgan"
    411411msgstr ""
    412412
    413 #: ulanguages.slang_ln
     413#: languages.slang_ln
    414414msgid "Lingala"
    415415msgstr ""
    416416
    417 #: ulanguages.slang_lo
     417#: languages.slang_lo
    418418msgid "Lao"
    419419msgstr ""
    420420
    421 #: ulanguages.slang_lt
     421#: languages.slang_lt
    422422msgid "Lithuanian"
    423423msgstr ""
    424424
    425 #: ulanguages.slang_lu
     425#: languages.slang_lu
    426426msgid "Luba-Katanga"
    427427msgstr ""
    428428
    429 #: ulanguages.slang_lv
     429#: languages.slang_lv
    430430msgid "Latvian"
    431431msgstr ""
    432432
    433 #: ulanguages.slang_mg
     433#: languages.slang_mg
    434434msgid "Malagasy"
    435435msgstr ""
    436436
    437 #: ulanguages.slang_mh
     437#: languages.slang_mh
    438438msgid "Marshallese"
    439439msgstr ""
    440440
    441 #: ulanguages.slang_mi
     441#: languages.slang_mi
    442442msgid "Maori"
    443443msgstr ""
    444444
    445 #: ulanguages.slang_mk
     445#: languages.slang_mk
    446446msgid "Macedonian"
    447447msgstr ""
    448448
    449 #: ulanguages.slang_ml
     449#: languages.slang_ml
    450450msgid "Malayalam"
    451451msgstr ""
    452452
    453 #: ulanguages.slang_mn
     453#: languages.slang_mn
    454454msgid "Mongolian"
    455455msgstr ""
    456456
    457 #: ulanguages.slang_mo
     457#: languages.slang_mo
    458458msgid "Moldavian"
    459459msgstr ""
    460460
    461 #: ulanguages.slang_mr
     461#: languages.slang_mr
    462462msgid "Marathi"
    463463msgstr ""
    464464
    465 #: ulanguages.slang_ms
     465#: languages.slang_ms
    466466msgid "Malay"
    467467msgstr ""
    468468
    469 #: ulanguages.slang_mt
     469#: languages.slang_mt
    470470msgid "Maltese"
    471471msgstr ""
    472472
    473 #: ulanguages.slang_my
     473#: languages.slang_my
    474474msgid "Burmese"
    475475msgstr ""
    476476
    477 #: ulanguages.slang_na
     477#: languages.slang_na
    478478msgid "Nauru"
    479479msgstr ""
    480480
    481 #: ulanguages.slang_nb
     481#: languages.slang_nb
    482482msgid "Norwegian Bokmaal"
    483483msgstr ""
    484484
    485 #: ulanguages.slang_nd
     485#: languages.slang_nd
    486486msgid "Ndebele, North"
    487487msgstr ""
    488488
    489 #: ulanguages.slang_ne
     489#: languages.slang_ne
    490490msgid "Nepali"
    491491msgstr ""
    492492
    493 #: ulanguages.slang_ng
     493#: languages.slang_ng
    494494msgid "Ndonga"
    495495msgstr ""
    496496
    497 #: ulanguages.slang_nl
     497#: languages.slang_nl
    498498msgid "Dutch"
    499499msgstr ""
    500500
    501 #: ulanguages.slang_nl_be
     501#: languages.slang_nl_be
    502502msgid "Flemish"
    503503msgstr ""
    504504
    505 #: ulanguages.slang_nn
     505#: languages.slang_nn
    506506msgid "Norwegian Nynorsk"
    507507msgstr ""
    508508
    509 #: ulanguages.slang_no
     509#: languages.slang_no
    510510msgid "Norwegian"
    511511msgstr ""
    512512
    513 #: ulanguages.slang_nr
     513#: languages.slang_nr
    514514msgid "Ndebele, South"
    515515msgstr ""
    516516
    517 #: ulanguages.slang_nv
     517#: languages.slang_nv
    518518msgid "Navajo"
    519519msgstr ""
    520520
    521 #: ulanguages.slang_ny
     521#: languages.slang_ny
    522522msgid "Chichewa"
    523523msgstr ""
    524524
    525 #: ulanguages.slang_oc
     525#: languages.slang_oc
    526526msgid "Occitan"
    527527msgstr ""
    528528
    529 #: ulanguages.slang_oj
     529#: languages.slang_oj
    530530msgid "Ojibwa"
    531531msgstr ""
    532532
    533 #: ulanguages.slang_om
     533#: languages.slang_om
    534534msgid "Oromo"
    535535msgstr ""
    536536
    537 #: ulanguages.slang_or
     537#: languages.slang_or
    538538msgid "Oriya"
    539539msgstr ""
    540540
    541 #: ulanguages.slang_os
     541#: languages.slang_os
    542542msgid "Ossetian"
    543543msgstr ""
    544544
    545 #: ulanguages.slang_pa
     545#: languages.slang_pa
    546546msgid "Panjabi"
    547547msgstr ""
    548548
    549 #: ulanguages.slang_pi
     549#: languages.slang_pi
    550550msgid "Pali"
    551551msgstr ""
    552552
    553 #: ulanguages.slang_pl
     553#: languages.slang_pl
    554554msgid "Polish"
    555555msgstr ""
    556556
    557 #: ulanguages.slang_ps
     557#: languages.slang_ps
    558558msgid "Pushto"
    559559msgstr ""
    560560
    561 #: ulanguages.slang_pt
     561#: languages.slang_pt
    562562msgid "Portuguese"
    563563msgstr ""
    564564
    565 #: ulanguages.slang_pt_br
     565#: languages.slang_pt_br
    566566msgid "Brazilian Portuguese"
    567567msgstr ""
    568568
    569 #: ulanguages.slang_qu
     569#: languages.slang_qu
    570570msgid "Quechua"
    571571msgstr ""
    572572
    573 #: ulanguages.slang_rm
     573#: languages.slang_rm
    574574msgid "Raeto-Romance"
    575575msgstr ""
    576576
    577 #: ulanguages.slang_rn
     577#: languages.slang_rn
    578578msgid "Rundi"
    579579msgstr ""
    580580
    581 #: ulanguages.slang_ro
     581#: languages.slang_ro
    582582msgid "Romanian"
    583583msgstr ""
    584584
    585 #: ulanguages.slang_ru
     585#: languages.slang_ru
    586586msgid "Russian"
    587587msgstr ""
    588588
    589 #: ulanguages.slang_rw
     589#: languages.slang_rw
    590590msgid "Kinyarwanda"
    591591msgstr ""
    592592
    593 #: ulanguages.slang_sa
     593#: languages.slang_sa
    594594msgid "Sanskrit"
    595595msgstr ""
    596596
    597 #: ulanguages.slang_sc
     597#: languages.slang_sc
    598598msgid "Sardinian"
    599599msgstr ""
    600600
    601 #: ulanguages.slang_sd
     601#: languages.slang_sd
    602602msgid "Sindhi"
    603603msgstr ""
    604604
    605 #: ulanguages.slang_se
     605#: languages.slang_se
    606606msgid "Northern Sami"
    607607msgstr ""
    608608
    609 #: ulanguages.slang_sg
     609#: languages.slang_sg
    610610msgid "Sango"
    611611msgstr ""
    612612
    613 #: ulanguages.slang_si
     613#: languages.slang_si
    614614msgid "Sinhalese"
    615615msgstr ""
    616616
    617 #: ulanguages.slang_sk
     617#: languages.slang_sk
    618618msgid "Slovak"
    619619msgstr ""
    620620
    621 #: ulanguages.slang_sl
     621#: languages.slang_sl
    622622msgid "Slovenian"
    623623msgstr ""
    624624
    625 #: ulanguages.slang_sm
     625#: languages.slang_sm
    626626msgid "Samoan"
    627627msgstr ""
    628628
    629 #: ulanguages.slang_sn
     629#: languages.slang_sn
    630630msgid "Shona"
    631631msgstr ""
    632632
    633 #: ulanguages.slang_so
     633#: languages.slang_so
    634634msgid "Somali"
    635635msgstr ""
    636636
    637 #: ulanguages.slang_sq
     637#: languages.slang_sq
    638638msgid "Albanian"
    639639msgstr ""
    640640
    641 #: ulanguages.slang_sr
     641#: languages.slang_sr
    642642msgid "Serbian"
    643643msgstr ""
    644644
    645 #: ulanguages.slang_ss
     645#: languages.slang_ss
    646646msgid "Swati"
    647647msgstr ""
    648648
    649 #: ulanguages.slang_st
     649#: languages.slang_st
    650650msgid "Sotho, Southern"
    651651msgstr ""
    652652
    653 #: ulanguages.slang_su
     653#: languages.slang_su
    654654msgid "Sundanese"
    655655msgstr ""
    656656
    657 #: ulanguages.slang_sv
     657#: languages.slang_sv
    658658msgid "Swedish"
    659659msgstr ""
    660660
    661 #: ulanguages.slang_sw
     661#: languages.slang_sw
    662662msgid "Swahili"
    663663msgstr ""
    664664
    665 #: ulanguages.slang_ta
     665#: languages.slang_ta
    666666msgid "Tamil"
    667667msgstr ""
    668668
    669 #: ulanguages.slang_te
     669#: languages.slang_te
    670670msgid "Telugu"
    671671msgstr ""
    672672
    673 #: ulanguages.slang_tg
     673#: languages.slang_tg
    674674msgid "Tajik"
    675675msgstr ""
    676676
    677 #: ulanguages.slang_th
     677#: languages.slang_th
    678678msgid "Thai"
    679679msgstr ""
    680680
    681 #: ulanguages.slang_ti
     681#: languages.slang_ti
    682682msgid "Tigrinya"
    683683msgstr ""
    684684
    685 #: ulanguages.slang_tk
     685#: languages.slang_tk
    686686msgid "Turkmen"
    687687msgstr ""
    688688
    689 #: ulanguages.slang_tl
     689#: languages.slang_tl
    690690msgid "Tagalog"
    691691msgstr ""
    692692
    693 #: ulanguages.slang_tn
     693#: languages.slang_tn
    694694msgid "Tswana"
    695695msgstr ""
    696696
    697 #: ulanguages.slang_to
     697#: languages.slang_to
    698698msgid "Tonga"
    699699msgstr ""
    700700
    701 #: ulanguages.slang_tr
     701#: languages.slang_tr
    702702msgid "Turkish"
    703703msgstr ""
    704704
    705 #: ulanguages.slang_ts
     705#: languages.slang_ts
    706706msgid "Tsonga"
    707707msgstr ""
    708708
    709 #: ulanguages.slang_tt
     709#: languages.slang_tt
    710710msgid "Tatar"
    711711msgstr ""
    712712
    713 #: ulanguages.slang_tw
     713#: languages.slang_tw
    714714msgid "Twi"
    715715msgstr ""
    716716
    717 #: ulanguages.slang_ty
     717#: languages.slang_ty
    718718msgid "Tahitian"
    719719msgstr ""
    720720
    721 #: ulanguages.slang_ug
     721#: languages.slang_ug
    722722msgid "Uighur"
    723723msgstr ""
    724724
    725 #: ulanguages.slang_uk
     725#: languages.slang_uk
    726726msgid "Ukrainian"
    727727msgstr ""
    728728
    729 #: ulanguages.slang_ur
     729#: languages.slang_ur
    730730msgid "Urdu"
    731731msgstr ""
    732732
    733 #: ulanguages.slang_uz
     733#: languages.slang_uz
    734734msgid "Uzbek"
    735735msgstr ""
    736736
    737 #: ulanguages.slang_ve
     737#: languages.slang_ve
    738738msgid "Venda"
    739739msgstr ""
    740740
    741 #: ulanguages.slang_vi
     741#: languages.slang_vi
    742742msgid "Vietnamese"
    743743msgstr ""
    744744
    745 #: ulanguages.slang_vo
     745#: languages.slang_vo
    746746msgid "Volapuk"
    747747msgstr ""
    748748
    749 #: ulanguages.slang_wa
    750 msgctxt "ulanguages.slang_wa"
     749#: languages.slang_wa
     750msgctxt "languages.slang_wa"
    751751msgid "Walloon"
    752752msgstr ""
    753753
    754 #: ulanguages.slang_wo
     754#: languages.slang_wo
    755755msgid "Wolof"
    756756msgstr ""
    757757
    758 #: ulanguages.slang_xh
     758#: languages.slang_xh
    759759msgid "Xhosa"
    760760msgstr ""
    761761
    762 #: ulanguages.slang_yi
     762#: languages.slang_yi
    763763msgid "Yiddish"
    764764msgstr ""
    765765
    766 #: ulanguages.slang_yo
     766#: languages.slang_yo
    767767msgid "Yoruba"
    768768msgstr ""
    769769
    770 #: ulanguages.slang_za
     770#: languages.slang_za
    771771msgid "Zhuang"
    772772msgstr ""
    773773
    774 #: ulanguages.slang_zh
     774#: languages.slang_zh
    775775msgid "Chinese"
    776776msgstr ""
    777777
    778 #: ulanguages.slang_zu
     778#: languages.slang_zu
    779779msgid "Zulu"
    780780msgstr ""
  • trunk/Packages/Common/Languages/Pool.cs.po

    r455 r456  
    1010"Content-Transfer-Encoding: 8bit\n"
    1111
    12 #: upool.sobjectpoolempty
     12#: pool.sobjectpoolempty
     13#, fuzzy
     14msgctxt "pool.sobjectpoolempty"
    1315msgid "Object pool is empty"
    1416msgstr "Zásobník objektů je prázdný"
    1517
    16 #: upool.sreleaseerror
     18#: pool.sreleaseerror
     19#, fuzzy
     20msgctxt "pool.sreleaseerror"
    1721msgid "Unknown object for release from pool"
    1822msgstr "Neznýmý objekt pro uvolnění ze zásobníku"
  • trunk/Packages/Common/Languages/Pool.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: upool.sobjectpoolempty
     4#: pool.sobjectpoolempty
    55msgid "Object pool is empty"
    66msgstr ""
    77
    8 #: upool.sreleaseerror
     8#: pool.sreleaseerror
    99msgid "Unknown object for release from pool"
    1010msgstr ""
  • trunk/Packages/Common/Languages/ResetableThread.cs.po

    r455 r456  
    1010"Content-Transfer-Encoding: 8bit\n"
    1111
    12 #: uresetablethread.swaiterror
     12#: resetablethread.swaiterror
     13#, fuzzy
     14msgctxt "resetablethread.swaiterror"
    1315msgid "WaitFor error"
    1416msgstr "Chyba WaitFor"
  • trunk/Packages/Common/Languages/ResetableThread.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: uresetablethread.swaiterror
     4#: resetablethread.swaiterror
    55msgid "WaitFor error"
    66msgstr ""
  • trunk/Packages/Common/Languages/ScaleDPI.cs.po

    r455 r456  
    1212"X-Generator: Poedit 1.8.9\n"
    1313
    14 #: uscaledpi.swrongdpi
    15 #, object-pascal-format
     14#: scaledpi.swrongdpi
     15#, object-pascal-format, fuzzy
     16msgctxt "scaledpi.swrongdpi"
    1617msgid "Wrong DPI [%d,%d]"
    1718msgstr "Chybné DPI [%d,%d]"
  • trunk/Packages/Common/Languages/ScaleDPI.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: uscaledpi.swrongdpi
     4#: scaledpi.swrongdpi
    55#, object-pascal-format
    66msgid "Wrong DPI [%d,%d]"
  • trunk/Packages/Common/Languages/Threading.cs.po

    r455 r456  
    1010"Content-Transfer-Encoding: 8bit\n"
    1111
    12 #: uthreading.scurrentthreadnotfound
    13 #, object-pascal-format
     12#: threading.scurrentthreadnotfound
     13#, object-pascal-format, fuzzy
     14msgctxt "threading.scurrentthreadnotfound"
    1415msgid "Current thread ID %d not found in virtual thread list."
    1516msgstr "Aktuální vlákno ID %d nenalezeno v seznamu virtuálních vláken."
  • trunk/Packages/Common/Languages/Threading.pot

    r455 r456  
    22msgstr "Content-Type: text/plain; charset=UTF-8"
    33
    4 #: uthreading.scurrentthreadnotfound
     4#: threading.scurrentthreadnotfound
    55#, object-pascal-format
    66msgid "Current thread ID %d not found in virtual thread list."
  • trunk/Packages/Common/LastOpenedList.pas

    r455 r456  
    1 unit ULastOpenedList;
     1unit LastOpenedList;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, Registry, URegistry, Menus, XMLConf, DOM;
     6  Classes, SysUtils, Registry, RegistryEx, Menus, XMLConf, DOM;
    77
    88type
     
    194194
    195195end.
    196 
  • trunk/Packages/Common/ListViewSort.pas

    r455 r456  
    1 unit UListViewSort;
     1unit ListViewSort;
    22
    33// Date: 2019-05-17
     
    149149destructor TListViewEx.Destroy;
    150150begin
    151   inherited Destroy;
     151  inherited;
    152152end;
    153153
  • trunk/Packages/Common/Memory.pas

    r455 r456  
    1 unit UMemory;
     1unit Memory;
    22
    33interface
     
    4949procedure TPositionMemory.SetSize(AValue: Integer);
    5050begin
    51   inherited SetSize(AValue);
     51  inherited;
    5252  if FPosition > FSize then FPosition := FSize;
    5353end;
     
    106106begin
    107107  Size := 0;
    108   inherited Destroy;
     108  inherited;
    109109end;
    110110
     
    120120
    121121end.
    122 
  • trunk/Packages/Common/MetaCanvas.pas

    r455 r456  
    1 unit UMetaCanvas;
     1unit MetaCanvas;
    22
    33interface
     
    6363
    6464  TCanvasPolygon = class(TCanvasObject)
     65    Pen: TPen;
     66    Brush: TBrush;
     67    Points: array of TPoint;
     68    procedure Paint(Canvas: TCanvas); override;
     69    procedure Zoom(Factor: Double); override;
     70    procedure Move(Delta: TPoint); override;
     71    constructor Create;
     72    destructor Destroy; override;
     73  end;
     74
     75  { TCanvasPolyline }
     76
     77  TCanvasPolyline = class(TCanvasObject)
     78    Pen: TPen;
     79    Brush: TBrush;
     80    Points: array of TPoint;
     81    procedure Paint(Canvas: TCanvas); override;
     82    procedure Zoom(Factor: Double); override;
     83    procedure Move(Delta: TPoint); override;
     84    constructor Create;
     85    destructor Destroy; override;
     86  end;
     87
     88  { TCanvasPolyBezier }
     89
     90  TCanvasPolyBezier = class(TCanvasObject)
    6591    Pen: TPen;
    6692    Brush: TBrush;
     
    124150    procedure SetWidth(AValue: Integer); override;
    125151    function GetWidth: Integer; override;
    126     procedure DoLine (x1,y1,x2,y2:Integer); override;
     152    procedure DoLine (x1,y1,x2,y2:integer); override;
    127153    procedure DoTextOut(X, Y: Integer; Text: string); override;
    128154    procedure DoRectangle(const Bounds: TRect); override;
     
    133159    procedure DoMoveTo(X, Y: Integer); override;
    134160    procedure DoLineTo(X, Y: Integer); override;
     161    procedure DoPolyline(const Points: array of TPoint); override;
     162    procedure DoPolyBezier(Points: PPoint; NumPts: Integer;
     163      Filled: Boolean = False; Continuous: Boolean = False); override;
    135164  public
    136165    Objects: TCanvasObjects;
     
    141170    procedure TextOut(X,Y: Integer; const Text: String); override;
    142171    procedure Polygon(Points: PPoint; NumPts: Integer; Winding: Boolean = False); override;
     172    procedure Polyline(Points: PPoint; NumPts: Integer); override;
     173    procedure PolyBezier(Points: PPoint; NumPts: Integer;
     174      Filled: Boolean = False; Continuous: Boolean = True); override;
    143175    procedure Ellipse(x1, y1, x2, y2: Integer); override;
    144176    procedure StretchDraw(const DestRect: TRect; SrcGraphic: TGraphic); override;
     
    159191
    160192uses
    161   UGeometric, LCLIntf;
     193  Geometric, LCLIntf;
     194
     195{ TCanvasPolyBezier }
     196
     197procedure TCanvasPolyBezier.Paint(Canvas: TCanvas);
     198begin
     199  Canvas.Pen.Assign(Pen);
     200  Canvas.Brush.Assign(Brush);
     201  Canvas.PolyBezier(Points);
     202end;
     203
     204procedure TCanvasPolyBezier.Zoom(Factor: Double);
     205var
     206  I: Integer;
     207begin
     208  for I := 0 to High(Points) do
     209    Points[I] := Point(Trunc(Points[I].X * Factor),
     210      Trunc(Points[I].Y * Factor));
     211  Pen.Width := Trunc(Pen.Width * Factor);
     212end;
     213
     214procedure TCanvasPolyBezier.Move(Delta: TPoint);
     215var
     216  I: Integer;
     217begin
     218  for I := 0 to High(Points) do
     219    Points[I] := AddPoint(Points[I], Delta);
     220end;
     221
     222constructor TCanvasPolyBezier.Create;
     223begin
     224  Pen := TPen.Create;
     225  Brush := TBrush.Create;
     226end;
     227
     228destructor TCanvasPolyBezier.Destroy;
     229begin
     230  FreeAndNil(Brush);
     231  FreeAndNil(Pen);
     232  inherited;
     233end;
     234
     235{ TCanvasPolyline }
     236
     237procedure TCanvasPolyline.Paint(Canvas: TCanvas);
     238begin
     239  Canvas.Pen.Assign(Pen);
     240  Canvas.Brush.Assign(Brush);
     241  Canvas.Polyline(Points);
     242end;
     243
     244procedure TCanvasPolyline.Zoom(Factor: Double);
     245var
     246  I: Integer;
     247begin
     248  for I := 0 to High(Points) do
     249    Points[I] := Point(Trunc(Points[I].X * Factor),
     250      Trunc(Points[I].Y * Factor));
     251  Pen.Width := Trunc(Pen.Width * Factor);
     252end;
     253
     254procedure TCanvasPolyline.Move(Delta: TPoint);
     255var
     256  I: Integer;
     257begin
     258  for I := 0 to High(Points) do
     259    Points[I] := AddPoint(Points[I], Delta);
     260end;
     261
     262constructor TCanvasPolyline.Create;
     263begin
     264  Pen := TPen.Create;
     265  Brush := TBrush.Create;
     266end;
     267
     268destructor TCanvasPolyline.Destroy;
     269begin
     270  FreeAndNil(Brush);
     271  FreeAndNil(Pen);
     272  inherited;
     273end;
    162274
    163275{ TCanvasPie }
     
    304416destructor TCanvasPolygon.Destroy;
    305417begin
    306   Brush.Free;
    307   Pen.Free;
     418  FreeAndNil(Brush);
     419  FreeAndNil(Pen);
    308420  inherited;
    309421end;
     
    451563end;
    452564
    453 procedure TMetaCanvas.DoLine(x1, y1, x2, y2: Integer);
     565procedure TMetaCanvas.DoLine(x1, y1, x2, y2: integer);
    454566var
    455567  NewObj: TCanvasLine;
     
    511623    APoints[I] := Points[I];
    512624  DoPolygon(APoints);
     625end;
     626
     627procedure TMetaCanvas.Polyline(Points: PPoint; NumPts: Integer);
     628var
     629  APoints: array of TPoint;
     630  I: Integer;
     631begin
     632  APoints := nil;
     633  SetLength(APoints, NumPts);
     634  for I := 0 to High(APoints) do
     635    APoints[I] := Points[I];
     636  DoPolyline(APoints);
     637end;
     638
     639procedure TMetaCanvas.PolyBezier(Points: PPoint; NumPts: Integer;
     640  Filled: Boolean; Continuous: Boolean);
     641begin
     642  DoPolyBezier(Points, NumPts, Filled, Continuous);
    513643end;
    514644
     
    580710end;
    581711
     712procedure TMetaCanvas.DoPolyline(const Points: array of TPoint);
     713var
     714  NewObj: TCanvasPolyline;
     715  I: Integer;
     716begin
     717  NewObj := TCanvasPolyline.Create;
     718  NewObj.Brush.Assign(Brush);
     719  NewObj.Pen.Assign(Pen);
     720  SetLength(NewObj.Points, Length(Points));
     721  for I := 0 to High(Points) do
     722    NewObj.Points[I] := Points[I];
     723  Objects.Add(NewObj);
     724end;
     725
     726procedure TMetaCanvas.DoPolyBezier(Points: PPoint; NumPts: Integer;
     727  Filled: Boolean; Continuous: Boolean);
     728var
     729  NewObj: TCanvasPolyBezier;
     730  I: Integer;
     731begin
     732  NewObj := TCanvasPolyBezier.Create;
     733  NewObj.Brush.Assign(Brush);
     734  NewObj.Pen.Assign(Pen);
     735  SetLength(NewObj.Points, NumPts);
     736  for I := 0 to High(NewObj.Points) do
     737    NewObj.Points[I] := Points[I];
     738  Objects.Add(NewObj);
     739end;
     740
    582741procedure TMetaCanvas.FillRect(const ARect: TRect);
    583742begin
     
    664823
    665824end.
    666 
    667 
  • trunk/Packages/Common/PersistentForm.pas

    r455 r456  
    1 unit UPersistentForm;
    2 
    3 // Date: 2020-11-26
     1unit PersistentForm;
    42
    53interface
    64
    75uses
    8   Classes, SysUtils, Forms, URegistry, LCLIntf, Registry, Controls, ComCtrls,
     6  Classes, SysUtils, Forms, RegistryEx, LCLIntf, Registry, Controls, ComCtrls,
    97  ExtCtrls, LCLType;
    108
     
    2119    procedure SaveControl(Control: TControl);
    2220  public
    23     FormNormalSize: TRect;
    2421    FormRestoredSize: TRect;
    2522    FormWindowState: TWindowState;
     
    155152    RootKey := RegistryContext.RootKey;
    156153    OpenKey(RegistryContext.Key + '\Forms\' + Form.Name, True);
    157     // Normal size
    158     FormNormalSize.Left := ReadIntegerWithDefault('NormalLeft', FormNormalSize.Left);
    159     FormNormalSize.Top := ReadIntegerWithDefault('NormalTop', FormNormalSize.Top);
    160     FormNormalSize.Right := ReadIntegerWithDefault('NormalWidth', FormNormalSize.Right - FormNormalSize.Left)
    161       + FormNormalSize.Left;
    162     FormNormalSize.Bottom := ReadIntegerWithDefault('NormalHeight', FormNormalSize.Bottom - FormNormalSize.Top)
    163       + FormNormalSize.Top;
     154
    164155    // Restored size
    165156    FormRestoredSize.Left := ReadIntegerWithDefault('RestoredLeft', FormRestoredSize.Left);
     
    169160    FormRestoredSize.Bottom := ReadIntegerWithDefault('RestoredHeight', FormRestoredSize.Bottom - FormRestoredSize.Top)
    170161      + FormRestoredSize.Top;
     162
    171163    // Other state
    172164    FormWindowState := TWindowState(ReadIntegerWithDefault('WindowState', Integer(FormWindowState)));
     
    183175    RootKey := RegistryContext.RootKey;
    184176    OpenKey(RegistryContext.Key + '\Forms\' + Form.Name, True);
    185     // Normal state
    186     WriteInteger('NormalWidth', FormNormalSize.Right - FormNormalSize.Left);
    187     WriteInteger('NormalHeight', FormNormalSize.Bottom - FormNormalSize.Top);
    188     WriteInteger('NormalTop', FormNormalSize.Top);
    189     WriteInteger('NormalLeft', FormNormalSize.Left);
    190     // Restored state
     177
     178    // Restored size
    191179    WriteInteger('RestoredWidth', FormRestoredSize.Right - FormRestoredSize.Left);
    192180    WriteInteger('RestoredHeight', FormRestoredSize.Bottom - FormRestoredSize.Top);
    193181    WriteInteger('RestoredTop', FormRestoredSize.Top);
    194182    WriteInteger('RestoredLeft', FormRestoredSize.Left);
     183
    195184    // Other state
    196185    WriteInteger('WindowState', Integer(FormWindowState));
     
    257246begin
    258247  Self.Form := Form;
     248
    259249  // Set default
    260   FormNormalSize := Bounds((Screen.Width - Form.Width) div 2,
    261     (Screen.Height - Form.Height) div 2, Form.Width, Form.Height);
    262250  FormRestoredSize := Bounds((Screen.Width - Form.Width) div 2,
    263251    (Screen.Height - Form.Height) div 2, Form.Width, Form.Height);
     
    267255  LoadFromRegistry(RegistryContext);
    268256
    269   if not EqualRect(FormNormalSize, FormRestoredSize) or
    270     DefaultMaximized then begin
     257  if (FormWindowState = wsMaximized) or DefaultMaximized then begin
    271258    // Restore to maximized state
    272259    Form.WindowState := wsNormal;
     
    277264    // Restore to normal state
    278265    Form.WindowState := wsNormal;
    279     if FEntireVisible then FormNormalSize := CheckEntireVisible(FormNormalSize)
     266    if FEntireVisible then FormRestoredSize := CheckEntireVisible(FormRestoredSize)
    280267      else if FMinVisiblePart > 0 then
    281     FormNormalSize := CheckPartVisible(FormNormalSize, FMinVisiblePart);
    282     if not EqualRect(FormNormalSize, Form.BoundsRect) then
    283       Form.BoundsRect := FormNormalSize;
     268        FormRestoredSize := CheckPartVisible(FormRestoredSize, FMinVisiblePart);
     269    if not EqualRect(FormRestoredSize, Form.BoundsRect) then
     270      Form.BoundsRect := FormRestoredSize;
    284271  end;
    285272  if FormFullScreen then SetFullScreen(True);
     
    290277begin
    291278  Self.Form := Form;
    292   FormNormalSize := Bounds(Form.Left, Form.Top, Form.Width, Form.Height);
    293   if not FormFullScreen then
    294     FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth,
    295       Form.RestoredHeight);
    296   FormWindowState := Form.WindowState;
     279  if not FormFullScreen then begin
     280    FormWindowState := Form.WindowState;
     281    if FormWindowState = wsMaximized then begin
     282      FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth,
     283        Form.RestoredHeight);
     284    end else
     285    if FormWindowState = wsNormal then begin
     286      FormRestoredSize := Bounds(Form.Left, Form.Top, Form.Width, Form.Height);
     287    end;
     288  end;
    297289  SaveToRegistry(RegistryContext);
    298290  SaveControl(Form);
     
    312304  if State then begin
    313305    FormFullScreen := True;
    314     FormNormalSize := Form.BoundsRect;
    315     FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth,
    316       Form.RestoredHeight);
     306    if Form.WindowState = wsMaximized then begin
     307      FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth,
     308        Form.RestoredHeight);
     309    end else
     310    if Form.WindowState = wsNormal then begin
     311      FormRestoredSize := Bounds(Form.Left, Form.Top, Form.Width, Form.Height);
     312    end;
    317313    FormWindowState := Form.WindowState;
     314    Form.WindowState := wsMaximized;
     315    Form.WindowState := wsNormal;
    318316    ShowWindow(Form.Handle, SW_SHOWFULLSCREEN);
    319317    {$IFDEF WINDOWS}
     
    327325    ShowWindow(Form.Handle, SW_SHOWNORMAL);
    328326    if FormWindowState = wsNormal then begin
    329       Form.BoundsRect := FormNormalSize;
     327      Form.WindowState := wsNormal;
     328      Form.BoundsRect := FormRestoredSize;
    330329    end else
    331330    if FormWindowState = wsMaximized then begin
     
    337336
    338337end.
    339 
  • trunk/Packages/Common/PixelPointer.pas

    r455 r456  
    1 unit UPixelPointer;
     1unit PixelPointer;
    22
    33interface
     
    1515  private
    1616    procedure SetRGB(AValue: Cardinal);
    17     function GetRGB: Cardinal;   
     17    function GetRGB: Cardinal;
    1818  public
    1919    property RGB: Cardinal read GetRGB write SetRGB;
     
    4141    procedure SetXY(X, Y: Integer); inline; // Set pixel position relative to base
    4242    procedure SetX(X: Integer); inline; // Set horizontal pixel position relative to base
     43    class function Create(Bitmap: TRasterImage; BaseX: Integer = 0; BaseY: Integer = 0): TPixelPointer; inline; static;
    4344  end;
    4445  PPixelPointer = ^TPixelPointer;
    4546
    46   function PixelPointer(Bitmap: TRasterImage; BaseX: Integer = 0; BaseY: Integer = 0): TPixelPointer; inline;
    4747  function SwapRedBlue(Color: TColor32): TColor32;
    4848  procedure BitmapCopyRect(DstBitmap: TRasterImage; DstRect: TRect; SrcBitmap: TRasterImage; SrcPos: TPoint);
     
    120120  SrcBitmap.BeginUpdate(True);
    121121  DstBitmap.BeginUpdate(True);
    122   SrcPtr := PixelPointer(SrcBitmap, SrcPos.X, SrcPos.Y);
    123   DstPtr := PixelPointer(DstBitmap, DstRect.Left, DstRect.Top);
     122  SrcPtr := TPixelPointer.Create(SrcBitmap, SrcPos.X, SrcPos.Y);
     123  DstPtr := TPixelPointer.Create(DstBitmap, DstRect.Left, DstRect.Top);
    124124  for Y := 0 to DstRect.Height - 1 do begin
    125125    for X := 0 to DstRect.Width - 1 do begin
     
    150150  SrcBitmap.BeginUpdate(True);
    151151  DstBitmap.BeginUpdate(True);
    152   SrcPtr := PixelPointer(SrcBitmap, SrcRect.Left, SrcRect.Top);
    153   DstPtr := PixelPointer(DstBitmap, DstRect.Left, DstRect.Top);
     152  SrcPtr := TPixelPointer.Create(SrcBitmap, SrcRect.Left, SrcRect.Top);
     153  DstPtr := TPixelPointer.Create(DstBitmap, DstRect.Left, DstRect.Top);
    154154  for Y := 0 to DstRect.Height - 1 do begin
    155155    for X := 0 to DstRect.Width - 1 do begin
     
    181181begin
    182182  Bitmap.BeginUpdate(True);
    183   Ptr := PixelPointer(Bitmap);
     183  Ptr := TPixelPointer.Create(Bitmap);
    184184  for Y := 0 to Bitmap.Height - 1 do begin
    185185    for X := 0 to Bitmap.Width - 1 do begin
     
    198198begin
    199199  Bitmap.BeginUpdate(True);
    200   Ptr := PixelPointer(Bitmap, Rect.Left, Rect.Top);
     200  Ptr := TPixelPointer.Create(Bitmap, Rect.Left, Rect.Top);
    201201  for Y := 0 to Rect.Height - 1 do begin
    202202    for X := 0 to Rect.Width - 1 do begin
     
    215215begin
    216216  Bitmap.BeginUpdate(True);
    217   Ptr := PixelPointer(Bitmap);
     217  Ptr := TPixelPointer.Create(Bitmap);
    218218  for Y := 0 to Bitmap.Height - 1 do begin
    219219    for X := 0 to Bitmap.Width - 1 do begin
     
    232232begin
    233233  Bitmap.BeginUpdate(True);
    234   Ptr := PixelPointer(Bitmap);
     234  Ptr := TPixelPointer.Create(Bitmap);
    235235  for Y := 0 to Bitmap.Height - 1 do begin
    236236    for X := 0 to Bitmap.Width - 1 do begin
     
    252252  Pixel := Color32ToPixel32(Color);
    253253  Bitmap.BeginUpdate(True);
    254   Ptr := PixelPointer(Bitmap);
     254  Ptr := TPixelPointer.Create(Bitmap);
    255255  for Y := 0 to Bitmap.Height - 1 do begin
    256256    for X := 0 to Bitmap.Width - 1 do begin
     
    295295end;
    296296
    297 function PixelPointer(Bitmap: TRasterImage; BaseX: Integer;
     297class function TPixelPointer.Create(Bitmap: TRasterImage; BaseX: Integer;
    298298  BaseY: Integer): TPixelPointer;
    299299begin
     
    310310end;
    311311
    312 
    313312end.
    314 
  • trunk/Packages/Common/Pool.pas

    r455 r456  
    1 unit UPool;
     1unit Pool;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, syncobjs, Generics.Collections, UThreading;
     6  Classes, SysUtils, syncobjs, Generics.Collections, Threading;
    77
    88type
     
    106106constructor TThreadedPool.Create;
    107107begin
    108   inherited Create;
     108  inherited;
    109109  Lock := TCriticalSection.Create;
    110110end;
     
    114114  TotalCount := 0;
    115115  Lock.Free;
    116   inherited Destroy;
     116  inherited;
    117117end;
    118118
     
    199199
    200200end.
    201 
  • trunk/Packages/Common/PrefixMultiplier.pas

    r455 r456  
    1 unit UPrefixMultiplier;
     1unit PrefixMultiplier;
    22
    33// Date: 2010-06-01
     
    3030  BasePrefixMultipliers: TPrefixMultiplierDef =
    3131  (
    32     (ShortText: 'y'; FullText: 'yocto'; Value: 1E-24),
    33           (ShortText: 'z'; FullText: 'zepto'; Value: 1E-21),
    34     (ShortText: 'a'; FullText: 'atto'; Value: 1E-18),
    35     (ShortText: 'f'; FullText: 'femto'; Value: 1E-15),
    36     (ShortText: 'p'; FullText: 'piko'; Value: 1E-12),
    37     (ShortText: 'n'; FullText: 'nano'; Value: 1E-9),
    38     (ShortText: 'u'; FullText: 'mikro'; Value: 1E-6),
    39     (ShortText: 'm'; FullText: 'mili'; Value: 1E-3),
     32    (ShortText: 'y'; FullText: 'yocto'; Value: 1e-24),
     33      (ShortText: 'z'; FullText: 'zepto'; Value: 1e-21),
     34    (ShortText: 'a'; FullText: 'atto'; Value: 1e-18),
     35    (ShortText: 'f'; FullText: 'femto'; Value: 1e-15),
     36    (ShortText: 'p'; FullText: 'piko'; Value: 1e-12),
     37    (ShortText: 'n'; FullText: 'nano'; Value: 1e-9),
     38    (ShortText: 'u'; FullText: 'mikro'; Value: 1e-6),
     39    (ShortText: 'm'; FullText: 'mili'; Value: 1e-3),
    4040    (ShortText: ''; FullText: ''; Value: 1e0),
    4141    (ShortText: 'k'; FullText: 'kilo'; Value: 1e3),
     
    5151  TimePrefixMultipliers: TPrefixMultiplierDef =
    5252  (
    53     (ShortText: 'ys'; FullText: 'yocto'; Value: 1E-24),
    54           (ShortText: 'zs'; FullText: 'zepto'; Value: 1E-21),
    55     (ShortText: 'as'; FullText: 'atto'; Value: 1E-18),
    56     (ShortText: 'fs'; FullText: 'femto'; Value: 1E-15),
    57     (ShortText: 'ps'; FullText: 'piko'; Value: 1E-12),
    58     (ShortText: 'ns'; FullText: 'nano'; Value: 1E-9),
    59     (ShortText: 'us'; FullText: 'mikro'; Value: 1E-6),
    60     (ShortText: 'ms'; FullText: 'mili'; Value: 1E-3),
     53    (ShortText: 'ys'; FullText: 'yocto'; Value: 1e-24),
     54      (ShortText: 'zs'; FullText: 'zepto'; Value: 1e-21),
     55    (ShortText: 'as'; FullText: 'atto'; Value: 1e-18),
     56    (ShortText: 'fs'; FullText: 'femto'; Value: 1e-15),
     57    (ShortText: 'ps'; FullText: 'piko'; Value: 1e-12),
     58    (ShortText: 'ns'; FullText: 'nano'; Value: 1e-9),
     59    (ShortText: 'us'; FullText: 'mikro'; Value: 1e-6),
     60    (ShortText: 'ms'; FullText: 'mili'; Value: 1e-3),
    6161    (ShortText: 's'; FullText: 'sekunda'; Value: 1),
    6262    (ShortText: 'min'; FullText: 'minuta'; Value: 60),
     
    124124
    125125end.
    126 
  • trunk/Packages/Common/RegistryEx.pas

    r455 r456  
    1 unit URegistry;
     1unit RegistryEx;
    22
    33interface
  • trunk/Packages/Common/ResetableThread.pas

    r455 r456  
    1 unit UResetableThread;
     1unit ResetableThread;
    22
    33interface
    44
    55uses
    6   Classes, SysUtils, syncobjs, UThreading, UPool;
     6  Classes, SysUtils, syncobjs, Threading, Pool;
    77
    88type
     
    165165  FreeAndNil(FStopEvent);
    166166  FreeAndNil(FLock);
    167   inherited Destroy;
     167  inherited;
    168168end;
    169169
     
    284284constructor TThreadPool.Create;
    285285begin
    286   inherited Create;
     286  inherited;
    287287end;
    288288
     
    291291  TotalCount := 0;
    292292  WaitForEmpty;
    293   inherited Destroy;
     293  inherited;
    294294end;
    295295
    296296end.
    297 
    298 
  • trunk/Packages/Common/ScaleDPI.pas

    r455 r456  
    1 unit UScaleDPI;
     1unit ScaleDPI;
    22
    33{ See: http://wiki.lazarus.freepascal.org/High_DPI }
     
    259259    begin
    260260      ImgList.Add(Temp[I], nil);
    261       Temp[I].Free;
     261      Temp[i].Free;
    262262    end;
    263263  finally
  • trunk/Packages/Common/StopWatch.pas

    r447 r456  
    3535implementation
    3636
    37 constructor TStopWatch.Create(const startOnCreate : Boolean = False) ;
     37constructor TStopWatch.Create(const startOnCreate : boolean = false) ;
    3838begin
    3939  inherited Create;
     
    7272begin
    7373  dt := ElapsedMiliseconds / MSecsPerSec / SecsPerDay;
    74   Result := Format('%d days, %s', [Trunc(dt), FormatDateTime('hh:nn:ss.z', Frac(dt))]) ;
     74  result := Format('%d days, %s', [Trunc(dt), FormatDateTime('hh:nn:ss.z', Frac(dt))]) ;
    7575end;
    7676
     
    9393
    9494end.
    95 
  • trunk/Packages/Common/StringTable.pas

    r455 r456  
    1 unit UStringTable;
     1unit StringTable;
    22
    33interface
     
    3939function TStringTable.GetColCount: Integer;
    4040begin
    41   Result := Size.X;
     41  Result := Size.x;
    4242end;
    4343
     
    6969end;
    7070
    71 
    7271end.
    73 
  • trunk/Packages/Common/SyncCounter.pas

    r455 r456  
    1 unit USyncCounter;
     1unit SyncCounter;
    22
    33interface
     
    6868begin
    6969  Lock.Free;
    70   inherited Destroy;
     70  inherited;
    7171end;
    7272
     
    7878
    7979end.
    80 
  • trunk/Packages/Common/Theme.pas

    r455 r456  
    1 unit UTheme;
     1unit Theme;
    22
    33interface
     
    186186end;
    187187
    188 
    189188end.
    190 
  • trunk/Packages/Common/Threading.pas

    r455 r456  
    1 unit UThreading;
     1unit Threading;
    22
    33interface
     
    292292  end;
    293293  FThread.Free;
    294   inherited Destroy;
     294  inherited;
    295295end;
    296296
     
    366366
    367367end.
    368 
  • trunk/Packages/Common/Translator.pas

    r455 r456  
    1 unit UTranslator;
     1unit Translator;
    22
    33interface
     
    55uses
    66  Classes, SysUtils, Forms, ExtCtrls, Controls, LazFileUtils, LazUTF8,
    7   Translations, TypInfo, Dialogs, FileUtil, LCLProc, ULanguages, LCLType,
     7  Translations, TypInfo, Dialogs, FileUtil, LCLProc, Languages, LCLType,
    88  LCLVersion, Generics.Collections;
    99
     
    420420
    421421  if Lang = '' then begin
    422     for I := 1 to Paramcount - 1 do
    423       if (ParamStr(I) = '--LANG') or (ParamStr(I) = '-l') or
    424         (ParamStr(I) = '--lang') then
    425         Lang := ParamStr(I + 1);
     422    for i := 1 to Paramcount - 1 do
     423      if (ParamStr(i) = '--LANG') or (ParamStr(i) = '-l') or
     424        (ParamStr(i) = '--lang') then
     425        Lang := ParamStr(i + 1);
    426426  end;
    427427  if Lang = '' then begin
     
    473473      DirectorySeparator + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    474474    if FileExistsUTF8(Result) then
    475       Exit;
     475      exit;
    476476
    477477    Result := ExtractFilePath(ParamStrUTF8(0)) + 'languages' + DirectorySeparator + LangID +
    478478      DirectorySeparator + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    479479    if FileExistsUTF8(Result) then
    480       Exit;
     480      exit;
    481481
    482482    Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator
    483483      + LangID + DirectorySeparator + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    484484    if FileExistsUTF8(Result) then
    485       Exit;
     485      exit;
    486486
    487487    Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator
     
    489489      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    490490    if FileExistsUTF8(Result) then
    491       Exit;
     491      exit;
    492492
    493493    {$IFDEF UNIX}
     
    496496      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    497497    if FileExistsUTF8(Result) then
    498       Exit;
     498      exit;
    499499    {$ENDIF}
    500500    // Let us search for reducted files
    501     LangShortID := Copy(LangID, 1, 2);
     501    LangShortID := copy(LangID, 1, 2);
    502502    // At first, check all was checked
    503503    Result := ExtractFilePath(ParamStrUTF8(0)) + LangShortID +
    504504      DirectorySeparator + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    505505    if FileExistsUTF8(Result) then
    506       Exit;
     506      exit;
    507507
    508508    Result := ExtractFilePath(ParamStrUTF8(0)) + 'languages' + DirectorySeparator +
     
    510510      ExtractFileName(ParamStrUTF8(0)), LCExt);
    511511    if FileExistsUTF8(Result) then
    512       Exit;
     512      exit;
    513513
    514514    Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator
     
    516516      ExtractFileName(ParamStrUTF8(0)), LCExt);
    517517    if FileExistsUTF8(Result) then
    518       Exit;
     518      exit;
    519519
    520520    Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator
     
    522522      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    523523    if FileExistsUTF8(Result) then
    524       Exit;
     524      exit;
    525525
    526526    // Full language in file name - this will be default for the project
     
    529529      Result := ExtractFilePath(ParamStrUTF8(0)) + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangID])) + LCExt;
    530530      if FileExistsUTF8(Result) then
    531         Exit;
     531        exit;
    532532      // Common location (like in Lazarus)
    533533      Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator +
    534534        ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangID])) + LCExt;
    535535      if FileExistsUTF8(Result) then
    536         Exit;
     536        exit;
    537537
    538538      Result := ExtractFilePath(ParamStrUTF8(0)) + 'languages' +
    539539        DirectorySeparator + ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangID])) + LCExt;
    540540      if FileExistsUTF8(Result) then
    541         Exit;
     541        exit;
    542542    except
    543543      Result := ''; // Or do something else (useless)
     
    548548      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), LCExt);
    549549    if FileExistsUTF8(Result) then
    550       Exit;
     550      exit;
    551551    {$ENDIF}
    552552    Result := ExtractFilePath(ParamStrUTF8(0)) + ChangeFileExt(
    553553      ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangShortID])) + LCExt;
    554554    if FileExistsUTF8(Result) then
    555       Exit;
     555      exit;
    556556
    557557    Result := ExtractFilePath(ParamStrUTF8(0)) + 'locale' + DirectorySeparator +
    558558      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangShortID])) + LCExt;
    559559    if FileExistsUTF8(Result) then
    560       Exit;
     560      exit;
    561561
    562562    Result := ExtractFilePath(ParamStrUTF8(0)) + 'languages' + DirectorySeparator +
    563563      ChangeFileExt(ExtractFileName(ParamStrUTF8(0)), Format(FormatLang, [LangShortID])) + LCExt;
    564564    if FileExistsUTF8(Result) then
    565       Exit;
     565      exit;
    566566  end;
    567567
     
    569569end;
    570570
    571 
    572571end.
    573 
  • trunk/Packages/Common/URI.pas

    r455 r456  
    1 unit UURI;
     1unit URI;
    22
    33// Date: 2011-04-04
     
    182182begin
    183183  Items.Free;
    184   inherited Destroy;
     184  inherited;
    185185end;
    186186
     
    231231begin
    232232  Path.Free;
    233   inherited Destroy;
     233  inherited;
    234234end;
    235235
     
    242242    Fragment := TURI(Source).Fragment;
    243243    Query := TURI(Source).Query;
    244   end else inherited Assign(Source);
     244  end else inherited;
    245245end;
    246246
     
    290290destructor TURL.Destroy;
    291291begin
    292   inherited Destroy;
     292  inherited;
    293293end;
    294294
     
    343343begin
    344344  Directory.Free;
    345   inherited Destroy;
    346 end;
    347 
     345  inherited;
     346end;
    348347
    349348end.
    350 
  • trunk/Packages/Common/XML.pas

    r455 r456  
    1 unit UXMLUtils;
     1unit XML;
    22
    33interface
     
    1414procedure WriteString(Node: TDOMNode; Name: string; Value: string);
    1515procedure WriteDateTime(Node: TDOMNode; Name: string; Value: TDateTime);
     16procedure WriteDouble(Node: TDOMNode; Name: string; Value: Double);
    1617function ReadInteger(Node: TDOMNode; Name: string; DefaultValue: Integer): Integer;
    1718function ReadInt64(Node: TDOMNode; Name: string; DefaultValue: Int64): Int64;
     
    1920function ReadString(Node: TDOMNode; Name: string; DefaultValue: string): string;
    2021function ReadDateTime(Node: TDOMNode; Name: string; DefaultValue: TDateTime): TDateTime;
     22function ReadDouble(Node: TDOMNode; Name: string; DefaultValue: Double): Double;
    2123procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string);
    2224
    2325
    2426implementation
     27
     28function ReadDouble(Node: TDOMNode; Name: string; DefaultValue: Double): Double;
     29var
     30  NewNode: TDOMNode;
     31begin
     32  Result := DefaultValue;
     33  NewNode := Node.FindNode(DOMString(Name));
     34  if Assigned(NewNode) then
     35    Result := StrToFloat(string(NewNode.TextContent));
     36end;
    2537
    2638procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string);
     
    200212end;
    201213
     214procedure WriteDouble(Node: TDOMNode; Name: string; Value: Double);
     215var
     216  NewNode: TDOMNode;
     217begin
     218  NewNode := Node.OwnerDocument.CreateElement(DOMString(Name));
     219  NewNode.TextContent := DOMString(FloatToStr(Value));
     220  Node.AppendChild(NewNode);
     221end;
     222
    202223function ReadInteger(Node: TDOMNode; Name: string; DefaultValue: Integer): Integer;
    203224var
     
    252273
    253274end.
    254 
  • trunk/Settings.pas

    r447 r456  
    66  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    77  LCLProc, ScreenTools, Messg, ButtonA, Directories, DrawDlg, ButtonC,
    8   UKeyBindings, ULanguages;
     8  KeyBindings, Languages;
    99
    1010type
     
    270270    else ButtonFullscreen.ButtonIndex := 2;
    271271  LocalGamma := Gamma;
    272   LocalKeyBindings.Assign(KeyBindings);
     272  LocalKeyBindings.Assign(KeyBindings.KeyBindings);
    273273end;
    274274
     
    288288  Gamma := LocalGamma;
    289289  if NeedRestart then SimpleMessage(SRestartMsg);
    290   KeyBindings.Assign(LocalKeyBindings);
     290  KeyBindings.KeyBindings.Assign(LocalKeyBindings);
    291291end;
    292292
  • trunk/Start.pas

    r447 r456  
    77  GameServer, Messg, ButtonBase, ButtonA, ButtonC, ButtonB, Area, Types,
    88  LCLIntf, LCLType, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls,
    9   Menus, Registry, DrawDlg, Generics.Collections, Protocol, UMiniMap, UBrain,
    10   UTranslator;
     9  Menus, Registry, DrawDlg, Generics.Collections, Protocol, MiniMap, Brain,
     10  Translator;
    1111
    1212type
     
    151151
    152152uses
    153   Global, Directories, Direct, ScreenTools, Inp, Back, Settings, UKeyBindings,
    154   ULanguages;
     153  Global, Directories, Direct, ScreenTools, Inp, Back, Settings, KeyBindings,
     154  Languages;
    155155
    156156{$R *.lfm}
     
    435435  end;
    436436
    437   KeyBindings.LoadFromRegistry(HKEY_CURRENT_USER, AppRegistryKey + '\KeyBindings');
     437  KeyBindings.KeyBindings.LoadFromRegistry(HKEY_CURRENT_USER, AppRegistryKey + '\KeyBindings');
    438438end;
    439439
     
    459459  end;
    460460
    461   KeyBindings.SaveToRegistry(HKEY_CURRENT_USER, AppRegistryKey + '\KeyBindings');
     461  KeyBindings.KeyBindings.SaveToRegistry(HKEY_CURRENT_USER, AppRegistryKey + '\KeyBindings');
    462462end;
    463463
Note: See TracChangeset for help on using the changeset viewer.