Refine question toolbar icons and pause menu
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M18.7 2.8 21.2 5.3 12.1 14.4 9.6 11.9 18.7 2.8Z" stroke="#CBD5E1" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M8.9 11.2 12.8 15.1C10.8 18.5 7.2 20.2 2.8 19.5 5.2 17.5 6.7 14.2 8.9 11.2Z" stroke="#CBD5E1" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M4.1 14.1H2.5M4.5 17H1.5M7.1 20.7H4.7" stroke="#8B5CF6" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 463 B |
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://b16pf3mq67md3"
|
uid="uid://bx3x2rqpurqqw"
|
||||||
path="res://.godot/imported/labs-lightmode.png-24b48bf8e309293bae3439edb1ab7c9b.ctex"
|
path="res://.godot/imported/clear-highlight-dark.svg-67d9eee7c448efe7f572e5fc819b8ea0.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/labs-lightmode.png"
|
source_file="res://assets/icons/medmind/clear-highlight-dark.svg"
|
||||||
dest_files=["res://.godot/imported/labs-lightmode.png-24b48bf8e309293bae3439edb1ab7c9b.ctex"]
|
dest_files=["res://.godot/imported/clear-highlight-dark.svg-67d9eee7c448efe7f572e5fc819b8ea0.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 962 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M18.7 2.8 21.2 5.3 12.1 14.4 9.6 11.9 18.7 2.8Z" stroke="#26344F" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M8.9 11.2 12.8 15.1C10.8 18.5 7.2 20.2 2.8 19.5 5.2 17.5 6.7 14.2 8.9 11.2Z" stroke="#26344F" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M4.1 14.1H2.5M4.5 17H1.5M7.1 20.7H4.7" stroke="#8B5CF6" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 463 B |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bgpsqicfixhew"
|
||||||
|
path="res://.godot/imported/clear-highlight-light.svg-93f7a6cb5f22325bc90fadf2e89641fc.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/icons/medmind/clear-highlight-light.svg"
|
||||||
|
dest_files=["res://.godot/imported/clear-highlight-light.svg-93f7a6cb5f22325bc90fadf2e89641fc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 821 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M7 3H13M8 3V12.5C8 16 9.8 19 12 19S16 16 16 12.5V3" stroke="#CBD5E1" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M8 12H16V13C16 16.3 14.2 19 12 19S8 16.3 8 13V12Z" fill="#F43F5E"/>
|
||||||
|
<path d="M18.5 8H22M18.5 11H21M18.5 14H20" stroke="#CBD5E1" stroke-width="1.6" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 413 B |
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://ctqpsk2edv23"
|
uid="uid://ca0ufwd3k2hiw"
|
||||||
path="res://.godot/imported/labs-darkmode.png-2db95305c902b01413a007879b51e169.ctex"
|
path="res://.godot/imported/labs-dark.svg-9956a70852ba813a103e5d27fe480209.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/labs-darkmode.png"
|
source_file="res://assets/icons/medmind/labs-dark.svg"
|
||||||
dest_files=["res://.godot/imported/labs-darkmode.png-2db95305c902b01413a007879b51e169.ctex"]
|
dest_files=["res://.godot/imported/labs-dark.svg-9956a70852ba813a103e5d27fe480209.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 913 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M7 3H13M8 3V12.5C8 16 9.8 19 12 19S16 16 16 12.5V3" stroke="#26344F" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M8 12H16V13C16 16.3 14.2 19 12 19S8 16.3 8 13V12Z" fill="#EF3340"/>
|
||||||
|
<path d="M18.5 8H22M18.5 11H21M18.5 14H20" stroke="#26344F" stroke-width="1.6" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 413 B |
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://bv0vo5enee88m"
|
uid="uid://3qi5vup3wmpj"
|
||||||
path="res://.godot/imported/clear-highlight-darkmode.png-f5af287fe98280a6ca2fcd51ab9af5a5.ctex"
|
path="res://.godot/imported/labs-light.svg-d27c8dfba099c7b70505068994cfe676.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/clear-highlight-darkmode.png"
|
source_file="res://assets/icons/medmind/labs-light.svg"
|
||||||
dest_files=["res://.godot/imported/clear-highlight-darkmode.png-f5af287fe98280a6ca2fcd51ab9af5a5.ctex"]
|
dest_files=["res://.godot/imported/labs-light.svg-d27c8dfba099c7b70505068994cfe676.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 709 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M5 3V21" stroke="#CBD5E1" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<path d="M5 5.2C9 2.8 13 7.1 19 4.5L16.5 9.8 19 15.2C13 17.8 9 13.5 5 15.9V5.2Z" stroke="#FF3344" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M12 7.8V11.5M12 14V14.1" stroke="#FF3344" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 403 B |
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://sfq2s5fx5vs4"
|
uid="uid://d1rf1y5ym0abp"
|
||||||
path="res://.godot/imported/clear-highlight-lightmode.png-dd2abfaa944c65e8d3e917cd1fc470e8.ctex"
|
path="res://.godot/imported/report-question-dark.svg-0c56358e403130829c20d7684d988f4f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/clear-highlight-lightmode.png"
|
source_file="res://assets/icons/medmind/report-question-dark.svg"
|
||||||
dest_files=["res://.godot/imported/clear-highlight-lightmode.png-dd2abfaa944c65e8d3e917cd1fc470e8.ctex"]
|
dest_files=["res://.godot/imported/report-question-dark.svg-0c56358e403130829c20d7684d988f4f.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 898 KiB |
@@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://duumt7vato28c"
|
|
||||||
path="res://.godot/imported/report-question-darkmode.png-47c7d15d7daf464037cdd7712879b6cc.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/report-question-darkmode.png"
|
|
||||||
dest_files=["res://.godot/imported/report-question-darkmode.png-47c7d15d7daf464037cdd7712879b6cc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
||||||
|
<path d="M5 3V21" stroke="#26344F" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
<path d="M5 5.2C9 2.8 13 7.1 19 4.5L16.5 9.8 19 15.2C13 17.8 9 13.5 5 15.9V5.2Z" stroke="#EF3340" stroke-width="1.8" stroke-linejoin="round"/>
|
||||||
|
<path d="M12 7.8V11.5M12 14V14.1" stroke="#EF3340" stroke-width="1.8" stroke-linecap="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 403 B |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://btqfcwm8c1ymy"
|
||||||
|
path="res://.godot/imported/report-question-light.svg-d6a637ee28802ff5e54da98728d1db20.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/icons/medmind/report-question-light.svg"
|
||||||
|
dest_files=["res://.godot/imported/report-question-light.svg-d6a637ee28802ff5e54da98728d1db20.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
Before Width: | Height: | Size: 792 KiB |
@@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cj8futh2o3ixp"
|
|
||||||
path="res://.godot/imported/report-question-lightmode.png-3006440fd905de3664fbd0b81dddda26.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/icons/medmind/report-question-lightmode.png"
|
|
||||||
dest_files=["res://.godot/imported/report-question-lightmode.png-3006440fd905de3664fbd0b81dddda26.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
@@ -727,13 +727,6 @@ func _build_app_menu() -> void:
|
|||||||
sound_toggle.toggled.connect(UISoundService.set_sounds_enabled)
|
sound_toggle.toggled.connect(UISoundService.set_sounds_enabled)
|
||||||
content.add_child(sound_toggle)
|
content.add_child(sound_toggle)
|
||||||
|
|
||||||
var profile := Button.new()
|
|
||||||
profile.text = "Profile"
|
|
||||||
profile.custom_minimum_size = Vector2(0, 48)
|
|
||||||
Style.style_chip(profile, Style.CYAN)
|
|
||||||
profile.pressed.connect(_open_profile_from_menu)
|
|
||||||
content.add_child(profile)
|
|
||||||
|
|
||||||
menu_exit_button = Button.new()
|
menu_exit_button = Button.new()
|
||||||
menu_exit_button.text = "Exit Run"
|
menu_exit_button.text = "Exit Run"
|
||||||
menu_exit_button.custom_minimum_size = Vector2(0, 48)
|
menu_exit_button.custom_minimum_size = Vector2(0, 48)
|
||||||
@@ -786,12 +779,3 @@ func _exit_run() -> void:
|
|||||||
elif BlockSessionService.session_kind == "simulation":
|
elif BlockSessionService.session_kind == "simulation":
|
||||||
BlockSessionService.block_started = false
|
BlockSessionService.block_started = false
|
||||||
show_screen("selection", "exam" if was_core_run else "step3")
|
show_screen("selection", "exam" if was_core_run else "step3")
|
||||||
|
|
||||||
|
|
||||||
func _open_profile_from_menu() -> void:
|
|
||||||
_close_app_menu()
|
|
||||||
if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation":
|
|
||||||
BlockSessionService.finish_block()
|
|
||||||
elif BlockSessionService.session_kind == "simulation":
|
|
||||||
BlockSessionService.block_started = false
|
|
||||||
show_screen("profile")
|
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ extends VBoxContainer
|
|||||||
|
|
||||||
const Style := preload("res://scripts/ui/ui_style.gd")
|
const Style := preload("res://scripts/ui/ui_style.gd")
|
||||||
const Brand := preload("res://scripts/ui/medmind_style.gd")
|
const Brand := preload("res://scripts/ui/medmind_style.gd")
|
||||||
const CLEAR_HIGHLIGHT_DARK_ICON := preload("res://assets/icons/medmind/clear-highlight-darkmode.png")
|
const CLEAR_HIGHLIGHT_DARK_ICON := preload("res://assets/icons/medmind/clear-highlight-dark.svg")
|
||||||
const CLEAR_HIGHLIGHT_LIGHT_ICON := preload("res://assets/icons/medmind/clear-highlight-lightmode.png")
|
const CLEAR_HIGHLIGHT_LIGHT_ICON := preload("res://assets/icons/medmind/clear-highlight-light.svg")
|
||||||
const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-darkmode.png")
|
const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-dark.svg")
|
||||||
const LABS_LIGHT_ICON := preload("res://assets/icons/medmind/labs-lightmode.png")
|
const LABS_LIGHT_ICON := preload("res://assets/icons/medmind/labs-light.svg")
|
||||||
const REPORT_QUESTION_DARK_ICON := preload("res://assets/icons/medmind/report-question-darkmode.png")
|
const REPORT_QUESTION_DARK_ICON := preload("res://assets/icons/medmind/report-question-dark.svg")
|
||||||
const REPORT_QUESTION_LIGHT_ICON := preload("res://assets/icons/medmind/report-question-lightmode.png")
|
const REPORT_QUESTION_LIGHT_ICON := preload("res://assets/icons/medmind/report-question-light.svg")
|
||||||
const FEEDBACK_FADE_SECONDS := 0.45
|
const FEEDBACK_FADE_SECONDS := 0.45
|
||||||
const CORRECT_ADVANCE_DELAY_SECONDS := 1.25
|
const CORRECT_ADVANCE_DELAY_SECONDS := 1.25
|
||||||
const TEXT_SCALE_MIN := 0.85
|
const TEXT_SCALE_MIN := 0.85
|
||||||
@@ -680,17 +680,20 @@ func _style_theme_toggle_button(dark: bool) -> void:
|
|||||||
theme_button.add_theme_constant_override("h_separation", 0)
|
theme_button.add_theme_constant_override("h_separation", 0)
|
||||||
|
|
||||||
|
|
||||||
func _style_asset_toolbar_button(button: Button, texture: Texture2D) -> void:
|
func _style_asset_toolbar_button(button: Button, texture: Texture2D, dark: bool) -> void:
|
||||||
if button == null:
|
if button == null:
|
||||||
return
|
return
|
||||||
button.text = ""
|
button.text = ""
|
||||||
button.icon = null
|
button.icon = texture
|
||||||
|
button.expand_icon = false
|
||||||
button.focus_mode = Control.FOCUS_NONE
|
button.focus_mode = Control.FOCUS_NONE
|
||||||
var texture_box := StyleBoxTexture.new()
|
button.add_theme_constant_override("icon_max_width", 25)
|
||||||
texture_box.texture = texture
|
button.add_theme_stylebox_override("normal", _toolbar_box(dark))
|
||||||
for state in ["normal", "hover", "pressed"]:
|
button.add_theme_stylebox_override("hover", _toolbar_box(dark, true))
|
||||||
button.add_theme_stylebox_override(state, texture_box)
|
button.add_theme_stylebox_override("pressed", _toolbar_box(dark, true))
|
||||||
button.add_theme_stylebox_override("focus", StyleBoxEmpty.new())
|
button.add_theme_stylebox_override("focus", StyleBoxEmpty.new())
|
||||||
|
for color_name in ["icon_normal_color", "icon_hover_color", "icon_pressed_color", "icon_focus_color"]:
|
||||||
|
button.add_theme_color_override(color_name, Color.WHITE)
|
||||||
|
|
||||||
|
|
||||||
func _primary_action_box(dark: bool, state: String) -> StyleBoxFlat:
|
func _primary_action_box(dark: bool, state: String) -> StyleBoxFlat:
|
||||||
@@ -823,9 +826,9 @@ func _apply_question_theme() -> void:
|
|||||||
control.add_theme_stylebox_override("pressed", _toolbar_box(dark, true))
|
control.add_theme_stylebox_override("pressed", _toolbar_box(dark, true))
|
||||||
control.add_theme_color_override("font_color", Brand.text_color(dark))
|
control.add_theme_color_override("font_color", Brand.text_color(dark))
|
||||||
control.add_theme_color_override("icon_normal_color", Brand.SKY_BLUE)
|
control.add_theme_color_override("icon_normal_color", Brand.SKY_BLUE)
|
||||||
_style_asset_toolbar_button(labs_button, LABS_DARK_ICON if dark else LABS_LIGHT_ICON)
|
_style_asset_toolbar_button(labs_button, LABS_DARK_ICON if dark else LABS_LIGHT_ICON, dark)
|
||||||
_style_asset_toolbar_button(clear_highlight_button, CLEAR_HIGHLIGHT_DARK_ICON if dark else CLEAR_HIGHLIGHT_LIGHT_ICON)
|
_style_asset_toolbar_button(clear_highlight_button, CLEAR_HIGHLIGHT_DARK_ICON if dark else CLEAR_HIGHLIGHT_LIGHT_ICON, dark)
|
||||||
_style_asset_toolbar_button(report_button, REPORT_QUESTION_DARK_ICON if dark else REPORT_QUESTION_LIGHT_ICON)
|
_style_asset_toolbar_button(report_button, REPORT_QUESTION_DARK_ICON if dark else REPORT_QUESTION_LIGHT_ICON, dark)
|
||||||
_style_theme_toggle_button(dark)
|
_style_theme_toggle_button(dark)
|
||||||
if skip_button != null:
|
if skip_button != null:
|
||||||
skip_button.add_theme_stylebox_override("normal", _toolbar_box(dark))
|
skip_button.add_theme_stylebox_override("normal", _toolbar_box(dark))
|
||||||
|
|||||||
@@ -345,18 +345,13 @@ func _test_player_runtime_construction() -> void:
|
|||||||
_assert(player.navigator_popup != null, "question player should construct its popup navigator")
|
_assert(player.navigator_popup != null, "question player should construct its popup navigator")
|
||||||
_assert(player.header_row.get_node_or_null("StepBadge") == null, "question player should not display a redundant STEP 3 badge")
|
_assert(player.header_row.get_node_or_null("StepBadge") == null, "question player should not display a redundant STEP 3 badge")
|
||||||
_assert(player.header_row.get_child(0) == player.progress_button, "question progress should be the first header item")
|
_assert(player.header_row.get_child(0) == player.progress_button, "question progress should be the first header item")
|
||||||
var clear_box := player.clear_highlight_button.get_theme_stylebox("normal") as StyleBoxTexture
|
_assert(player.clear_highlight_button.icon != null, "clear highlights should use the supplied toolbar artwork")
|
||||||
var report_box := player.report_button.get_theme_stylebox("normal") as StyleBoxTexture
|
_assert(player.report_button.icon != null, "report question should use the supplied toolbar artwork")
|
||||||
var labs_box := player.labs_button.get_theme_stylebox("normal") as StyleBoxTexture
|
_assert(player.labs_button.icon != null, "lab results should use the supplied toolbar artwork")
|
||||||
_assert(clear_box != null and clear_box.texture != null, "clear highlights should use the supplied toolbar artwork")
|
player._style_asset_toolbar_button(player.clear_highlight_button, player.CLEAR_HIGHLIGHT_LIGHT_ICON, false)
|
||||||
_assert(report_box != null and report_box.texture != null, "report question should use the supplied toolbar artwork")
|
_assert(player.clear_highlight_button.icon == player.CLEAR_HIGHLIGHT_LIGHT_ICON, "clear highlights should support its light-mode artwork")
|
||||||
_assert(labs_box != null and labs_box.texture != null, "lab results should use the supplied toolbar artwork")
|
player._style_asset_toolbar_button(player.report_button, player.REPORT_QUESTION_LIGHT_ICON, false)
|
||||||
player._style_asset_toolbar_button(player.clear_highlight_button, player.CLEAR_HIGHLIGHT_LIGHT_ICON)
|
_assert(player.report_button.icon == player.REPORT_QUESTION_LIGHT_ICON, "report question should support its light-mode artwork")
|
||||||
clear_box = player.clear_highlight_button.get_theme_stylebox("normal") as StyleBoxTexture
|
|
||||||
_assert(clear_box.texture == player.CLEAR_HIGHLIGHT_LIGHT_ICON, "clear highlights should support its light-mode artwork")
|
|
||||||
player._style_asset_toolbar_button(player.report_button, player.REPORT_QUESTION_LIGHT_ICON)
|
|
||||||
report_box = player.report_button.get_theme_stylebox("normal") as StyleBoxTexture
|
|
||||||
_assert(report_box.texture == player.REPORT_QUESTION_LIGHT_ICON, "report question should support its light-mode artwork")
|
|
||||||
var toggle_box := player.theme_button.get_theme_stylebox("normal") as StyleBoxFlat
|
var toggle_box := player.theme_button.get_theme_stylebox("normal") as StyleBoxFlat
|
||||||
_assert(player.theme_button.custom_minimum_size == Vector2(44, 44), "question theme toggle should retain the shared square footprint")
|
_assert(player.theme_button.custom_minimum_size == Vector2(44, 44), "question theme toggle should retain the shared square footprint")
|
||||||
_assert(toggle_box != null and toggle_box.corner_radius_top_left == 22, "question theme toggle should use the shared circular treatment")
|
_assert(toggle_box != null and toggle_box.corner_radius_top_left == 22, "question theme toggle should use the shared circular treatment")
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ func _run() -> void:
|
|||||||
_assert(main_screen.theme_button.get_index() < main_screen.account_button.get_index(), "the theme toggle should appear before the account dropdown")
|
_assert(main_screen.theme_button.get_index() < main_screen.account_button.get_index(), "the theme toggle should appear before the account dropdown")
|
||||||
_assert(main_screen.account_chevron_button.get_index() == main_screen.account_button.get_index() + 1, "the account avatar and chevron should remain adjacent")
|
_assert(main_screen.account_chevron_button.get_index() == main_screen.account_button.get_index() + 1, "the account avatar and chevron should remain adjacent")
|
||||||
_assert(main_screen.header_panel.find_child("HeaderStats", true, false) == null, "the application header should not display rating or role labels")
|
_assert(main_screen.header_panel.find_child("HeaderStats", true, false) == null, "the application header should not display rating or role labels")
|
||||||
|
var pause_menu_has_profile := false
|
||||||
|
for menu_button in main_screen.app_menu.find_children("*", "Button", true, false):
|
||||||
|
if menu_button.text == "Profile":
|
||||||
|
pause_menu_has_profile = true
|
||||||
|
_assert(not pause_menu_has_profile, "the paused-run menu should not duplicate profile navigation")
|
||||||
_assert(not main_screen.account_chevron_button.visible, "nonessential account controls should collapse on phone-width headers")
|
_assert(not main_screen.account_chevron_button.visible, "nonessential account controls should collapse on phone-width headers")
|
||||||
var question_bank_nav := main_screen.sidebar.find_child("NavQuestionBank", true, false) as Button
|
var question_bank_nav := main_screen.sidebar.find_child("NavQuestionBank", true, false) as Button
|
||||||
_assert(question_bank_nav != null and question_bank_nav.text == "Question Bank", "the Practice navigation item should be replaced by Question Bank")
|
_assert(question_bank_nav != null and question_bank_nav.text == "Question Bank", "the Practice navigation item should be replaced by Question Bank")
|
||||||
|
|||||||