Fixed crash with unrecognized mods

This fixes issue #4 by giving unrecognized aka "untracked" mods an "Not Tracked" version string.
main
Peery 11 months ago
parent 44640c9427
commit be194b2ad6
Signed by: pandro
SSH Key Fingerprint: SHA256:iBUZSuDxqYr4hYpe9U3BA9NJmXKpbGt4H0S8hUwIbrA

@ -6,7 +6,7 @@ import os
import shutil import shutil
import sys import sys
import tempfile import tempfile
from typing import Tuple, List from typing import Tuple
from zipfile import ZipFile from zipfile import ZipFile
from PyQt6 import QtWidgets from PyQt6 import QtWidgets
@ -17,7 +17,9 @@ from window.main_window import MainWindow
class ModManager: class ModManager:
VERSION = "0.3" VERSION = "0.3.1"
UNKNOWN_MOD_VERSION_STRING = "Not Tracked"
def __init__(self, log_level: int = logging.INFO): def __init__(self, log_level: int = logging.INFO):
self.__logger = logging.getLogger("ModManager") self.__logger = logging.getLogger("ModManager")
@ -283,7 +285,7 @@ class ModManager:
if file in unresolved_files: if file in unresolved_files:
unknown_mod[os.path.basename(file)] = {"mod_files": [file]} unknown_mod[os.path.basename(file)] = {"mod_files": [file]}
for key in unknown_mod.keys(): for key in unknown_mod.keys():
self.installed_mods[key] = unknown_mod[key] self.installed_mods[(key, ModManager.UNKNOWN_MOD_VERSION_STRING)] = unknown_mod[key]
self.__window.set_installed_mods(self.installed_mods) self.__window.set_installed_mods(self.installed_mods)
self.__window.set_available_mods(self.available_mods) self.__window.set_available_mods(self.available_mods)

@ -81,7 +81,7 @@ class MainWindow(QtWidgets.QMainWindow):
if (mod_name, mod_version) in self.parent.available_mods.keys(): if (mod_name, mod_version) in self.parent.available_mods.keys():
mod_version = self.parent.available_mods[(mod_name, mod_version)]['version'] mod_version = self.parent.available_mods[(mod_name, mod_version)]['version']
else: else:
mod_version = "Not Tracked" mod_version = self.parent.UNKNOWN_MOD_VERSION_STRING
item = QStandardItem(mod_name + f" ({mod_version})") item = QStandardItem(mod_name + f" ({mod_version})")
item.setFlags(Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled) item.setFlags(Qt.ItemFlag.ItemIsUserCheckable | Qt.ItemFlag.ItemIsEnabled)
item.setData(Qt.CheckState.Unchecked, Qt.ItemDataRole.CheckStateRole) item.setData(Qt.CheckState.Unchecked, Qt.ItemDataRole.CheckStateRole)

Loading…
Cancel
Save