tools: updatepofiles: added recognition of UTF8 header

git-svn-id: trunk@11962 -
This commit is contained in:
mattias 2007-09-08 13:17:58 +00:00
parent f7fcfbba04
commit 5177c24ba7
11 changed files with 290 additions and 106 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<CONFIG Name="IDE windows and dialogs" Path="IDE_Window:_" ChildCount="48">
<CONFIG Name="IDE windows and dialogs" Path="IDE_Window:_" ChildCount="50">
<Node1 Name="TObjectInspector" Path="Object_Inspector" HasHelp="True"/>
<Node2 Name="TfrmCompilerOptions" Path="Compiler_Options" HasHelp="True" ChildCount="1">
<Node1 Name="MainNotebook" ChildCount="7">
@ -91,4 +91,6 @@
<Node46 Name="TCodeToolsDefinesEditor" Path="Codetools_Defines_Editor" HasHelp="True"/>
<Node47 Name="THelpOptionsDialog" Path="Help_Options" HasHelp="True"/>
<Node48 Name="TWatchPropertyDlg" Path="Watch_Properties" HasHelp="True"/>
<Node49 Name="TNewOtherDialog" Path="TNewOtherDialog" HasHelp="True"/>
<Node50 Name="TObjectInspectorDlg" Path="TObjectInspectorDlg" HasHelp="True"/>
</CONFIG>

View File

@ -1,56 +1,21 @@
object NewOtherDialog: TNewOtherDialog
Left = 481
Left = 236
Height = 296
Top = 362
Top = 264
Width = 397
HorzScrollBar.Page = 396
VertScrollBar.Page = 295
ActiveControl = ItemsTreeView
BorderStyle = bsSizeToolWin
ActiveControl = CancelButton
BorderIcons = [biSystemMenu]
Caption = 'NewOtherDialog'
ClientHeight = 296
ClientWidth = 397
Position = poScreenCenter
object ItemsTreeView: TTreeView
Left = 6
Height = 246
Top = 6
Width = 178
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6
DefaultItemHeight = 15
TabOrder = 0
OnDblClick = OkButtonClick
OnSelectionChanged = ItemsTreeViewSelectionChanged
end
object DescriptionGroupBox: TGroupBox
AnchorSideLeft.Control = ItemsTreeView
AnchorSideLeft.Side = asrBottom
object CancelButton: TButton
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 190
Height = 246
Top = 6
Width = 201
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
Caption = 'DescriptionGroupBox'
ClientHeight = 228
ClientWidth = 197
TabOrder = 1
object DescriptionLabel: TLabel
Left = 6
Height = 216
Top = 6
Width = 185
Align = alClient
BorderSpacing.Around = 6
Caption = 'DescriptionLabel'
ParentColor = False
WordWrap = True
end
end
object CancelButton: TButton
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 299
Height = 25
Top = 265
@ -60,22 +25,108 @@ object NewOtherDialog: TNewOtherDialog
BorderSpacing.Around = 6
BorderSpacing.InnerBorder = 4
Caption = 'CancelButton'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
ModalResult = 2
TabOrder = 2
TabOrder = 0
end
object OkButton: TButton
AnchorSideRight.Control = CancelButton
Left = 220
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 218
Height = 25
Top = 265
Width = 73
Width = 75
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6
BorderSpacing.InnerBorder = 4
Caption = 'OkButton'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
Enabled = False
OnClick = OkButtonClick
TabOrder = 1
end
object Panel1: TPanel
AnchorSideBottom.Control = OkButton
Left = 6
Height = 253
Top = 6
Width = 385
Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
BevelOuter = bvNone
Caption = 'Panel'
ClientHeight = 253
ClientWidth = 385
TabOrder = 2
object ItemsTreeView: TTreeView
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideBottom.Control = CancelButton
Height = 253
Width = 182
Align = alClient
DefaultItemHeight = 15
ScrollBars = ssAutoBoth
TabOrder = 0
OnDblClick = OkButtonClick
OnSelectionChanged = ItemsTreeViewSelectionChanged
end
object DescriptionGroupBox: TGroupBox
AnchorSideLeft.Control = ItemsTreeView
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CancelButton
Left = 187
Height = 253
Width = 198
Align = alRight
Caption = 'DescriptionGroupBox'
ClientHeight = 235
ClientWidth = 194
TabOrder = 1
object DescriptionLabel: TLabel
Left = 6
Height = 223
Top = 6
Width = 182
Align = alClient
BorderSpacing.Around = 6
Caption = 'DescriptionLabel'
ParentColor = False
WordWrap = True
end
end
object Splitter1: TSplitter
Left = 182
Height = 253
Width = 5
Align = alRight
ResizeAnchor = akRight
end
end
object HelpButton: TButton
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 25
Top = 265
Width = 81
Anchors = [akLeft, akBottom]
AutoSize = True
BorderSpacing.Around = 6
BorderSpacing.InnerBorder = 4
Caption = 'HelpButton'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
OnClick = HelpButtonClick
TabOrder = 3
end
end

View File

@ -1,30 +1,49 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TNewOtherDialog','FORMDATA',[
'TPF0'#15'TNewOtherDialog'#14'NewOtherDialog'#4'Left'#3#225#1#6'Height'#3'('#1
+#3'Top'#3'j'#1#5'Width'#3#141#1#18'HorzScrollBar.Page'#3#140#1#18'VertScroll'
+'Bar.Page'#3''''#1#13'ActiveControl'#7#13'ItemsTreeView'#11'BorderStyle'#7#13
+'bsSizeToolWin'#7'Caption'#6#14'NewOtherDialog'#12'ClientHeight'#3'('#1#11'C'
+'lientWidth'#3#141#1#8'Position'#7#14'poScreenCenter'#0#9'TTreeView'#13'Item'
+'sTreeView'#4'Left'#2#6#6'Height'#3#246#0#3'Top'#2#6#5'Width'#3#178#0#7'Anch'
+'ors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#17'De'
+'faultItemHeight'#2#15#8'TabOrder'#2#0#10'OnDblClick'#7#13'OkButtonClick'#18
+'OnSelectionChanged'#7#29'ItemsTreeViewSelectionChanged'#0#0#9'TGroupBox'#19
+'DescriptionGroupBox'#22'AnchorSideLeft.Control'#7#13'ItemsTreeView'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'A'
+'nchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#190#0#6'Height'#3#246#0#3'Top'
+#2#6#5'Width'#3#201#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'DescriptionGroupBox'#12'Clie'
+'ntHeight'#3#228#0#11'ClientWidth'#3#197#0#8'TabOrder'#2#1#0#6'TLabel'#16'De'
+'scriptionLabel'#4'Left'#2#6#6'Height'#3#216#0#3'Top'#2#6#5'Width'#3#185#0#5
+'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'Descripti'
+'onLabel'#11'ParentColor'#8#8'WordWrap'#9#0#0#0#7'TButton'#12'CancelButton'#4
+'Left'#3'+'#1#6'Height'#2#25#3'Top'#3#9#1#5'Width'#2'\'#7'Anchors'#11#7'akRi'
+'ght'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpac'
+'ing.InnerBorder'#2#4#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'Ta'
+'bOrder'#2#2#0#0#7'TButton'#8'OkButton'#23'AnchorSideRight.Control'#7#12'Can'
+'celButton'#4'Left'#3#220#0#6'Height'#2#25#3'Top'#3#9#1#5'Width'#2'I'#7'Anch'
+'ors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#8'OkButton'#7'Enabled'#8#7'O'
+'nClick'#7#13'OkButtonClick'#8'TabOrder'#2#3#0#0#0
'TPF0'#15'TNewOtherDialog'#14'NewOtherDialog'#4'Left'#3#236#0#6'Height'#3'('#1
+#3'Top'#3#8#1#5'Width'#3#141#1#18'HorzScrollBar.Page'#3#140#1#18'VertScrollB'
+'ar.Page'#3''''#1#13'ActiveControl'#7#12'CancelButton'#11'BorderIcons'#11#12
+'biSystemMenu'#0#7'Caption'#6#14'NewOtherDialog'#12'ClientHeight'#3'('#1#11
+'ClientWidth'#3#141#1#8'Position'#7#14'poScreenCenter'#0#7'TButton'#12'Cance'
+'lButton'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'
+#7#9'asrBottom'#4'Left'#3'+'#1#6'Height'#2#25#3'Top'#3#9#1#5'Width'#2'\'#7'A'
+'nchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2
+#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#12'CancelButton'#21'Constr'
+'aints.MinHeight'#2#25#20'Constraints.MinWidth'#2'K'#11'ModalResult'#2#2#8'T'
+'abOrder'#2#0#0#0#7'TButton'#8'OkButton'#23'AnchorSideRight.Control'#7#12'Ca'
+'ncelButton'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Sid'
+'e'#7#9'asrBottom'#4'Left'#3#218#0#6'Height'#2#25#3'Top'#3#9#1#5'Width'#2'K'
+#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Aroun'
+'d'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#8'OkButton'#21'Constr'
+'aints.MinHeight'#2#25#20'Constraints.MinWidth'#2'K'#7'Enabled'#8#7'OnClick'
+#7#13'OkButtonClick'#8'TabOrder'#2#1#0#0#6'TPanel'#6'Panel1'#24'AnchorSideBo'
+'ttom.Control'#7#8'OkButton'#4'Left'#2#6#6'Height'#3#253#0#3'Top'#2#6#5'Widt'
+'h'#3#129#1#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'akBottom'#0#20'BorderSpacing.Around'#2#6#10'BevelOuter'#7#6'bvNone'#7'Capti'
+'on'#6#5'Panel'#12'ClientHeight'#3#253#0#11'ClientWidth'#3#129#1#8'TabOrder'
+#2#2#0#9'TTreeView'#13'ItemsTreeView'#22'AnchorSideLeft.Control'#7#5'Owner'
+#21'AnchorSideTop.Control'#7#5'Owner'#24'AnchorSideBottom.Control'#7#12'Canc'
+'elButton'#6'Height'#3#253#0#5'Width'#3#182#0#5'Align'#7#8'alClient'#17'Defa'
+'ultItemHeight'#2#15#10'ScrollBars'#7#10'ssAutoBoth'#8'TabOrder'#2#0#10'OnDb'
+'lClick'#7#13'OkButtonClick'#18'OnSelectionChanged'#7#29'ItemsTreeViewSelect'
+'ionChanged'#0#0#9'TGroupBox'#19'DescriptionGroupBox'#22'AnchorSideLeft.Cont'
+'rol'#7#13'ItemsTreeView'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSi'
+'deTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorS'
+'ideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#12'CancelButto'
+'n'#4'Left'#3#187#0#6'Height'#3#253#0#5'Width'#3#198#0#5'Align'#7#7'alRight'
+#7'Caption'#6#19'DescriptionGroupBox'#12'ClientHeight'#3#235#0#11'ClientWidt'
+'h'#3#194#0#8'TabOrder'#2#1#0#6'TLabel'#16'DescriptionLabel'#4'Left'#2#6#6'H'
+'eight'#3#223#0#3'Top'#2#6#5'Width'#3#182#0#5'Align'#7#8'alClient'#20'Border'
+'Spacing.Around'#2#6#7'Caption'#6#16'DescriptionLabel'#11'ParentColor'#8#8'W'
+'ordWrap'#9#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3#182#0#6'Height'#3#253#0
+#5'Width'#2#5#5'Align'#7#7'alRight'#12'ResizeAnchor'#7#7'akRight'#0#0#0#7'TB'
+'utton'#10'HelpButton'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBo'
+'ttom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#25#3'Top'#3#9#1#5'Width'#2'Q'#7'Anchors'#11#6'akLeft'#8'akBot'
+'tom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBor'
+'der'#2#4#7'Caption'#6#10'HelpButton'#21'Constraints.MinHeight'#2#25#20'Cons'
+'traints.MinWidth'#2'K'#7'OnClick'#7#15'HelpButtonClick'#8'TabOrder'#2#3#0#0
+#0
]);

View File

@ -40,21 +40,9 @@ unit NewDialog;
interface
uses
Buttons,
Classes,
ComCtrls,
Controls,
Dialogs,
Forms,
IDEWindowIntf,
LazarusIDEStrConsts,
LCLProc,
LResources,
NewItemIntf,
PackageIntf,
ProjectIntf,
StdCtrls,
SysUtils;
Buttons, Classes, ComCtrls, Controls, Dialogs, Forms, IDEWindowIntf,
LazarusIDEStrConsts, LCLProc, LResources, NewItemIntf, PackageIntf,
ProjectIntf, StdCtrls, SysUtils, ExtCtrls, IDEContextHelpEdit, IDEImagesIntf;
type
{ TNewLazIDEItemCategory }
@ -140,14 +128,20 @@ type
{ TNewOtherDialog }
TNewOtherDialog = class(TForm)
HelpButton: TButton;
DescriptionGroupBox: TGroupBox;
DescriptionLabel: TLabel;
ItemsTreeView: TTreeView;
OkButton: TButton;
CancelButton: TButton;
ItemsTreeView: TTreeView;
Panel1: TPanel;
Splitter1: TSplitter;
procedure HelpButtonClick(Sender: TObject);
procedure ItemsTreeViewSelectionChanged(Sender: TObject);
procedure OkButtonClick(Sender: TObject);
private
ImageIndexFolder: integer;
ImageIndexTemplate: integer;
FNewItem: TNewIDEItemTemplate;
procedure FillItemsTree;
procedure SetupComponents;
@ -214,13 +208,20 @@ begin
Category := NewIDEItems[CategoryID];
if not Category.VisibleInNewDialog then continue;
NewParentNode := ItemsTreeView.Items.AddObject(nil, Category.Name, Category);
NewParentNode.ImageIndex := ImageIndexFolder;
NewParentNode.SelectedIndex := ImageIndexFolder;
for TemplateID := 0 to Category.Count - 1 do
begin
Template := Category[TemplateID];
//DebugLn('TNewOtherDialog.FillItemsTree ',Template.Name,' ',dbgs(Template.VisibleInNewDialog));
if Template.VisibleInNewDialog then
ItemsTreeView.Items.AddChildObject(NewParentNode, Template.Name,
Template);
with ItemsTreeView.Items.AddChildObject(NewParentNode, Template.Name, Template) do
begin
ImageIndex := ImageIndexTemplate;
SelectedIndex := ImageIndexTemplate;
end;
end;
NewParentNode.Expand(True);
end;
@ -234,12 +235,22 @@ begin
UpdateDescription;
end;
procedure TNewOtherDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
end;
procedure TNewOtherDialog.SetupComponents;
begin
ItemsTreeView.Images := IDEImages.Images_16;
ImageIndexTemplate := IDEImages.LoadImage(16, 'template');
ImageIndexFolder := IDEImages.LoadImage(16, 'folder');
DescriptionGroupBox.Caption := lisToDoLDescription;
DescriptionLabel.Caption := '';
OkButton.Caption := lisLazBuildOk;
CancelButton.Caption := dlgCancel;
HelpButton.Caption := srVK_HELP;
DefaultControl := OkButton;
CancelControl := CancelButton;
end;

View File

@ -1,3 +1,17 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2007-06-05 18:25+0100\n"
"Last-Translator: Laurent Jacques <wile64@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: French\n"
"X-Poedit-Country: FRANCE\n"
"X-Poedit-SourceCharset: utf-8\n"
#: objinspstrconsts:oisdlinesdchars
msgid "%d lines, %d chars"
msgstr "%d lignes, %d caractères"

View File

@ -52,7 +52,7 @@ cd <lazarusdir>/images/
6. laz_images.lrs
cd <lazarusdir>/images/
../tools/lazres laz_images.lrs btn_*.xpm pkg_*.xpm arrow_*.xpm menu/menu_*.xpm menu/menu_*.png codeexplorer/*.xpm designer/*.png debugger/*.png packages/*.png
../tools/lazres laz_images.lrs @laz_images.lst
rm ../main.ppu

View File

@ -1210,6 +1210,80 @@ LazarusResources.Add('arrow_up','XPM',[
+'e e _ 3 l }.w ",'#13#10'"6 # m 2 w U f ''.U r w w U a r * r r : C |.: 2 .Z'
+' "};'#13#10
]);
LazarusResources.Add('folder','XPM',[
'/* XPM */'#13#10'static char * folder_xpm[] = {'#13#10'"16 16 121 2",'#13#10
+'" '#9'c None",'#13#10'". '#9'c #D9B434",'#13#10'"+ '#9'c #E1C25E",'#13#10
+'"@ '#9'c #E2C360",'#13#10'"# '#9'c #E2C35F",'#13#10'"$ '#9'c #DBB63C",'#13
+#10'"% '#9'c #DAB336",'#13#10'"& '#9'c #FEFEFD",'#13#10'"* '#9'c #FFFFFE",'
+#13#10'"= '#9'c #FFFEFE",'#13#10'"- '#9'c #FFFEFD",'#13#10'"; '#9'c #FBF7EA"'
+','#13#10'"> '#9'c #E4C76B",'#13#10'", '#9'c #E3C76B",'#13#10'"'' '#9'c #E6C'
+'D79",'#13#10'") '#9'c #E5CA74",'#13#10'"! '#9'c #DAAF35",'#13#10'"~ '#9'c #'
+'FEFCF7",'#13#10'"{ '#9'c #F8E48E",'#13#10'"] '#9'c #F5DE91",'#13#10'"^ '#9
+'c #F5E09F",'#13#10'"/ '#9'c #F6E1AC",'#13#10'"( '#9'c #FEFBEF",'#13#10'"_ '
+#9'c #FEFDF4",'#13#10'": '#9'c #FEFCF3",'#13#10'"< '#9'c #FEFCF1",'#13#10'"['
+' '#9'c #FEFBEE",'#13#10'"} '#9'c #FFFDFA",'#13#10'"| '#9'c #DAAF36",'#13#10
+'"1 '#9'c #DAAA36",'#13#10'"2 '#9'c #FDFAF1",'#13#10'"3 '#9'c #F5DE94",'#13
+#10'"4 '#9'c #F4DC93",'#13#10'"5 '#9'c #F2D581",'#13#10'"6 '#9'c #EDCA6A",'
+#13#10'"7 '#9'c #EACB6C",'#13#10'"8 '#9'c #EFD385",'#13#10'"9 '#9'c #EFD280"'
+','#13#10'"0 '#9'c #EFD07A",'#13#10'"a '#9'c #EECF76",'#13#10'"b '#9'c #EECF'
+'72",'#13#10'"c '#9'c #FBF7E9",'#13#10'"d '#9'c #DAAE34",'#13#10'"e '#9'c #D'
+'AAB35",'#13#10'"f '#9'c #FBF6E8",'#13#10'"g '#9'c #EFD494",'#13#10'"h '#9'c'
+' #EECE88",'#13#10'"i '#9'c #E9C173",'#13#10'"j '#9'c #F6E9C9",'#13#10'"k '#9
+'c #FEFCF2",'#13#10'"l '#9'c #FEFCF0",'#13#10'"m '#9'c #DAAB36",'#13#10'"n '
+#9'c #DAA637",'#13#10'"o '#9'c #FFFDF8",'#13#10'"p '#9'c #FFFDF6",'#13#10'"q'
+' '#9'c #FFFCF5",'#13#10'"r '#9'c #FCF6D8",'#13#10'"s '#9'c #F8E694",'#13#10
+'"t '#9'c #F7E385",'#13#10'"u '#9'c #F6DF76",'#13#10'"v '#9'c #F5DB68",'#13
+#10'"w '#9'c #F4D85C",'#13#10'"x '#9'c #FCF4D7",'#13#10'"y '#9'c #DAA435",'
+#13#10'"z '#9'c #DAA136",'#13#10'"A '#9'c #FEFCF6",'#13#10'"B '#9'c #FCF2C8"'
+','#13#10'"C '#9'c #FBEFB9",'#13#10'"D '#9'c #FAECAC",'#13#10'"E '#9'c #F9E8'
+'9C",'#13#10'"F '#9'c #F7E38B",'#13#10'"G '#9'c #F6E07C",'#13#10'"H '#9'c #F'
+'6DC6C",'#13#10'"I '#9'c #F5D95D",'#13#10'"J '#9'c #F4D64F",'#13#10'"K '#9'c'
+' #F3D344",'#13#10'"L '#9'c #FCF3D0",'#13#10'"M '#9'c #DA9F35",'#13#10'"N '#9
+'c #DA9A36",'#13#10'"O '#9'c #FDFAF2",'#13#10'"P '#9'c #FAEDB3",'#13#10'"Q '
+#9'c #F9E9A4",'#13#10'"R '#9'c #F8E695",'#13#10'"S '#9'c #F7E285",'#13#10'"T'
+' '#9'c #F6DE76",'#13#10'"U '#9'c #F5DB65",'#13#10'"V '#9'c #F4D757",'#13#10
+'"W '#9'c #F3D449",'#13#10'"X '#9'c #F2D13B",'#13#10'"Y '#9'c #F1CE30",'#13
+#10'"Z '#9'c #FBF2CC",'#13#10'"` '#9'c #DA9835",'#13#10'" .'#9'c #DA9435",'
+#13#10'"..'#9'c #FEFAEF",'#13#10'"+.'#9'c #F9E9A1",'#13#10'"@.'#9'c #F8E591"'
+','#13#10'"#.'#9'c #F7E181",'#13#10'"$.'#9'c #F6DE72",'#13#10'"%.'#9'c #F5DA'
+'63",'#13#10'"&.'#9'c #F4D754",'#13#10'"*.'#9'c #F3D347",'#13#10'"=.'#9'c #F'
+'2D039",'#13#10'"-.'#9'c #F1CD2E",'#13#10'";.'#9'c #F0CB26",'#13#10'">.'#9'c'
+' #FBF2CA",'#13#10'",.'#9'c #D98E33",'#13#10'"''.'#9'c #FAF0DC",'#13#10'").'
+#9'c #F4DDA7",'#13#10'"!.'#9'c #F4DB9E",'#13#10'"~.'#9'c #F3DA96",'#13#10'"{'
+'.'#9'c #F3D88E",'#13#10'"].'#9'c #F3D786",'#13#10'"^.'#9'c #F2D47F",'#13#10
+'"/.'#9'c #F2D379",'#13#10'"(.'#9'c #F1D272",'#13#10'"_.'#9'c #F1D06C",'#13
+#10'":.'#9'c #F1CF69",'#13#10'"<.'#9'c #F8EAC2",'#13#10'"[.'#9'c #D8882D",'
+#13#10'"}.'#9'c #D8872D",'#13#10'"|.'#9'c #D8862C",'#13#10'" '
+' ",'#13#10'" ",'#13#10'" '
+' ",'#13#10'" . + @ @ @ # $ ",'#13
+#10'" % & * = - * ; > , , , '' ) ",'#13#10'" ! ~ { ] ^ / ( _ : < ( [ }'
+' | ",'#13#10'" 1 2 3 4 5 6 7 8 9 0 a b c d ",'#13#10'" e f g h i j k '
+': k l ( [ * m ",'#13#10'" n * o p q : r s t u v w x y ",'#13#10'" z A'
+' B C D E F G H I J K L M ",'#13#10'" N O P Q R S T U V W X Y Z ` ",'#13
+#10'" ...+.@.#.$.%.&.*.=.-.;.>. . ",'#13#10'" ,.''.).!.~.{.].^./.(._.:.<'
+'.,. ",'#13#10'" [.}.[.[.[.[.[.[.[.[.}.[.|. ",'#13#10'" '
+' ",'#13#10'" "};'#13#10
]);
LazarusResources.Add('template','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#16#0#0#0#16#8#6#0#0#0#31#243#255'a'
+#0#0#0#6'bKGD'#0#255#0#255#0#255#160#189#167#147#0#0#0#9'pHYs'#0#0#13#215#0#0
+#13#215#1'B('#155'x'#0#0#0#7'tIME'#7#213#3#1#17#7#13']/'#25#180#0#0#1'KIDAT8'
+#203#173#147'Aj'#2'A'#16'E_U'#183'DA'#132#129'!'#222#193#141#130#130'K'#17#6
+#188#129#171'x'#141#16#200#218'`'#204'1B'#206'""'#136' '#10#227#5#196' '#130
+#184#208#184#176#179#137#195#152#193#168#144#191'h~'#209#205#175#255#171#187
+#5#160#211'm?'#0#239'\'#143#214#211#227#243#7#224#248#17'p'#183#160#211'm;'
+#192#7#176'q'#217#193'`'#128#136' "'#0','#151'K*'#149#10#214'Z'#140'1XkI'#167
+#211#199#227#26'-G'#136#8#170#138#136#16#134'!'#141'F'#131#225'px"'#250#27
+''''#2#170#138#170'b'#140#161'^'#175#3'P.'#151#201#229'rg'#135#145'p'#16#239
+'4'#159#207'q'#206#177'Z'#173'ns'#16#134'!'#169'T'#138#217'l'#134#170'2'#30
+#143#207#198'H8p'#206#17#4#1#190#239'S('#20#240'<'#143'b'#177'H&'#147#185'.'
+#130'1&'#186#1#17'a'#179#217'`'#140'a'#183#219']v'#0'0'#153'L"'#187'q'#222
+#239#247#175#139#16#4#1#158#231'a'#173#165'T*'#145#205'fQU'#170#213'*'#206
+#185#203#14#0#214#235'u'#196#183#219'm4'#155'8'#242#249#251#187#132#192't:'#5
+#192'9'#199#225'p`4'#26#177#223#239#163#253'^'#175#23#241#197#226#243'+'#241
+#148#155#205#230'I'#151'Z'#173#246'g'#29#23'h'#189#190#189#220#244#27#129'='
+#255#129'o[O'#147#17#19#132#3#135#0#0#0#0'IEND'#174'B`'#130
]);
LazarusResources.Add('menu_codetoolsdefineseditor','XPM',[
'/* XPM */'#13#10'static char * codetoolsdefineseditor_xpm[] = {'#13#10'"16 1'
+'6 12 1",'#13#10'" '#9'c None",'#13#10'".'#9'c #424142",'#13#10'"+'#9'c #666'

View File

@ -28,6 +28,9 @@ interface
uses
// For Smart Linking: Do not use the LCL!
Classes, SysUtils, LCLStrConsts;
const
UTF8FileHeader = #$ef#$bb#$bf;
// file attributes and states
function CompareFilenames(const Filename1, Filename2: string): integer;

View File

@ -11,22 +11,11 @@
<MainUnitHasTitleStatement Value="False"/>
</Flags>
<MainUnit Value="0"/>
<ActiveEditorIndexAtStart Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<Title Value="lazres"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<Units Count="1">
<Unit0>
<CursorPos X="26" Y="59"/>
<EditorIndex Value="0"/>
<Filename Value="lazres.pp"/>
<IsPartOfProject Value="True"/>
<Loaded Value="True"/>
<TopLine Value="33"/>
<UnitName Value="LazRes"/>
<UsageCount Value="20"/>
</Unit0>
</Units>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
@ -43,9 +32,21 @@
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="1">
<Unit0>
<Filename Value="lazres.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="LazRes"/>
<CursorPos X="26" Y="113"/>
<TopLine Value="82"/>
<EditorIndex Value="0"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit0>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="4"/>
<Version Value="5"/>
<PathDelim Value="\"/>
<Parsing>
<Style Value="1"/>

View File

@ -100,7 +100,8 @@ begin
if ParamStr(2)[1] = '@' then
begin
S := ParamStr(2);
Delete(S, 1, 1);
Delete(S, 1, 1);
S := ExpandFileName(S);
if not FileExists(S) then
begin
writeln('ERROR: file list not found: ', S);

View File

@ -77,6 +77,7 @@ type
public
Tree: TAVLTree;
Header: TStringList;
UTF8Header: string;
constructor Create;
destructor Destroy; override;
end;
@ -249,6 +250,11 @@ begin
SrcFile:=TStringList.Create;
SrcFile.LoadFromFile(Filename);
if (SrcFile.Count>0) and (copy(SrcFile[0],1,3)=UTF8FileHeader) then begin
Result.UTF8Header:=copy(SrcFile[0],1,3);
SrcFile[0]:=copy(SrcFile[0],4,length(SrcFile[0]));
end;
Line:=0;
while Line<SrcFile.Count do begin
if (SrcFile[Line]='') then begin
@ -293,6 +299,8 @@ begin
WriteMessageItem(MsgItem,DestFile);
Node:=PoFile.Tree.FindSuccessor(Node);
end;
if (PoFile.UTF8Header<>'') and (DestFile.Count>0) then
DestFile[0]:=PoFile.UTF8Header+DestFile[0];
Save:=true;
if FileExists(Filename) then begin
OldDestFile:=TStringList.Create;