mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-04 06:58:12 +08:00
Make the Text tool delete empty text layers when clicking away wth LMB (#2192)
Fix additions of layers when using left click Fixes: https://discord.com/channels/731730685944922173/881073965047636018/1327376421034922045
This commit is contained in:
@@ -63,7 +63,7 @@ pub enum TextToolMessage {
|
|||||||
Interact,
|
Interact,
|
||||||
PointerMove { center: Key, lock_ratio: Key },
|
PointerMove { center: Key, lock_ratio: Key },
|
||||||
PointerOutsideViewport { center: Key, lock_ratio: Key },
|
PointerOutsideViewport { center: Key, lock_ratio: Key },
|
||||||
TextChange { new_text: String, is_right_click: bool },
|
TextChange { new_text: String, is_left_or_right_click: bool },
|
||||||
UpdateBounds { new_text: String },
|
UpdateBounds { new_text: String },
|
||||||
UpdateOptions(TextOptionsUpdate),
|
UpdateOptions(TextOptionsUpdate),
|
||||||
}
|
}
|
||||||
@@ -577,10 +577,10 @@ impl Fsm for TextToolFsmState {
|
|||||||
responses.add(FrontendMessage::TriggerTextCommit);
|
responses.add(FrontendMessage::TriggerTextCommit);
|
||||||
TextToolFsmState::Editing
|
TextToolFsmState::Editing
|
||||||
}
|
}
|
||||||
(TextToolFsmState::Editing, TextToolMessage::TextChange { new_text, is_right_click }) => {
|
(TextToolFsmState::Editing, TextToolMessage::TextChange { new_text, is_left_or_right_click }) => {
|
||||||
tool_data.new_text = new_text;
|
tool_data.new_text = new_text;
|
||||||
|
|
||||||
if !is_right_click {
|
if !is_left_or_right_click {
|
||||||
tool_data.set_editing(false, font_cache, responses);
|
tool_data.set_editing(false, font_cache, responses);
|
||||||
|
|
||||||
responses.add(NodeGraphMessage::SetInput {
|
responses.add(NodeGraphMessage::SetInput {
|
||||||
|
|||||||
@@ -172,8 +172,8 @@ export function createInputManager(editor: Editor, dialog: DialogState, portfoli
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!inTextInput && !inContextMenu) {
|
if (!inTextInput && !inContextMenu) {
|
||||||
const isRightClick = e.button === 2;
|
const isLeftOrRightClick = e.button === 2 || e.button === 0;
|
||||||
if (textToolInteractiveInputElement) editor.handle.onChangeText(textInputCleanup(textToolInteractiveInputElement.innerText), isRightClick);
|
if (textToolInteractiveInputElement) editor.handle.onChangeText(textInputCleanup(textToolInteractiveInputElement.innerText), isLeftOrRightClick);
|
||||||
else viewportPointerInteractionOngoing = isTargetingCanvas instanceof Element;
|
else viewportPointerInteractionOngoing = isTargetingCanvas instanceof Element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -433,8 +433,8 @@ impl EditorHandle {
|
|||||||
|
|
||||||
/// A text box was committed
|
/// A text box was committed
|
||||||
#[wasm_bindgen(js_name = onChangeText)]
|
#[wasm_bindgen(js_name = onChangeText)]
|
||||||
pub fn on_change_text(&self, new_text: String, is_right_click: bool) -> Result<(), JsValue> {
|
pub fn on_change_text(&self, new_text: String, is_left_or_right_click: bool) -> Result<(), JsValue> {
|
||||||
let message = TextToolMessage::TextChange { new_text, is_right_click };
|
let message = TextToolMessage::TextChange { new_text, is_left_or_right_click };
|
||||||
self.dispatch(message);
|
self.dispatch(message);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
Reference in New Issue
Block a user