⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tstickyoptionsframeunit.pas

📁 CVS IDE plugin for Borland Delphi this is a good program,i like this kind of practise
💻 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 + -