mirror of
https://github.com/penpot/penpot.git
synced 2025-06-06 21:51:39 +02: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))
|
cursor (mf/use-state (utils/get-cursor :pointer-inner))
|
||||||
hover-ids (mf/use-state nil)
|
hover-ids (mf/use-state nil)
|
||||||
hover (mf/use-state nil)
|
hover (mf/use-state nil)
|
||||||
|
measure-hover (mf/use-state nil)
|
||||||
hover-disabled? (mf/use-state false)
|
hover-disabled? (mf/use-state false)
|
||||||
hover-top-frame-id (mf/use-state nil)
|
hover-top-frame-id (mf/use-state nil)
|
||||||
frame-hover (mf/use-state nil)
|
frame-hover (mf/use-state nil)
|
||||||
|
@ -264,7 +265,8 @@
|
||||||
(hooks/setup-viewport-size vport viewport-ref)
|
(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-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-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-viewport-modifiers modifiers base-objects)
|
||||||
(hooks/setup-shortcuts node-editing? drawing-path? text-editing? grid-editing?)
|
(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)
|
(hooks/setup-active-frames base-objects hover-ids selected active-frames zoom transform vbox)
|
||||||
|
@ -433,7 +435,7 @@
|
||||||
{:bounds vbox
|
{:bounds vbox
|
||||||
:selected-shapes selected-shapes
|
:selected-shapes selected-shapes
|
||||||
:frame selected-frame
|
:frame selected-frame
|
||||||
:hover-shape @hover
|
:hover-shape @measure-hover
|
||||||
:zoom zoom}])
|
:zoom zoom}])
|
||||||
|
|
||||||
(when show-padding?
|
(when show-padding?
|
||||||
|
|
|
@ -167,7 +167,7 @@
|
||||||
(not))))
|
(not))))
|
||||||
|
|
||||||
(defn setup-hover-shapes
|
(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
|
(let [;; We use ref so we don't recreate the stream on a change
|
||||||
zoom-ref (mf/use-ref zoom)
|
zoom-ref (mf/use-ref zoom)
|
||||||
mod-ref (mf/use-ref @mod?)
|
mod-ref (mf/use-ref @mod?)
|
||||||
|
@ -285,9 +285,6 @@
|
||||||
mod?
|
mod?
|
||||||
(filter grouped?)
|
(filter grouped?)
|
||||||
|
|
||||||
show-measures?
|
|
||||||
(filter #(group-empty-space? % objects ids))
|
|
||||||
|
|
||||||
(not mod?)
|
(not mod?)
|
||||||
(filter #(or (root-frame-with-data? %)
|
(filter #(or (root-frame-with-data? %)
|
||||||
(group-empty-space? % objects ids))))
|
(group-empty-space? % objects ids))))
|
||||||
|
@ -309,9 +306,21 @@
|
||||||
(remove #(and mod? (no-fill-nested-frames? %)))
|
(remove #(and mod? (no-fill-nested-frames? %)))
|
||||||
(filter #(or (empty? focus) (cpf/is-in-focus? objects focus %)))
|
(filter #(or (empty? focus) (cpf/is-in-focus? objects focus %)))
|
||||||
(first)
|
(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! hover hover-shape)
|
||||||
|
(reset! measure-hover measure-hover-shape)
|
||||||
(reset! hover-ids ids))))))
|
(reset! hover-ids ids))))))
|
||||||
|
|
||||||
(defn setup-viewport-modifiers
|
(defn setup-viewport-modifiers
|
||||||
|
@ -420,4 +429,3 @@
|
||||||
text-editing?
|
text-editing?
|
||||||
(do (st/emit! (dsc/push-shortcuts ::text tsc/shortcuts))
|
(do (st/emit! (dsc/push-shortcuts ::text tsc/shortcuts))
|
||||||
#(st/emit! (dsc/pop-shortcuts ::text)))))))
|
#(st/emit! (dsc/pop-shortcuts ::text)))))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue