From 74215110798c52cb190404df730fb3dc5209b7f3 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 14 Jun 2021 15:17:07 +0200 Subject: [PATCH] fix: override operator --- multi_user/operators.py | 47 ++++++--------------------------------- multi_user/preferences.py | 5 ++++- 2 files changed, 11 insertions(+), 41 deletions(-) diff --git a/multi_user/operators.py b/multi_user/operators.py index 7d6d4ff..d8bff20 100644 --- a/multi_user/operators.py +++ b/multi_user/operators.py @@ -921,24 +921,21 @@ class SessionPresetServerAdd(bpy.types.Operator): assert(context) return context.window_manager.invoke_props_dialog(self) - def draw(self, context): layout = self.layout - # TODO: menu pour rentrer le nom - # TODO: override en label pour prévenir (icon) si jamais ce nom existe déjà - col = layout.column() settings = utils.get_preferences() + col.prop(settings, "server_name", text="server name") - def execute(self, context): assert(context) settings = utils.get_preferences() existing_preset = settings.server_preset.get(settings.server_name) + new_server = existing_preset if existing_preset else settings.server_preset.add() new_server.name = settings.server_name new_server.server_ip = settings.ip @@ -947,43 +944,14 @@ class SessionPresetServerAdd(bpy.types.Operator): settings.server_preset_interface = settings.server_name + if new_server == existing_preset : + self.report({'INFO'}, "Server '" + settings.server_name + "' override") + else : + self.report({'INFO'}, "New '" + settings.server_name + "' server preset") + return {'FINISHED'} -# class SessionPresetServerOverwrite(bpy.types.Operator): -# bl_idname = "session.preset_server_overwrite" -# bl_description = "Overwrite the server preset that already has this name" # TODO : or increment the name -# bl_label = "Overwrite server preset ?" -# bl_options = {'REGISTER'} - -# @classmethod -# def poll(cls, context): -# return True - -# def execute(self, context): -# assert(context) - -# settings = utils.get_preferences() - -# old_server = settings.server_preset.get(settings.server_name) - -# old_server.server_ip = settings.ip -# old_server.server_port = settings.port -# old_server.server_password = settings.password - -# settings.server_preset_interface = settings.server_name - -# self.report({'INFO'}, "Server overwrite") - -# return {'FINISHED'} - -# def invoke(self, context, event): -# assert(context) - -# settings = utils.get_preferences() - -# return context.window_manager.invoke_confirm(self, event) - class SessionPresetServerRemove(bpy.types.Operator): """Remove a server to the server list preset""" bl_idname = "session.preset_server_remove" @@ -1030,7 +998,6 @@ classes = ( SessionPurgeOperator, SessionPresetServerAdd, SessionPresetServerRemove, - # SessionPresetServerOverwrite, ) def update_external_dependencies(): diff --git a/multi_user/preferences.py b/multi_user/preferences.py index 6b7cb20..2c5afea 100644 --- a/multi_user/preferences.py +++ b/multi_user/preferences.py @@ -42,7 +42,7 @@ DEFAULT_PRESETS = { "public session" : { "server_ip": "51.75.71.183", "server_port": 5555, - "server_password": "admin" + "server_password": "" }, } @@ -473,6 +473,9 @@ class SessionPrefs(bpy.types.AddonPreferences): # custom at launch server preset def generate_default_presets(self): for preset_name, preset_data in DEFAULT_PRESETS.items(): + existing_preset = self.server_preset.get(preset_name) + if existing_preset : + continue new_server = self.server_preset.add() new_server.name = preset_name new_server.server_ip = preset_data.get('server_ip')