core/rootview: fix dnd multiple folders into dock (#1828)
This commit is contained in:
parent
74fcd19ac2
commit
6cbfa44c95
|
@ -27,7 +27,7 @@ function RootView:new()
|
||||||
self.grab = nil -- = {view = nil, button = nil}
|
self.grab = nil -- = {view = nil, button = nil}
|
||||||
self.overlapping_view = nil
|
self.overlapping_view = nil
|
||||||
self.touched_view = nil
|
self.touched_view = nil
|
||||||
self.first_update_done = false
|
self.first_dnd_processed = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@ function RootView:on_file_dropped(filename, x, y)
|
||||||
if result then return result end
|
if result then return result end
|
||||||
local info = system.get_file_info(filename)
|
local info = system.get_file_info(filename)
|
||||||
if info and info.type == "dir" then
|
if info and info.type == "dir" then
|
||||||
if self.first_update_done then
|
if self.first_dnd_processed then
|
||||||
-- first update done, open in new window
|
-- first update done, open in new window
|
||||||
system.exec(string.format("%q %q", EXEFILE, filename))
|
system.exec(string.format("%q %q", EXEFILE, filename))
|
||||||
else
|
else
|
||||||
|
@ -385,6 +385,7 @@ function RootView:on_file_dropped(filename, x, y)
|
||||||
core.confirm_close_docs(core.docs, function(dirpath)
|
core.confirm_close_docs(core.docs, function(dirpath)
|
||||||
core.open_folder_project(dirpath)
|
core.open_folder_project(dirpath)
|
||||||
end, system.absolute_path(filename))
|
end, system.absolute_path(filename))
|
||||||
|
self.first_dnd_processed = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local ok, doc = core.try(core.open_doc, filename)
|
local ok, doc = core.try(core.open_doc, filename)
|
||||||
|
@ -482,7 +483,9 @@ function RootView:update()
|
||||||
self:update_drag_overlay()
|
self:update_drag_overlay()
|
||||||
self:interpolate_drag_overlay(self.drag_overlay)
|
self:interpolate_drag_overlay(self.drag_overlay)
|
||||||
self:interpolate_drag_overlay(self.drag_overlay_tab)
|
self:interpolate_drag_overlay(self.drag_overlay_tab)
|
||||||
self.first_update_done = true
|
-- set this to true because at this point there are no dnd requests
|
||||||
|
-- that are caused by the initial dnd into dock user action
|
||||||
|
self.first_dnd_processed = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue