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

@ -29,6 +29,9 @@ class Ui_MainWindow(object):
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.addPlayerBtn = QtWidgets.QPushButton(parent=self.playersTab)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/plus.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.addPlayerBtn.setIcon(icon1)
self.addPlayerBtn.setObjectName("addPlayerBtn")
self.horizontalLayout.addWidget(self.addPlayerBtn)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -51,9 +54,9 @@ class Ui_MainWindow(object):
self.playersTable.setHorizontalHeaderItem(3, item)
self.playersTable.horizontalHeader().setStretchLastSection(True)
self.gridLayout.addWidget(self.playersTable, 1, 0, 1, 1)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/users.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.playersTab, icon1, "")
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/users.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.playersTab, icon2, "")
self.warsTab = QtWidgets.QWidget()
self.warsTab.setObjectName("warsTab")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.warsTab)
@ -61,14 +64,17 @@ class Ui_MainWindow(object):
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.addWarBtn = QtWidgets.QPushButton(parent=self.warsTab)
self.addWarBtn.setIcon(icon1)
self.addWarBtn.setObjectName("addWarBtn")
self.horizontalLayout_2.addWidget(self.addWarBtn)
self.addCampaignBtn = QtWidgets.QPushButton(parent=self.warsTab)
self.addCampaignBtn.setEnabled(False)
self.addCampaignBtn.setIcon(icon1)
self.addCampaignBtn.setObjectName("addCampaignBtn")
self.horizontalLayout_2.addWidget(self.addCampaignBtn)
self.addRoundBtn = QtWidgets.QPushButton(parent=self.warsTab)
self.addRoundBtn.setEnabled(False)
self.addRoundBtn.setIcon(icon1)
self.addRoundBtn.setObjectName("addRoundBtn")
self.horizontalLayout_2.addWidget(self.addRoundBtn)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -129,6 +135,7 @@ class Ui_MainWindow(object):
font = QtGui.QFont()
font.setPointSize(10)
self.addObjectiveBtn.setFont(font)
self.addObjectiveBtn.setIcon(icon1)
self.addObjectiveBtn.setObjectName("addObjectiveBtn")
self.horizontalLayout_3.addWidget(self.addObjectiveBtn)
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -190,6 +197,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.addWarParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_2)
self.addWarParticipantBtn.setIcon(icon1)
self.addWarParticipantBtn.setObjectName("addWarParticipantBtn")
self.horizontalLayout_5.addWidget(self.addWarParticipantBtn)
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -254,6 +262,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_17.setObjectName("horizontalLayout_17")
self.addSectorBtn = QtWidgets.QPushButton(parent=self.groupBox_3)
self.addSectorBtn.setEnabled(True)
self.addSectorBtn.setIcon(icon1)
self.addSectorBtn.setObjectName("addSectorBtn")
self.horizontalLayout_17.addWidget(self.addSectorBtn)
spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -287,6 +296,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_18 = QtWidgets.QHBoxLayout()
self.horizontalLayout_18.setObjectName("horizontalLayout_18")
self.addCampaignParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_4)
self.addCampaignParticipantBtn.setIcon(icon1)
self.addCampaignParticipantBtn.setObjectName("addCampaignParticipantBtn")
self.horizontalLayout_18.addWidget(self.addCampaignParticipantBtn)
spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
@ -393,9 +403,9 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addLayout(self.horizontalLayout_9)
self.selectedDetailsStack.addWidget(self.pageRound)
self.verticalLayout_3.addWidget(self.splitter)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/swords-small.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.warsTab, icon2, "")
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/swords-small.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.warsTab, icon3, "")
self.verticalLayout_9.addWidget(self.tabWidget)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
@ -412,50 +422,50 @@ class Ui_MainWindow(object):
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.actionNew = QtGui.QAction(parent=MainWindow)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/document.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionNew.setIcon(icon3)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/document.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionNew.setIcon(icon4)
self.actionNew.setObjectName("actionNew")
self.actionOpen = QtGui.QAction(parent=MainWindow)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/folder.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionOpen.setIcon(icon4)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/folder.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionOpen.setIcon(icon5)
self.actionOpen.setObjectName("actionOpen")
self.actionSave = QtGui.QAction(parent=MainWindow)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/disk.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionSave.setIcon(icon5)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/disk.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionSave.setIcon(icon6)
self.actionSave.setObjectName("actionSave")
self.actionExit = QtGui.QAction(parent=MainWindow)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/door--arrow.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionExit.setIcon(icon6)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/door--arrow.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionExit.setIcon(icon7)
self.actionExit.setObjectName("actionExit")
self.actionUndo = QtGui.QAction(parent=MainWindow)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/arrow-curve-180-left.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionUndo.setIcon(icon7)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/arrow-curve-180-left.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionUndo.setIcon(icon8)
self.actionUndo.setObjectName("actionUndo")
self.actionRedo = QtGui.QAction(parent=MainWindow)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/arrow-curve.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionRedo.setIcon(icon8)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/arrow-curve.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionRedo.setIcon(icon9)
self.actionRedo.setObjectName("actionRedo")
self.actionAbout = QtGui.QAction(parent=MainWindow)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/question.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionAbout.setIcon(icon9)
icon10 = QtGui.QIcon()
icon10.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/question.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionAbout.setIcon(icon10)
self.actionAbout.setObjectName("actionAbout")
self.actionExport = QtGui.QAction(parent=MainWindow)
self.actionExport.setEnabled(False)
icon10 = QtGui.QIcon()
icon10.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/notebook--arrow.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionExport.setIcon(icon10)
icon11 = QtGui.QIcon()
icon11.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/notebook--arrow.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionExport.setIcon(icon11)
self.actionExport.setObjectName("actionExport")
self.actionSave_as = QtGui.QAction(parent=MainWindow)
icon11 = QtGui.QIcon()
icon11.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/disk--pencil.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionSave_as.setIcon(icon11)
icon12 = QtGui.QIcon()
icon12.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/disk--pencil.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionSave_as.setIcon(icon12)
self.actionSave_as.setObjectName("actionSave_as")
self.menuFile.addAction(self.actionNew)
self.menuFile.addAction(self.actionOpen)
@ -474,7 +484,7 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(1)
self.selectedDetailsStack.setCurrentIndex(3)
self.selectedDetailsStack.setCurrentIndex(1)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):

View file

@ -35,6 +35,11 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
self.on_tree_selection_changed: (
Callable[[TreeSelection | None], None] | None
) = None
self.on_major_value_changed: Callable[[int], None] | None = None
self.on_minot_value_changed: Callable[[int], None] | None = None
self.majorValue.setMinimum(0)
self.minorValue.setMinimum(0)
self.on_influence_token_changed: Callable[[int], None] | None = None
self.on_add_campaign: Callable[[], None] | None = None
self.on_add_round: Callable[[], None] | None = None
self.on_edit_item: Callable[[str, str], None] | None = None
@ -82,6 +87,8 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
self.battlesTable.customContextMenuRequested.connect(
self._on_battles_table_context_menu
)
self.majorValue.valueChanged.connect(self._on_major_changed)
self.minorValue.valueChanged.connect(self._on_minor_changed)
def _emit_selection_changed(self, current: QTreeWidgetItem | None) -> None:
if not self.on_tree_selection_changed:
@ -326,6 +333,25 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
table.setItem(row, 1, fact_item)
table.resizeColumnsToContents()
def _on_major_changed(self, value: int) -> None:
self.minorValue.setMaximum(value)
def _on_minor_changed(self, value: int) -> None:
self.majorValue.setMinimum(value)
def set_war_objective_values(self, major: int, minor: int, influence: bool) -> None:
self.majorValue.blockSignals(True)
self.minorValue.blockSignals(True)
self.influenceToken.blockSignals(True)
self.majorValue.setValue(major)
self.minorValue.setValue(minor)
self.influenceToken.setChecked(influence)
self.minorValue.setMaximum(major)
self.majorValue.setMinimum(minor)
self.majorValue.blockSignals(False)
self.minorValue.blockSignals(False)
self.influenceToken.blockSignals(False)
# Campaign page
def _on_sectors_table_context_menu(self, pos: QPoint) -> None: