diff --git a/app_state.py b/app_state.py index a5f425b..1819ee1 100644 --- a/app_state.py +++ b/app_state.py @@ -8,7 +8,7 @@ so later rebinding would only ever be seen by the module that did it. import configparser import os -VERSION = "0.0.0.064" +VERSION = "0.0.0.065" PROPERTIES_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "editor.properties") DEFAULT_GRID_SIZE = 10 DEFAULT_ADD_TIMESTAMP = True diff --git a/main.py b/main.py index caaa47f..d4f4a93 100644 --- a/main.py +++ b/main.py @@ -1578,11 +1578,21 @@ def on_tree_filled(): if app_state.current_file_path != _history_file_path: _history_file_path = app_state.current_file_path reset_view_history() + + if _schema_has_incomplete_checksums(): + show_kits() else: _prune_view_history() update_history_controls() +def _schema_has_incomplete_checksums(): + """Whether any declared kit is missing a checksum.""" + if not app_state.active_schema_kits: + return False + return any(cs is None for cs in app_state.active_schema_kits.values()) + + # --- Dialogs --- def open_preferences_dialog(): @@ -2105,8 +2115,11 @@ def refresh_palette_kits(): global palette_kit_names palette.invalidate() - declared = list(app_state.active_schema_kits.keys()) - palette_kit_names = sorted(declared) + + if _schema_has_incomplete_checksums(): + palette_kit_names = [] + else: + palette_kit_names = sorted(app_state.active_schema_kits.keys()) labels = [] for kit_name in palette_kit_names: