From 835c958972513c7bdd650df1fb7d227ef2d603f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Tue, 21 Jul 2020 09:31:26 +0200 Subject: [PATCH] :sparkles: Change some keyboard shortcuts --- frontend/src/uxbox/main/data/workspace.cljs | 5 +++-- .../src/uxbox/main/data/workspace/transforms.cljs | 14 +++++++------- frontend/src/uxbox/main/streams.cljs | 9 +++++++++ .../src/uxbox/main/ui/workspace/context_menu.cljs | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/frontend/src/uxbox/main/data/workspace.cljs b/frontend/src/uxbox/main/data/workspace.cljs index 0922b954a..a9cb2b7df 100644 --- a/frontend/src/uxbox/main/data/workspace.cljs +++ b/frontend/src/uxbox/main/data/workspace.cljs @@ -1442,12 +1442,12 @@ "ctrl+shift+'" #(st/emit! (toggle-layout-flags :snap-grid)) "+" #(st/emit! (increase-zoom nil)) "-" #(st/emit! (decrease-zoom nil)) - "g" #(st/emit! group-selected) + "ctrl+g" #(st/emit! group-selected) "shift+g" #(st/emit! ungroup-selected) "shift+0" #(st/emit! reset-zoom) "shift+1" #(st/emit! zoom-to-fit-all) "shift+2" #(st/emit! zoom-to-selected-shape) - "d" #(st/emit! duplicate-selected) + "ctrl+d" #(st/emit! duplicate-selected) "ctrl+z" #(st/emit! dwc/undo) "ctrl+shift+z" #(st/emit! dwc/redo) "ctrl+y" #(st/emit! dwc/redo) @@ -1460,6 +1460,7 @@ "ctrl+v" #(st/emit! paste) "escape" #(st/emit! :interrupt deselect-all) "del" #(st/emit! delete-selected) + "backspace" #(st/emit! delete-selected) "ctrl+up" #(st/emit! (vertical-order-selected :up)) "ctrl+down" #(st/emit! (vertical-order-selected :down)) "ctrl+shift+up" #(st/emit! (vertical-order-selected :top)) diff --git a/frontend/src/uxbox/main/data/workspace/transforms.cljs b/frontend/src/uxbox/main/data/workspace/transforms.cljs index bdc00a1cf..46e61fc50 100644 --- a/frontend/src/uxbox/main/data/workspace/transforms.cljs +++ b/frontend/src/uxbox/main/data/workspace/transforms.cljs @@ -112,11 +112,11 @@ false)))) ;; Unifies the instantaneous proportion lock modifier - ;; activated by Ctrl key and the shapes own proportion + ;; activated by Shift key and the shapes own proportion ;; lock flag that can be activated on element options. - (normalize-proportion-lock [[point ctrl?]] + (normalize-proportion-lock [[point shift?]] (let [proportion-lock? (:proportion-lock shape)] - [point (or proportion-lock? ctrl?)])) + [point (or proportion-lock? shift?)])) ;; Applies alginment to point if it is currently ;; activated on the current workspace @@ -141,7 +141,7 @@ layout (get state :workspace-layout)] (rx/concat (->> ms/mouse-position - (rx/with-latest vector ms/mouse-position-ctrl) + (rx/with-latest vector ms/mouse-position-shift) (rx/map normalize-proportion-lock) (rx/switch-map (fn [[point :as current]] (->> (snap/closest-snap-point page-id resizing-shapes layout point) @@ -171,10 +171,10 @@ calculate-angle (fn [pos ctrl?] (let [angle (- (gpt/angle pos group-center) initial-angle) angle (if (neg? angle) (+ 360 angle) angle) - modval (mod angle 90) + modval (mod angle 45) angle (if ctrl? - (if (< 50 modval) - (+ angle (- 90 modval)) + (if (< 22.5 modval) + (+ angle (- 45 modval)) (- angle modval)) angle) angle (if (= angle 360) diff --git a/frontend/src/uxbox/main/streams.cljs b/frontend/src/uxbox/main/streams.cljs index 8f5b639b8..b8407b56b 100644 --- a/frontend/src/uxbox/main/streams.cljs +++ b/frontend/src/uxbox/main/streams.cljs @@ -73,6 +73,15 @@ (rx/subscribe-with ob sub) sub)) +(defonce mouse-position-shift + (let [sub (rx/behavior-subject nil) + ob (->> st/stream + (rx/filter pointer-event?) + (rx/map :shift) + (rx/dedupe))] + (rx/subscribe-with ob sub) + sub)) + (defonce mouse-position-alt (let [sub (rx/behavior-subject nil) ob (->> st/stream diff --git a/frontend/src/uxbox/main/ui/workspace/context_menu.cljs b/frontend/src/uxbox/main/ui/workspace/context_menu.cljs index e2dd33c9a..70ea5baa8 100644 --- a/frontend/src/uxbox/main/ui/workspace/context_menu.cljs +++ b/frontend/src/uxbox/main/ui/workspace/context_menu.cljs @@ -87,7 +87,7 @@ (when (> (count selected) 1) [:& menu-entry {:title "Group" - :shortcut "g" + :shortcut "Ctrl + g" :on-click do-create-group}]) (when (and (= (count selected) 1) (= (:type shape) :group))