📄 tcheckoutfrmunit.pas
字号:
(* $Id: TCheckoutFrmunit.pas,v 1.3 2002/12/27 16:22:43 turbo Exp $
*
* Form for checking out a module (cvs checkout)
*
* Copyright 2001 by Thomas Bleier
* For license details see LICENSE.txt
*)
unit TCheckoutFrmunit;
{$I BORCVS.inc}
interface
//---------------------------------------------------------------------------
uses
Classes,
Controls,
StdCtrls,
Forms,
ComCtrls,
TCvsBaseFrmunit,
TStickyOptionsFrameunit,
TRunCvsFrmunit,
TCvsrootFrameunit;
//---------------------------------------------------------------------------
type
TCheckoutFrm = class(TCvsBaseFrm)
PPageControl: TPageControl;
PModuleTab: TTabSheet;
POptionsTab: TTabSheet;
Label1: TLabel;
Label2: TLabel;
PWorkdirBtn: TButton;
PModule: TComboBox;
PWorkdir: TComboBox;
PCvsrootFrame: TCvsrootFrame;
PStickyOptionsFrame: TStickyOptionsFrame;
procedure FormShow(Sender: TObject);
procedure PWorkdirBtnClick(Sender: TObject);
procedure POkBtnClick(Sender: TObject);
private // Anwender-Deklarationen
protected
procedure GetDirectories(Dirs: TStrings); override;
procedure ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = ''); override;
public // Anwender-Deklarationen
constructor create(Owner: TComponent); override;
end;
//---------------------------------------------------------------------------
var
CheckoutFrm: TCheckoutFrm;
//---------------------------------------------------------------------------
implementation
uses
FileCtrl,
dialogs,
sysutils,
SettingsStorage;
{$R *.dfm}
constructor TCheckoutFrm.create(Owner: TComponent);
begin
inherited create(owner);
end;
//---------------------------------------------------------------------------
procedure TCheckoutFrm.FormShow(Sender: TObject);
begin
PPageControl.ActivePage := PModuleTab;
ActiveControl := PModule;
// load settings
try
BEGIN_LOAD_SETTINGS('Checkout');
LOAD_STRINGS_SETTING('ModuleName', PModule.Items, '');
LOAD_COMBOLIST_SETTING('WorkDir', PWorkdir, '');
PStickyOptionsFrame.LoadSettings(reg);
END_LOAD_SETTINGS;
except
end;
PCvsrootFrame.LoadSettings;
end;
//---------------------------------------------------------------------------
procedure TCheckoutFrm.PWorkdirBtnClick(Sender: TObject);
var
dir: string;
begin
dir := PWorkdir.Text;
if (SelectDirectory('Select checkout folder', '', dir)) then
begin
PWorkdir.Text := dir;
end;
end;
//---------------------------------------------------------------------------
procedure TCheckoutFrm.POkBtnClick(Sender: TObject);
begin
if (PModule.Text = '') then
begin
ShowMessage('You have to enter a module name!');
PPageControl.ActivePage := PModuleTab;
ActiveControl := PModule;
exit;
end;
if (PWorkdir.Text = '') then
begin
ShowMessage('You have to enter a local folder for checkout!');
PPageControl.ActivePage := PModuleTab;
ActiveControl := PWorkdir;
exit;
end;
if (not DirectoryExists(PWorkdir.Text)) then
begin
ShowMessage('The specified local folder does not exist!');
PPageControl.ActivePage := PModuleTab;
ActiveControl := PWorkdir;
exit;
end;
if (not PCvsrootFrame.IsValid) then
begin
ShowMessage('You have to enter the CVSROOT!');
PPageControl.ActivePage := PModuleTab;
ActiveControl := PCvsrootFrame;
exit;
end;
if (not PStickyOptionsFrame.IsValid) then
begin
ShowMessage('You have to set the sticky options correctly!');
PPageControl.ActivePage := POptionsTab;
ActiveControl := PStickyOptionsFrame;
exit;
end;
// handle MRU lists
ADD_COMBO_MRU_ENTRY_MAX(PModule, DEFAULT_MRU_ENTRIES);
ADD_COMBO_MRU_ENTRY_MAX(PWorkdir, DEFAULT_MRU_ENTRIES);
// // save settings
BEGIN_SAVE_SETTINGS('Checkout');
SAVE_STRINGS_SETTING('ModuleName', PModule.Items);
SAVE_COMBOLIST_SETTING('WorkDir', PWorkdir);
PStickyOptionsFrame.SaveSettings(reg);
END_SAVE_SETTINGS;
PCvsrootFrame.SaveSettings;
ModalResult := mrOk;
end;
//---------------------------------------------------------------------------
procedure TCheckoutFrm.ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = '');
begin
runcvs.Command := CVSCMD_CHECKOUT;
runcvs.Arguments.Add(PModule.Text);
runcvs.WorkingDirectory := PWorkdir.Text;
PCvsrootFrame.ApplyParameters(runcvs);
PStickyOptionsFrame.ApplyParameters(runcvs);
end;
//---------------------------------------------------------------------------
procedure TCheckoutFrm.GetDirectories(Dirs: TStrings);
begin
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -