mirror of
https://github.com/Relintai/pandemonium_engine_easy_charts.git
synced 2024-12-19 13:37:03 +01:00
This commit is contained in:
parent
7126db1d79
commit
f20d470fe9
@ -1,197 +0,0 @@
|
||||
# ----------------------------------------------
|
||||
# ~{ GitHub Integration }~
|
||||
# [Author] Nicolò "fenix" Santilio
|
||||
# [github] fenix-hub/godot-engine.github-integration
|
||||
# [version] 0.2.9
|
||||
# [date] 09.13.2019
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# -----------------------------------------------
|
||||
|
||||
tool
|
||||
extends Control
|
||||
|
||||
onready var VersionCheck : HTTPRequest = $VersionCheck
|
||||
|
||||
onready var SignIn = $SingIn
|
||||
onready var UserPanel = $UserPanel
|
||||
onready var CommitRepo = $Commit
|
||||
onready var Repo = $Repo
|
||||
onready var Gist = $Gist
|
||||
onready var Commit = $Commit
|
||||
onready var LoadNode = $loading
|
||||
onready var Version = $Header/datas/version
|
||||
onready var ConnectionIcon : TextureRect = $Header/datas/connection
|
||||
onready var Header = $Header
|
||||
onready var RestartConnection = Header.get_node("datas/restart_connection")
|
||||
|
||||
|
||||
onready var Menu = $Header/datas/Menu.get_popup()
|
||||
|
||||
var user_avatar : ImageTexture = ImageTexture.new()
|
||||
var user_img = Image.new()
|
||||
|
||||
var connection_status : Array = [
|
||||
IconLoaderGithub.load_icon_from_name("searchconnection"),
|
||||
IconLoaderGithub.load_icon_from_name("noconnection"),
|
||||
IconLoaderGithub.load_icon_from_name("connection")
|
||||
]
|
||||
|
||||
var plugin_version
|
||||
var plugin_name
|
||||
|
||||
func load_config():
|
||||
var config = ConfigFile.new()
|
||||
var err = config.load("res://addons/github-integration/plugin.cfg")
|
||||
if err == OK:
|
||||
plugin_version = config.get_value("plugin","version")
|
||||
plugin_name = "[%s] >> " % config.get_value("plugin","name")
|
||||
|
||||
func _ready():
|
||||
load_config()
|
||||
|
||||
set_darkmode(PluginSettings.darkmode)
|
||||
|
||||
LoadNode.hide()
|
||||
Menu.connect("id_pressed", self, "menu_item_pressed")
|
||||
RestartConnection.connect("pressed",self,"check_connection")
|
||||
VersionCheck.connect("request_completed",self,"_on_version_check")
|
||||
# Debug.connect("toggled",self,"_on_debug_toggled")
|
||||
|
||||
Repo.hide()
|
||||
SignIn.show()
|
||||
SignIn.connect("signed",self,"signed")
|
||||
UserPanel.hide()
|
||||
Commit.hide()
|
||||
|
||||
Version.text = "v "+plugin_version
|
||||
# Debug.set_pressed(PluginSettings.debug)
|
||||
ConnectionIcon.set_texture(connection_status[0])
|
||||
|
||||
# check_connection()
|
||||
ConnectionIcon.use_parent_material = false
|
||||
ConnectionIcon.material.set("shader_param/speed", 3)
|
||||
RestHandler.check_connection()
|
||||
var connection = yield(RestHandler, "_check_connection")
|
||||
match connection:
|
||||
true:
|
||||
SignIn.btnSignIn.set_disabled(false)
|
||||
ConnectionIcon.set_texture(connection_status[2])
|
||||
ConnectionIcon.set_tooltip("Connected to GitHub API")
|
||||
RestartConnection.hide()
|
||||
false:
|
||||
SignIn.btnSignIn.set_disabled(true)
|
||||
ConnectionIcon.set_texture(connection_status[1])
|
||||
ConnectionIcon.set_tooltip("Can't connect to GitHub API, check your internet connection or API status")
|
||||
RestartConnection.show()
|
||||
ConnectionIcon.use_parent_material = true
|
||||
ConnectionIcon.material.set("shader_param/speed", 0)
|
||||
|
||||
Menu.set_item_checked(0, PluginSettings.debug)
|
||||
Menu.set_item_checked(1, PluginSettings.auto_log)
|
||||
VersionCheck.request("https://api.github.com/repos/fenix-hub/godot-engine.github-integration/tags",[],false,HTTPClient.METHOD_GET,"")
|
||||
|
||||
if PluginSettings.auto_log:
|
||||
SignIn.sign_in()
|
||||
|
||||
func check_connection():
|
||||
pass
|
||||
|
||||
func loading(value : bool) -> void:
|
||||
LoadNode.visible = value
|
||||
|
||||
func show_loading_progress(value : float, max_value : float) -> void:
|
||||
LoadNode.show_progress(value,max_value)
|
||||
|
||||
func hide_loading_progress():
|
||||
LoadNode.hide_progress()
|
||||
|
||||
func show_number(value : float, type : String) -> void:
|
||||
LoadNode.show_number(value,type)
|
||||
|
||||
func hide_number():
|
||||
LoadNode.hide_number()
|
||||
|
||||
func signed() -> void:
|
||||
UserPanel.load_panel()
|
||||
set_avatar(UserData.AVATAR)
|
||||
set_username(UserData.USER.login)
|
||||
|
||||
func print_debug_message(message : String = "",type : int = 0):
|
||||
if PluginSettings.debug == true:
|
||||
match type:
|
||||
0:
|
||||
print(plugin_name,message)
|
||||
1:
|
||||
printerr(plugin_name,message)
|
||||
2:
|
||||
push_warning(plugin_name+message)
|
||||
|
||||
func _on_debug_toggled(button_pressed):
|
||||
PluginSettings.set_debug(button_pressed)
|
||||
Menu.set_item_checked(0, PluginSettings.debug)
|
||||
if button_pressed:
|
||||
print(plugin_name, "Debug Enabled")
|
||||
else:
|
||||
print(plugin_name, "Debug Disabled")
|
||||
|
||||
func _on_autologin_toggled(button_pressed):
|
||||
PluginSettings.set_auto_log(button_pressed)
|
||||
Menu.set_item_checked(1, PluginSettings.auto_log)
|
||||
if button_pressed:
|
||||
print(plugin_name, "Auto Login Enabled")
|
||||
else:
|
||||
print(plugin_name, "Auto Login Disabled")
|
||||
|
||||
|
||||
func menu_item_pressed(id : int):
|
||||
match id:
|
||||
0:
|
||||
_on_debug_toggled(!Menu.is_item_checked(id))
|
||||
1:
|
||||
_on_autologin_toggled(!Menu.is_item_checked(id))
|
||||
3:
|
||||
OS.shell_open("https://github.com/fenix-hub/godot-engine.github-integration/wiki")
|
||||
5:
|
||||
logout()
|
||||
7:
|
||||
set_darkmode(!Menu.is_item_checked(id))
|
||||
|
||||
func logout():
|
||||
set_avatar(IconLoaderGithub.load_icon_from_name("circle"))
|
||||
set_username("user")
|
||||
SignIn.show()
|
||||
UserPanel.hide()
|
||||
Repo.hide()
|
||||
Commit.hide()
|
||||
Gist.hide()
|
||||
SignIn.Mail.text = ""
|
||||
SignIn.Token.text = ""
|
||||
|
||||
func set_darkmode(darkmode : bool):
|
||||
PluginSettings.set_darkmode(darkmode)
|
||||
Menu.set_item_checked(7, PluginSettings.darkmode)
|
||||
SignIn.set_darkmode(darkmode)
|
||||
UserPanel.set_darkmode(darkmode)
|
||||
Repo.set_darkmode(darkmode)
|
||||
Commit.set_darkmode(darkmode)
|
||||
Gist.set_darkmode(darkmode)
|
||||
Header.set_darkmode(darkmode)
|
||||
|
||||
|
||||
func set_avatar(avatar : ImageTexture):
|
||||
$Header/datas/avatar.texture = avatar
|
||||
|
||||
func set_username(username : String):
|
||||
$Header/datas/user.text = username
|
||||
|
||||
func _on_version_check(result, response_code, headers, body ):
|
||||
if result == 0:
|
||||
if response_code == 200:
|
||||
var tags : Array = JSON.parse(body.get_string_from_utf8()).result
|
||||
var first_tag : Dictionary = tags[0] as Dictionary
|
||||
if first_tag.name != ("v"+plugin_version):
|
||||
print_debug_message("a new plugin version has been found, current version is %s and new version is %s" % [("v"+plugin_version), first_tag.name],1)
|
Loading…
Reference in New Issue
Block a user