mirror of
https://github.com/penpot/penpot.git
synced 2025-03-27 23:21:47 -05:00
🐛 Fix problem with alt-duplicate on root frames
This commit is contained in:
parent
c43458af1d
commit
5ea414aed6
2 changed files with 18 additions and 8 deletions
|
@ -122,6 +122,7 @@
|
|||
cursor (mf/use-state (utils/get-cursor :pointer-inner))
|
||||
hover-ids (mf/use-state nil)
|
||||
hover (mf/use-state nil)
|
||||
measure-hover (mf/use-state nil)
|
||||
hover-disabled? (mf/use-state false)
|
||||
hover-top-frame-id (mf/use-state nil)
|
||||
frame-hover (mf/use-state nil)
|
||||
|
@ -264,7 +265,8 @@
|
|||
(hooks/setup-viewport-size vport viewport-ref)
|
||||
(hooks/setup-cursor cursor alt? mod? space? panning drawing-tool drawing-path? node-editing? z? workspace-read-only?)
|
||||
(hooks/setup-keyboard alt? mod? space? z? shift?)
|
||||
(hooks/setup-hover-shapes page-id move-stream base-objects transform selected mod? hover hover-ids hover-top-frame-id @hover-disabled? focus zoom show-measures?)
|
||||
(hooks/setup-hover-shapes page-id move-stream base-objects transform selected mod? hover measure-hover
|
||||
hover-ids hover-top-frame-id @hover-disabled? focus zoom show-measures?)
|
||||
(hooks/setup-viewport-modifiers modifiers base-objects)
|
||||
(hooks/setup-shortcuts node-editing? drawing-path? text-editing? grid-editing?)
|
||||
(hooks/setup-active-frames base-objects hover-ids selected active-frames zoom transform vbox)
|
||||
|
@ -433,7 +435,7 @@
|
|||
{:bounds vbox
|
||||
:selected-shapes selected-shapes
|
||||
:frame selected-frame
|
||||
:hover-shape @hover
|
||||
:hover-shape @measure-hover
|
||||
:zoom zoom}])
|
||||
|
||||
(when show-padding?
|
||||
|
|
|
@ -167,7 +167,7 @@
|
|||
(not))))
|
||||
|
||||
(defn setup-hover-shapes
|
||||
[page-id move-stream objects transform selected mod? hover hover-ids hover-top-frame-id hover-disabled? focus zoom show-measures?]
|
||||
[page-id move-stream objects transform selected mod? hover measure-hover hover-ids hover-top-frame-id hover-disabled? focus zoom show-measures?]
|
||||
(let [;; We use ref so we don't recreate the stream on a change
|
||||
zoom-ref (mf/use-ref zoom)
|
||||
mod-ref (mf/use-ref @mod?)
|
||||
|
@ -285,9 +285,6 @@
|
|||
mod?
|
||||
(filter grouped?)
|
||||
|
||||
show-measures?
|
||||
(filter #(group-empty-space? % objects ids))
|
||||
|
||||
(not mod?)
|
||||
(filter #(or (root-frame-with-data? %)
|
||||
(group-empty-space? % objects ids))))
|
||||
|
@ -309,9 +306,21 @@
|
|||
(remove #(and mod? (no-fill-nested-frames? %)))
|
||||
(filter #(or (empty? focus) (cpf/is-in-focus? objects focus %)))
|
||||
(first)
|
||||
(get objects))]
|
||||
(get objects))
|
||||
|
||||
;; We keep track of a diferent shape for measures
|
||||
measure-hover-shape
|
||||
(when show-measures?
|
||||
(->> ids
|
||||
(remove #(group-empty-space? % objects ids))
|
||||
(remove (partial cfh/hidden-parent? objects))
|
||||
(remove #(and mod? (no-fill-nested-frames? %)))
|
||||
(filter #(or (empty? focus) (cpf/is-in-focus? objects focus %)))
|
||||
(first)
|
||||
(get objects)))]
|
||||
|
||||
(reset! hover hover-shape)
|
||||
(reset! measure-hover measure-hover-shape)
|
||||
(reset! hover-ids ids))))))
|
||||
|
||||
(defn setup-viewport-modifiers
|
||||
|
@ -420,4 +429,3 @@
|
|||
text-editing?
|
||||
(do (st/emit! (dsc/push-shortcuts ::text tsc/shortcuts))
|
||||
#(st/emit! (dsc/pop-shortcuts ::text)))))))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue