- Added a placeholder menu that will eventually allow showing and hiding BugMarkers in the editor.
- Added a bunch of placeholder project settings to be used for submitting bugs to various bug tracking platforms.
This commit is contained in:
parent
49a9f775b8
commit
4b80ab327a
109
bugbot.gd
109
bugbot.gd
@ -1,12 +1,121 @@
|
||||
@tool
|
||||
extends EditorPlugin
|
||||
|
||||
enum BugbotMenuItems {
|
||||
SHOW_BUG_MARKERS,
|
||||
HIDE_BUG_MARKERS
|
||||
}
|
||||
|
||||
enum BugReportPlatform {
|
||||
BUGZILLA,
|
||||
GITEA,
|
||||
JIRA
|
||||
}
|
||||
|
||||
var __bugbot_menu_button : BugbotMenuButton
|
||||
|
||||
func _enter_tree() -> void:
|
||||
__initialise_project_settings()
|
||||
|
||||
__bugbot_menu_button = preload("res://addons/Bugbot/bugbot_menu_button.tscn").instantiate() as BugbotMenuButton
|
||||
add_control_to_container(CustomControlContainer.CONTAINER_SPATIAL_EDITOR_MENU, __bugbot_menu_button)
|
||||
|
||||
# Setup popup menu
|
||||
var bugbot_menu : PopupMenu = __bugbot_menu_button.get_popup()
|
||||
bugbot_menu.add_item("Show Bug Markers", BugbotMenuItems.SHOW_BUG_MARKERS)
|
||||
bugbot_menu.add_item("Hide Bug Markers", BugbotMenuItems.HIDE_BUG_MARKERS)
|
||||
bugbot_menu.id_pressed.connect(__on_bugbot_menu_item_pressed)
|
||||
|
||||
# This is where we should initialise options for showing bug markers
|
||||
pass
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
remove_control_from_container(CustomControlContainer.CONTAINER_SPATIAL_EDITOR_MENU, __bugbot_menu_button)
|
||||
__bugbot_menu_button.queue_free()
|
||||
|
||||
# This is where we should remove any visible bug markers
|
||||
pass
|
||||
|
||||
|
||||
func __initialise_project_settings():
|
||||
__add_project_setting("bugbot/bug_report_platform", TYPE_INT, BugReportPlatform.BUGZILLA, PROPERTY_HINT_ENUM, "Bugzilla,Gitea,Jira")
|
||||
|
||||
#region Placement
|
||||
__add_project_setting("bugbot/bug_placement/precise_placement_distance", TYPE_FLOAT, 15.0, PROPERTY_HINT_RANGE, "0.0,100.0,0.1,or_greater")
|
||||
__add_project_setting("bugbot/bug_placement/arbitrary_placement_distance", TYPE_FLOAT, 2.5, PROPERTY_HINT_RANGE, "0.0,100.0,0.1,or_greater")
|
||||
#endregion
|
||||
|
||||
#region Reporting
|
||||
__add_project_setting("bugbot/reporting/bug_report_widget_depth", TYPE_INT, 10000)
|
||||
|
||||
#region Bugzilla
|
||||
__add_project_setting("bugbot/reporting/bugzilla/server", TYPE_STRING, "https://127.0.0.1:4433")
|
||||
__add_project_setting("bugbot/reporting/bugzilla/REST_URI", TYPE_STRING, "rest/")
|
||||
__add_project_setting("bugbot/reporting/bugzilla/product_name", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/bugzilla/API_key", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/bugzilla/default_status", TYPE_STRING, "UNCONFIRMED")
|
||||
#endregion
|
||||
#region Gitea
|
||||
__add_project_setting("bugbot/reporting/gitea/server", TYPE_STRING, "https://127.0.0.1:4433")
|
||||
__add_project_setting("bugbot/reporting/gitea/base_URL", TYPE_STRING, "api/v1/")
|
||||
__add_project_setting("bugbot/reporting/gitea/owner_name", TYPE_STRING, "ProjectOwner")
|
||||
__add_project_setting("bugbot/reporting/gitea/repo_name", TYPE_STRING, "ProjectName")
|
||||
__add_project_setting("bugbot/reporting/gitea/API_key", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/gitea/default_label", TYPE_STRING, "Kind/Bug")
|
||||
__add_project_setting("bugbot/reporting/gitea/default_status", TYPE_STRING, "Status/Need More Info")
|
||||
#endregion
|
||||
#region Jira
|
||||
__add_project_setting("bugbot/reporting/jira/server", TYPE_STRING, "https://127.0.0.1:4433")
|
||||
__add_project_setting("bugbot/reporting/jira/REST_URI", TYPE_STRING, "rest/")
|
||||
__add_project_setting("bugbot/reporting/jira/project_name", TYPE_STRING, "ProjectName")
|
||||
__add_project_setting("bugbot/reporting/jira/email", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/API_key", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/bug_issue_type", TYPE_STRING, "Bug")
|
||||
__add_project_setting("bugbot/reporting/jira/map_name_field", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/marker_location_field", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/optional_fields/department_field", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/optional_fields/severity_field", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/optional_fields/platform_field", TYPE_STRING, "")
|
||||
__add_project_setting("bugbot/reporting/jira/optional_fields/version_field", TYPE_STRING, "")
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Bug Markers
|
||||
__add_project_setting("bugbot/markers/unresolved/show_unresolved_bugs", TYPE_BOOL, true)
|
||||
__add_project_setting("bugbot/markers/unresolved/tint", TYPE_COLOR, Color(0.1,0.0,0.0))
|
||||
__add_project_setting("bugbot/markers/unresolved/unresolved_statuses", TYPE_ARRAY, Array(), PROPERTY_HINT_ARRAY_TYPE, "String")
|
||||
|
||||
__add_project_setting("bugbot/markers/in_progress/show_in_progress_bugs", TYPE_BOOL, true)
|
||||
__add_project_setting("bugbot/markers/in_progress/tint", TYPE_COLOR, Color(0.5,0.5,0.0))
|
||||
__add_project_setting("bugbot/markers/in_progress/in_progress_statuses", TYPE_ARRAY, Array(), PROPERTY_HINT_ARRAY_TYPE, "String")
|
||||
|
||||
__add_project_setting("bugbot/markers/resolved/show_resolved_bugs", TYPE_BOOL, false)
|
||||
__add_project_setting("bugbot/markers/resolved/tint", TYPE_COLOR, Color(0.0,1.0,0.0))
|
||||
__add_project_setting("bugbot/markers/resolved/resolved_statuses", TYPE_ARRAY, Array(), PROPERTY_HINT_ARRAY_TYPE, "String")
|
||||
#endregion
|
||||
|
||||
#region Batch Loading
|
||||
__add_project_setting("bugbot/markers/display/load_markers_batch", TYPE_INT, 10)
|
||||
__add_project_setting("bugbot/markers/display/unload_markers_batch", TYPE_INT, 25)
|
||||
#endregion
|
||||
|
||||
func __on_bugbot_menu_item_pressed(id:int):
|
||||
match id:
|
||||
BugbotMenuItems.SHOW_BUG_MARKERS:
|
||||
print("Show Bug Markers is happening.")
|
||||
BugbotMenuItems.HIDE_BUG_MARKERS:
|
||||
print("Show Bug Markers is not happening. In fact, the opposite of that.")
|
||||
|
||||
func __add_project_setting(_setting:String, _type:int, _default_value:Variant, _hint:int = PropertyHint.PROPERTY_HINT_NONE, _hint_string:String = ""):
|
||||
var setting_info: Dictionary = {
|
||||
"name": _setting,
|
||||
"type": _type,
|
||||
"hint": _hint,
|
||||
"hint_string": _hint_string
|
||||
}
|
||||
|
||||
if not ProjectSettings.has_setting(_setting):
|
||||
ProjectSettings.set_setting(_setting, _default_value)
|
||||
ProjectSettings.add_property_info(setting_info)
|
||||
ProjectSettings.set_initial_value(_setting, _default_value)
|
||||
|
||||
2
bugbot_menu_button.gd
Normal file
2
bugbot_menu_button.gd
Normal file
@ -0,0 +1,2 @@
|
||||
class_name BugbotMenuButton
|
||||
extends MenuButton
|
||||
9
bugbot_menu_button.tscn
Normal file
9
bugbot_menu_button.tscn
Normal file
@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://co7opobmvswt1"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/Bugbot/bugbot_menu_button.gd" id="1_n0pdf"]
|
||||
|
||||
[node name="BugbotMenuButton" type="MenuButton"]
|
||||
offset_right = 64.0
|
||||
offset_bottom = 31.0
|
||||
text = "Bugbot"
|
||||
script = ExtResource("1_n0pdf")
|
||||
Loading…
x
Reference in New Issue
Block a user