summaryrefslogtreecommitdiff
path: root/UMain.pas
diff options
context:
space:
mode:
Diffstat (limited to 'UMain.pas')
-rw-r--r--UMain.pas31
1 files changed, 22 insertions, 9 deletions
diff --git a/UMain.pas b/UMain.pas
index f548a6d..f1181d1 100644
--- a/UMain.pas
+++ b/UMain.pas
@@ -1461,24 +1461,33 @@ begin
else ActivateCommandLine(Key);
end; }
GDK_Down : begin
- KeyHandled := True;
+ KeyHandled := False;
if [ssCtrl] = Shift then begin
Accept := False;
CommandLineCombo.Entry.SetFocus;
CommandLineCombo.Entry.SelectAll;
+ KeyHandled := True;
end else begin
if QuickFind and (Shift = []) then begin
- QuickFindSendKey(LeftPanel, Key);
- Accept := False;
- end else if Assigned(AListView.Selected) and (AListView.ConvertToSorted(AListView.Selected.Index) = AListView.Items.Count - 1) then Accept := False;
+ KeyHandled := QuickFindSendKey(LeftPanel, Key);
+ Accept := not KeyHandled;
+ end;
+ if not KeyHandled then begin
+ KeyHandled := True;
+ if Assigned(AListView.Selected) and (AListView.ConvertToSorted(AListView.Selected.Index) = AListView.Items.Count - 1) then Accept := False;
+ end;
end;
end;
GDK_Up : begin
- KeyHandled := True;
+ KeyHandled := False;
if QuickFind and (Shift = []) then begin
- QuickFindSendKey(LeftPanel, Key);
- Accept := False;
- end else if Assigned(AListView.Selected) and (AListView.ConvertToSorted(AListView.Selected.Index) = 0) then Accept := False;
+ KeyHandled := QuickFindSendKey(LeftPanel, Key);
+ Accept := not KeyHandled;
+ end;
+ if not KeyHandled then begin
+ KeyHandled := True;
+ if Assigned(AListView.Selected) and (AListView.ConvertToSorted(AListView.Selected.Index) = 0) then Accept := False;
+ end;
end;
GDK_Page_Up, GDK_Page_Down: begin
KeyHandled := True;
@@ -2910,7 +2919,11 @@ begin
NewText := Entry.Text;
end else
if (Key = GDK_Down) or (Key = GDK_Up) then begin
- NewText := Entry.Text;
+ if Length(Entry.Text) = 0 then begin
+ DeactivateQuickFind(LeftPanel);
+ Result := False;
+ Exit;
+ end else NewText := Entry.Text;
end else begin
s := UTF8Encode(WideChar(KeyValToUnicode(Key)));
if (Length(s) = 0) or (s = #0) then Exit;