add objective values settings

This commit is contained in:
Maxime Réaux 2026-02-10 16:26:49 +01:00
parent f04aeaf525
commit 7f0d86f6dd
6 changed files with 133 additions and 34 deletions

View file

@ -45,6 +45,9 @@ class AppController:
self.view.actionSave_as.triggered.connect(self.save_as)
self.view.addPlayerBtn.clicked.connect(self.players.add_player)
self.view.addWarBtn.clicked.connect(self.wars.add_war)
self.view.majorValue.valueChanged.connect(self.wars.set_major_value)
self.view.minorValue.valueChanged.connect(self.wars.set_minor_value)
self.view.influenceToken.toggled.connect(self.wars.set_influence_token)
self.view.addObjectiveBtn.clicked.connect(self.wars.add_objective)
self.view.addWarParticipantBtn.clicked.connect(self.wars.add_war_participant)
self.view.addSectorBtn.clicked.connect(self.campaigns.add_sector)

View file

@ -23,6 +23,11 @@ class WarController:
def _fill_war_details(self, war_id: str) -> None:
war = self.app.model.get_war(war_id)
self.app.view.show_war_details(name=war.name, year=war.year)
self.app.view.set_war_objective_values(
major=war.major_value,
minor=war.minor_value,
influence=war.influence_token,
)
objectives = war.get_all_objectives()
objectives_for_display: List[ObjectiveDTO] = [
ObjectiveDTO(id=obj.id, name=obj.name, description=obj.description)
@ -81,6 +86,27 @@ class WarController:
return
self.app.model.update_war(war_id, name=name, year=year)
def set_major_value(self, value: int) -> None:
war_id = self.app.navigation.selected_war_id
if not war_id:
return
self.app.model.set_major_value(war_id, value)
self.app.is_dirty = True
def set_minor_value(self, value: int) -> None:
war_id = self.app.navigation.selected_war_id
if not war_id:
return
self.app.model.set_minor_value(war_id, value)
self.app.is_dirty = True
def set_influence_token(self, checked: bool) -> None:
war_id = self.app.navigation.selected_war_id
if not war_id:
return
self.app.model.set_influence_token(war_id, checked)
self.app.is_dirty = True
# Objective methods
def _validate_objective_inputs(self, name: str, description: str) -> bool: