Moved commands out to the outer event loop.

This commit is contained in:
Adam Harrison
2021-11-14 15:41:28 -05:00
parent 6f53ee1b69
commit ce2ec9f442
6 changed files with 21 additions and 7 deletions
+6
View File
@@ -389,6 +389,12 @@ local commands = {
core.log("Removed \"%s\"", filename)
end,
["doc:select-to-cursor"] = function(x, y, clicks)
local line1, col1 = select(3, doc():get_selection())
local line2, col2 = dv():resolve_screen_position(x, y)
doc():set_selection(line2, col2, line1, col1)
end,
["doc:set-cursor"] = function(x, y, clicks)
local line, col = dv():resolve_screen_position(x, y)
doc():set_selection(line, col, line, col)
+3 -1
View File
@@ -922,7 +922,9 @@ function core.on_event(type, ...)
elseif type == "mousemoved" then
core.root_view:on_mouse_moved(...)
elseif type == "mousepressed" then
core.root_view:on_mouse_pressed(...)
if not core.root_view:on_mouse_pressed(...) then
did_keymap = keymap.on_mouse_pressed(...)
end
elseif type == "mousereleased" then
core.root_view:on_mouse_released(...)
elseif type == "mousewheel" then
+2
View File
@@ -96,6 +96,8 @@ local function keymap_macos(keymap)
["shift+lclick"] = "doc:select-to-cursor",
["ctrl+lclick"] = "doc:split-cursor",
["lclick"] = "doc:set-cursor",
["dlclick"] = "doc:select-word",
["tlclick"] = "doc:select-lines",
["shift+left"] = "doc:select-to-previous-char",
["shift+right"] = "doc:select-to-next-char",
["shift+up"] = "doc:select-to-previous-line",
+4
View File
@@ -85,6 +85,10 @@ function keymap.on_key_pressed(k, ...)
return false
end
local click_prefixes = { "", "d", "t" }
function keymap.on_mouse_pressed(button, x, y, clicks)
return keymap.on_key_pressed(click_prefixes[((clicks - 1) % 3) + 1] .. button:sub(1,1) .. "click", x, y, clicks)
end
function keymap.on_key_released(k)
local mk = modkey_map[k]
+1 -3
View File
@@ -3,7 +3,7 @@ local config = require "core.config"
local style = require "core.style"
local common = require "core.common"
local Object = require "core.object"
local keymap = require "core.keymap"
local View = Object:extend()
@@ -76,13 +76,11 @@ function View:scrollbar_overlaps_point(x, y)
end
local click_prefixes = { "", "d", "t" }
function View:on_mouse_pressed(button, x, y, clicks)
if self:scrollbar_overlaps_point(x, y) then
self.dragging_scrollbar = true
return true
end
return keymap.on_key_pressed(click_prefixes[((clicks - 1) % 3) + 1] .. button:sub(1,1) .. "click", x, y, clicks)
end