fix sector missing fields

This commit is contained in:
Maxime Réaux 2026-02-12 09:10:03 +01:00
parent 6cbb7c6534
commit 93aae78f0d
10 changed files with 102 additions and 14 deletions

View file

@ -19,6 +19,8 @@ class SectorDialog(QDialog):
default_major_id: str | None = None,
default_minor_id: str | None = None,
default_influence_id: str | None = None,
default_mission: str | None = None,
default_description: str | None = None,
) -> None:
super().__init__(parent)
self.ui: Ui_sectorDialog = Ui_sectorDialog()
@ -38,6 +40,8 @@ class SectorDialog(QDialog):
select_if_exists(self.ui.majorComboBox, default_major_id)
select_if_exists(self.ui.minorComboBox, default_minor_id)
select_if_exists(self.ui.influenceComboBox, default_influence_id)
self.ui.sectorMission.setText(default_mission)
self.ui.sectorDescription.setPlainText(default_description)
def get_sector_name(self) -> str:
return self.ui.sectorName.text().strip()
@ -58,5 +62,10 @@ class SectorDialog(QDialog):
text = cast(str, self.ui.influenceComboBox.currentData())
return text if text else None
def get_mission(self) -> str | None:
text = self.ui.sectorMission.text().strip()
return text if text else None
# TODO fix mission + description missing
def get_description(self) -> str | None:
text = self.ui.sectorDescription.toPlainText().strip()
return text if text else None

View file

@ -272,7 +272,7 @@ class Ui_MainWindow(object):
self.sectorsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
self.sectorsTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
self.sectorsTable.setObjectName("sectorsTable")
self.sectorsTable.setColumnCount(6)
self.sectorsTable.setColumnCount(7)
self.sectorsTable.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(0, item)
@ -286,6 +286,8 @@ class Ui_MainWindow(object):
self.sectorsTable.setHorizontalHeaderItem(4, item)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(5, item)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(6, item)
self.sectorsTable.horizontalHeader().setStretchLastSection(False)
self.verticalLayout_5.addWidget(self.sectorsTable)
self.verticalLayout_7.addWidget(self.groupBox_3)
@ -381,7 +383,7 @@ class Ui_MainWindow(object):
self.battlesTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
self.battlesTable.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
self.battlesTable.setObjectName("battlesTable")
self.battlesTable.setColumnCount(3)
self.battlesTable.setColumnCount(5)
self.battlesTable.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.battlesTable.setHorizontalHeaderItem(0, item)
@ -389,6 +391,10 @@ class Ui_MainWindow(object):
self.battlesTable.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.battlesTable.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.battlesTable.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.battlesTable.setHorizontalHeaderItem(4, item)
self.battlesTable.horizontalHeader().setStretchLastSection(False)
self.horizontalLayout_12.addWidget(self.battlesTable)
self.verticalLayout_8.addWidget(self.groupBox_6)
@ -546,12 +552,14 @@ class Ui_MainWindow(object):
item = self.sectorsTable.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Round"))
item = self.sectorsTable.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Major obj."))
item.setText(_translate("MainWindow", "Mission"))
item = self.sectorsTable.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "Minor opp."))
item.setText(_translate("MainWindow", "Major obj."))
item = self.sectorsTable.horizontalHeaderItem(4)
item.setText(_translate("MainWindow", "Influence imp."))
item.setText(_translate("MainWindow", "Minor opp."))
item = self.sectorsTable.horizontalHeaderItem(5)
item.setText(_translate("MainWindow", "Influence imp."))
item = self.sectorsTable.horizontalHeaderItem(6)
item.setText(_translate("MainWindow", "Description"))
self.groupBox_4.setTitle(_translate("MainWindow", "Participants"))
self.addCampaignParticipantBtn.setText(_translate("MainWindow", "Add participant"))
@ -585,6 +593,10 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Player 1"))
item = self.battlesTable.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Player 2"))
item = self.battlesTable.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "Score"))
item = self.battlesTable.horizontalHeaderItem(4)
item.setText(_translate("MainWindow", "Victory condition"))
self.endRoundBtn.setText(_translate("MainWindow", "End round"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.warsTab), _translate("MainWindow", "Wars"))
self.menuFile.setTitle(_translate("MainWindow", "File"))

View file

@ -662,6 +662,11 @@
<string>Round</string>
</property>
</column>
<column>
<property name="text">
<string>Mission</string>
</property>
</column>
<column>
<property name="text">
<string>Major obj.</string>
@ -917,6 +922,16 @@
<string>Player 2</string>
</property>
</column>
<column>
<property name="text">
<string>Score</string>
</property>
</column>
<column>
<property name="text">
<string>Victory condition</string>
</property>
</column>
</widget>
</item>
</layout>

View file

@ -431,15 +431,19 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
round_item = QtWidgets.QTableWidgetItem(
format_round_label(sect.round_index)
)
mission_item = QtWidgets.QTableWidgetItem(sect.mission)
major_item = QtWidgets.QTableWidgetItem(sect.major)
minor_item = QtWidgets.QTableWidgetItem(sect.minor)
influence_item = QtWidgets.QTableWidgetItem(sect.influence)
description_item = QtWidgets.QTableWidgetItem(sect.description)
name_item.setData(Qt.ItemDataRole.UserRole, sect.id)
table.setItem(row, 0, name_item)
table.setItem(row, 1, round_item)
table.setItem(row, 2, major_item)
table.setItem(row, 3, minor_item)
table.setItem(row, 4, influence_item)
table.setItem(row, 2, mission_item)
table.setItem(row, 3, major_item)
table.setItem(row, 4, minor_item)
table.setItem(row, 5, influence_item)
table.setItem(row, 6, description_item)
table.resizeColumnsToContents()
def display_campaign_participants(