From 670df66b38c08ef6eeef8709daf15e1f63eeadd2 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Sat, 5 Jun 2021 00:00:12 +0200 Subject: [PATCH] menu rework - add submenu for more options in overlay list --- ovr-utils/icons/close.svg | 1 + ovr-utils/icons/close.svg.import | 34 +++++++ ovr-utils/styles/menu.theme | Bin 784 -> 786 bytes ovr-utils/ui/ListOverlayItem.tscn | 158 ++++++++++++++++++++---------- ovr-utils/ui/MainOverlay.tscn | 2 +- ovr-utils/ui/add_menu.gd | 2 +- ovr-utils/ui/overlay_list_item.gd | 36 ++++--- 7 files changed, 163 insertions(+), 70 deletions(-) create mode 100644 ovr-utils/icons/close.svg create mode 100644 ovr-utils/icons/close.svg.import diff --git a/ovr-utils/icons/close.svg b/ovr-utils/icons/close.svg new file mode 100644 index 0000000..331727a --- /dev/null +++ b/ovr-utils/icons/close.svg @@ -0,0 +1 @@ + diff --git a/ovr-utils/icons/close.svg.import b/ovr-utils/icons/close.svg.import new file mode 100644 index 0000000..91c6423 --- /dev/null +++ b/ovr-utils/icons/close.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/close.svg-4ddfafaefba273b37f7839c4b0365913.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icons/close.svg" +dest_files=[ "res://.import/close.svg-4ddfafaefba273b37f7839c4b0365913.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=10.0 diff --git a/ovr-utils/styles/menu.theme b/ovr-utils/styles/menu.theme index c0bc0921a99e89616d7bb9b609d59e900f2127ad..39a6d167406b54b78b946d352129588e00eeaed9 100644 GIT binary patch literal 786 zcmV+t1MU1$Q$s@n000005C8xw2mk>30ssIgwJ-f(DhGuZ0Op=$Js__n9f2Y=0D=Gw zC;|uqU;tQoPvrI?a__&p5hBS>x;lp&1vU08Pp$l6SU*s*cMlzF+r&O3_LqmvP6|o@ zPykf`7B{P+YidoVvO)X5!R7XIRDw@Sq2(akdHuh*}s(*fx3bT=^gK|Ktnz&XtztazpSZ zS-(rEouCV~dwPLjp*i_gD!C1OR{E&6oNNVdA$n=*c~2>AomfYv{v-HiT>{ZB^;W8k&O|Ln{9n{2w4UI_=0Q*4wBaK0G=iH2qj)DtCyx45)gYhp3OnrY59NPR5xdO+zEiCsDVK;G$JFCBn5?ZfP#^#u{si9 z)FjU`$|7P6QzKzbL2I<00plI#b;y6VFh~0e8_&(t#p}o4n+1yd-8f6=^&3^iJ$l67 zSca7H@fC=%)*m(wK&44%YNy$yM{!>x zEFMdWr1M7Mo)i{nAuv!;=cF Qc>`4?`iq$;O;S@sLkJ&h#{d8T literal 784 zcmV+r1MmD&Q$s@n000005C8xJ2mk>10ssIgwJ-f(0|#{%05)G|K`@Pz4#2>`4>j-u z1A`86Ffh;^#$|)Z?Mmd{XtpIp(yqJ?2561%#&=^4X%sd)?7zWppZG^B{x}_eOTIev zNC8R!QUFx|x42mqT~li^l`Y!;3of^xqY!*r3M~iO&g=ihB|mN$Y@>U9@&5$h5pMn; z@P!&NzH!@R-0W%N$F|9f=gR+?{}aA&LoNR?7Jm`s)6Til+FWi34uyQ$2h!;#CL&EK za`$!eUvt*)QfepYM(v(nAlPV5ew9k@0-u#Wsx2oQfme`Rnu6X_N?Rw^k*WU&z8RMq zY77p!n?V`@d_rMHWr=I4NG1)gttlN@Lvv8$DCNI`{{n8wjZQl<%G;b%w zcyyIi$V9M|I#R;vSSlNT3MEI4c{Qdoq`7a@ljD(Ht5j=eNSYnBXDBNyEB`GdM1asK zA>oXOY#fAqbVCV{504HF$HvDZfg(c(6DK|tMSWiW&xaH$egN`n(Y9=*ki-A-2lxdB zLwl~cFoWs*!irmvB$IfttX!IINJI?sfH)WN3Cn*2r@B4U3xJ@gfk7fQA|sL{1%-5Q zf{`k+IufA7B+oL6B4P|vBVkQJYqXvL>jV6^69fA(6?>y6XUh+?+Y9FF3kr@8|4Rv; ze0@Z@F%8+|`zsK$?{YYFG?eFi7ZC;zIc|N*!NHoi`#`~xqx4nbcUh{0ozseQMfiJW zF(>mdg-I@9+@&(6M*6+PQDwn+Osq~vk?M1kU{#U void: func add_overlay(type): - OverlayManager.add_overlay(type, type + str(randi()%100)) + OverlayManager.add_overlay(type, type + " " + str(randi()%1000)) visible = false diff --git a/ovr-utils/ui/overlay_list_item.gd b/ovr-utils/ui/overlay_list_item.gd index fc8fdd5..1256280 100644 --- a/ovr-utils/ui/overlay_list_item.gd +++ b/ovr-utils/ui/overlay_list_item.gd @@ -1,13 +1,14 @@ -extends PanelContainer +extends Control export var overlay_name: String var overlay func _ready() -> void: overlay = OverlayManager.get_node(overlay_name) - $Label.text = overlay_name + $MoreOptions.visible = false + $BasicOptions/Label.text = overlay_name name = overlay_name - $HBoxContainer/Target.selected = overlay.TARGETS.find(Settings.s.overlays[overlay_name].target) + $MoreOptions/Container/List/Target.selected = overlay.TARGETS.find(Settings.s.overlays[overlay_name].target) overlay.connect("overlay_visibility_changed", self, "_overlay_visibility_changed") @@ -16,27 +17,34 @@ func _on_Visibility_toggled(state: bool) -> void: overlay.overlay_visible = state -func _on_Target_item_selected(index: int) -> void: - overlay.target = overlay.TARGETS[index] - - -func _on_Reset_pressed() -> void: - overlay.reset_offset() - - func _on_Grab_toggled(state: bool) -> void: overlay.get_node("OverlayInteraction").grab_mode = state func _overlay_visibility_changed(state: bool): - $HBoxContainer/Visibility.pressed = state + $BasicOptions/List/Visibility.pressed = state if state: - $HBoxContainer/Visibility.icon = preload("res://icons/visible.svg") + $BasicOptions/List/Visibility.icon = preload("res://icons/visible.svg") else: - $HBoxContainer/Visibility.icon = preload("res://icons/hidden.svg") + $BasicOptions/List/Visibility.icon = preload("res://icons/hidden.svg") func _on_Remove_pressed() -> void: if overlay.type and overlay.type != "main": OverlayManager.remove_overlay(overlay_name) + +func _on_Reset_pressed() -> void: + overlay.reset_offset() + + +func _on_Target_item_selected(index: int) -> void: + overlay.target = overlay.TARGETS[index] + + +func _on_Options_pressed() -> void: + $MoreOptions.visible = true + + +func _on_CloseOptions_pressed() -> void: + $MoreOptions.visible = false