diff options
| author | Jeff Carr <[email protected]> | 2025-02-08 08:36:08 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-08 08:36:08 -0600 |
| commit | 078a23e0e080b9eca82c8ef9a582675d81e2f30f (patch) | |
| tree | afec9f8a18030e6521e4f77bc506dcdc2949c9d5 /eventMouse.go | |
| parent | 44264df09d6e7b44dc45417c4fbcc5fdc470580e (diff) | |
detect double click
Diffstat (limited to 'eventMouse.go')
| -rw-r--r-- | eventMouse.go | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/eventMouse.go b/eventMouse.go index 6b99c65..05568d9 100644 --- a/eventMouse.go +++ b/eventMouse.go @@ -13,8 +13,6 @@ import ( ) func mouseUp(g *gocui.Gui, v *gocui.View) error { - w, h := g.MousePosition() - // useful to debug everything that is being clicked on /* for _, tk := range findByXY(w, h) { @@ -22,16 +20,13 @@ func mouseUp(g *gocui.Gui, v *gocui.View) error { } */ - if time.Since(me.mouse.down) < me.mouse.clicktime { - log.Info("was a mouse click, not a drag") - } - me.mouse.mouseUp = true - me.globalMouseDown = false - me.currentDrag = nil - - dropdownUnclicked(w, h) + me.mouse.globalMouseDown = false + me.mouse.currentDrag = nil + if time.Since(me.mouse.down) < me.mouse.clicktime { + doMouseClick(me.mouse.downW, me.mouse.downH) + } return nil } @@ -40,7 +35,10 @@ func mouseUp(g *gocui.Gui, v *gocui.View) error { // the right response for the toolkit user's app func mouseDown(g *gocui.Gui, v *gocui.View) error { if me.mouse.mouseUp { - me.globalMouseDown = true + if time.Since(me.mouse.down) < me.mouse.doubletime { + log.Info("double click") + } + me.mouse.globalMouseDown = true me.mouse.mouseUp = false me.mouse.down = time.Now() w, h := g.MousePosition() @@ -55,8 +53,6 @@ func mouseDown(g *gocui.Gui, v *gocui.View) error { } w, h := g.MousePosition() - me.downW = w - me.downH = h // if the dropdown is active, never do anything else if me.dropdown.active { @@ -123,13 +119,13 @@ func mouseDown(g *gocui.Gui, v *gocui.View) error { } if tk.node.WidgetType == widget.Stdout { // tk.dumpWidget("stdout fixme drag()" + tk.labelN) - me.currentDrag = tk + me.mouse.currentDrag = tk tk.dragW = w - tk.gocuiSize.w0 tk.dragH = h - tk.gocuiSize.h0 return nil } // tk.dumpWidget("mouse drag()" + tk.labelN) - me.currentDrag = tk + me.mouse.currentDrag = tk tk.dragW = w - tk.gocuiSize.w0 tk.dragH = h - tk.gocuiSize.h0 return nil |
