View Issue Details

IDProjectCategoryView StatusLast Update
0016540LazarusIDEpublic2010-05-25 02:06
ReporterMarcelo B PaulaAssigned ToMaxim Ganetsky 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version0.9.29 (SVN)Product Build 
Target VersionFixed in Version0.9.29 (SVN) 
Summary0016540: IDE portuguese language files updates and improvements
DescriptionThe attached files provides updates to portuguese languages. Included are some additions to fpcunit (missing strings) and new internationalization for component leakview.
Please, in fpcunit.diff, do not consider the .po data. The correct full files are in zip file.
TagsNo tags attached.
Fixed in Revision25593, 25594, 25595
LazTarget-
Widgetset
Attached Files
  • fpcunit.diff (6,246 bytes)
    Index: guitestrunner.pas
    ===================================================================
    --- guitestrunner.pas	(revis�o 25584)
    +++ guitestrunner.pas	(c�pia de trabalho)
    @@ -165,6 +165,11 @@
       sactCheckAll = 'Check all Tests';
       sactUncheckAll = 'Uncheck all tests';
       sactRunHighlightedTest = 'Run highlighted test';
    +  smiRunTest = '  &Run all selected (checked) tests';
    +  smiShowfail= 'Copy message to clipboard';
    +  smiCopy = '&Copy';
    +  smiCut = 'C&ut';
    +  smiCopyClipbrd = 'Copy to clipboard';
     
     implementation
     
    @@ -207,7 +212,7 @@
       tsTestTree.Caption:= stshTree;
       tsResultsXML.Caption:= stshResults;
       //
    -  TestRunner.Caption:= sfrmGUITest;
    +  Caption:= sfrmGUITest;
       RunAction.Caption:= sactRunAction;
       RunAction.Hint:= sactRunActionH;
       ActCloseForm.Caption:= sactCloseForm;
    @@ -217,6 +222,11 @@
       ActCheckAll.Caption:= sactCheckAll;
       ActUncheckAll.Caption:= sactUncheckAll;
       ActRunHighlightedTest.Caption:= sactRunHighlightedTest;
    +  miRunTest.Caption:= smiRunTest;
    +  miShowfailureMsg.Caption:= smiShowfail;
    +  MenuItem1.Caption:= smiCopy;
    +  MenuItem2.Caption:= smiCut;
    +  MenuItem3.Caption:= smiCopyClipbrd;
     end;
     
     procedure TGUITestRunner.RunExecute(Sender: TObject);
    Index: languages/guitestrunner.ru.po
    ===================================================================
    --- languages/guitestrunner.ru.po	(revis�o 25584)
    +++ languages/guitestrunner.ru.po	(c�pia de trabalho)
    @@ -119,6 +119,26 @@
     msgid "FPCUnit - run unit test"
     msgstr "FPCUnit - модульное тестирование"
     
    +#: guitestrunner.smicopy
    +msgid "&Copy"
    +msgstr ""
    +
    +#: guitestrunner.smicopyclipbrd
    +msgid "Copy to clipboard"
    +msgstr ""
    +
    +#: guitestrunner.smicut
    +msgid "C&ut"
    +msgstr ""
    +
    +#: guitestrunner.smiruntest
    +msgid "  &Run all selected (checked) tests"
    +msgstr ""
    +
    +#: guitestrunner.smishowfail
    +msgid "Copy message to clipboard"
    +msgstr ""
    +
     #: guitestrunner.stshresults
     msgid "Results XML"
     msgstr "Результаты в виде XML"
    Index: languages/guitestrunner.pb.po
    ===================================================================
    --- languages/guitestrunner.pb.po	(revis�o 25584)
    +++ languages/guitestrunner.pb.po	(c�pia de trabalho)
    @@ -127,8 +127,28 @@
     
     #: guitestrunner.sfrmguitest
     msgid "FPCUnit - run unit test"
    -msgstr ""
    +msgstr "FPCUnit - testes unitários"
     
    +#: guitestrunner.smicopy
    +msgid "&Copy"
    +msgstr "&Copiar"
    +
    +#: guitestrunner.smicopyclipbrd
    +msgid "Copy to clipboard"
    +msgstr "Copiar para Área Transf."
    +
    +#: guitestrunner.smicut
    +msgid "C&ut"
    +msgstr "Rec&ortar"
    +
    +#: guitestrunner.smiruntest
    +msgid "  &Run all selected (checked) tests"
    +msgstr "  &Executar todos os testes selecionados"
    +
    +#: guitestrunner.smishowfail
    +msgid "Copy message to clipboard"
    +msgstr "Copiar mensagem para Área Transf."
    +
     #: guitestrunner.stshresults
     msgctxt "guitestrunner.stshresults"
     msgid "Results XML"
    Index: languages/guitestrunner.po
    ===================================================================
    --- languages/guitestrunner.po	(revis�o 25584)
    +++ languages/guitestrunner.po	(c�pia de trabalho)
    @@ -111,6 +111,26 @@
     msgid "FPCUnit - run unit test"
     msgstr ""
     
    +#: guitestrunner.smicopy
    +msgid "&Copy"
    +msgstr ""
    +
    +#: guitestrunner.smicopyclipbrd
    +msgid "Copy to clipboard"
    +msgstr ""
    +
    +#: guitestrunner.smicut
    +msgid "C&ut"
    +msgstr ""
    +
    +#: guitestrunner.smiruntest
    +msgid "  &Run all selected (checked) tests"
    +msgstr ""
    +
    +#: guitestrunner.smishowfail
    +msgid "Copy message to clipboard"
    +msgstr ""
    +
     #: guitestrunner.stshresults
     msgid "Results XML"
     msgstr ""
    Index: guitestrunner.lfm
    ===================================================================
    --- guitestrunner.lfm	(revis�o 25584)
    +++ guitestrunner.lfm	(c�pia de trabalho)
    @@ -70,10 +70,10 @@
           AnchorSideTop.Side = asrBottom
           AnchorSideRight.Control = Panel1
           AnchorSideRight.Side = asrBottom
    -      Left = 6
    +      Left = 7
           Height = 30
    -      Top = 46
    -      Width = 563
    +      Top = 47
    +      Width = 561
           Anchors = [akTop, akLeft, akRight]
           BorderSpacing.Around = 6
           OnPaint = pbBarPaint
    @@ -81,10 +81,10 @@
         object BtnRun: TBitBtn
           AnchorSideLeft.Control = Panel1
           AnchorSideTop.Control = Panel1
    -      Left = 6
    +      Left = 7
           Height = 34
    -      Top = 6
    -      Width = 78
    +      Top = 7
    +      Width = 86
           Action = RunAction
           AutoSize = True
           BorderSpacing.Around = 6
    @@ -174,10 +174,10 @@
           AnchorSideTop.Control = Panel1
           AnchorSideRight.Control = Panel1
           AnchorSideRight.Side = asrBottom
    -      Left = 490
    +      Left = 483
           Height = 34
    -      Top = 6
    -      Width = 79
    +      Top = 7
    +      Width = 85
           Action = ActCloseForm
           Anchors = [akTop, akRight]
           AutoSize = True
    @@ -269,10 +269,10 @@
           AnchorSideLeft.Control = BtnRun
           AnchorSideLeft.Side = asrBottom
           AnchorSideTop.Control = Panel1
    -      Left = 90
    +      Left = 99
           Height = 32
    -      Top = 6
    -      Width = 147
    +      Top = 7
    +      Width = 173
           Action = ActRunHighlightedTest
           AutoSize = True
           BorderSpacing.Around = 6
    @@ -371,27 +371,27 @@
           TabOrder = 0
           object tsTestTree: TTabSheet
             Caption = 'Testcase tree'
    -        ClientHeight = 501
    +        ClientHeight = 497
             ClientWidth = 565
             object Splitter1: TSplitter
               Cursor = crVSplit
               Left = 0
               Height = 5
    -          Top = 363
    +          Top = 359
               Width = 565
               Align = alBottom
               ResizeAnchor = akBottom
             end
             object TestTree: TTreeView
               Left = 6
    -          Height = 351
    +          Height = 347
               Top = 6
               Width = 553
               Align = alClient
               BorderSpacing.Around = 6
               BackgroundColor = clBtnFace
               Color = clBtnFace
    -          DefaultItemHeight = 16
    +          DefaultItemHeight = 19
               Images = TestTreeImageList
               PopupMenu = PopupMenu3
               ReadOnly = True
    @@ -406,7 +406,7 @@
             object Memo1: TMemo
               Left = 6
               Height = 121
    -          Top = 374
    +          Top = 370
               Width = 553
               Align = alBottom
               BorderSpacing.Around = 6
    
    fpcunit.diff (6,246 bytes)
  • leakview.diff (13,639 bytes)
    Index: heaptrcview.lrs
    ===================================================================
    --- heaptrcview.lrs	(revis�o 25584)
    +++ heaptrcview.lrs	(c�pia de trabalho)
    @@ -1,38 +1,37 @@
     { This is an automatically generated lazarus resource file }
     
     LazarusResources.Add('THeapTrcViewForm','FORMDATA',[
    -  'TPF0'#16'THeapTrcViewForm'#15'HeapTrcViewForm'#4'Left'#3#143#1#6'Height'#3
    -  +#146#1#3'Top'#3#139#0#5'Width'#3#191#1#13'ActiveControl'#7#9'btnBrowse'#7'Ca'
    -  +'ption'#6#15'HeapTrcViewForm'#12'ClientHeight'#3#146#1#11'ClientWidth'#3#191
    -  +#1#9'FormStyle'#7#11'fsStayOnTop'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7
    -  +#11'FormDestroy'#10'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#10'lblTrcFile'#4'Lef'
    -  +'t'#2#16#6'Height'#2#16#3'Top'#2#16#5'Width'#2'%'#7'Caption'#6#9'.trc file'
    -  +#11'ParentColor'#8#0#0#5'TEdit'#14'edtTrcFileName'#4'Left'#2'H'#6'Height'#2
    -  +#23#3'Top'#2#16#5'Width'#3'7'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
    -  +#8'TabOrder'#2#0#0#0#7'TButton'#9'btnUpdate'#4'Left'#2#16#6'Height'#2#25#3'T'
    -  +'op'#2'6'#5'Width'#2'@'#8'AutoSize'#9#7'Caption'#6#6'Update'#7'OnClick'#7#14
    -  +'btnUpdateClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'chkStayOnTop'#4'Left'#3
    -  +'['#1#6'Height'#2#19#3'Top'#2'8'#5'Width'#2'P'#7'Anchors'#11#5'akTop'#7'akRi'
    -  +'ght'#0#7'Caption'#6#11'Stay on top'#8'OnChange'#7#18'chkStayOnTopChange'#7
    -  +'OnClick'#7#17'chkStayOnTopClick'#8'TabOrder'#2#2#0#0#7'TButton'#9'btnBrowse'
    -  +#4'Left'#3#143#1#6'Height'#2#20#3'Top'#2#14#5'Width'#2' '#7'Anchors'#11#5'ak'
    -  +'Top'#7'akRight'#0#7'Caption'#6#3'...'#7'OnClick'#7#14'btnBrowseClick'#8'Tab'
    -  +'Order'#2#3#0#0#9'TCheckBox'#9'chkUseRaw'#4'Left'#3#240#0#6'Height'#2#19#3'T'
    -  +'op'#2'8'#5'Width'#2'\'#7'Caption'#6#13'Raw leak data'#7'Checked'#9#8'OnChan'
    +  'TPF0'#16'THeapTrcViewForm'#15'HeapTrcViewForm'#4'Left'#3#214#1#6'Height'#3
    +  +#168#1#3'Top'#3'E'#1#5'Width'#3#160#2#7'Caption'#6#15'HeapTrcViewForm'#12'Cl'
    +  +'ientHeight'#3#168#1#11'ClientWidth'#3#160#2#9'FormStyle'#7#11'fsStayOnTop'#8
    +  +'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#10'LCLVersion'#6#6
    +  +'0.9.29'#0#6'TLabel'#10'lblTrcFile'#4'Left'#2#16#6'Height'#2#18#3'Top'#2#16#5
    +  +'Width'#2')'#7'Caption'#6#9'.trc file'#11'ParentColor'#8#0#0#5'TEdit'#14'edt'
    +  +'TrcFileName'#4'Left'#2'X'#6'Height'#2#25#3'Top'#2#16#5'Width'#3#8#2#7'Ancho'
    +  +'rs'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#9'btn'
    +  +'Update'#4'Left'#2#16#6'Height'#2#27#3'Top'#2'6'#5'Width'#2'F'#8'AutoSize'#9
    +  +#7'Caption'#6#6'Update'#7'OnClick'#7#14'btnUpdateClick'#8'TabOrder'#2#1#0#0#9
    +  +'TCheckBox'#12'chkStayOnTop'#4'Left'#3#1#2#6'Height'#2#21#3'Top'#2'8'#5'Widt'
    +  +'h'#2'_'#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#11'Stay on top'#8
    +  +'OnChange'#7#18'chkStayOnTopChange'#8'TabOrder'#2#2#0#0#7'TButton'#9'btnBrow'
    +  +'se'#4'Left'#3'p'#2#6'Height'#2#20#3'Top'#2#14#5'Width'#2' '#7'Anchors'#11#5
    +  +'akTop'#7'akRight'#0#7'Caption'#6#3'...'#7'OnClick'#7#14'btnBrowseClick'#8'T'
    +  +'abOrder'#2#3#0#0#9'TCheckBox'#9'chkUseRaw'#4'Left'#3#8#1#6'Height'#2#21#3'T'
    +  +'op'#2'8'#5'Width'#2'j'#7'Caption'#6#13'Raw leak data'#7'Checked'#9#8'OnChan'
       +'ge'#7#15'chkUseRawChange'#5'State'#7#9'cbChecked'#8'TabOrder'#2#4#0#0#6'TPa'
    -  +'nel'#9'ctrlPanel'#4'Left'#2#16#6'Height'#3#27#1#3'Top'#2'`'#5'Width'#3#159#1
    +  +'nel'#9'ctrlPanel'#4'Left'#2#16#6'Height'#3'1'#1#3'Top'#2'`'#5'Width'#3#128#2
       +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'BevelOuter'#7#6
    -  +'bvNone'#12'ClientHeight'#3#27#1#11'ClientWidth'#3#159#1#8'TabOrder'#2#5#0#9
    -  +'TTreeView'#12'trvTraceInfo'#4'Left'#2#0#6'Height'#3#197#0#3'Top'#2#0#5'Widt'
    -  +'h'#3#159#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#17#8'ReadOnly'#9#8
    +  +'bvNone'#12'ClientHeight'#3'1'#1#11'ClientWidth'#3#128#2#8'TabOrder'#2#5#0#9
    +  +'TTreeView'#12'trvTraceInfo'#4'Left'#2#0#6'Height'#3#219#0#3'Top'#2#0#5'Widt'
    +  +'h'#3#128#2#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#19#8'ReadOnly'#9#8
       +'TabOrder'#2#0#10'OnDblClick'#7#20'trvTraceInfoDblClick'#7'Options'#11#17'tv'
       +'oAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoReadO'
       +'nly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0#0
    -  +#0#5'TMemo'#11'memoSummary'#4'Left'#2#0#6'Height'#2'Q'#3'Top'#3#202#0#5'Widt'
    -  +'h'#3#159#1#5'Align'#7#8'alBottom'#8'ReadOnly'#9#10'ScrollBars'#7#10'ssVerti'
    +  +#0#5'TMemo'#11'memoSummary'#4'Left'#2#0#6'Height'#2'Q'#3'Top'#3#224#0#5'Widt'
    +  +'h'#3#128#2#5'Align'#7#8'alBottom'#8'ReadOnly'#9#10'ScrollBars'#7#10'ssVerti'
       +'cal'#8'TabOrder'#2#1#0#0#9'TSplitter'#8'splitter'#6'Cursor'#7#8'crVSplit'#4
    -  +'Left'#2#0#6'Height'#2#5#3'Top'#3#197#0#5'Width'#3#159#1#5'Align'#7#8'alBott'
    +  +'Left'#2#0#6'Height'#2#5#3'Top'#3#219#0#5'Width'#3#128#2#5'Align'#7#8'alBott'
       +'om'#12'ResizeAnchor'#7#8'akBottom'#0#0#0#7'TButton'#12'btnClipboard'#4'Left'
    -  +#2'h'#6'Height'#2#25#3'Top'#2'6'#5'Width'#2'm'#8'AutoSize'#9#7'Caption'#6#15
    +  +#2'h'#6'Height'#2#27#3'Top'#2'6'#5'Width'#2'x'#8'AutoSize'#9#7'Caption'#6#15
       +'Paste Clipboard'#7'OnClick'#7#17'btnClipboardClick'#8'TabOrder'#2#6#0#0#0
     ]);
    Index: heaptrcview.pas
    ===================================================================
    --- heaptrcview.pas	(revis�o 25584)
    +++ heaptrcview.pas	(c�pia de trabalho)
    @@ -28,7 +28,6 @@
         procedure btnUpdateClick(Sender: TObject);
         procedure btnBrowseClick(Sender: TObject);
         procedure chkStayOnTopChange(Sender: TObject);
    -    procedure chkStayOnTopClick(Sender: TObject);
         procedure chkUseRawChange(Sender: TObject);
         procedure FormCreate(Sender: TObject);
         procedure FormDestroy(Sender: TObject);
    @@ -57,6 +56,27 @@
     
       end;
     
    +resourcestring
    +  StackTraceFormat         = 'Leak: %d bytes x %d times'; // number of bytes leaked, leaks count
    +  StackTraceFormatSingle   = 'Leak: %d bytes';            // number of bytes leaked
    +  StackLineFormatWithFile  = '%s file: %s : %d; ';        // stack addr, filename (no path), line number
    +  StackLineFormat          = '%s';                        // stack addr
    +
    +  strTotalMemAlloc      = 'Total Mem alloced: %d';
    +  strLeakingMemSize     = 'Leaking Mem Size: %d';
    +  strLeakingBlocksCount = 'Leaking Blocks Count: %d';
    +  //
    +  rsErrorParse = 'Error while parsing trace file';
    +  rsDTimes = ' (%d times)';
    +  rsLeakView = 'Leak View';
    +  //
    +  slblTrace = '.trc file';
    +  sbtnUpdate = 'Update';
    +  sbtnClipBrd = 'Paste Clipboard';
    +  schkRaw = 'Raw leak data';
    +  schkTop = 'Stay on top';
    +  sfrmCap = 'HeapTrcViewForm';
    +
     var
       HeapTrcViewForm: THeapTrcViewForm = nil;
     
    @@ -68,17 +88,6 @@
     
     implementation
     
    -const // resorucestring ?
    -  StackTraceFormat         = 'Leak: %d bytes x %d times'; // number of bytes leaked, leaks count
    -  StackTraceFormatSingle   = 'Leak: %d bytes';            // number of bytes leaked
    -  StackLineFormatWithFile  = '%s file: %s : %d; ';        // stack addr, filename (no path), line number
    -  StackLineFormat          = '%s';                        // stack addr
    -
    -  strTotalMemAlloc      = 'Total Mem alloced: %d';
    -  strLeakingMemSize     = 'Leaking Mem Size: %d';
    -  strLeakingBlocksCount = 'Leaking Blocks Count: %d';
    -
    -
     procedure ShowHeapTrcViewForm(JumpProc: TJumpProc);
     begin
       if not Assigned(HeapTrcViewForm) then HeapTrcViewForm := THeapTrcViewForm.Create(nil);
    @@ -120,10 +129,6 @@
       else Self.formStyle := fsNormal;
     end;
     
    -procedure THeapTrcViewForm.chkStayOnTopClick(Sender: TObject);
    -begin
    -end;
    -
     procedure THeapTrcViewForm.chkUseRawChange(Sender: TObject);
     begin
       ChangeTreeText;
    @@ -132,6 +137,14 @@
     
     procedure THeapTrcViewForm.FormCreate(Sender: TObject);
     begin
    +  //
    +  Caption := sfrmCap;
    +  lblTrcFile.Caption:= slblTrace;
    +  btnUpdate.Caption:= sbtnUpdate;
    +  btnClipboard.Caption:= sbtnClipBrd;
    +  chkUseRaw.Caption:= schkRaw;
    +  chkStayOnTop.Caption:= schkTop;
    +  //
       fItems := TList.Create;
       chkStayOnTop.Checked := FormStyle = fsStayOnTop;
     end;
    @@ -247,7 +260,7 @@
     
         try
           if info.GetLeakInfo(data, fItems) then ItemsToTree
    -      else trvTraceInfo.Items.Add(nil, 'Error while parsing trace file');
    +      else trvTraceInfo.Items.Add(nil, rsErrorParse);
     
           memoSummary.Clear;
           with memoSummary.Lines do begin
    @@ -318,7 +331,8 @@
     begin
       if useRaw then begin
         Result := trace.RawStackData;
    -    if (Result <> '') and (trace.LeakCount > 1) then Result := Result + Format(' (%d times)', [trace.LeakCount]);
    +    if (Result <> '') and (trace.LeakCount > 1) then Result := Result + Format(
    +      rsDTimes, [trace.LeakCount]);
       end;
     
       if not useRaw or (Result = '') then begin
    @@ -358,7 +372,8 @@
     
     procedure Register;
     begin
    -  RegisterIDEMenuCommand(itmSecondaryTools, 'mnuLeakView', 'Leak View', nil, @IDEMenuClicked);
    +  RegisterIDEMenuCommand(itmSecondaryTools, 'mnuLeakView', rsLeakView, nil,
    +    @IDEMenuClicked);
     end;
     
     
    Index: leakinfo.pas
    ===================================================================
    --- leakinfo.pas	(revis�o 25584)
    +++ leakinfo.pas	(c�pia de trabalho)
    @@ -98,6 +98,11 @@
     function AllocHeapTraceInfo(const TrcFile: string): TLeakInfo;
     function AllocHeapTraceInfoFromText(const TrcText: string): TLeakInfo;
     
    +resourcestring
    +  CallTracePrefix = 'Call trace for block ';
    +  RawTracePrefix = 'Stack trace:';
    +  rsStackTrace = 'Stack trace';
    +
     implementation
     
     function AllocHeapTraceInfo(const TrcFile: string): TLeakInfo;
    @@ -112,11 +117,6 @@
     
     // heap trace parsing implementation
     
    -const
    -  CallTracePrefix = 'Call trace for block ';
    -  RawTracePrefix = 'Stack trace:';
    -
    -
     procedure ClearTraceInfo(var TraceInfo: THeapTraceInfo);
     begin
       with TraceInfo do begin
    @@ -365,7 +365,7 @@
         Val(hex, trace.Addr, err);
         GetNumberAfter(Trc[TrcIndex], trace.BlockSize, 'size ');
       end else begin
    -    trace.RawStackData := 'Stack trace';
    +    trace.RawStackData := rsStackTrace;
         trace.Addr := 0;
         trace.BlockSize := 0;
       end;
    Index: leakview.lpk
    ===================================================================
    --- leakview.lpk	(revis�o 25584)
    +++ leakview.lpk	(c�pia de trabalho)
    @@ -39,8 +39,13 @@
           </Item3>
           <Item4>
             <Filename Value="leakinfo.pas"/>
    +        <UnitName Value="leakinfo"/>
           </Item4>
         </Files>
    +    <i18n>
    +      <EnableI18N Value="True"/>
    +      <OutDir Value="languages"/>
    +    </i18n>
         <Type Value="RunAndDesignTime"/>
         <RequiredPkgs Count="3">
           <Item1>
    Index: heaptrcview.lfm
    ===================================================================
    --- heaptrcview.lfm	(revis�o 25584)
    +++ heaptrcview.lfm	(c�pia de trabalho)
    @@ -1,55 +1,53 @@
     object HeapTrcViewForm: THeapTrcViewForm
    -  Left = 399
    -  Height = 402
    -  Top = 139
    -  Width = 447
    -  ActiveControl = btnBrowse
    +  Left = 470
    +  Height = 424
    +  Top = 325
    +  Width = 672
       Caption = 'HeapTrcViewForm'
    -  ClientHeight = 402
    -  ClientWidth = 447
    +  ClientHeight = 424
    +  ClientWidth = 672
       FormStyle = fsStayOnTop
       OnCreate = FormCreate
       OnDestroy = FormDestroy
       LCLVersion = '0.9.29'
       object lblTrcFile: TLabel
         Left = 16
    -    Height = 16
    +    Height = 18
         Top = 16
    -    Width = 37
    +    Width = 41
         Caption = '.trc file'
         ParentColor = False
       end
       object edtTrcFileName: TEdit
    -    Left = 72
    -    Height = 23
    +    Left = 88
    +    Height = 25
         Top = 16
    -    Width = 311
    +    Width = 520
         Anchors = [akTop, akLeft, akRight]
         TabOrder = 0
       end
       object btnUpdate: TButton
         Left = 16
    -    Height = 25
    +    Height = 27
         Top = 54
    -    Width = 64
    +    Width = 70
         AutoSize = True
         Caption = 'Update'
         OnClick = btnUpdateClick
         TabOrder = 1
       end
       object chkStayOnTop: TCheckBox
    -    Left = 347
    -    Height = 19
    +    Left = 513
    +    Height = 21
         Top = 56
    -    Width = 80
    +    Width = 95
         Anchors = [akTop, akRight]
         Caption = 'Stay on top'
         OnChange = chkStayOnTopChange
    -    OnClick = chkStayOnTopClick
         TabOrder = 2
       end
       object btnBrowse: TButton
    -    Left = 399
    +    Left = 624
         Height = 20
         Top = 14
         Width = 32
    @@ -59,10 +57,10 @@
         TabOrder = 3
       end
       object chkUseRaw: TCheckBox
    -    Left = 240
    -    Height = 19
    +    Left = 264
    +    Height = 21
         Top = 56
    -    Width = 92
    +    Width = 106
         Caption = 'Raw leak data'
         Checked = True
         OnChange = chkUseRawChange
    @@ -71,21 +69,21 @@
       end
       object ctrlPanel: TPanel
         Left = 16
    -    Height = 283
    +    Height = 305
         Top = 96
    -    Width = 415
    +    Width = 640
         Anchors = [akTop, akLeft, akRight, akBottom]
         BevelOuter = bvNone
    -    ClientHeight = 283
    -    ClientWidth = 415
    +    ClientHeight = 305
    +    ClientWidth = 640
         TabOrder = 5
         object trvTraceInfo: TTreeView
           Left = 0
    -      Height = 197
    +      Height = 219
           Top = 0
    -      Width = 415
    +      Width = 640
           Align = alClient
    -      DefaultItemHeight = 17
    +      DefaultItemHeight = 19
           ReadOnly = True
           TabOrder = 0
           OnDblClick = trvTraceInfoDblClick
    @@ -94,8 +92,8 @@
         object memoSummary: TMemo
           Left = 0
           Height = 81
    -      Top = 202
    -      Width = 415
    +      Top = 224
    +      Width = 640
           Align = alBottom
           ReadOnly = True
           ScrollBars = ssVertical
    @@ -105,17 +103,17 @@
           Cursor = crVSplit
           Left = 0
           Height = 5
    -      Top = 197
    -      Width = 415
    +      Top = 219
    +      Width = 640
           Align = alBottom
           ResizeAnchor = akBottom
         end
       end
       object btnClipboard: TButton
         Left = 104
    -    Height = 25
    +    Height = 27
         Top = 54
    -    Width = 109
    +    Width = 120
         AutoSize = True
         Caption = 'Paste Clipboard'
         OnClick = btnClipboardClick
    
    leakview.diff (13,639 bytes)
  • portuguese_upd1.zip (125,419 bytes)

Activities

2010-05-23 03:46

 

fpcunit.diff (6,246 bytes)
Index: guitestrunner.pas
===================================================================
--- guitestrunner.pas	(revis�o 25584)
+++ guitestrunner.pas	(c�pia de trabalho)
@@ -165,6 +165,11 @@
   sactCheckAll = 'Check all Tests';
   sactUncheckAll = 'Uncheck all tests';
   sactRunHighlightedTest = 'Run highlighted test';
+  smiRunTest = '  &Run all selected (checked) tests';
+  smiShowfail= 'Copy message to clipboard';
+  smiCopy = '&Copy';
+  smiCut = 'C&ut';
+  smiCopyClipbrd = 'Copy to clipboard';
 
 implementation
 
@@ -207,7 +212,7 @@
   tsTestTree.Caption:= stshTree;
   tsResultsXML.Caption:= stshResults;
   //
-  TestRunner.Caption:= sfrmGUITest;
+  Caption:= sfrmGUITest;
   RunAction.Caption:= sactRunAction;
   RunAction.Hint:= sactRunActionH;
   ActCloseForm.Caption:= sactCloseForm;
@@ -217,6 +222,11 @@
   ActCheckAll.Caption:= sactCheckAll;
   ActUncheckAll.Caption:= sactUncheckAll;
   ActRunHighlightedTest.Caption:= sactRunHighlightedTest;
+  miRunTest.Caption:= smiRunTest;
+  miShowfailureMsg.Caption:= smiShowfail;
+  MenuItem1.Caption:= smiCopy;
+  MenuItem2.Caption:= smiCut;
+  MenuItem3.Caption:= smiCopyClipbrd;
 end;
 
 procedure TGUITestRunner.RunExecute(Sender: TObject);
Index: languages/guitestrunner.ru.po
===================================================================
--- languages/guitestrunner.ru.po	(revis�o 25584)
+++ languages/guitestrunner.ru.po	(c�pia de trabalho)
@@ -119,6 +119,26 @@
 msgid "FPCUnit - run unit test"
 msgstr "FPCUnit - модульное тестирование"
 
+#: guitestrunner.smicopy
+msgid "&Copy"
+msgstr ""
+
+#: guitestrunner.smicopyclipbrd
+msgid "Copy to clipboard"
+msgstr ""
+
+#: guitestrunner.smicut
+msgid "C&ut"
+msgstr ""
+
+#: guitestrunner.smiruntest
+msgid "  &Run all selected (checked) tests"
+msgstr ""
+
+#: guitestrunner.smishowfail
+msgid "Copy message to clipboard"
+msgstr ""
+
 #: guitestrunner.stshresults
 msgid "Results XML"
 msgstr "Результаты в виде XML"
Index: languages/guitestrunner.pb.po
===================================================================
--- languages/guitestrunner.pb.po	(revis�o 25584)
+++ languages/guitestrunner.pb.po	(c�pia de trabalho)
@@ -127,8 +127,28 @@
 
 #: guitestrunner.sfrmguitest
 msgid "FPCUnit - run unit test"
-msgstr ""
+msgstr "FPCUnit - testes unitários"
 
+#: guitestrunner.smicopy
+msgid "&Copy"
+msgstr "&Copiar"
+
+#: guitestrunner.smicopyclipbrd
+msgid "Copy to clipboard"
+msgstr "Copiar para Área Transf."
+
+#: guitestrunner.smicut
+msgid "C&ut"
+msgstr "Rec&ortar"
+
+#: guitestrunner.smiruntest
+msgid "  &Run all selected (checked) tests"
+msgstr "  &Executar todos os testes selecionados"
+
+#: guitestrunner.smishowfail
+msgid "Copy message to clipboard"
+msgstr "Copiar mensagem para Área Transf."
+
 #: guitestrunner.stshresults
 msgctxt "guitestrunner.stshresults"
 msgid "Results XML"
Index: languages/guitestrunner.po
===================================================================
--- languages/guitestrunner.po	(revis�o 25584)
+++ languages/guitestrunner.po	(c�pia de trabalho)
@@ -111,6 +111,26 @@
 msgid "FPCUnit - run unit test"
 msgstr ""
 
+#: guitestrunner.smicopy
+msgid "&Copy"
+msgstr ""
+
+#: guitestrunner.smicopyclipbrd
+msgid "Copy to clipboard"
+msgstr ""
+
+#: guitestrunner.smicut
+msgid "C&ut"
+msgstr ""
+
+#: guitestrunner.smiruntest
+msgid "  &Run all selected (checked) tests"
+msgstr ""
+
+#: guitestrunner.smishowfail
+msgid "Copy message to clipboard"
+msgstr ""
+
 #: guitestrunner.stshresults
 msgid "Results XML"
 msgstr ""
Index: guitestrunner.lfm
===================================================================
--- guitestrunner.lfm	(revis�o 25584)
+++ guitestrunner.lfm	(c�pia de trabalho)
@@ -70,10 +70,10 @@
       AnchorSideTop.Side = asrBottom
       AnchorSideRight.Control = Panel1
       AnchorSideRight.Side = asrBottom
-      Left = 6
+      Left = 7
       Height = 30
-      Top = 46
-      Width = 563
+      Top = 47
+      Width = 561
       Anchors = [akTop, akLeft, akRight]
       BorderSpacing.Around = 6
       OnPaint = pbBarPaint
@@ -81,10 +81,10 @@
     object BtnRun: TBitBtn
       AnchorSideLeft.Control = Panel1
       AnchorSideTop.Control = Panel1
-      Left = 6
+      Left = 7
       Height = 34
-      Top = 6
-      Width = 78
+      Top = 7
+      Width = 86
       Action = RunAction
       AutoSize = True
       BorderSpacing.Around = 6
@@ -174,10 +174,10 @@
       AnchorSideTop.Control = Panel1
       AnchorSideRight.Control = Panel1
       AnchorSideRight.Side = asrBottom
-      Left = 490
+      Left = 483
       Height = 34
-      Top = 6
-      Width = 79
+      Top = 7
+      Width = 85
       Action = ActCloseForm
       Anchors = [akTop, akRight]
       AutoSize = True
@@ -269,10 +269,10 @@
       AnchorSideLeft.Control = BtnRun
       AnchorSideLeft.Side = asrBottom
       AnchorSideTop.Control = Panel1
-      Left = 90
+      Left = 99
       Height = 32
-      Top = 6
-      Width = 147
+      Top = 7
+      Width = 173
       Action = ActRunHighlightedTest
       AutoSize = True
       BorderSpacing.Around = 6
@@ -371,27 +371,27 @@
       TabOrder = 0
       object tsTestTree: TTabSheet
         Caption = 'Testcase tree'
-        ClientHeight = 501
+        ClientHeight = 497
         ClientWidth = 565
         object Splitter1: TSplitter
           Cursor = crVSplit
           Left = 0
           Height = 5
-          Top = 363
+          Top = 359
           Width = 565
           Align = alBottom
           ResizeAnchor = akBottom
         end
         object TestTree: TTreeView
           Left = 6
-          Height = 351
+          Height = 347
           Top = 6
           Width = 553
           Align = alClient
           BorderSpacing.Around = 6
           BackgroundColor = clBtnFace
           Color = clBtnFace
-          DefaultItemHeight = 16
+          DefaultItemHeight = 19
           Images = TestTreeImageList
           PopupMenu = PopupMenu3
           ReadOnly = True
@@ -406,7 +406,7 @@
         object Memo1: TMemo
           Left = 6
           Height = 121
-          Top = 374
+          Top = 370
           Width = 553
           Align = alBottom
           BorderSpacing.Around = 6
fpcunit.diff (6,246 bytes)

2010-05-23 03:47

 

leakview.diff (13,639 bytes)
Index: heaptrcview.lrs
===================================================================
--- heaptrcview.lrs	(revis�o 25584)
+++ heaptrcview.lrs	(c�pia de trabalho)
@@ -1,38 +1,37 @@
 { This is an automatically generated lazarus resource file }
 
 LazarusResources.Add('THeapTrcViewForm','FORMDATA',[
-  'TPF0'#16'THeapTrcViewForm'#15'HeapTrcViewForm'#4'Left'#3#143#1#6'Height'#3
-  +#146#1#3'Top'#3#139#0#5'Width'#3#191#1#13'ActiveControl'#7#9'btnBrowse'#7'Ca'
-  +'ption'#6#15'HeapTrcViewForm'#12'ClientHeight'#3#146#1#11'ClientWidth'#3#191
-  +#1#9'FormStyle'#7#11'fsStayOnTop'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7
-  +#11'FormDestroy'#10'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#10'lblTrcFile'#4'Lef'
-  +'t'#2#16#6'Height'#2#16#3'Top'#2#16#5'Width'#2'%'#7'Caption'#6#9'.trc file'
-  +#11'ParentColor'#8#0#0#5'TEdit'#14'edtTrcFileName'#4'Left'#2'H'#6'Height'#2
-  +#23#3'Top'#2#16#5'Width'#3'7'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
-  +#8'TabOrder'#2#0#0#0#7'TButton'#9'btnUpdate'#4'Left'#2#16#6'Height'#2#25#3'T'
-  +'op'#2'6'#5'Width'#2'@'#8'AutoSize'#9#7'Caption'#6#6'Update'#7'OnClick'#7#14
-  +'btnUpdateClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#12'chkStayOnTop'#4'Left'#3
-  +'['#1#6'Height'#2#19#3'Top'#2'8'#5'Width'#2'P'#7'Anchors'#11#5'akTop'#7'akRi'
-  +'ght'#0#7'Caption'#6#11'Stay on top'#8'OnChange'#7#18'chkStayOnTopChange'#7
-  +'OnClick'#7#17'chkStayOnTopClick'#8'TabOrder'#2#2#0#0#7'TButton'#9'btnBrowse'
-  +#4'Left'#3#143#1#6'Height'#2#20#3'Top'#2#14#5'Width'#2' '#7'Anchors'#11#5'ak'
-  +'Top'#7'akRight'#0#7'Caption'#6#3'...'#7'OnClick'#7#14'btnBrowseClick'#8'Tab'
-  +'Order'#2#3#0#0#9'TCheckBox'#9'chkUseRaw'#4'Left'#3#240#0#6'Height'#2#19#3'T'
-  +'op'#2'8'#5'Width'#2'\'#7'Caption'#6#13'Raw leak data'#7'Checked'#9#8'OnChan'
+  'TPF0'#16'THeapTrcViewForm'#15'HeapTrcViewForm'#4'Left'#3#214#1#6'Height'#3
+  +#168#1#3'Top'#3'E'#1#5'Width'#3#160#2#7'Caption'#6#15'HeapTrcViewForm'#12'Cl'
+  +'ientHeight'#3#168#1#11'ClientWidth'#3#160#2#9'FormStyle'#7#11'fsStayOnTop'#8
+  +'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#10'LCLVersion'#6#6
+  +'0.9.29'#0#6'TLabel'#10'lblTrcFile'#4'Left'#2#16#6'Height'#2#18#3'Top'#2#16#5
+  +'Width'#2')'#7'Caption'#6#9'.trc file'#11'ParentColor'#8#0#0#5'TEdit'#14'edt'
+  +'TrcFileName'#4'Left'#2'X'#6'Height'#2#25#3'Top'#2#16#5'Width'#3#8#2#7'Ancho'
+  +'rs'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#9'btn'
+  +'Update'#4'Left'#2#16#6'Height'#2#27#3'Top'#2'6'#5'Width'#2'F'#8'AutoSize'#9
+  +#7'Caption'#6#6'Update'#7'OnClick'#7#14'btnUpdateClick'#8'TabOrder'#2#1#0#0#9
+  +'TCheckBox'#12'chkStayOnTop'#4'Left'#3#1#2#6'Height'#2#21#3'Top'#2'8'#5'Widt'
+  +'h'#2'_'#7'Anchors'#11#5'akTop'#7'akRight'#0#7'Caption'#6#11'Stay on top'#8
+  +'OnChange'#7#18'chkStayOnTopChange'#8'TabOrder'#2#2#0#0#7'TButton'#9'btnBrow'
+  +'se'#4'Left'#3'p'#2#6'Height'#2#20#3'Top'#2#14#5'Width'#2' '#7'Anchors'#11#5
+  +'akTop'#7'akRight'#0#7'Caption'#6#3'...'#7'OnClick'#7#14'btnBrowseClick'#8'T'
+  +'abOrder'#2#3#0#0#9'TCheckBox'#9'chkUseRaw'#4'Left'#3#8#1#6'Height'#2#21#3'T'
+  +'op'#2'8'#5'Width'#2'j'#7'Caption'#6#13'Raw leak data'#7'Checked'#9#8'OnChan'
   +'ge'#7#15'chkUseRawChange'#5'State'#7#9'cbChecked'#8'TabOrder'#2#4#0#0#6'TPa'
-  +'nel'#9'ctrlPanel'#4'Left'#2#16#6'Height'#3#27#1#3'Top'#2'`'#5'Width'#3#159#1
+  +'nel'#9'ctrlPanel'#4'Left'#2#16#6'Height'#3'1'#1#3'Top'#2'`'#5'Width'#3#128#2
   +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'BevelOuter'#7#6
-  +'bvNone'#12'ClientHeight'#3#27#1#11'ClientWidth'#3#159#1#8'TabOrder'#2#5#0#9
-  +'TTreeView'#12'trvTraceInfo'#4'Left'#2#0#6'Height'#3#197#0#3'Top'#2#0#5'Widt'
-  +'h'#3#159#1#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#17#8'ReadOnly'#9#8
+  +'bvNone'#12'ClientHeight'#3'1'#1#11'ClientWidth'#3#128#2#8'TabOrder'#2#5#0#9
+  +'TTreeView'#12'trvTraceInfo'#4'Left'#2#0#6'Height'#3#219#0#3'Top'#2#0#5'Widt'
+  +'h'#3#128#2#5'Align'#7#8'alClient'#17'DefaultItemHeight'#2#19#8'ReadOnly'#9#8
   +'TabOrder'#2#0#10'OnDblClick'#7#20'trvTraceInfoDblClick'#7'Options'#11#17'tv'
   +'oAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#11'tvoReadO'
   +'nly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0#0
-  +#0#5'TMemo'#11'memoSummary'#4'Left'#2#0#6'Height'#2'Q'#3'Top'#3#202#0#5'Widt'
-  +'h'#3#159#1#5'Align'#7#8'alBottom'#8'ReadOnly'#9#10'ScrollBars'#7#10'ssVerti'
+  +#0#5'TMemo'#11'memoSummary'#4'Left'#2#0#6'Height'#2'Q'#3'Top'#3#224#0#5'Widt'
+  +'h'#3#128#2#5'Align'#7#8'alBottom'#8'ReadOnly'#9#10'ScrollBars'#7#10'ssVerti'
   +'cal'#8'TabOrder'#2#1#0#0#9'TSplitter'#8'splitter'#6'Cursor'#7#8'crVSplit'#4
-  +'Left'#2#0#6'Height'#2#5#3'Top'#3#197#0#5'Width'#3#159#1#5'Align'#7#8'alBott'
+  +'Left'#2#0#6'Height'#2#5#3'Top'#3#219#0#5'Width'#3#128#2#5'Align'#7#8'alBott'
   +'om'#12'ResizeAnchor'#7#8'akBottom'#0#0#0#7'TButton'#12'btnClipboard'#4'Left'
-  +#2'h'#6'Height'#2#25#3'Top'#2'6'#5'Width'#2'm'#8'AutoSize'#9#7'Caption'#6#15
+  +#2'h'#6'Height'#2#27#3'Top'#2'6'#5'Width'#2'x'#8'AutoSize'#9#7'Caption'#6#15
   +'Paste Clipboard'#7'OnClick'#7#17'btnClipboardClick'#8'TabOrder'#2#6#0#0#0
 ]);
Index: heaptrcview.pas
===================================================================
--- heaptrcview.pas	(revis�o 25584)
+++ heaptrcview.pas	(c�pia de trabalho)
@@ -28,7 +28,6 @@
     procedure btnUpdateClick(Sender: TObject);
     procedure btnBrowseClick(Sender: TObject);
     procedure chkStayOnTopChange(Sender: TObject);
-    procedure chkStayOnTopClick(Sender: TObject);
     procedure chkUseRawChange(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
@@ -57,6 +56,27 @@
 
   end;
 
+resourcestring
+  StackTraceFormat         = 'Leak: %d bytes x %d times'; // number of bytes leaked, leaks count
+  StackTraceFormatSingle   = 'Leak: %d bytes';            // number of bytes leaked
+  StackLineFormatWithFile  = '%s file: %s : %d; ';        // stack addr, filename (no path), line number
+  StackLineFormat          = '%s';                        // stack addr
+
+  strTotalMemAlloc      = 'Total Mem alloced: %d';
+  strLeakingMemSize     = 'Leaking Mem Size: %d';
+  strLeakingBlocksCount = 'Leaking Blocks Count: %d';
+  //
+  rsErrorParse = 'Error while parsing trace file';
+  rsDTimes = ' (%d times)';
+  rsLeakView = 'Leak View';
+  //
+  slblTrace = '.trc file';
+  sbtnUpdate = 'Update';
+  sbtnClipBrd = 'Paste Clipboard';
+  schkRaw = 'Raw leak data';
+  schkTop = 'Stay on top';
+  sfrmCap = 'HeapTrcViewForm';
+
 var
   HeapTrcViewForm: THeapTrcViewForm = nil;
 
@@ -68,17 +88,6 @@
 
 implementation
 
-const // resorucestring ?
-  StackTraceFormat         = 'Leak: %d bytes x %d times'; // number of bytes leaked, leaks count
-  StackTraceFormatSingle   = 'Leak: %d bytes';            // number of bytes leaked
-  StackLineFormatWithFile  = '%s file: %s : %d; ';        // stack addr, filename (no path), line number
-  StackLineFormat          = '%s';                        // stack addr
-
-  strTotalMemAlloc      = 'Total Mem alloced: %d';
-  strLeakingMemSize     = 'Leaking Mem Size: %d';
-  strLeakingBlocksCount = 'Leaking Blocks Count: %d';
-
-
 procedure ShowHeapTrcViewForm(JumpProc: TJumpProc);
 begin
   if not Assigned(HeapTrcViewForm) then HeapTrcViewForm := THeapTrcViewForm.Create(nil);
@@ -120,10 +129,6 @@
   else Self.formStyle := fsNormal;
 end;
 
-procedure THeapTrcViewForm.chkStayOnTopClick(Sender: TObject);
-begin
-end;
-
 procedure THeapTrcViewForm.chkUseRawChange(Sender: TObject);
 begin
   ChangeTreeText;
@@ -132,6 +137,14 @@
 
 procedure THeapTrcViewForm.FormCreate(Sender: TObject);
 begin
+  //
+  Caption := sfrmCap;
+  lblTrcFile.Caption:= slblTrace;
+  btnUpdate.Caption:= sbtnUpdate;
+  btnClipboard.Caption:= sbtnClipBrd;
+  chkUseRaw.Caption:= schkRaw;
+  chkStayOnTop.Caption:= schkTop;
+  //
   fItems := TList.Create;
   chkStayOnTop.Checked := FormStyle = fsStayOnTop;
 end;
@@ -247,7 +260,7 @@
 
     try
       if info.GetLeakInfo(data, fItems) then ItemsToTree
-      else trvTraceInfo.Items.Add(nil, 'Error while parsing trace file');
+      else trvTraceInfo.Items.Add(nil, rsErrorParse);
 
       memoSummary.Clear;
       with memoSummary.Lines do begin
@@ -318,7 +331,8 @@
 begin
   if useRaw then begin
     Result := trace.RawStackData;
-    if (Result <> '') and (trace.LeakCount > 1) then Result := Result + Format(' (%d times)', [trace.LeakCount]);
+    if (Result <> '') and (trace.LeakCount > 1) then Result := Result + Format(
+      rsDTimes, [trace.LeakCount]);
   end;
 
   if not useRaw or (Result = '') then begin
@@ -358,7 +372,8 @@
 
 procedure Register;
 begin
-  RegisterIDEMenuCommand(itmSecondaryTools, 'mnuLeakView', 'Leak View', nil, @IDEMenuClicked);
+  RegisterIDEMenuCommand(itmSecondaryTools, 'mnuLeakView', rsLeakView, nil,
+    @IDEMenuClicked);
 end;
 
 
Index: leakinfo.pas
===================================================================
--- leakinfo.pas	(revis�o 25584)
+++ leakinfo.pas	(c�pia de trabalho)
@@ -98,6 +98,11 @@
 function AllocHeapTraceInfo(const TrcFile: string): TLeakInfo;
 function AllocHeapTraceInfoFromText(const TrcText: string): TLeakInfo;
 
+resourcestring
+  CallTracePrefix = 'Call trace for block ';
+  RawTracePrefix = 'Stack trace:';
+  rsStackTrace = 'Stack trace';
+
 implementation
 
 function AllocHeapTraceInfo(const TrcFile: string): TLeakInfo;
@@ -112,11 +117,6 @@
 
 // heap trace parsing implementation
 
-const
-  CallTracePrefix = 'Call trace for block ';
-  RawTracePrefix = 'Stack trace:';
-
-
 procedure ClearTraceInfo(var TraceInfo: THeapTraceInfo);
 begin
   with TraceInfo do begin
@@ -365,7 +365,7 @@
     Val(hex, trace.Addr, err);
     GetNumberAfter(Trc[TrcIndex], trace.BlockSize, 'size ');
   end else begin
-    trace.RawStackData := 'Stack trace';
+    trace.RawStackData := rsStackTrace;
     trace.Addr := 0;
     trace.BlockSize := 0;
   end;
Index: leakview.lpk
===================================================================
--- leakview.lpk	(revis�o 25584)
+++ leakview.lpk	(c�pia de trabalho)
@@ -39,8 +39,13 @@
       </Item3>
       <Item4>
         <Filename Value="leakinfo.pas"/>
+        <UnitName Value="leakinfo"/>
       </Item4>
     </Files>
+    <i18n>
+      <EnableI18N Value="True"/>
+      <OutDir Value="languages"/>
+    </i18n>
     <Type Value="RunAndDesignTime"/>
     <RequiredPkgs Count="3">
       <Item1>
Index: heaptrcview.lfm
===================================================================
--- heaptrcview.lfm	(revis�o 25584)
+++ heaptrcview.lfm	(c�pia de trabalho)
@@ -1,55 +1,53 @@
 object HeapTrcViewForm: THeapTrcViewForm
-  Left = 399
-  Height = 402
-  Top = 139
-  Width = 447
-  ActiveControl = btnBrowse
+  Left = 470
+  Height = 424
+  Top = 325
+  Width = 672
   Caption = 'HeapTrcViewForm'
-  ClientHeight = 402
-  ClientWidth = 447
+  ClientHeight = 424
+  ClientWidth = 672
   FormStyle = fsStayOnTop
   OnCreate = FormCreate
   OnDestroy = FormDestroy
   LCLVersion = '0.9.29'
   object lblTrcFile: TLabel
     Left = 16
-    Height = 16
+    Height = 18
     Top = 16
-    Width = 37
+    Width = 41
     Caption = '.trc file'
     ParentColor = False
   end
   object edtTrcFileName: TEdit
-    Left = 72
-    Height = 23
+    Left = 88
+    Height = 25
     Top = 16
-    Width = 311
+    Width = 520
     Anchors = [akTop, akLeft, akRight]
     TabOrder = 0
   end
   object btnUpdate: TButton
     Left = 16
-    Height = 25
+    Height = 27
     Top = 54
-    Width = 64
+    Width = 70
     AutoSize = True
     Caption = 'Update'
     OnClick = btnUpdateClick
     TabOrder = 1
   end
   object chkStayOnTop: TCheckBox
-    Left = 347
-    Height = 19
+    Left = 513
+    Height = 21
     Top = 56
-    Width = 80
+    Width = 95
     Anchors = [akTop, akRight]
     Caption = 'Stay on top'
     OnChange = chkStayOnTopChange
-    OnClick = chkStayOnTopClick
     TabOrder = 2
   end
   object btnBrowse: TButton
-    Left = 399
+    Left = 624
     Height = 20
     Top = 14
     Width = 32
@@ -59,10 +57,10 @@
     TabOrder = 3
   end
   object chkUseRaw: TCheckBox
-    Left = 240
-    Height = 19
+    Left = 264
+    Height = 21
     Top = 56
-    Width = 92
+    Width = 106
     Caption = 'Raw leak data'
     Checked = True
     OnChange = chkUseRawChange
@@ -71,21 +69,21 @@
   end
   object ctrlPanel: TPanel
     Left = 16
-    Height = 283
+    Height = 305
     Top = 96
-    Width = 415
+    Width = 640
     Anchors = [akTop, akLeft, akRight, akBottom]
     BevelOuter = bvNone
-    ClientHeight = 283
-    ClientWidth = 415
+    ClientHeight = 305
+    ClientWidth = 640
     TabOrder = 5
     object trvTraceInfo: TTreeView
       Left = 0
-      Height = 197
+      Height = 219
       Top = 0
-      Width = 415
+      Width = 640
       Align = alClient
-      DefaultItemHeight = 17
+      DefaultItemHeight = 19
       ReadOnly = True
       TabOrder = 0
       OnDblClick = trvTraceInfoDblClick
@@ -94,8 +92,8 @@
     object memoSummary: TMemo
       Left = 0
       Height = 81
-      Top = 202
-      Width = 415
+      Top = 224
+      Width = 640
       Align = alBottom
       ReadOnly = True
       ScrollBars = ssVertical
@@ -105,17 +103,17 @@
       Cursor = crVSplit
       Left = 0
       Height = 5
-      Top = 197
-      Width = 415
+      Top = 219
+      Width = 640
       Align = alBottom
       ResizeAnchor = akBottom
     end
   end
   object btnClipboard: TButton
     Left = 104
-    Height = 25
+    Height = 27
     Top = 54
-    Width = 109
+    Width = 120
     AutoSize = True
     Caption = 'Paste Clipboard'
     OnClick = btnClipboardClick
leakview.diff (13,639 bytes)

2010-05-23 03:58

 

portuguese_upd1.zip (125,419 bytes)

Marcelo B Paula

2010-05-23 03:59

reporter   ~0037890

Oops! correct zip is portuguese_upd1.zip. Please delete the first one.

Maxim Ganetsky

2010-05-24 02:12

developer   ~0037936

Applied, thanks. Please test and close if ok.

Marcelo B Paula

2010-05-25 02:06

reporter   ~0037953

Ok, thanks.

Issue History

Date Modified Username Field Change
2010-05-23 03:46 Marcelo B Paula New Issue
2010-05-23 03:46 Marcelo B Paula File Added: portuguese_upd.zip
2010-05-23 03:46 Marcelo B Paula Widgetset => Win32/Win64
2010-05-23 03:46 Marcelo B Paula File Added: fpcunit.diff
2010-05-23 03:47 Marcelo B Paula File Added: leakview.diff
2010-05-23 03:58 Marcelo B Paula File Added: portuguese_upd1.zip
2010-05-23 03:59 Marcelo B Paula Note Added: 0037890
2010-05-24 01:20 Maxim Ganetsky Status new => assigned
2010-05-24 01:20 Maxim Ganetsky Assigned To => Maxim Ganetsky
2010-05-24 01:20 Maxim Ganetsky File Deleted: portuguese_upd.zip
2010-05-24 02:12 Maxim Ganetsky Fixed in Revision => 25593, 25594, 25595
2010-05-24 02:12 Maxim Ganetsky LazTarget => -
2010-05-24 02:12 Maxim Ganetsky Widgetset Win32/Win64 =>
2010-05-24 02:12 Maxim Ganetsky Status assigned => resolved
2010-05-24 02:12 Maxim Ganetsky Fixed in Version => 0.9.29 (SVN)
2010-05-24 02:12 Maxim Ganetsky Resolution open => fixed
2010-05-24 02:12 Maxim Ganetsky Note Added: 0037936
2010-05-25 02:06 Marcelo B Paula Status resolved => closed
2010-05-25 02:06 Marcelo B Paula Note Added: 0037953