📄 tstickyoptionsframeunit.pas
字号:
(* $Id: TStickyOptionsFrameunit.pas,v 1.3 2002/12/27 16:22:43 turbo Exp $
*
* Frame for setting sticky options for a CVS command
*
* Copyright 2001 by Thomas Bleier
* For license details see LICENSE.txt
*)
unit TStickyOptionsFrameunit;
{$I BORCVS.inc}
interface
//---------------------------------------------------------------------------
uses
Classes,
Controls,
StdCtrls,
Forms,
Registry,
TRunCvsFrmunit;
//---------------------------------------------------------------------------
type
TStickyOptionsFrame = class(TFrame)
POptionsGroup: TGroupBox;
PDateCheck: TCheckBox;
PRevisionCheck: TCheckBox;
PTagCheck: TCheckBox;
PRecentCheck: TCheckBox;
PDateEdit: TComboBox;
PRevisionEdit: TComboBox;
PTagEdit: TComboBox;
procedure PDateCheckClick(Sender: TObject);
procedure PRevisionCheckClick(Sender: TObject);
procedure PTagCheckClick(Sender: TObject);
procedure UpdateState(Sender: TObject);
private // Anwender-Deklarationen
public // Anwender-Deklarationen
constructor create(Owner: TComponent); override;
procedure ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = '');
function IsValid: boolean;
procedure Reset;
procedure LoadSettings(registry: TRegistry); virtual;
procedure SaveSettings(registry: TRegistry); virtual;
end;
//---------------------------------------------------------------------------
implementation
uses
sysutils,
SettingsStorage,
Utilityunit;
//---------------------------------------------------------------------------
{$R *.dfm}
//---------------------------------------------------------------------------
constructor TStickyOptionsFrame.create(Owner: TComponent);
begin
inherited create(owner);
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.PDateCheckClick(Sender: TObject);
begin
PDateEdit.Enabled := PDateCheck.Checked;
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.PRevisionCheckClick(Sender: TObject);
begin
PRevisionEdit.Enabled := PRevisionCheck.Checked;
if (PRevisionEdit.Enabled and PTagEdit.Enabled) then
begin
PTagCheck.Checked := false;
PTagCheckClick(self);
end;
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.PTagCheckClick(Sender: TObject);
begin
PTagEdit.Enabled := PTagCheck.Checked;
if (PRevisionEdit.Enabled and PTagEdit.Enabled) then
begin
PRevisionCheck.Checked := false;
PRevisionCheckClick(self);
end;
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.UpdateState(Sender: TObject);
begin
PDateCheckClick(self);
PRevisionCheckClick(self);
PTagCheckClick(self);
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = '');
begin
if (PDateCheck.Checked) then
runcvs.CommandOptions.Add('-D ' + GetOptQuotedString(PDateEdit.Text));
if (PRevisionCheck.Checked) then
runcvs.CommandOptions.Add('-r ' + GetOptQuotedString(PRevisionEdit.Text));
if (PTagCheck.Checked) then
runcvs.CommandOptions.Add('-r ' + GetOptQuotedString(PTagEdit.Text));
end;
//---------------------------------------------------------------------------
function TStickyOptionsFrame.IsValid: boolean;
begin
result := true;
if (PDateCheck.Checked) then
begin
if (Trim(PDateEdit.Text) = '') then
begin
result := false;
end;
end;
if (PRevisionCheck.Checked) then
begin
if (Trim(PRevisionEdit.Text) = '') then
begin
result := false;
end;
end;
if (PTagCheck.Checked) then
begin
if (Trim(PTagEdit.Text) = '') then
begin
result := false;
end;
end;
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.Reset;
begin
PDateCheck.Checked := false;
PRevisionCheck.Checked := false;
PTagCheck.Checked := false;
PRecentCheck.Checked := false;
UpdateState(self);
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.LoadSettings(registry: TRegistry);
begin
// LOAD_COMBOLIST_SETTING('StickyDate', PDateEdit, '')
// LOAD_COMBOLIST_SETTING('StickyRevision', PRevisionEdit, '')
// LOAD_COMBOLIST_SETTING('StickyTag', PTagEdit, '')
end;
//---------------------------------------------------------------------------
procedure TStickyOptionsFrame.SaveSettings(registry: TRegistry);
begin
// ADD_COMBO_MRU_ENTRY_MAX(PDateEdit, DEFAULT_MRU_ENTRIES)
// ADD_COMBO_MRU_ENTRY_MAX(PRevisionEdit, DEFAULT_MRU_ENTRIES)
// ADD_COMBO_MRU_ENTRY_MAX(PTagEdit, DEFAULT_MRU_ENTRIES)
// SAVE_COMBOLIST_SETTING('StickyDate', PDateEdit)
// SAVE_COMBOLIST_SETTING('StickyRevision', PRevisionEdit)
// SAVE_COMBOLIST_SETTING('StickyTag', PTagEdit)
end;
//---------------------------------------------------------------------------
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -