Changeset 830 for cprs/trunk/CPRS-Chart/fAlertForward.pas
- Timestamp:
- Jul 7, 2010, 4:51:54 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/fAlertForward.pas
r456 r830 4 4 5 5 uses 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; 7 8 8 9 type 9 TfrmAlertForward = class(T Form)10 TfrmAlertForward = class(TfrmBase508Form) 10 11 cmdOK: TButton; 11 12 cmdCancel: TButton; … … 18 19 Label1: TLabel; 19 20 memComment: TMemo; 21 btnAddAlert: TButton; 22 btnRemoveAlertFwrd: TButton; 23 btnRemoveAllAlertFwrd: TButton; 24 procedure btnRemoveAlertFwrdClick(Sender: TObject); 25 procedure btnAddAlertClick(Sender: TObject); 20 26 procedure cboSrcListNeedData(Sender: TObject; const StartFrom: String; 21 27 Direction, InsertAt: Integer); … … 23 29 procedure cmdCancelClick(Sender: TObject); 24 30 procedure cboSrcListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 25 procedure DstListClick(Sender: TObject);26 31 procedure cboSrcListMouseClick(Sender: TObject); 27 32 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; 31 39 32 40 function ForwardAlertTo(Alert: String): Boolean; 41 33 42 34 43 implementation … … 36 45 {$R *.DFM} 37 46 38 uses rCore, uCore; 47 uses rCore, uCore, VA508AccessibilityRouter; 48 49 const 50 TX_DUP_RECIP = 'You have already selected that recipient.'; 51 TX_RECIP_CAP = 'Error adding recipient'; 39 52 40 53 var XQAID: string; … … 62 75 begin 63 76 inherited; 64 cboSrcList.InitLongList(''); 77 if ScreenReaderSystemActive then 78 memAlert.TabStop := TRUE; 79 cboSrcList.InitLongList(''); 65 80 end; 66 81 … … 81 96 Recip: string; 82 97 begin 83 if DstList.Items.Count = 0 then Exit; 98 84 99 for i := 0 to DstList.Items.Count-1 do 85 100 begin … … 91 106 end; 92 107 93 procedure TfrmAlertForward.DstListClick(Sender: TObject); 108 procedure TfrmAlertForward.DstListChange(Sender: TObject); 109 var 110 HasFocus: boolean; 94 111 begin 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; 127 end; 128 129 procedure TfrmAlertForward.btnAddAlertClick(Sender: TObject); 130 begin 131 inherited; 132 cboSrcListMouseClick(btnAddAlert); 133 end; 134 135 procedure TfrmAlertForward.btnRemoveAlertFwrdClick(Sender: TObject); 136 var 137 i: integer; 138 begin 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; 151 end; 152 153 procedure TfrmAlertForward.btnRemoveAllAlertFwrdClick(Sender: TObject); 154 begin 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; 165 end; 166 167 procedure TfrmAlertForward.cboSrcListChange(Sender: TObject); 168 begin 169 inherited; 170 btnAddAlert.Enabled := CboSrcList.ItemIndex > -1; 97 171 end; 98 172 … … 100 174 Shift: TShiftState); 101 175 begin 102 if Key = VK_SPACE then cboSrcListMouseClick(Self); 176 if Key = VK_RETURN then 177 begin 178 cboSrcListMouseClick(Self); 179 end; 103 180 end; 104 181 105 182 procedure TfrmAlertForward.cboSrcListMouseClick(Sender: TObject); 106 183 begin 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; 116 196 end; 117 197
Note:
See TracChangeset
for help on using the changeset viewer.