Forms are no longer modal

Use SynEdit with diff highlighter for the diff form

git-svn-id: trunk@30861 -
This commit is contained in:
darius 2011-05-22 20:01:49 +00:00
parent d50f719356
commit e28c1a3240
11 changed files with 877 additions and 214 deletions

View File

@ -5,7 +5,7 @@
<AddToProjectUsesSection Value="False"/>
<Author Value="Darius Blaszyk"/>
<CompilerOptions>
<Version Value="9"/>
<Version Value="10"/>
<SearchPaths>
<OtherUnitFiles Value="$(LazarusDir)/lcl/units/$(TargetCPU)-$(TargetOS);$(LazarusDir)/ideintf/units/$(TargetCPU)-$(TargetOS);$(LazarusDir)/components/lazsvnpkg/lib/$(TargetCPU)-$(TargetOS);$(LazarusDir)/units/$(TargetCPU)-$(TargetOS);$(LazarusDir)/components/codetools/units/$(TargetCPU)-$(TargetOS);$(LazarusDir)/components/synedit/units/$(TargetCPU)-$(TargetOS)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
@ -87,23 +87,29 @@
<OutDir Value="languages"/>
</i18n>
<Type Value="DesignTime"/>
<RequiredPkgs Count="5">
<RequiredPkgs Count="7">
<Item1>
<PackageName Value="IDEIntf"/>
<PackageName Value="LCLBase"/>
</Item1>
<Item2>
<PackageName Value="SynEdit"/>
<PackageName Value="LCLBase"/>
</Item2>
<Item3>
<PackageName Value="CodeTools"/>
<PackageName Value="IDEIntf"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
<PackageName Value="SynEdit"/>
</Item4>
<Item5>
<PackageName Value="CodeTools"/>
</Item5>
<Item6>
<PackageName Value="LCL"/>
</Item6>
<Item7>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item5>
</Item7>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)"/>

View File

@ -3,81 +3,43 @@ object SVNCommitFrm: TSVNCommitFrm
Height = 300
Top = 316
Width = 675
HelpContext = 0
HorzScrollBar.Page = 675
VertScrollBar.Page = 300
ActiveControl = SVNCommitMemo
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'SVNCommitFrm'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 300
ClientWidth = 675
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.Height = 0
Font.Style = []
FormStyle = fsNormal
OnCreate = FormCreate
OnShow = FormShow
ParentBiDiMode = True
ParentFont = False
Position = poScreenCenter
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
LCLVersion = '0.9.31'
object ButtonPanel: TButtonPanel
Left = 6
Height = 48
Top = 252
Height = 34
Top = 260
Width = 663
HelpContext = 0
Align = alBottom
AutoSize = True
ButtonOrder = boDefault
OKButton.Name = 'OKButton'
OKButton.Caption = '&OK'
OKButton.OnClick = OKButtonClick
HelpButton.Name = 'HelpButton'
HelpButton.Caption = '&Help'
CloseButton.Name = 'CloseButton'
CloseButton.Caption = '&Close'
CancelButton.Name = 'CancelButton'
CancelButton.Caption = 'Cancel'
TabOrder = 0
DefaultButton = pbOK
ShowButtons = [pbOK]
ShowGlyphs = [pbOK, pbCancel, pbClose, pbHelp]
Visible = True
end
object SVNCommitMemo: TMemo
Cursor = crHourGlass
Left = 6
Height = 240
Height = 248
Top = 6
Width = 663
HelpContext = 0
Align = alClient
Alignment = taLeftJustify
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
DragCursor = crDrag
DragMode = dmManual
Enabled = True
MaxLength = -1
ParentBidiMode = True
ParentFont = True
ReadOnly = True
ScrollBars = ssNone
TabOrder = 1
TabStop = True
Visible = True
WantReturns = True
WantTabs = False
end
end

View File

@ -17,6 +17,7 @@ type
SVNCommitMemo: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure OKButtonClick(Sender: TObject);
private
{ private declarations }
FSVNCommandLine: string;
@ -28,6 +29,9 @@ type
procedure ShowSVNCommitFrm(ACmdLine: string);
var
SVNCommitFrm: TSVNCommitFrm;
implementation
{$R *.lfm}
@ -36,15 +40,12 @@ uses
SVNClasses;
procedure ShowSVNCommitFrm(ACmdLine: string);
var
SVNCommitFrm: TSVNCommitFrm;
begin
SVNCommitFrm := TSVNCommitFrm.Create(nil);
if not Assigned(SVNCommitFrm) then
SVNCommitFrm := TSVNCommitFrm.Create(nil);
SVNCommitFrm.SVNCommandLine:=ACmdLine;
SVNCommitFrm.ShowModal;
SVNCommitFrm.Free;
SVNCommitFrm.Show;
end;
{ TSVNCommitFrm }
@ -54,6 +55,11 @@ begin
Application.QueueAsyncCall(@Execute, 0);
end;
procedure TSVNCommitFrm.OKButtonClick(Sender: TObject);
begin
Close;
end;
procedure TSVNCommitFrm.Execute(Data: PtrInt);
begin
CmdLineToMemo(SVNCommandLine, SVNCommitMemo);
@ -64,5 +70,8 @@ begin
Caption := rsLazarusSVNCommit;
end;
finalization
FreeAndNil(SVNCommitFrm);
end.

View File

@ -17,6 +17,7 @@ object SVNDiffFrm: TSVNDiffFrm
Width = 605
OKButton.Name = 'OKButton'
OKButton.Caption = '&OK'
OKButton.OnClick = OKButtonClick
HelpButton.Name = 'HelpButton'
HelpButton.Caption = '&Help'
HelpButton.OnClick = SaveButtonClick
@ -29,8 +30,7 @@ object SVNDiffFrm: TSVNDiffFrm
TabOrder = 0
ShowButtons = [pbOK, pbHelp]
end
object SVNDiffMemo: TMemo
Cursor = crHourGlass
inline SVNDiffMemo: TSynEdit
Left = 6
Height = 414
Top = 6
@ -38,11 +38,713 @@ object SVNDiffFrm: TSVNDiffFrm
Align = alClient
BorderSpacing.Around = 6
Font.Height = -13
Font.Name = 'Courier'
Font.Name = 'Courier New'
Font.Pitch = fpFixed
Font.Quality = fqNonAntialiased
ParentColor = False
ParentFont = False
ScrollBars = ssAutoBoth
TabOrder = 1
WordWrap = False
Gutter.Width = 57
Gutter.MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 13
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end>
RightGutter.Width = 0
RightGutter.MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 13
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end>
Highlighter = SynDiffSyn1
Keystrokes = <
item
Command = ecUp
ShortCut = 38
end
item
Command = ecSelUp
ShortCut = 8230
end
item
Command = ecScrollUp
ShortCut = 16422
end
item
Command = ecDown
ShortCut = 40
end
item
Command = ecSelDown
ShortCut = 8232
end
item
Command = ecScrollDown
ShortCut = 16424
end
item
Command = ecLeft
ShortCut = 37
end
item
Command = ecSelLeft
ShortCut = 8229
end
item
Command = ecWordLeft
ShortCut = 16421
end
item
Command = ecSelWordLeft
ShortCut = 24613
end
item
Command = ecRight
ShortCut = 39
end
item
Command = ecSelRight
ShortCut = 8231
end
item
Command = ecWordRight
ShortCut = 16423
end
item
Command = ecSelWordRight
ShortCut = 24615
end
item
Command = ecPageDown
ShortCut = 34
end
item
Command = ecSelPageDown
ShortCut = 8226
end
item
Command = ecPageBottom
ShortCut = 16418
end
item
Command = ecSelPageBottom
ShortCut = 24610
end
item
Command = ecPageUp
ShortCut = 33
end
item
Command = ecSelPageUp
ShortCut = 8225
end
item
Command = ecPageTop
ShortCut = 16417
end
item
Command = ecSelPageTop
ShortCut = 24609
end
item
Command = ecLineStart
ShortCut = 36
end
item
Command = ecSelLineStart
ShortCut = 8228
end
item
Command = ecEditorTop
ShortCut = 16420
end
item
Command = ecSelEditorTop
ShortCut = 24612
end
item
Command = ecLineEnd
ShortCut = 35
end
item
Command = ecSelLineEnd
ShortCut = 8227
end
item
Command = ecEditorBottom
ShortCut = 16419
end
item
Command = ecSelEditorBottom
ShortCut = 24611
end
item
Command = ecToggleMode
ShortCut = 45
end
item
Command = ecCopy
ShortCut = 16429
end
item
Command = ecPaste
ShortCut = 8237
end
item
Command = ecDeleteChar
ShortCut = 46
end
item
Command = ecCut
ShortCut = 8238
end
item
Command = ecDeleteLastChar
ShortCut = 8
end
item
Command = ecDeleteLastChar
ShortCut = 8200
end
item
Command = ecDeleteLastWord
ShortCut = 16392
end
item
Command = ecUndo
ShortCut = 32776
end
item
Command = ecRedo
ShortCut = 40968
end
item
Command = ecLineBreak
ShortCut = 13
end
item
Command = ecSelectAll
ShortCut = 16449
end
item
Command = ecCopy
ShortCut = 16451
end
item
Command = ecBlockIndent
ShortCut = 24649
end
item
Command = ecLineBreak
ShortCut = 16461
end
item
Command = ecInsertLine
ShortCut = 16462
end
item
Command = ecDeleteWord
ShortCut = 16468
end
item
Command = ecBlockUnindent
ShortCut = 24661
end
item
Command = ecPaste
ShortCut = 16470
end
item
Command = ecCut
ShortCut = 16472
end
item
Command = ecDeleteLine
ShortCut = 16473
end
item
Command = ecDeleteEOL
ShortCut = 24665
end
item
Command = ecUndo
ShortCut = 16474
end
item
Command = ecRedo
ShortCut = 24666
end
item
Command = ecGotoMarker0
ShortCut = 16432
end
item
Command = ecGotoMarker1
ShortCut = 16433
end
item
Command = ecGotoMarker2
ShortCut = 16434
end
item
Command = ecGotoMarker3
ShortCut = 16435
end
item
Command = ecGotoMarker4
ShortCut = 16436
end
item
Command = ecGotoMarker5
ShortCut = 16437
end
item
Command = ecGotoMarker6
ShortCut = 16438
end
item
Command = ecGotoMarker7
ShortCut = 16439
end
item
Command = ecGotoMarker8
ShortCut = 16440
end
item
Command = ecGotoMarker9
ShortCut = 16441
end
item
Command = ecSetMarker0
ShortCut = 24624
end
item
Command = ecSetMarker1
ShortCut = 24625
end
item
Command = ecSetMarker2
ShortCut = 24626
end
item
Command = ecSetMarker3
ShortCut = 24627
end
item
Command = ecSetMarker4
ShortCut = 24628
end
item
Command = ecSetMarker5
ShortCut = 24629
end
item
Command = ecSetMarker6
ShortCut = 24630
end
item
Command = ecSetMarker7
ShortCut = 24631
end
item
Command = ecSetMarker8
ShortCut = 24632
end
item
Command = ecSetMarker9
ShortCut = 24633
end
item
Command = EcFoldLevel1
ShortCut = 41009
end
item
Command = EcFoldLevel2
ShortCut = 41010
end
item
Command = EcFoldLevel1
ShortCut = 41011
end
item
Command = EcFoldLevel1
ShortCut = 41012
end
item
Command = EcFoldLevel1
ShortCut = 41013
end
item
Command = EcFoldLevel6
ShortCut = 41014
end
item
Command = EcFoldLevel7
ShortCut = 41015
end
item
Command = EcFoldLevel8
ShortCut = 41016
end
item
Command = EcFoldLevel9
ShortCut = 41017
end
item
Command = EcFoldLevel0
ShortCut = 41008
end
item
Command = EcFoldCurrent
ShortCut = 41005
end
item
Command = EcUnFoldCurrent
ShortCut = 41003
end
item
Command = EcToggleMarkupWord
ShortCut = 32845
end
item
Command = ecNormalSelect
ShortCut = 24654
end
item
Command = ecColumnSelect
ShortCut = 24643
end
item
Command = ecLineSelect
ShortCut = 24652
end
item
Command = ecTab
ShortCut = 9
end
item
Command = ecShiftTab
ShortCut = 8201
end
item
Command = ecMatchBracket
ShortCut = 24642
end
item
Command = ecColSelUp
ShortCut = 40998
end
item
Command = ecColSelDown
ShortCut = 41000
end
item
Command = ecColSelLeft
ShortCut = 40997
end
item
Command = ecColSelRight
ShortCut = 40999
end
item
Command = ecColSelPageDown
ShortCut = 40994
end
item
Command = ecColSelPageBottom
ShortCut = 57378
end
item
Command = ecColSelPageUp
ShortCut = 40993
end
item
Command = ecColSelPageTop
ShortCut = 57377
end
item
Command = ecColSelLineStart
ShortCut = 40996
end
item
Command = ecColSelLineEnd
ShortCut = 40995
end
item
Command = ecColSelEditorTop
ShortCut = 57380
end
item
Command = ecColSelEditorBottom
ShortCut = 57379
end>
MouseActions = <
item
Shift = []
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 1
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssShift]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 1
MoveCaret = True
Option = 1
Priority = 0
end
item
Shift = [ssAlt]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 3
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssShift, ssAlt]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 3
MoveCaret = True
Option = 1
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccDouble
ClickDir = cdDown
Command = 6
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccTriple
ClickDir = cdDown
Command = 7
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccQuad
ClickDir = cdDown
Command = 8
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbMiddle
ClickCount = ccSingle
ClickDir = cdDown
Command = 10
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssCtrl]
ShiftMask = [ssShift, ssAlt, ssCtrl]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdUp
Command = 11
MoveCaret = False
Option = 0
Priority = 0
end>
MouseSelActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 9
MoveCaret = False
Option = 0
Priority = 0
end>
BracketHighlightStyle = sbhsBoth
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 24
end
object SynGutterLineNumber1: TSynGutterLineNumber
Width = 17
MouseActions = <>
MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone
DigitCount = 2
ShowOnlyLineNumbersMultiplesOf = 1
ZeroStart = False
LeadingZeros = False
end
object SynGutterChanges1: TSynGutterChanges
Width = 4
ModifiedColor = 59900
SavedColor = clGreen
end
object SynGutterSeparator1: TSynGutterSeparator
Width = 2
end
object SynGutterCodeFolding1: TSynGutterCodeFolding
MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 16
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = [ssShift]
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = [ssShift]
ShiftMask = [ssShift]
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 1
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 0
MoveCaret = False
Option = 0
Priority = 0
end>
MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray
MouseActionsExpanded = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
end>
MouseActionsCollapsed = <
item
Shift = [ssCtrl]
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Option = 1
Priority = 0
end>
end
end
end
object SaveDialog: TSaveDialog
DefaultExt = '.diff'
@ -51,4 +753,21 @@ object SVNDiffFrm: TSVNDiffFrm
left = 21
top = 317
end
object SynDiffSyn1: TSynDiffSyn
Enabled = False
UnknownAttri.FrameEdges = sfeAround
SpaceAttri.FrameEdges = sfeAround
OrigFileAttri.FrameEdges = sfeAround
NewFileAttri.FrameEdges = sfeAround
ChunkMarkerAttri.FrameEdges = sfeAround
ChunkNewAttri.FrameEdges = sfeAround
ChunkOldAttri.FrameEdges = sfeAround
ChunkMixedAttri.FrameEdges = sfeAround
LineAddedAttri.FrameEdges = sfeAround
LineRemovedAttri.FrameEdges = sfeAround
LineChangedAttri.FrameEdges = sfeAround
LineContextAttri.FrameEdges = sfeAround
left = 83
top = 44
end
end

View File

@ -24,7 +24,7 @@ interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Dialogs,
ButtonPanel, StdCtrls, Buttons, LazIDEIntf;
ButtonPanel, StdCtrls, Buttons, LazIDEIntf, SynEdit, SynHighlighterDiff;
type
@ -33,9 +33,11 @@ type
TSVNDiffFrm = class(TForm)
ButtonPanel: TButtonPanel;
SaveDialog: TSaveDialog;
SVNDiffMemo: TMemo;
SVNDiffMemo: TSynEdit;
SynDiffSyn1: TSynDiffSyn;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure OKButtonClick(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
destructor Destroy; override;
private
@ -53,6 +55,9 @@ type
procedure ShowSVNDiffFrm(ASwitches, AFileName: string);
procedure ShowSVNDiffFrm(ASwitches: string; AFileList: TStringList); overload;
var
SVNDiffFrm: TSVNDiffFrm;
implementation
{$R *.lfm}
@ -70,16 +75,13 @@ begin
end;
procedure ShowSVNDiffFrm(ASwitches: string; AFileList: TStringList);
var
SVNDiffFrm: TSVNDiffFrm;
begin
SVNDiffFrm := TSVNDiffFrm.Create(nil);
if not Assigned(SVNDiffFrm) then
SVNDiffFrm := TSVNDiffFrm.Create(nil);
SVNDiffFrm.FileList:=AFileList;
SVNDiffFrm.Switches:=ASwitches;
SVNDiffFrm.ShowModal;
SVNDiffFrm.Free;
SVNDiffFrm.Show;
end;
{ TSVNDiffFrm }
@ -97,6 +99,11 @@ begin
Application.QueueAsyncCall(@Execute, 0);
end;
procedure TSVNDiffFrm.OKButtonClick(Sender: TObject);
begin
Close;
end;
procedure TSVNDiffFrm.FormCreate(Sender: TObject);
begin
ButtonPanel.HelpButton.Enabled := False;
@ -114,22 +121,29 @@ procedure TSVNDiffFrm.Execute(Data: PtrInt);
var
i: Integer;
FileNames: String; // all filenames concatenated for the command line
DiffMemo: TMemo;
begin
FileNames := '';
for i := 0 to FileList.Count - 1 do begin
for i := 0 to FileList.Count - 1 do
begin
if FileExists(FileList.Strings[i]) then
FileNames += ' "' + CreateRelativePath(FileList.Strings[i], FRepoBaseDir, False) + '"'
else
FileNames += ' "' + FileList.Strings[i] + '"' // might be a http:// url
end;
// in the previous step we made the filenames relative because we don't
// want absolute paths in our diff files. Now we must make sure we execute
// the svn diff command from within the repository base directory.
chdir(FRepoBaseDir);
CmdLineToMemo(SVNExecutable + ' diff ' + FSwitches + FileNames + ' --non-interactive',
SVNDiffMemo);
try
DiffMemo := TMemo.Create(Self);
CmdLineToMemo(SVNExecutable + ' diff ' + FSwitches + FileNames + ' --non-interactive',
DiffMemo);
SVNDiffmemo.Lines.Text := DiffMemo.Lines.Text;
finally
FreeAndNil(Diffmemo);
end;
ButtonPanel.HelpButton.Enabled := True;
end;
@ -142,5 +156,8 @@ end;
initialization
{$I ../../images/laz_images.lrs}
finalization
FreeAndNil(SVNDiffFrm);
end.

View File

@ -10,7 +10,7 @@ object SVNLogFrm: TSVNLogFrm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '0.9.29'
LCLVersion = '0.9.31'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = SVNLogLimit
@ -45,7 +45,6 @@ object SVNLogFrm: TSVNLogFrm
item
Width = 546
end>
ItemIndex = -1
RowSelect = True
TabOrder = 0
ViewStyle = vsReport
@ -84,7 +83,6 @@ object SVNLogFrm: TSVNLogFrm
item
Width = 546
end>
ItemIndex = -1
PopupMenu = SVNActionsPopupMenu
RowSelect = True
TabOrder = 2
@ -97,6 +95,7 @@ object SVNLogFrm: TSVNLogFrm
Width = 714
OKButton.Name = 'OKButton'
OKButton.Caption = '&OK'
OKButton.OnClick = OKButtonClick
HelpButton.Name = 'HelpButton'
HelpButton.Caption = '&Help'
HelpButton.Enabled = False

View File

@ -81,6 +81,7 @@ type
procedure mnuOpenPrevRevisionClick(Sender: TObject);
procedure mnuOpenRevisionClick(Sender: TObject);
procedure mnuShowDiffClick(Sender: TObject);
procedure OKButtonClick(Sender: TObject);
procedure RefreshButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
@ -103,6 +104,9 @@ type
procedure ShowSVNLogFrm(ARepoPath: string);
var
SVNLogFrm: TSVNLogFrm;
implementation
{$R *.lfm}
@ -111,15 +115,12 @@ uses
SVNDiffForm, SVNClasses;
procedure ShowSVNLogFrm(ARepoPath: string);
var
SVNLogFrm: TSVNLogFrm;
begin
SVNLogFrm := TSVNLogFrm.Create(nil);
if not Assigned(SVNLogFrm) then
SVNLogFrm := TSVNLogFrm.Create(nil);
SVNLogFrm.RepositoryPath:=ARepoPath;
SVNLogFrm.ShowModal;
SVNLogFrm.Free;
SVNLogFrm.Show;
end;
{ TSVNLogItem }
@ -293,7 +294,6 @@ end;
procedure TSVNLogFrm.mnuShowDiffClick(Sender: TObject);
var
Path: string;
i: integer;
Revision: integer;
begin
if Assigned(SVNActionsListView.Selected) and Assigned(LogListView.Selected) then
@ -308,6 +308,11 @@ begin
end;
end;
procedure TSVNLogFrm.OKButtonClick(Sender: TObject);
begin
Close;
end;
procedure TSVNLogFrm.mnuOpenRevisionClick(Sender: TObject);
begin
@ -519,5 +524,8 @@ begin
ChangeCursor(crDefault);
end;
finalization
FreeAndNil(SVNLogFrm);
end.

View File

@ -10,11 +10,11 @@ object SVNStatusFrm: TSVNStatusFrm
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '0.9.29'
LCLVersion = '0.9.31'
object ButtonPanel: TButtonPanel
Left = 6
Height = 37
Top = 365
Height = 34
Top = 368
Width = 726
OKButton.Name = 'OKButton'
OKButton.Caption = '&Commit'
@ -27,14 +27,15 @@ object SVNStatusFrm: TSVNStatusFrm
CloseButton.Enabled = False
CancelButton.Name = 'CancelButton'
CancelButton.Caption = 'Cancel'
CancelButton.OnClick = CancelButtonClick
TabOrder = 2
ShowButtons = [pbOK, pbCancel, pbHelp]
ShowGlyphs = [pbOK, pbCancel, pbClose]
end
object SVNFileListView: TListView
Left = 6
Height = 178
Top = 181
Height = 189
Top = 173
Width = 726
Align = alClient
BorderSpacing.Left = 6
@ -44,39 +45,39 @@ object SVNStatusFrm: TSVNStatusFrm
Columns = <
item
AutoSize = True
Width = 10
Width = 722
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 10
Width = 15
end
item
AutoSize = True
Width = 628
Width = 15
end>
PopupMenu = PopupMenu1
RowSelect = True
@ -90,7 +91,7 @@ object SVNStatusFrm: TSVNStatusFrm
object SVNCommitMsgMemo: TMemo
Left = 6
Height = 135
Top = 41
Top = 33
Width = 726
Align = alTop
BorderSpacing.Left = 6
@ -103,19 +104,19 @@ object SVNStatusFrm: TSVNStatusFrm
Cursor = crVSplit
Left = 0
Height = 5
Top = 176
Top = 168
Width = 738
Align = alTop
ResizeAnchor = akTop
end
object SVNCommitMsgHistoryComboBox: TComboBox
Left = 6
Height = 29
Height = 21
Top = 6
Width = 726
Align = alTop
BorderSpacing.Around = 6
ItemHeight = 0
ItemHeight = 13
OnChange = SVNCommitMsgHistoryComboBoxChange
TabOrder = 4
end

View File

@ -43,6 +43,7 @@ type
Splitter: TSplitter;
SVNCommitMsgMemo: TMemo;
SVNFileListView: TListView;
procedure CancelButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
@ -72,6 +73,9 @@ type
procedure ShowSVNStatusFrm(ARepoPath: string);
var
SVNStatusFrm: TSVNStatusFrm;
implementation
{$R *.lfm}
@ -80,16 +84,13 @@ uses
SVNDiffForm, SVNCommitForm;
procedure ShowSVNStatusFrm(ARepoPath: string);
var
SVNStatusFrm: TSVNStatusFrm;
begin
SVNStatusFrm := TSVNStatusFrm.Create(nil);
if not Assigned(SVNStatusFrm) then
SVNStatusFrm := TSVNStatusFrm.Create(nil);
SVNStatusFrm.ChangeCursor(crHourGlass);
SVNStatusFrm.RepositoryPath:=ARepoPath;
SVNStatusFrm.ShowModal;
SVNStatusFrm.Free;
SVNStatusFrm.Show;
end;
{ TSVNStatusFrm }
@ -227,6 +228,7 @@ begin
ShowSVNCommitFrm(CmdLine);
DeleteFile(FileName);
Close;
end;
procedure TSVNStatusFrm.PatchButtonClick(Sender: TObject);
@ -429,8 +431,6 @@ procedure TSVNStatusFrm.FormClose(Sender: TObject; var CloseAction: TCloseAction
var
Config: TConfigStorage;
count: integer;
i: integer;
s: string;
begin
if SVNCommitMsgMemo.Text <> '' then
begin
@ -447,10 +447,18 @@ begin
end;
end;
procedure TSVNStatusFrm.CancelButtonClick(Sender: TObject);
begin
Close;
end;
procedure TSVNStatusFrm.FormDestroy(Sender: TObject);
begin
SVNStatus.Free;
end;
finalization
FreeAndNil(SVNStatusFrm);
end.

View File

@ -3,128 +3,56 @@ object SVNUpdateFrm: TSVNUpdateFrm
Height = 300
Top = 209
Width = 640
HelpContext = 0
Caption = 'SVNUpdateFrm'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 300
ClientWidth = 640
Font.Height = 0
Font.Style = []
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '0.9.27'
LCLVersion = '0.9.31'
object SVNUpdateListView: TListView
Left = 6
Height = 240
Height = 248
Top = 6
Width = 628
HelpContext = 0
Align = alClient
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Columns = <
item
AutoSize = False
Width = 75
end
item
AutoSize = False
Width = 553
end>
PopupMenu = UpdatePopupMenu
RowSelect = True
ScrollBars = ssAutoBoth
SortColumn = 0
SortType = stNone
TabOrder = 0
ViewStyle = vsReport
end
object ButtonPanel: TButtonPanel
Left = 6
Height = 48
Top = 252
Height = 34
Top = 260
Width = 628
HelpContext = 0
Align = alBottom
AutoSize = True
ButtonOrder = boDefault
OKButton.Name = 'OKButton'
OKButton.Caption = '&OK'
OKButton.OnClick = OKButtonClick
HelpButton.Name = 'HelpButton'
HelpButton.Caption = '&Help'
HelpButton.OnClick = ShowLogButtonClick
CloseButton.Name = 'CloseButton'
CloseButton.Caption = '&Close'
CancelButton.Name = 'CancelButton'
CancelButton.Caption = 'Cancel'
TabOrder = 1
DefaultButton = pbOK
ShowButtons = [pbOK]
object ShowLogButton: TBitBtn
Left = 78
Height = 34
Top = 8
Width = 131
HelpContext = 0
Align = alLeft
AutoSize = True
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 6
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = 'ShowLogButton'
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
20000000000000040000640000006400000000000000000000000000000080B1
64FF858A88FF858A88FF858A88FF858A88FF858A88FF858A88FF858A88FF858A
88FF858A88FF858A88FF858A88FF695857FF801960007FAB200000000000858A
88FFEEEEEEFFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2B2FFB2B2
B2FFB1B1B1FFB2B2B2FFB2B2B2FF858A88FFDE04CA000B007C0048346B00858A
88FFFFFFFFFFECECECFFEBEBEBFFEAEAEAFFEAEAEAFFE9E9E9FFEBEBEBFFEAEA
EAFFEBEBEBFFECECECFFB2B2B2FF858A88FF0100CA000000000070030000858A
88FFFFFFFFFFDBDBDBFFCBCBCBFFC4C4C4FF000000FF02598FFF636363FF8C8C
8CFFCACACAFFDADADAFFB2B2B2FF858A88FFCA00000019000000504B2600858A
88FFFFFFFFFFECECECFFECECECFFE9E9E9FF02598FFF26424CFF36576BFF0259
8FFF9D9D9DFFD6D6D6FFAEAEAEFF858A88FF09000000F817600000000000858A
88FFFFFFFFFFDBDBDBFFCCCCCCFFCBCBCBFF757575FF395B70FF8AABC2FF5585
A3FF02598FFF8F8F8FFF868686FF858A88FF401860007BAB200000000000858A
88FFFFFFFFFFECECECFFECECECFFECECECFFEBEBEBFF02598FFFC4E5EDFF649F
C8FF5787A4FF02598FFF717171FF858A88FFDE04CA000A007C0048346B00858A
88FFFFFFFFFFDBDBDBFFCCCCCCFFCCCCCCFFCCCCCCFFB7B7B7FF02598FFFC5E6
EDFF68A6CEFF5784A0FF02598FFF858A88FF0300CA000000000030020000858A
88FFFFFFFFFFECECECFFECECECFFECECECFFECECECFFECECECFFD3D3D3FF0259
8FFFC6EAEEFF69AACFFF5683A0FF02598FFFA3121D0019000000504B2600858A
88FFFFFFFFFFDBDBDBFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFB7B7
B7FF02598FFFC7EBEFFF6AACD2FF5787A4FF02598FFF93246A0000000000858A
88FFFFFFFFFFECECECFFECECECFFECECECFFECECECFFECECECFFECECECFFECEC
ECFFD3D3D3FF02598FFFC7EBEFFF6AACD2FF5481A0FF02598FFF00000000858A
88FFEBEBEBFF00A0C4FFBCBCBCFF00A0C4FFB8B8B8FF00A0C4FFB8B8B8FF00A0
C4FFB8B8B8FF00A0C4FF02598FFFC6EAEEFF71ADCFFF02598FFF48346B00858A
88FF00A0C4FF3DB1EBFF00A0C4FF3DB1EBFF00A0C4FF3DB1EBFF00A0C4FF3DB1
EBFF00A0C4FF3DB1EBFF00A0C4FF02598FFF02598FFF01203400F00000005737
360000A0C4FFC6E8F9FF00A0C4FFC6E8F9FF00A0C4FFC6E8F9FF00A0C4FFC6E8
F9FF00A0C4FFC6E8F9FF00A0C4FF00000000CC00000019000000504B2600E0B0
4A00A32EC80000A0C4FF002B340000A0C4FF012BC80000A0C4FF002B340000A0
C4FF962B340000A0C4FF35518200F815600009000000781560000000000078F6
25000100CA00000000000000000000000000CC0000001900000048346B00A815
60000900000028156000A000000038000000C015600073AB2000
}
NumGlyphs = 0
OnClick = ShowLogButtonClick
TabOrder = 4
end
ShowButtons = [pbOK, pbHelp]
end
object UpdatePopupMenu: TPopupMenu
left = 40
top = 64
object mnuShowDiff: TMenuItem
Caption = 'New Item1'
RightJustify = False
ShowAlwaysCheckable = False
OnClick = mnuShowDiffClick
end
end

View File

@ -33,7 +33,6 @@ type
TSVNUpdateFrm = class(TForm)
mnuShowDiff: TMenuItem;
UpdatePopupMenu: TPopupMenu;
ShowLogButton: TBitBtn;
ButtonPanel: TButtonPanel;
SVNUpdateListView: TListView;
procedure FormCreate(Sender: TObject);
@ -54,6 +53,9 @@ type
procedure ShowSVNUpdateFrm(ARepoPath: string);
var
SVNUpdateFrm: TSVNUpdateFrm;
implementation
{$R *.lfm}
@ -64,15 +66,12 @@ uses
{ TSVNUpdateFrm }
procedure ShowSVNUpdateFrm(ARepoPath: string);
var
SVNUpdateFrm: TSVNUpdateFrm;
begin
SVNUpdateFrm := TSVNUpdateFrm.Create(nil);
if not Assigned(SVNUpdateFrm) then
SVNUpdateFrm := TSVNUpdateFrm.Create(nil);
SVNUpdateFrm.RepositoryPath := ARepoPath;
SVNUpdateFrm.ShowModal;
SVNUpdateFrm.Free;
SVNUpdateFrm.Show;
end;
procedure TSVNUpdateFrm.FormCreate(Sender: TObject);
@ -82,7 +81,8 @@ begin
//SetColumn(SVNUpdateListView, 2, 100,'Mime type');
ButtonPanel.OKButton.OnClick := @OKButtonClick;
ShowLogButton.Caption := rsShowLog;
ButtonPanel.HelpButton.Caption := rsShowLog;
ButtonPanel.HelpButton.LoadGlyphFromLazarusResource('tsynsyncroedit');
mnuShowDiff.Caption:=rsShowDiff;
end;
@ -209,5 +209,11 @@ begin
MemStream.Free;
end;
initialization
{$I ../../images/bookmark.lrs}
finalization
FreeAndNil(SVNUpdateFrm);
end.