📄 tpreferencesfrmunit.pas
字号:
(* $Id: TPreferencesFrmunit.pas,v 1.5 2002/12/27 16:22:43 turbo Exp $
*
* Form for setting the preferences for this plugin
*
* Copyright 2001 by Thomas Bleier
* For license details see LICENSE.txt
*)
unit TPreferencesFrmunit;
{$I BORCVS.inc}
interface
//---------------------------------------------------------------------------
uses Classes,
Controls,
StdCtrls,
Forms,
ExtCtrls,
Dialogs,
TRunCvsFrmunit;
//---------------------------------------------------------------------------
//class TRunCvsFrm;
type
TPreferencesFrm = class(TForm)
PCvsBinaryGrp: TGroupBox;
PBinary: TEdit;
PGlobalOptionsGrp: TGroupBox;
PIgnoreCvsrc: TCheckBox;
PNoChange: TCheckBox;
PBinaryBtn: TButton;
POkBtn: TButton;
PCancelBtn: TButton;
PPruneDir: TCheckBox;
PBinaryDlg: TOpenDialog;
GroupBox1: TGroupBox;
PAutoSaveAll: TCheckBox;
PNtCvs: TCheckBox;
PLogFile: TEdit;
PLogFileBtn: TButton;
Label1: TLabel;
PLogFileDlg: TSaveDialog;
procedure POkBtnClick(Sender: TObject);
procedure PBinaryBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure PLogFileBtnClick(Sender: TObject);
private
function GetAutoSaveAll: boolean;
function GetDemoMode: boolean;
protected
procedure LoadSettings;
public // Anwender-Deklarationen
constructor create(Owner: TComponent); override;
destructor destroy; override;
procedure ApplyPreferences(runcvsfrm: TRunCvsFrm);
function IsNtCvs: boolean;
property AutoSaveAll: boolean read GetAutoSaveAll;
property DemoMode: boolean read GetDemoMode;
procedure AddToLog(const s: string);
end;
//---------------------------------------------------------------------------
var
PreferencesFrm: TPreferencesFrm;
//---------------------------------------------------------------------------
implementation
uses
SysUtils,
SettingsStorage;
//---------------------------------------------------------------------------
{$R *.dfm}
//TPreferencesFrm * PreferencesFrm := NULL;
// autotectect if CVS is NT CVS
//---------------------------------------------------------------------------
constructor TPreferencesFrm.create(Owner: TComponent);
begin
inherited create(owner);
LoadSettings;
end;
//---------------------------------------------------------------------------
destructor TPreferencesFrm.destroy;
begin
inherited Destroy;
end;
//---------------------------------------------------------------------------
procedure TPreferencesFrm.POkBtnClick(Sender: TObject);
begin
BEGIN_SAVE_SETTINGS('Preferences');
SAVE_STRING_SETTING('CvsBinary', PBinary.Text);
SAVE_BOOL_SETTING('NoChange', PNoChange.Checked);
SAVE_BOOL_SETTING('IgnoreCvsrc', PIgnoreCvsrc.Checked);
SAVE_BOOL_SETTING('PruneDir', PPruneDir.Checked);
SAVE_BOOL_SETTING('AutoSaveAll', PAutoSaveAll.Checked);
SAVE_BOOL_SETTING('NtCvs', PNtCvs.Checked);
SAVE_STRING_SETTING('LogFile', PLogFile.Text);
END_SAVE_SETTINGS;
ModalResult := mrOk;
end;
//---------------------------------------------------------------------------
procedure TPreferencesFrm.PBinaryBtnClick(Sender: TObject);
begin
PBinaryDlg.FileName := PBinary.Text;
PBinaryDlg.InitialDir := ExtractFilePath(PBinary.Text);
if (PBinaryDlg.Execute) then
begin
PBinary.Text := PBinaryDlg.FileName;
end
end;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
procedure TPreferencesFrm.PLogFileBtnClick(Sender: TObject);
begin
PLogFileDlg.FileName := PLogFile.Text;
PLogFileDlg.InitialDir := ExtractFilePath(PLogFile.Text);
if (PLogFileDlg.Execute) then
begin
PLogFile.Text := PLogFileDlg.FileName;
end
end;
procedure TPreferencesFrm.ApplyPreferences(runcvsfrm: TRunCvsFrm);
var
cmd: string;
begin
if (PNoChange.Checked) then
runcvsfrm.GlobalOptions.Add(' - n');
if (PIgnoreCvsrc.Checked) then
runcvsfrm.GlobalOptions.Add(' - f');
if (PPruneDir.Checked) then
begin
cmd := runcvsfrm.Command;
if (cmd = CVSCMD_CHECKOUT) or (cmd = CVSCMD_UPDATE) then
begin
runcvsfrm.CommandOptions.Add(' - P');
end;
end;
runcvsfrm.CvsBinary := PBinary.Text;
end;
//---------------------------------------------------------------------------
function TPreferencesFrm.GetAutoSaveAll: boolean;
begin
result := PAutoSaveAll.Checked;
end;
//---------------------------------------------------------------------------
function TPreferencesFrm.GetDemoMode: boolean;
begin
;
result := PNoChange.Checked;
end;
//---------------------------------------------------------------------------
function TPreferencesFrm.IsNtCvs: boolean;
begin
result := PNtCvs.Checked;
end;
//---------------------------------------------------------------------------
procedure TPreferencesFrm.LoadSettings;
begin
try
BEGIN_LOAD_SETTINGS('Preferences');
PBinary.Text := LOAD_STRING_SETTING('CvsBinary', 'cvs.exe');
PNoChange.Checked := LOAD_BOOL_SETTING('NoChange', false);
PIgnoreCvsrc.Checked := LOAD_BOOL_SETTING('IgnoreCvsrc', false);
PPruneDir.Checked := LOAD_BOOL_SETTING('PruneDir', true);
PAutoSaveAll.Checked := LOAD_BOOL_SETTING('AutoSaveAll', true);
PNtCvs.Checked := LOAD_BOOL_SETTING('NtCvs', false);
PLogFile.Text := LOAD_STRING_SETTING('LogFile', '');
END_LOAD_SETTINGS;
except
end;
end;
//---------------------------------------------------------------------------
procedure TPreferencesFrm.FormShow(Sender: TObject);
begin
LoadSettings;
end;
procedure TPreferencesFrm.AddToLog(const s: string);
var
Log: TFileStream;
begin
if PLogFile.Text <> '' then
begin
Log := TFileStream.create(PLogFile.Text, fmCreate);
Log.Seek(0, soFromEnd);
Log.Write(s[1], length(s));
Log.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -