summaryrefslogtreecommitdiff
path: root/eventMouse.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-02-08 08:36:08 -0600
committerJeff Carr <[email protected]>2025-02-08 08:36:08 -0600
commit078a23e0e080b9eca82c8ef9a582675d81e2f30f (patch)
treeafec9f8a18030e6521e4f77bc506dcdc2949c9d5 /eventMouse.go
parent44264df09d6e7b44dc45417c4fbcc5fdc470580e (diff)
detect double click
Diffstat (limited to 'eventMouse.go')
-rw-r--r--eventMouse.go26
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