Ignore:
Timestamp:
Jul 7, 2010, 4:51:54 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrading to version 27

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/fAlertForward.pas

    r456 r830  
    44
    55uses Windows, Messages, SysUtils, Classes, Graphics, Forms, Controls,
    6   Dialogs, StdCtrls, Buttons, ORCtrls, ORfn, ExtCtrls, fAutoSz, ComCtrls;
     6  Dialogs, StdCtrls, Buttons, ORCtrls, ORfn, ExtCtrls, fAutoSz, ComCtrls, fBase508Form,
     7  VA508AccessibilityManager;
    78
    89type
    9   TfrmAlertForward = class(TForm)
     10  TfrmAlertForward = class(TfrmBase508Form)
    1011    cmdOK: TButton;
    1112    cmdCancel: TButton;
     
    1819    Label1: TLabel;
    1920    memComment: TMemo;
     21    btnAddAlert: TButton;
     22    btnRemoveAlertFwrd: TButton;
     23    btnRemoveAllAlertFwrd: TButton;
     24    procedure btnRemoveAlertFwrdClick(Sender: TObject);
     25    procedure btnAddAlertClick(Sender: TObject);
    2026    procedure cboSrcListNeedData(Sender: TObject; const StartFrom: String;
    2127      Direction, InsertAt: Integer);
     
    2329    procedure cmdCancelClick(Sender: TObject);
    2430    procedure cboSrcListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    25     procedure DstListClick(Sender: TObject);
    2631    procedure cboSrcListMouseClick(Sender: TObject);
    2732    procedure FormCreate(Sender: TObject);
    28     procedure DstListKeyDown(Sender: TObject; var Key: Word;
    29       Shift: TShiftState);
    30 end;
     33    procedure cboSrcListChange(Sender: TObject);
     34    procedure DstListChange(Sender: TObject);
     35    procedure btnRemoveAllAlertFwrdClick(Sender: TObject);
     36  private
     37    RemovingAll: boolean;
     38  end;
    3139
    3240function ForwardAlertTo(Alert: String): Boolean;
     41
    3342
    3443implementation
     
    3645{$R *.DFM}
    3746
    38 uses rCore, uCore;
     47uses rCore, uCore, VA508AccessibilityRouter;
     48
     49const
     50    TX_DUP_RECIP = 'You have already selected that recipient.';
     51    TX_RECIP_CAP = 'Error adding recipient';
    3952
    4053var  XQAID: string;
     
    6275begin
    6376  inherited;
    64   cboSrcList.InitLongList('');
     77  if ScreenReaderSystemActive then
     78    memAlert.TabStop := TRUE;
     79  cboSrcList.InitLongList(''); 
    6580end;
    6681
     
    8196  Recip: string;
    8297begin
    83   if DstList.Items.Count = 0 then Exit;
     98
    8499  for i := 0 to DstList.Items.Count-1 do
    85100  begin
     
    91106end;
    92107
    93 procedure TfrmAlertForward.DstListClick(Sender: TObject);
     108procedure TfrmAlertForward.DstListChange(Sender: TObject);
     109var
     110  HasFocus: boolean;
    94111begin
    95   if DstList.ItemIndex = -1 then Exit;
    96   DstList.Items.Delete(DstList.ItemIndex);
     112  inherited;
     113  if DstList.SelCount = 1 then
     114    if Piece(DstList.Items[0], '^', 1) = '' then
     115    begin
     116      btnRemoveAlertFwrd.Enabled := false;
     117      btnRemoveAllAlertFwrd.Enabled := false;
     118      exit;
     119    end;
     120  HasFocus := btnRemoveAlertFwrd.Focused;
     121  if Not HasFocus then
     122    HasFocus := btnRemoveAllAlertFwrd.Focused;
     123  btnRemoveAlertFwrd.Enabled := DstList.SelCount > 0;
     124  btnRemoveAllAlertFwrd.Enabled := DstList.Items.Count > 0;
     125  if HasFocus and (DstList.SelCount = 0) then
     126    btnAddAlert.SetFocus;
     127end;
     128
     129procedure TfrmAlertForward.btnAddAlertClick(Sender: TObject);
     130begin
     131  inherited;
     132  cboSrcListMouseClick(btnAddAlert);
     133end;
     134
     135procedure TfrmAlertForward.btnRemoveAlertFwrdClick(Sender: TObject);
     136var
     137  i: integer;
     138begin
     139  with DstList do
     140    begin
     141      if ItemIndex = -1 then exit ;
     142      for i := Items.Count-1 downto 0 do
     143        if Selected[i] then
     144        begin
     145          if ScreenReaderSystemActive and (not RemovingAll) then
     146            GetScreenReader.Speak(Piece(DstList.Items[i],U,2) +
     147            ' Removed from ' + DstLabel.Caption);
     148          Items.Delete(i) ;
     149        end;
     150    end;
     151end;
     152
     153procedure TfrmAlertForward.btnRemoveAllAlertFwrdClick(Sender: TObject);
     154begin
     155  inherited;
     156  DstList.SelectAll;
     157  RemovingAll := TRUE;
     158  try
     159    btnRemoveAlertFwrdClick(self);
     160    if ScreenReaderSystemActive then
     161      GetScreenReader.Speak(DstLabel.Caption + ' Cleared');
     162  finally
     163    RemovingAll := FALSE;
     164  end;
     165end;
     166
     167procedure TfrmAlertForward.cboSrcListChange(Sender: TObject);
     168begin
     169  inherited;
     170  btnAddAlert.Enabled := CboSrcList.ItemIndex > -1;
    97171end;
    98172
     
    100174  Shift: TShiftState);
    101175begin
    102   if Key = VK_SPACE then cboSrcListMouseClick(Self);
     176  if Key = VK_RETURN then
     177  begin
     178     cboSrcListMouseClick(Self);
     179  end;
    103180end;
    104181
    105182procedure TfrmAlertForward.cboSrcListMouseClick(Sender: TObject);
    106183begin
    107   if cboSrcList.ItemIndex = -1 then Exit;
    108   if DstList.SelectByID(cboSrcList.ItemID) = -1 then
    109     DstList.Items.Add(cboSrcList.Items[cboSrcList.Itemindex]);
    110 end;
    111 
    112 procedure TfrmAlertForward.DstListKeyDown(Sender: TObject; var Key: Word;
    113   Shift: TShiftState);
    114 begin
    115   if Key = VK_SPACE then DstListClick(Self);
     184  if cboSrcList.ItemIndex = -1 then exit;
     185  if (DstList.SelectByID(cboSrcList.ItemID) <> -1) then
     186    begin
     187      InfoBox(TX_DUP_RECIP, TX_RECIP_CAP, MB_OK or MB_ICONWARNING);
     188      Exit;
     189    end;
     190  DstList.Items.Add(cboSrcList.Items[cboSrcList.Itemindex]);
     191  if ScreenReaderSystemActive then
     192    GetScreenReader.Speak(Piece(cboSrcList.Items[cboSrcList.Itemindex],U,2) +
     193      ' Added to ' + DstLabel.Caption);
     194  btnRemoveAlertFwrd.Enabled := DstList.SelCount > 0;
     195  btnRemoveAllAlertFwrd.Enabled := DstList.Items.Count > 0;
    116196end;
    117197
Note: See TracChangeset for help on using the changeset viewer.