Revert "Kit Manager: split available kits by dependency compatibility"

This reverts commit 61888396a5.
This commit is contained in:
2026-09-09 08:25:18 +03:00
parent 61888396a5
commit 3fde5bdcc1
2 changed files with 5 additions and 40 deletions
+4 -39
View File
@@ -21,14 +21,12 @@ from tkinter import messagebox, ttk
import app_state
import palette
import sax_file
import schema
NOT_DECLARED = "—" # em dash, for a column with nothing to report
NO_CHECKSUM = "(no checksum)"
REMOVE_ACTION = "REMOVE from app"
SECTION_TAG = "section"
UNAVAILABLE_TAG = "unavailable"
CHECKBOX_SIZE = 13
@@ -130,17 +128,10 @@ def collect_rows():
required = sax_file.required_kit_names()
installed = palette.list_kits()
# A kit the schema declares but Sedona home does not hold still gets a row: it is the
# clearest place to see that the file points at something missing.
others = [name for name in installed if name not in declared_names]
suitable = []
unsuitable = []
for name in others:
deps = schema.read_kit_dependencies(name)
if all(d in declared_names for d in deps):
suitable.append(name)
else:
unsuitable.append(name)
groups = [
("Installed kits", [
(name, checksum) for name, checksum in declared if name in required
@@ -148,7 +139,7 @@ def collect_rows():
("Installed but not used kits", [
(name, checksum) for name, checksum in declared if name not in required
]),
("Kits available on the computer", [(name, None) for name in suitable]),
("Kits to be installed", [(name, None) for name in others]),
]
rows = []
@@ -182,30 +173,9 @@ def collect_rows():
"latest_text": column_label(*latest) if latest else NOT_DECLARED,
"options": options,
"choice": 0,
# The tick reflects the file as it stands: declared kits start ticked.
"checked": is_declared,
"unavailable": False,
})
if unsuitable:
rows.append({"section": "Other kits on the computer (dependencies not in app)"})
for name in unsuitable:
builds = palette.kit_builds(name)
latest = builds[0] if builds else None
rows.append({
"kit": name,
"declared": False,
"required": False,
"checksum": None,
"builds": builds,
"latest": latest,
"installed_text": NOT_DECLARED,
"latest_text": column_label(*latest) if latest else NOT_DECLARED,
"options": [("Not available", None)],
"choice": 0,
"checked": False,
"unavailable": True,
})
return rows
@@ -269,7 +239,6 @@ class KitsPanel:
self.table.pack(fill=tk.BOTH, expand=True)
self.table.tag_configure(SECTION_TAG, background="#dcdcdc")
self.table.tag_configure(UNAVAILABLE_TAG, foreground="#999999")
self.boxes = {
(True, True): make_checkbox_image(True, True),
@@ -346,10 +315,8 @@ class KitsPanel:
"", "end", values=(row["section"], "", "", ""), tags=(SECTION_TAG,),
)
continue
tags = (UNAVAILABLE_TAG,) if row.get("unavailable") else ()
item = self.table.insert(
"", "end", image=self._row_image(row), values=self._row_values(row),
tags=tags,
)
self.row_by_item[item] = row
@@ -411,8 +378,6 @@ class KitsPanel:
item = self.table.identify_row(event.y)
if item not in self.row_by_item:
return
if self.row_by_item[item].get("unavailable"):
return
column = self.table.identify_column(event.x)
if column == "#0":