mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-10 19:47:17 +01:00
project data is now stored in .lpi file
removal of SVNSettingsForm removal of TSVNSettings git-svn-id: trunk@17195 -
This commit is contained in:
parent
20fc2c1900
commit
b861fd7cda
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -900,9 +900,6 @@ components/lazsvnpkg/svndiffform.pas svneol=native#text/plain
|
||||
components/lazsvnpkg/svnlogform.lfm svneol=native#text/plain
|
||||
components/lazsvnpkg/svnlogform.lrs svneol=native#text/plain
|
||||
components/lazsvnpkg/svnlogform.pas svneol=native#text/plain
|
||||
components/lazsvnpkg/svnsettingsform.lfm svneol=native#text/plain
|
||||
components/lazsvnpkg/svnsettingsform.lrs svneol=native#text/plain
|
||||
components/lazsvnpkg/svnsettingsform.pas svneol=native#text/plain
|
||||
components/lazsvnpkg/svnstatusform.lfm svneol=native#text/plain
|
||||
components/lazsvnpkg/svnstatusform.lrs svneol=native#text/plain
|
||||
components/lazsvnpkg/svnstatusform.pas svneol=native#text/plain
|
||||
|
||||
@ -23,7 +23,7 @@ unit LazSVNIntf;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LCLtype, LResources, ProjectIntf;
|
||||
Classes, SysUtils, LCLtype, LResources, ProjectIntf, LCLProc;
|
||||
|
||||
procedure ProcSVNLog(Sender: TObject);
|
||||
procedure ProcSVNCommit(Sender: TObject);
|
||||
@ -37,7 +37,7 @@ implementation
|
||||
uses
|
||||
MenuIntf, IDECommands, Controls, Forms, Dialogs,
|
||||
SVNLogForm, SVNUpdateForm, SVNDiffForm, SVNStatusForm, LazIDEIntf, SVNClasses,
|
||||
SVNSettingsForm, SrcEditorIntf;
|
||||
SVNAddProjectForm, SrcEditorIntf;
|
||||
|
||||
var
|
||||
CmdSVNLog : TIDECommand;
|
||||
@ -81,21 +81,24 @@ begin
|
||||
CmdSVNDiff, 'menu_svn_diff');
|
||||
RegisterIDEMenuCommand(mnuSVNSection, 'SVNSettings', rsSettings, nil, nil,
|
||||
CmdSVNSettings, 'menu_environment_options');
|
||||
|
||||
SVNSettingsFrm := TSVNSettingsFrm.Create(nil);
|
||||
end;
|
||||
|
||||
procedure ProcSVNLog(Sender: TObject);
|
||||
var
|
||||
Repo: string;
|
||||
IsActive: boolean;
|
||||
sBool: string;
|
||||
begin
|
||||
If Assigned(LazarusIDE) and Assigned(LazarusIDE.ActiveProject) then
|
||||
begin
|
||||
Repo := ExtractFilePath(LazarusIDE.ActiveProject.ProjectInfoFile);
|
||||
IsActive := SVNSettings.RepositoryByPath(LazarusIDE.ActiveProject.ProjectInfoFile, Repo);
|
||||
Repo := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY];
|
||||
sBool := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE];
|
||||
if sBool <> '' then
|
||||
IsActive := StrToBool(sBool)
|
||||
else
|
||||
IsActive := False;
|
||||
|
||||
if IsActive then
|
||||
if IsActive and (Repo <> '') then
|
||||
ShowSVNLogFrm(Repo)
|
||||
else
|
||||
ShowMessage(rsProjectIsNotActiveInSVNSettingsPleaseActivateFirst);
|
||||
@ -106,13 +109,18 @@ procedure ProcSVNCommit(Sender: TObject);
|
||||
var
|
||||
Repo: string;
|
||||
IsActive: boolean;
|
||||
sBool: string;
|
||||
begin
|
||||
If Assigned(LazarusIDE) and Assigned(LazarusIDE.ActiveProject) then
|
||||
begin
|
||||
Repo := ExtractFilePath(LazarusIDE.ActiveProject.ProjectInfoFile);
|
||||
IsActive := SVNSettings.RepositoryByPath(LazarusIDE.ActiveProject.ProjectInfoFile, Repo);
|
||||
Repo := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY];
|
||||
sBool := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE];
|
||||
if sBool <> '' then
|
||||
IsActive := StrToBool(sBool)
|
||||
else
|
||||
IsActive := False;
|
||||
|
||||
if IsActive then
|
||||
if IsActive and (Repo <> '') then
|
||||
ShowSVNStatusFrm(Repo)
|
||||
else
|
||||
ShowMessage(rsProjectIsNotActiveInSVNSettingsPleaseActivateFirst);
|
||||
@ -123,13 +131,20 @@ procedure ProcSVNUpdate(Sender: TObject);
|
||||
var
|
||||
Repo: string;
|
||||
IsActive: boolean;
|
||||
sBool: string;
|
||||
begin
|
||||
If Assigned(LazarusIDE) and Assigned(LazarusIDE.ActiveProject) then
|
||||
begin
|
||||
Repo := ExtractFilePath(LazarusIDE.ActiveProject.ProjectInfoFile);
|
||||
IsActive := SVNSettings.RepositoryByPath(LazarusIDE.ActiveProject.ProjectInfoFile, Repo);
|
||||
Repo := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY];
|
||||
sBool := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE];
|
||||
if sBool <> '' then
|
||||
IsActive := StrToBool(sBool)
|
||||
else
|
||||
IsActive := False;
|
||||
|
||||
if IsActive then
|
||||
debugln('ProcSVNUpdate repo='+Repo+' isactive='+sBool);
|
||||
|
||||
if IsActive and (Repo <> '') then
|
||||
ShowSVNUpdateFrm(Repo)
|
||||
else
|
||||
ShowMessage(rsProjectIsNotActiveInSVNSettingsPleaseActivateFirst);
|
||||
@ -141,12 +156,18 @@ var
|
||||
Repo: string;
|
||||
IsActive: boolean;
|
||||
SrcFile: string;
|
||||
sBool: string;
|
||||
begin
|
||||
If Assigned(LazarusIDE) and Assigned(LazarusIDE.ActiveProject) then
|
||||
begin
|
||||
Repo := ExtractFilePath(LazarusIDE.ActiveProject.ProjectInfoFile);
|
||||
IsActive := SVNSettings.RepositoryByPath(LazarusIDE.ActiveProject.ProjectInfoFile, Repo);
|
||||
if IsActive then
|
||||
Repo := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY];
|
||||
sBool := LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE];
|
||||
if sBool <> '' then
|
||||
IsActive := StrToBool(sBool)
|
||||
else
|
||||
IsActive := False;
|
||||
|
||||
if IsActive and (Repo <> '') then
|
||||
begin
|
||||
SrcFile := SourceEditorWindow.ActiveEditor.FileName;
|
||||
|
||||
@ -162,7 +183,7 @@ end;
|
||||
|
||||
procedure ProcSVNSettings(Sender: TObject);
|
||||
begin
|
||||
ShowSVNSettingsFrm;
|
||||
ShowSVNAddProjectFrm;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
@ -47,31 +47,36 @@ type
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
function ShowSVNAddProjectFrm(AProject: string; var ARepository: string; AActive: boolean = true): TModalResult;
|
||||
function ShowSVNAddProjectFrm: TModalResult;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SVNClasses;
|
||||
SVNClasses, LazIDEIntf;
|
||||
|
||||
function ShowSVNAddProjectFrm(AProject: string; var ARepository: string; AActive: boolean = true): TModalResult;
|
||||
function ShowSVNAddProjectFrm: TModalResult;
|
||||
var
|
||||
SVNAddProjectFrm: TSVNAddProjectFrm;
|
||||
begin
|
||||
SVNAddProjectFrm := TSVNAddProjectFrm.Create(nil);
|
||||
|
||||
SVNAddProjectFrm.ProjectEdit.Text:=AProject;
|
||||
SVNAddProjectFrm.RepositoryEdit.Text:=ARepository;
|
||||
SVNAddProjectFrm.ActiveCheckBox.Checked:=AActive;
|
||||
SVNAddProjectFrm.ProjectEdit.Text:=LazarusIDE.ActiveProject.ProjectInfoFile;
|
||||
SVNAddProjectFrm.RepositoryEdit.Text:=LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY];
|
||||
|
||||
try
|
||||
SVNAddProjectFrm.ActiveCheckBox.Checked:=StrToBool(LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE]);
|
||||
except
|
||||
SVNAddProjectFrm.ActiveCheckBox.Checked:=False;
|
||||
end;
|
||||
|
||||
Result := SVNAddProjectFrm.ShowModal;
|
||||
|
||||
ARepository := SVNAddProjectFrm.RepositoryEdit.Text;
|
||||
|
||||
if Result = mrOK then
|
||||
SVNSettings.UpdateProject(SVNAddProjectFrm.ProjectEdit.Text,
|
||||
SVNAddProjectFrm.RepositoryEdit.Text,
|
||||
SVNAddProjectFrm.ActiveCheckBox.Checked);
|
||||
begin
|
||||
LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_REPOSITORY] := SVNAddProjectFrm.RepositoryEdit.Text;
|
||||
LazarusIDE.ActiveProject.CustomSessionData.Values[SVN_ACTIVE] := BoolToStr(SVNAddProjectFrm.ActiveCheckBox.Checked);
|
||||
LazarusIDE.ActiveProject.Modified:=True;
|
||||
end;
|
||||
|
||||
SVNAddProjectFrm.Free;
|
||||
end;
|
||||
|
||||
@ -23,7 +23,7 @@ unit SVNClasses;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, ComCtrls, FileUtil, XMLCfg, LCLProc, Dialogs, Controls,
|
||||
Classes, SysUtils, ComCtrls, FileUtil, LCLProc, Dialogs, Controls,
|
||||
XMLRead, DOM, Process, StdCtrls, Forms;
|
||||
|
||||
resourcestring
|
||||
@ -70,40 +70,12 @@ resourcestring
|
||||
|
||||
const
|
||||
READ_BYTES = 2048;
|
||||
SVN_REPOSITORY = 'SVN repository';
|
||||
SVN_ACTIVE = 'SVN active';
|
||||
|
||||
type
|
||||
TSortDirection = (sdAscending, sdDescending);
|
||||
|
||||
{ TSVNSettings }
|
||||
|
||||
TSVNSettings = class(TObject)
|
||||
private
|
||||
{ private declarations }
|
||||
XML: TXMLConfig;
|
||||
function GetActive(Index: integer): boolean;
|
||||
function GetPath(Index: integer): string;
|
||||
function GetProjectCount: integer;
|
||||
function GetRepository(Index: integer): string;
|
||||
procedure SetActive(Index: integer; const AValue: boolean);
|
||||
procedure SetPath(Index: integer; const AValue: string);
|
||||
procedure SetProjectCount(const AValue: integer);
|
||||
procedure SetRepository(Index: integer; const AValue: string);
|
||||
public
|
||||
{ public declarations }
|
||||
constructor Create(const AFileName: string);
|
||||
destructor Destroy; override;
|
||||
|
||||
function RepositoryByPath(APath: string; var ARepo: string): boolean;
|
||||
procedure AddProject(APath, ARepo: string; AActive: boolean = False);
|
||||
procedure UpdateProject(APath, ARepo: string; AActive: boolean);
|
||||
procedure DeleteProjectByIndex(Index: integer);
|
||||
|
||||
property ProjectCount: integer read GetProjectCount write SetProjectCount;
|
||||
property Path[Index: integer]: string read GetPath write SetPath;
|
||||
property Repository[Index: integer]: string read GetRepository write SetRepository;
|
||||
property Active[Index: integer]: boolean read GetActive write SetActive;
|
||||
end;
|
||||
|
||||
TStatusItemName = (siChecked, siPath, siExtension, siPropStatus, siItemStatus,
|
||||
siRevision, siCommitRevision, siAuthor, siDate);
|
||||
|
||||
@ -140,9 +112,6 @@ type
|
||||
property SortItem: TStatusItemName read FSortItem write FSortItem;
|
||||
end;
|
||||
|
||||
var
|
||||
SVNSettings: TSVNSettings;
|
||||
|
||||
procedure CmdLineToMemo(CmdLine: string; Memo: TMemo);
|
||||
procedure SetColumn(ListView: TListView; ColNo, DefaultWidth: integer; AName: string; AutoSize: boolean = true);
|
||||
function SVNExecutable: string;
|
||||
@ -278,144 +247,6 @@ begin
|
||||
Result := EncodeDate(y,m,d) + EncodeTime(h,n,s,0);
|
||||
end;
|
||||
|
||||
{ TSVNSettings }
|
||||
|
||||
function TSVNSettings.GetActive(Index: integer): boolean;
|
||||
begin
|
||||
Result := XML.GetValue('projects/item' + IntToStr(Index) + '/active', False);
|
||||
end;
|
||||
|
||||
function TSVNSettings.GetPath(Index: integer): string;
|
||||
begin
|
||||
Result := XML.GetValue('projects/item' + IntToStr(Index) + '/path', '');
|
||||
end;
|
||||
|
||||
function TSVNSettings.GetProjectCount: integer;
|
||||
begin
|
||||
Result := XML.GetValue('projects/count', 0);
|
||||
end;
|
||||
|
||||
function TSVNSettings.GetRepository(Index: integer): string;
|
||||
begin
|
||||
Result := XML.GetValue('projects/item' + IntToStr(Index) + '/repository', '');
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.SetActive(Index: integer; const AValue: boolean);
|
||||
begin
|
||||
XML.SetValue('projects/item' + IntToStr(Index) + '/active', AValue);
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.SetPath(Index: integer; const AValue: string);
|
||||
begin
|
||||
XML.SetValue('projects/item' + IntToStr(Index) + '/path', AValue);
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.SetProjectCount(const AValue: integer);
|
||||
begin
|
||||
XML.SetValue('projects/count', AValue);
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.SetRepository(Index: integer; const AValue: string);
|
||||
begin
|
||||
XML.SetValue('projects/item' + IntToStr(Index) + '/repository', AValue);
|
||||
end;
|
||||
|
||||
constructor TSVNSettings.Create(const AFileName: string);
|
||||
begin
|
||||
XML := TXMLConfig.Create(nil);
|
||||
XML.Filename:=AFileName;
|
||||
end;
|
||||
|
||||
destructor TSVNSettings.Destroy;
|
||||
begin
|
||||
XML.Flush;
|
||||
XML.Free;
|
||||
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.AddProject(APath, ARepo: string; AActive: boolean);
|
||||
var
|
||||
count: integer;
|
||||
begin
|
||||
count := ProjectCount;
|
||||
Inc(Count);
|
||||
|
||||
ProjectCount := count;
|
||||
Path[Count - 1] := APath;
|
||||
Active[Count - 1] := AActive;
|
||||
Repository[Count - 1] := ARepo;
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.UpdateProject(APath, ARepo: string; AActive: boolean);
|
||||
var
|
||||
count: integer;
|
||||
i: integer;
|
||||
begin
|
||||
debugln('TSVNSettings.UpdateProject searching for project');
|
||||
count := ProjectCount;
|
||||
|
||||
for i := 0 to Count - 1 do
|
||||
if Path[i] = APath then
|
||||
begin
|
||||
Active[i] := AActive;
|
||||
Repository[i] := ARepo;
|
||||
exit;
|
||||
end;
|
||||
|
||||
//project not found, so add it as new
|
||||
debugln('TSVNSettings.UpdateProject project not found adding a new one');
|
||||
AddProject(APath, ARepo, AActive);
|
||||
end;
|
||||
|
||||
procedure TSVNSettings.DeleteProjectByIndex(Index: integer);
|
||||
var
|
||||
i: integer;
|
||||
count: integer;
|
||||
begin
|
||||
count := ProjectCount;
|
||||
ProjectCount := count - 1;
|
||||
for i := Index to count - 1 do
|
||||
begin
|
||||
Active[i] := Active[i + 1];
|
||||
Path[i] := Path[i + 1];
|
||||
Repository[i] := Repository[i + 1];
|
||||
end;
|
||||
|
||||
XML.DeletePath('projects/item' + IntToStr(count - 1) + '/active');
|
||||
XML.DeletePath('projects/item' + IntToStr(count - 1) + '/path');
|
||||
XML.DeletePath('projects/item' + IntToStr(count - 1) + '/repository');
|
||||
end;
|
||||
|
||||
function TSVNSettings.RepositoryByPath(APath: string; var ARepo: string
|
||||
): boolean;
|
||||
var
|
||||
count: integer;
|
||||
i: integer;
|
||||
begin
|
||||
debugln('TSVNSettingsFrm.GetRepository APath=' + APath);
|
||||
|
||||
count := ProjectCount;
|
||||
|
||||
for i := 0 to Count - 1 do
|
||||
if Path[i] = APath then
|
||||
begin
|
||||
Result := Active[i];
|
||||
ARepo := Repository[i];
|
||||
exit;
|
||||
end;
|
||||
|
||||
if QuestionDlg('Project not found',
|
||||
'Current project not in project list. Would you like to add it?',
|
||||
mtWarning,
|
||||
[mrYes, mrNo],
|
||||
0) = mrYes then
|
||||
begin
|
||||
ShowSVNAddProjectFrm(APath, ARepo, True);
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
function SortSelectedAscending(Item1, Item2: Pointer): Integer;
|
||||
begin
|
||||
if PSVNStatusItem(Item1)^.Checked > PSVNStatusItem(Item2)^.Checked then
|
||||
@ -724,12 +555,5 @@ begin
|
||||
Sort(ASortItem, sdAscending);
|
||||
end;
|
||||
|
||||
initialization
|
||||
//GetAppConfigDir(False) + 'lazsvnsettings.xml';
|
||||
SVNSettings := TSVNSettings.Create('lazsvnsettings.xml');
|
||||
|
||||
finalization
|
||||
SVNSettings.Free;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
@ -1,233 +0,0 @@
|
||||
object SVNSettingsFrm: TSVNSettingsFrm
|
||||
Left = 290
|
||||
Height = 369
|
||||
Top = 175
|
||||
Width = 639
|
||||
HelpContext = 0
|
||||
ActiveControl = ProjectsListView
|
||||
Align = alNone
|
||||
AllowDropFiles = False
|
||||
AutoScroll = True
|
||||
AutoSize = False
|
||||
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
|
||||
BorderStyle = bsSizeable
|
||||
Caption = 'SVNSettingsFrm'
|
||||
ChildSizing.LeftRightSpacing = 0
|
||||
ChildSizing.TopBottomSpacing = 0
|
||||
ChildSizing.HorizontalSpacing = 0
|
||||
ChildSizing.VerticalSpacing = 0
|
||||
ChildSizing.ControlsPerLine = 0
|
||||
ClientHeight = 369
|
||||
ClientWidth = 639
|
||||
DockSite = False
|
||||
DragKind = dkDrag
|
||||
DragMode = dmManual
|
||||
Enabled = True
|
||||
Font.Height = 0
|
||||
Font.Style = []
|
||||
FormStyle = fsNormal
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
ParentBiDiMode = True
|
||||
ParentFont = False
|
||||
Position = poDesigned
|
||||
ShowInTaskBar = stDefault
|
||||
UseDockManager = False
|
||||
LCLVersion = '0.9.27'
|
||||
WindowState = wsNormal
|
||||
object ButtonPanel: TButtonPanel
|
||||
Left = 6
|
||||
Height = 48
|
||||
Top = 321
|
||||
Width = 627
|
||||
HelpContext = 0
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
ButtonOrder = boDefault
|
||||
TabOrder = 0
|
||||
DefaultButton = pbOK
|
||||
ShowButtons = [pbOK]
|
||||
ShowGlyphs = [pbOK, pbCancel, pbClose, pbHelp]
|
||||
Visible = True
|
||||
object EditButton: TBitBtn
|
||||
Left = 78
|
||||
Height = 34
|
||||
Top = 8
|
||||
Width = 98
|
||||
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
|
||||
Cancel = False
|
||||
Caption = 'EditButton'
|
||||
Default = False
|
||||
Enabled = True
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001340
|
||||
58FF15425EFF25699CFF2C76B4FF3B8BBAADFFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001242
|
||||
59FF5D9CD4FFA6CFF5FFA9CFECFF488BC1FF2C76B4FFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001E6D
|
||||
93FFCBE3F9FF61AAECFF4098E8FF1567C2FF1660AAFF2C76B4FFFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001E6D
|
||||
93FFC8E1F2FFD1E7FAFF347DB5FF3199C3FF6DC4DCFF4A9CCFFF3483C7FFFFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002063
|
||||
98202689B9FFB0CBE1FF67A9C8FF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8F
|
||||
D9FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF002689B9FFBEE6F2FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4
|
||||
E6FF3B8FD9FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF002790BFFFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEE
|
||||
FAFF5DB4E6FF3B8FD9FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6
|
||||
F4FF8EEEFAFF5DB4E6FF3B8FD9FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002FBAE4FFC3EDF8FFB3F4FCFF60DC
|
||||
F5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FFFFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002FBAE4FFC3EDF8FFB3F4
|
||||
FCFF68D9F5FF6FCFF3FF599DD0FF73ABDDFF4F91C9FFFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002FBAE4FFC3ED
|
||||
F8FFA8E2F8FF6CAEDDFFA5CFF4FFA5CFF4FFBDDBF7FF5393CBF7FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002FBA
|
||||
E4FFA7D4F4FFC5E1F8FFCCE3F9FFCCE3F9FFBDDBF7FF4F90C9FDFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF0050A8D9FF6AA5D8FFC9E1F7FFCBE3F8FF4295CAFF3182C2AEFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF002FBAE4094FAADBEA5093CAFD4E90C8FF2F9DD2DF35A4DE19FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
Kind = bkCustom
|
||||
Layout = blGlyphLeft
|
||||
Margin = -1
|
||||
ModalResult = 0
|
||||
NumGlyphs = 0
|
||||
OnClick = EditButtonClick
|
||||
ParentFont = True
|
||||
ParentShowHint = True
|
||||
Spacing = 3
|
||||
TabOrder = 4
|
||||
TabStop = True
|
||||
Visible = True
|
||||
end
|
||||
object DeleteButton: TBitBtn
|
||||
Left = 182
|
||||
Height = 34
|
||||
Top = 8
|
||||
Width = 116
|
||||
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
|
||||
Cancel = False
|
||||
Caption = 'DeleteButton'
|
||||
Default = False
|
||||
Enabled = True
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000000000004900
|
||||
0000A81D6B00D071DD00BABDB600BABDB600BABDB600BABDB600BABDB600BABD
|
||||
B600BABDB600BABDB60000000000000000000000000000000000F2DECA008989
|
||||
89FF898989FFF2DECA00898989FF898989FFF2DECA00898989FF898989FFF2DF
|
||||
CC00898989FF898989FFF2DFCC00898989FF898989FFF2DFCC001313FFFF0809
|
||||
FFFF0303FFFFF0DCC700F0DCC700F0DCC700F0DCC700F0DCC700F1DDC800F1DD
|
||||
C800F1DDC800F1DDC800F1DDC8007A7BFFFF898989FFF1DDC8001413FFFF0809
|
||||
FFFF0302FFFF0D0EFFFFEFD9C400EFD9C400EFD9C400EFD9C400F0DAC500F0DA
|
||||
C500F0DAC500F0DAC5006F70FFFF7A7AFFFFF0DAC500F0DAC5001414FFFF0909
|
||||
FFFF0202FFFF0E0DFFFFEED7C000EED7C000EED7C000EED7C000EFD8C200EFD8
|
||||
C200EFD8C2006464FFFF6F70FFFF7B7BFFFF898989FFEFD8C200EDD5BD000909
|
||||
FFFF0202FFFF0D0DFFFF1818FFFFEDD5BD00EDD5BD00EDD5BD00EDD6BF00EDD6
|
||||
BF00EDD6BF006465FFFF6F6FFFFFEDD6BF00898989FFEDD6BF00ECD2BA008989
|
||||
89FF0202FFFF0D0DFFFF1817FFFF2223FFFFECD2BA00ECD2BA00ECD4BC00ECD4
|
||||
BC005A5AFFFF6464FFFF6F70FFFFECD4BC00ECD4BC00ECD4BC00EAD0B7008989
|
||||
89FFEAD0B7000D0DFFFF1817FFFF2223FFFF2E2EFFFFEAD0B700EBD1B8004E4F
|
||||
FFFF595AFFFF6464FFFFEBD1B800EBD1B800898989FFEBD1B800F3E0CD00F3E0
|
||||
CD00F3E0CD00F3E0CD001717FFFF2222FFFF2D2DFFFF3938FFFF4343FFFF4E4E
|
||||
FFFF5959FFFFEACFB500EACFB500EACFB500898989FFEACFB500F4E2D1008989
|
||||
89FFF4E2D100F4E2D100F4E2D1002222FFFF2D2EFFFF3838FFFF4343FFFF4E4D
|
||||
FFFFF3E1CF00F3E1CF00F3E1CF00F3E1CF00F3E1CF00F3E1CF00F5E5D4008989
|
||||
89FFF5E5D400F5E5D400F5E5D4002222FFFF2D2DFFFF3738FFFF4242FFFF4E4E
|
||||
FFFFF4E3D300F4E3D300F4E3D300F4E3D300898989FFF4E3D300F6E7D800F6E7
|
||||
D800F6E7D8000C0CFFFF1717FFFF2222FFFF2C2DFFFF3737FFFF4343FFFF4E4D
|
||||
FFFF5859FFFFF5E6D600F5E6D600F5E6D600898989FFF5E6D600F6E9DB000B0A
|
||||
FFFF0101FFFF0B0BFFFF1617FFFF2222FFFF2C2DFFFFF6E9DB00F6E8DA00F6E8
|
||||
DA005858FFFF6363FFFF6E6EFFFFF6E8DA00F6E8DA00F6E8DA001616FFFF0A0B
|
||||
FFFF0000FFFF0B0BFFFF1616FFFFF7EBDF00F7EBDF00F7EBDF00F7EADD00F7EA
|
||||
DD00F7EADD00F7EADD006E6EFFFF7979FFFF8384FFFF7878FFFF1615FFFF0A0A
|
||||
FFFF0000FFFFF8EEE200898989FF898989FFF8EEE200898989FF898989FFF8ED
|
||||
E100898989FF898989FFF8EDE100898989FF898989FFF8EDE100F9F0E600F9F0
|
||||
E600F9F0E600F9F0E600F9F0E600F9F0E600F9F0E600F9F0E600F9EFE400F9EF
|
||||
E400F9EFE400F9EFE400F9EFE400F9EFE400F9EFE400F9EFE400
|
||||
}
|
||||
Kind = bkCustom
|
||||
Layout = blGlyphLeft
|
||||
Margin = -1
|
||||
ModalResult = 0
|
||||
NumGlyphs = 0
|
||||
OnClick = DeleteButtonClick
|
||||
ParentFont = True
|
||||
ParentShowHint = True
|
||||
Spacing = 3
|
||||
TabOrder = 5
|
||||
TabStop = True
|
||||
Visible = True
|
||||
end
|
||||
end
|
||||
object ProjectsListView: TListView
|
||||
Left = 6
|
||||
Height = 309
|
||||
Top = 6
|
||||
Width = 627
|
||||
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
|
||||
BorderWidth = 0
|
||||
Checkboxes = True
|
||||
Columns = <
|
||||
item
|
||||
AutoSize = False
|
||||
end
|
||||
item
|
||||
AutoSize = False
|
||||
Width = 559
|
||||
end>
|
||||
ColumnClick = True
|
||||
DragCursor = crDrag
|
||||
DragMode = dmManual
|
||||
Enabled = True
|
||||
HideSelection = True
|
||||
MultiSelect = False
|
||||
ParentShowHint = True
|
||||
ReadOnly = False
|
||||
RowSelect = True
|
||||
ScrollBars = ssBoth
|
||||
ShowColumnHeaders = True
|
||||
SortColumn = 0
|
||||
SortType = stNone
|
||||
TabStop = True
|
||||
TabOrder = 1
|
||||
ToolTips = True
|
||||
Visible = True
|
||||
ViewStyle = vsReport
|
||||
OnChange = ProjectsListViewChange
|
||||
end
|
||||
end
|
||||
@ -1,150 +0,0 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TSVNSettingsFrm','FORMDATA',[
|
||||
'TPF0'#15'TSVNSettingsFrm'#14'SVNSettingsFrm'#4'Left'#3'"'#1#6'Height'#3'q'#1
|
||||
+#3'Top'#3#175#0#5'Width'#3''#2#11'HelpContext'#2#0#13'ActiveControl'#7#16'P'
|
||||
+'rojectsListView'#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'AutoScroll'#9
|
||||
+#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#10'biMaxim'
|
||||
+'ize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#14'SVNSettingsFrm'#28
|
||||
+'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29'C'
|
||||
+'hildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'Ch'
|
||||
+'ildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3'q'#1#11'ClientWidth'#3''
|
||||
+#2#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'
|
||||
+#9#11'Font.Height'#2#0#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'#8'OnCr'
|
||||
+'eate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#14'ParentBiDiMode'#9#10'Pare'
|
||||
+'ntFont'#8#8'Position'#7#10'poDesigned'#13'ShowInTaskBar'#7#9'stDefault'#14
|
||||
+'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11'WindowState'#7#8'wsNormal'#0
|
||||
+#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2'0'#3'Top'#3'A'#1#5
|
||||
+'Width'#3's'#2#11'HelpContext'#2#0#5'Align'#7#8'alBottom'#8'AutoSize'#9#11'B'
|
||||
+'uttonOrder'#7#9'boDefault'#8'TabOrder'#2#0#13'DefaultButton'#7#4'pbOK'#11'S'
|
||||
+'howButtons'#11#4'pbOK'#0#10'ShowGlyphs'#11#4'pbOK'#8'pbCancel'#7'pbClose'#6
|
||||
+'pbHelp'#0#7'Visible'#9#0#7'TBitBtn'#10'EditButton'#4'Left'#2'N'#6'Height'#2
|
||||
+'"'#3'Top'#2#8#5'Width'#2'b'#11'HelpContext'#2#0#5'Align'#7#6'alLeft'#8'Auto'
|
||||
+'Size'#9#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpaci'
|
||||
+'ng.Right'#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#6'!Bo'
|
||||
+'rderSpacing.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVer'
|
||||
+'tical'#7#7'ccaFill'#6'Cancel'#8#7'Caption'#6#10'EditButton'#7'Default'#8#7
|
||||
+'Enabled'#9#10'Glyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0
|
||||
+'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#19'@X'#255#21'B^'#255'%i'#156#255',v'#180#255';'#139
|
||||
+#186#173#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
|
||||
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#18'BY'#255']'#156#212#255#166#207#245#255#169#207#236#255'H'#139
|
||||
+#193#255',v'#180#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#30'm'#147#255#203#227#249#255'a'#170#236#255'@'#152#232#255#21'g'
|
||||
+#194#255#22'`'#170#255',v'#180#255#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#30'm'#147#255#200#225#242#255#209#231#250#255'4}'#181#255'1'#153
|
||||
+#195#255'm'#196#220#255'J'#156#207#255'4'#131#199#255#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0' c'#152' &'#137#185#255#176#203#225#255'g'#169#200#255'`'#220
|
||||
+#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#255#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0'&'#137#185#255#190#230#242#255#179
|
||||
+#244#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'
|
||||
+#143#217#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0''''#144#191
|
||||
+#255#195#237#248#255#179#244#252#255'`'#220#245#255'D'#214#244#255#142#238
|
||||
+#250#255']'#180#230#255';'#143#217#255#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0'/'#186#228#255#195#237#248#255#179#244#252#255'`'#220#245#255
|
||||
+'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#255#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#255#195#237#248#255#179#244
|
||||
+#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143
|
||||
+#217#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
|
||||
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#255#195
|
||||
+#237#248#255#179#244#252#255'h'#217#245#255'o'#207#243#255'Y'#157#208#255's'
|
||||
+#171#221#255'O'#145#201#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+'/'#186#228#255#195#237#248#255#168#226#248#255'l'#174#221#255#165#207#244
|
||||
+#255#165#207#244#255#189#219#247#255'S'#147#203#247#255#255#255#0#255#255#255
|
||||
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0'/'#186#228#255#167#212#244#255#197#225#248#255#204
|
||||
,#227#249#255#204#227#249#255#189#219#247#255'O'#144#201#253#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0'P'#168#217#255'j'#165#216
|
||||
+#255#201#225#247#255#203#227#248#255'B'#149#202#255'1'#130#194#174#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#9'O'#170
|
||||
+#219#234'P'#147#202#253'N'#144#200#255'/'#157#210#223'5'#164#222#25#255#255
|
||||
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
|
||||
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
|
||||
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#4'Kind'#7
|
||||
+#8'bkCustom'#6'Layout'#7#11'blGlyphLeft'#6'Margin'#2#255#11'ModalResult'#2#0
|
||||
+#9'NumGlyphs'#2#0#7'OnClick'#7#15'EditButtonClick'#10'ParentFont'#9#14'Paren'
|
||||
+'tShowHint'#9#7'Spacing'#2#3#8'TabOrder'#2#4#7'TabStop'#9#7'Visible'#9#0#0#7
|
||||
+'TBitBtn'#12'DeleteButton'#4'Left'#3#182#0#6'Height'#2'"'#3'Top'#2#8#5'Width'
|
||||
+#2't'#11'HelpContext'#2#0#5'Align'#7#6'alLeft'#8'AutoSize'#9#18'BorderSpacin'
|
||||
+'g.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'Border'
|
||||
+'Spacing.Bottom'#2#0#20'BorderSpacing.Around'#2#6'!BorderSpacing.CellAlignHo'
|
||||
+'rizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#6'C'
|
||||
+'ancel'#8#7'Caption'#6#12'DeleteButton'#7'Default'#8#7'Enabled'#9#10'Glyph.D'
|
||||
+'ata'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0
|
||||
+#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'I'#0
|
||||
+#0#0#168#29'k'#0#208'q'#221#0#186#189#182#0#186#189#182#0#186#189#182#0#186
|
||||
+#189#182#0#186#189#182#0#186#189#182#0#186#189#182#0#186#189#182#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#242#222#202#0#137#137#137#255#137#137#137#255#242#222
|
||||
+#202#0#137#137#137#255#137#137#137#255#242#222#202#0#137#137#137#255#137#137
|
||||
+#137#255#242#223#204#0#137#137#137#255#137#137#137#255#242#223#204#0#137#137
|
||||
+#137#255#137#137#137#255#242#223#204#0#19#19#255#255#8#9#255#255#3#3#255#255
|
||||
+#240#220#199#0#240#220#199#0#240#220#199#0#240#220#199#0#240#220#199#0#241
|
||||
+#221#200#0#241#221#200#0#241#221#200#0#241#221#200#0#241#221#200#0'z{'#255
|
||||
+#255#137#137#137#255#241#221#200#0#20#19#255#255#8#9#255#255#3#2#255#255#13
|
||||
+#14#255#255#239#217#196#0#239#217#196#0#239#217#196#0#239#217#196#0#240#218
|
||||
+#197#0#240#218#197#0#240#218#197#0#240#218#197#0'op'#255#255'zz'#255#255#240
|
||||
+#218#197#0#240#218#197#0#20#20#255#255#9#9#255#255#2#2#255#255#14#13#255#255
|
||||
+#238#215#192#0#238#215#192#0#238#215#192#0#238#215#192#0#239#216#194#0#239
|
||||
+#216#194#0#239#216#194#0'dd'#255#255'op'#255#255'{{'#255#255#137#137#137#255
|
||||
+#239#216#194#0#237#213#189#0#9#9#255#255#2#2#255#255#13#13#255#255#24#24#255
|
||||
+#255#237#213#189#0#237#213#189#0#237#213#189#0#237#214#191#0#237#214#191#0
|
||||
+#237#214#191#0'de'#255#255'oo'#255#255#237#214#191#0#137#137#137#255#237#214
|
||||
+#191#0#236#210#186#0#137#137#137#255#2#2#255#255#13#13#255#255#24#23#255#255
|
||||
+'"#'#255#255#236#210#186#0#236#210#186#0#236#212#188#0#236#212#188#0'ZZ'#255
|
||||
+#255'dd'#255#255'op'#255#255#236#212#188#0#236#212#188#0#236#212#188#0#234
|
||||
+#208#183#0#137#137#137#255#234#208#183#0#13#13#255#255#24#23#255#255'"#'#255
|
||||
+#255'..'#255#255#234#208#183#0#235#209#184#0'NO'#255#255'YZ'#255#255'dd'#255
|
||||
+#255#235#209#184#0#235#209#184#0#137#137#137#255#235#209#184#0#243#224#205#0
|
||||
+#243#224#205#0#243#224#205#0#243#224#205#0#23#23#255#255'""'#255#255'--'#255
|
||||
+#255'98'#255#255'CC'#255#255'NN'#255#255'YY'#255#255#234#207#181#0#234#207
|
||||
+#181#0#234#207#181#0#137#137#137#255#234#207#181#0#244#226#209#0#137#137#137
|
||||
+#255#244#226#209#0#244#226#209#0#244#226#209#0'""'#255#255'-.'#255#255'88'
|
||||
+#255#255'CC'#255#255'NM'#255#255#243#225#207#0#243#225#207#0#243#225#207#0
|
||||
+#243#225#207#0#243#225#207#0#243#225#207#0#245#229#212#0#137#137#137#255#245
|
||||
+#229#212#0#245#229#212#0#245#229#212#0'""'#255#255'--'#255#255'78'#255#255'B'
|
||||
+'B'#255#255'NN'#255#255#244#227#211#0#244#227#211#0#244#227#211#0#244#227#211
|
||||
+#0#137#137#137#255#244#227#211#0#246#231#216#0#246#231#216#0#246#231#216#0#12
|
||||
+#12#255#255#23#23#255#255'""'#255#255',-'#255#255'77'#255#255'CC'#255#255'NM'
|
||||
+#255#255'XY'#255#255#245#230#214#0#245#230#214#0#245#230#214#0#137#137#137
|
||||
+#255#245#230#214#0#246#233#219#0#11#10#255#255#1#1#255#255#11#11#255#255#22
|
||||
+#23#255#255'""'#255#255',-'#255#255#246#233#219#0#246#232#218#0#246#232#218#0
|
||||
+'XX'#255#255'cc'#255#255'nn'#255#255#246#232#218#0#246#232#218#0#246#232#218
|
||||
+#0#22#22#255#255#10#11#255#255#0#0#255#255#11#11#255#255#22#22#255#255#247
|
||||
+#235#223#0#247#235#223#0#247#235#223#0#247#234#221#0#247#234#221#0#247#234
|
||||
+#221#0#247#234#221#0'nn'#255#255'yy'#255#255#131#132#255#255'xx'#255#255#22
|
||||
+#21#255#255#10#10#255#255#0#0#255#255#248#238#226#0#137#137#137#255#137#137
|
||||
+#137#255#248#238#226#0#137#137#137#255#137#137#137#255#248#237#225#0#137#137
|
||||
+#137#255#137#137#137#255#248#237#225#0#137#137#137#255#137#137#137#255#248
|
||||
,#237#225#0#249#240#230#0#249#240#230#0#249#240#230#0#249#240#230#0#249#240
|
||||
+#230#0#249#240#230#0#249#240#230#0#249#240#230#0#249#239#228#0#249#239#228#0
|
||||
+#249#239#228#0#249#239#228#0#249#239#228#0#249#239#228#0#249#239#228#0#249
|
||||
+#239#228#0#4'Kind'#7#8'bkCustom'#6'Layout'#7#11'blGlyphLeft'#6'Margin'#2#255
|
||||
+#11'ModalResult'#2#0#9'NumGlyphs'#2#0#7'OnClick'#7#17'DeleteButtonClick'#10
|
||||
+'ParentFont'#9#14'ParentShowHint'#9#7'Spacing'#2#3#8'TabOrder'#2#5#7'TabStop'
|
||||
+#9#7'Visible'#9#0#0#0#9'TListView'#16'ProjectsListView'#4'Left'#2#6#6'Height'
|
||||
+#3'5'#1#3'Top'#2#6#5'Width'#3's'#2#11'HelpContext'#2#0#5'Align'#7#8'alClient'
|
||||
+#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'
|
||||
+#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#6'!BorderSpacin'
|
||||
+'g.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7
|
||||
+'ccaFill'#11'BorderWidth'#2#0#10'Checkboxes'#9#7'Columns'#14#1#8'AutoSize'#8
|
||||
+#0#1#8'AutoSize'#8#5'Width'#3'/'#2#0#0#11'ColumnClick'#9#10'DragCursor'#7#6
|
||||
+'crDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#13'HideSelection'#9#11'Multi'
|
||||
+'Select'#8#14'ParentShowHint'#9#8'ReadOnly'#8#9'RowSelect'#9#10'ScrollBars'#7
|
||||
+#6'ssBoth'#17'ShowColumnHeaders'#9#10'SortColumn'#2#0#8'SortType'#7#6'stNone'
|
||||
+#7'TabStop'#9#8'TabOrder'#2#1#8'ToolTips'#9#7'Visible'#9#9'ViewStyle'#7#8'vs'
|
||||
+'Report'#8'OnChange'#7#22'ProjectsListViewChange'#0#0#0
|
||||
]);
|
||||
@ -1,132 +0,0 @@
|
||||
{ Copyright (C) 2008 Darius Blaszijk
|
||||
|
||||
This source is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This code is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
details.
|
||||
|
||||
A copy of the GNU General Public License is available on the World Wide Web
|
||||
at <http://www.gnu.org/copyleft/gpl.html>. You can also obtain it by writing
|
||||
to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
}
|
||||
|
||||
unit SVNSettingsForm;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ButtonPanel, ComCtrls, SVNClasses, LCLProc, Buttons, SVNAddProjectForm;
|
||||
|
||||
type
|
||||
{ TSVNSettingsFrm }
|
||||
|
||||
TSVNSettingsFrm = class(TForm)
|
||||
DeleteButton: TBitBtn;
|
||||
EditButton: TBitBtn;
|
||||
ButtonPanel: TButtonPanel;
|
||||
ProjectsListView: TListView;
|
||||
procedure DeleteButtonClick(Sender: TObject);
|
||||
procedure EditButtonClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ProjectsListViewChange(Sender: TObject; Item: TListItem;
|
||||
Change: TItemChange);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
procedure UpdateProjectListView;
|
||||
end;
|
||||
|
||||
procedure ShowSVNSettingsFrm;
|
||||
|
||||
var
|
||||
SVNSettingsFrm: TSVNSettingsFrm;
|
||||
|
||||
implementation
|
||||
|
||||
procedure ShowSVNSettingsFrm;
|
||||
begin
|
||||
SVNSettingsFrm.ShowModal;
|
||||
end;
|
||||
|
||||
{ TSVNSettingsFrm }
|
||||
|
||||
procedure TSVNSettingsFrm.FormShow(Sender: TObject);
|
||||
begin
|
||||
UpdateProjectListView;
|
||||
end;
|
||||
|
||||
procedure TSVNSettingsFrm.ProjectsListViewChange(Sender: TObject;
|
||||
Item: TListItem; Change: TItemChange);
|
||||
begin
|
||||
SVNSettings.Active[Item.Index] := Item.Checked;
|
||||
end;
|
||||
|
||||
procedure TSVNSettingsFrm.UpdateProjectListView;
|
||||
var
|
||||
count: integer;
|
||||
i: integer;
|
||||
begin
|
||||
ProjectsListView.Clear;
|
||||
|
||||
count := SVNSettings.ProjectCount;
|
||||
|
||||
for i := 0 to Count - 1 do
|
||||
with ProjectsListView.Items.Add do
|
||||
begin
|
||||
Caption := SVNSettings.Path[i];
|
||||
Checked := SVNSettings.Active[i];
|
||||
SubItems.Add(SVNSettings.Repository[i]);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSVNSettingsFrm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
SetColumn(ProjectsListView, 0, 250, rsProjectName);
|
||||
SetColumn(ProjectsListView, 1, 250, rsRepositoryPath);
|
||||
|
||||
EditButton.Caption := rsEdit;
|
||||
DeleteButton.Caption := rsDelete;
|
||||
end;
|
||||
|
||||
procedure TSVNSettingsFrm.EditButtonClick(Sender: TObject);
|
||||
var
|
||||
AProject: string;
|
||||
ARepository: string;
|
||||
AChecked: boolean;
|
||||
begin
|
||||
if Assigned(ProjectsListView.Selected) then
|
||||
begin
|
||||
AProject:=ProjectsListView.Selected.Caption;
|
||||
ARepository:=ProjectsListView.Selected.SubItems[0];
|
||||
AChecked:=ProjectsListView.Selected.Checked;
|
||||
|
||||
if ShowSVNAddProjectFrm(AProject, ARepository, AChecked) = mrOK then
|
||||
UpdateProjectListView;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSVNSettingsFrm.DeleteButtonClick(Sender: TObject);
|
||||
begin
|
||||
if Assigned(ProjectsListView.Selected) then
|
||||
begin
|
||||
SVNSettings.DeleteProjectByIndex(ProjectsListView.Selected.Index);
|
||||
UpdateProjectListView;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I svnsettingsform.lrs}
|
||||
|
||||
end.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user