Merge pull request #4 from weeniemount/main
feat: make it so pressing the scroll wheel on a tab closes it
This commit is contained in:
@@ -60,6 +60,25 @@ func _process(_delta):
|
||||
else:
|
||||
close_button.add_theme_stylebox_override("normal", CLOSE_BUTTON_NORMAL)
|
||||
|
||||
func _input(event):
|
||||
# make sure we are hovering over the tab
|
||||
if mouse_over_tab and event.is_action_pressed("CloseTabMouse"):
|
||||
var close_tween = create_tween()
|
||||
close_tween.set_ease(Tween.EASE_IN)
|
||||
close_tween.set_trans(Tween.TRANS_CUBIC)
|
||||
|
||||
animate_tab_close(close_tween)
|
||||
|
||||
await close_tween.finished
|
||||
tab_closed.emit()
|
||||
queue_free()
|
||||
|
||||
func animate_tab_close(tween: Tween) -> void:
|
||||
tween.parallel().tween_property(self, "custom_minimum_size:x", 0.0, 0.15)
|
||||
tween.parallel().tween_property(self, "size:x", 0.0, 0.15)
|
||||
tween.parallel().tween_property(button, "custom_minimum_size:x", 0.0, 0.15)
|
||||
tween.parallel().tween_property(button, "size:x", 0.0, 0.15)
|
||||
|
||||
func set_title(title: String) -> void:
|
||||
button.text = title
|
||||
button.set_meta("original_text", title)
|
||||
@@ -231,10 +250,7 @@ func _on_close_button_pressed() -> void:
|
||||
close_tween.set_ease(Tween.EASE_IN)
|
||||
close_tween.set_trans(Tween.TRANS_CUBIC)
|
||||
|
||||
close_tween.parallel().tween_property(self, "custom_minimum_size:x", 0.0, 0.15)
|
||||
close_tween.parallel().tween_property(self, "size:x", 0.0, 0.15)
|
||||
close_tween.parallel().tween_property(button, "custom_minimum_size:x", 0.0, 0.15)
|
||||
close_tween.parallel().tween_property(button, "size:x", 0.0, 0.15)
|
||||
animate_tab_close(close_tween)
|
||||
|
||||
await close_tween.finished
|
||||
tab_closed.emit()
|
||||
|
||||
@@ -85,3 +85,8 @@ ReloadPage={
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
CloseTabMouse={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":4,"position":Vector2(134, 20),"global_position":Vector2(143, 68),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user