mini expl, add supoort for movind splitter with mouse whell, close #343

This commit is contained in:
Basile Burg 2018-07-11 13:00:56 +02:00
parent dac5f31ecf
commit 7658621a93
2 changed files with 22 additions and 1 deletions

View File

@ -46,6 +46,7 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget
Top = 131 Top = 131
Width = 527 Width = 527
Align = alTop Align = alTop
OnMouseWheel = Splitter2MouseWheel
ResizeAnchor = akTop ResizeAnchor = akTop
end end
object Panel2: TPanel[2] object Panel2: TPanel[2]
@ -66,6 +67,7 @@ inherited CEMiniExplorerWidget: TCEMiniExplorerWidget
Top = 218 Top = 218
Width = 527 Width = 527
Align = alTop Align = alTop
OnMouseWheel = Splitter2MouseWheel
ResizeAnchor = akTop ResizeAnchor = akTop
end end
object treeFolders: TShellTreeView object treeFolders: TShellTreeView

View File

@ -9,7 +9,7 @@ uses
Controls, Graphics, ExtCtrls, Menus, ComCtrls, Buttons, lcltype, dialogs, Controls, Graphics, ExtCtrls, Menus, ComCtrls, Buttons, lcltype, dialogs,
ce_widget, ce_sharedres, ce_common, ce_interfaces, ce_observer, ce_widget, ce_sharedres, ce_common, ce_interfaces, ce_observer,
ce_writableComponent, ce_dubproject, ce_ceproject, EditBtn, ShellCtrls, ce_writableComponent, ce_dubproject, ce_ceproject, EditBtn, ShellCtrls,
ce_dialogs, ce_synmemo, ce_projutils, ce_dsgncontrols, ce_stringrange; ce_dialogs, ce_synmemo, ce_projutils, ce_dsgncontrols, ce_stringrange, Types;
type type
@ -95,6 +95,8 @@ type
procedure lstFilesFileAdded(Sender: TObject; Item: TListItem); procedure lstFilesFileAdded(Sender: TObject; Item: TListItem);
procedure lstFilterButtonClick(Sender: TObject); procedure lstFilterButtonClick(Sender: TObject);
procedure lstFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure lstFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Splitter2MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure toolbarResize(Sender: TObject); procedure toolbarResize(Sender: TObject);
procedure TreeEnter(Sender: TObject); procedure TreeEnter(Sender: TObject);
procedure treeFoldersChange(Sender: TObject; Node: TTreeNode); procedure treeFoldersChange(Sender: TObject; Node: TTreeNode);
@ -740,6 +742,23 @@ begin
filterFiles; filterFiles;
end; end;
procedure TCEMiniExplorerWidget.Splitter2MouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
var Handled: Boolean);
var
offs: integer;
splt: TSplitter;
begin
offs := -240 * 8 div WheelDelta;
splt := TSplitter(sender);
splt.MoveSplitter(offs);
if splt.ResizeAnchor in [akLeft, akRight] then
Mouse.CursorPos:= classes.Point(Mouse.CursorPos.X + offs, Mouse.CursorPos.Y)
else
Mouse.CursorPos:= classes.Point(Mouse.CursorPos.X, Mouse.CursorPos.Y + offs);
Handled := true;
end;
procedure TCEMiniExplorerWidget.toolbarResize(Sender: TObject); procedure TCEMiniExplorerWidget.toolbarResize(Sender: TObject);
begin begin
lstFilter.Width := toolbar.Width - lstFilter.Left - lstFilter.BorderSpacing.Around; lstFilter.Width := toolbar.Width - lstFilter.Left - lstFilter.BorderSpacing.Around;