diff --git a/source/connections.dfm b/source/connections.dfm index 03d946a7..06b9080f 100644 --- a/source/connections.dfm +++ b/source/connections.dfm @@ -877,7 +877,6 @@ object connform: Tconnform TreeOptions.PaintOptions = [toHotTrack, toShowButtons, toShowDropmark, toShowRoot, toShowTreeLines, toThemeAware, toUseBlendedImages, toUseExplorerTheme, toHideTreeLinesIfThemed] TreeOptions.SelectionOptions = [toFullRowSelect, toRightClickSelect] OnCreateEditor = ListSessionsCreateEditor - OnDblClick = btnOpenClick OnDragOver = ListSessionsDragOver OnDragDrop = ListSessionsDragDrop OnFocusChanged = ListSessionsFocusChanged @@ -886,6 +885,7 @@ object connform: Tconnform OnGetImageIndex = ListSessionsGetImageIndex OnGetNodeDataSize = ListSessionsGetNodeDataSize OnNewText = ListSessionsNewText + OnNodeDblClick = ListSessionsNodeDblClick OnStructureChange = ListSessionsStructureChange Columns = < item diff --git a/source/connections.pas b/source/connections.pas index faf0967d..89bd9354 100644 --- a/source/connections.pas +++ b/source/connections.pas @@ -177,6 +177,8 @@ type procedure editSearchChange(Sender: TObject); procedure editSearchRightButtonClick(Sender: TObject); procedure editHostDblClick(Sender: TObject); + procedure ListSessionsNodeDblClick(Sender: TBaseVirtualTree; + const HitInfo: THitInfo); private { Private declarations } FLoaded: Boolean; @@ -1003,6 +1005,24 @@ begin end; +procedure Tconnform.ListSessionsNodeDblClick(Sender: TBaseVirtualTree; + const HitInfo: THitInfo); +const + AllowedPos: THitPositions=[hiOnItemLabel, hiOnItemLeft, hiOnItemRight, hiOnNormalIcon]; +var + HitPos: THitPosition; +begin + // Doubleclick to open a connection, only if mouse is really on a node, + // not e.g. on the expand/collapse icon (see issue #820) + for HitPos in HitInfo.HitPositions do begin + if HitPos in AllowedPos then begin + btnOpen.OnClick(Sender); + Break; + end; + end; +end; + + procedure Tconnform.ListSessionsStructureChange(Sender: TBaseVirtualTree; Node: PVirtualNode; Reason: TChangeReason); begin