add background image on empty page

This commit is contained in:
Maxime Réaux 2026-02-26 21:36:58 +01:00
parent ea6ec02f3b
commit d72c9902d4
16 changed files with 123 additions and 102 deletions

View file

@ -38,7 +38,8 @@ class IconName(str, Enum):
DONE = "done" DONE = "done"
WIN = "win" WIN = "win"
PLAYERS = "players" PLAYERS = "players"
WARCHRON = "warchron" WARCHRONICO = "warchron_icon"
WARCHRONBACK = "warchron_background"
TOKEN = "token" TOKEN = "token"
TOKENS = "tokens" TOKENS = "tokens"
VP1ST = "vp1st" VP1ST = "vp1st"
@ -98,7 +99,7 @@ class Icons:
IconName.DONE: "tick.png", IconName.DONE: "tick.png",
IconName.WIN: "trophy.png", IconName.WIN: "trophy.png",
IconName.PLAYERS: "users.png", IconName.PLAYERS: "users.png",
IconName.WARCHRON: "warchron_logo_background.png", IconName.WARCHRONICO: "warchron_icon.png",
IconName.TOKEN: "point.png", IconName.TOKEN: "point.png",
IconName.TOKENS: "points.png", IconName.TOKENS: "points.png",
IconName.VP1ST: "trophy.png", IconName.VP1ST: "trophy.png",
@ -108,6 +109,7 @@ class Icons:
IconName.NP1ST: "medal.png", IconName.NP1ST: "medal.png",
IconName.NP2ND: "medal-silver.png", IconName.NP2ND: "medal-silver.png",
IconName.NP3RD: "medal-bronze.png", IconName.NP3RD: "medal-bronze.png",
IconName.WARCHRONBACK: "warchron_background.png",
} }
@classmethod @classmethod

View file

@ -46,7 +46,7 @@ class BattleDialog(QDialog):
self.ui.score.setText(default_score) self.ui.score.setText(default_score)
self.ui.victoryCondition.setText(default_victory_condition) self.ui.victoryCondition.setText(default_victory_condition)
self.ui.battleComment.setPlainText(default_comment) self.ui.battleComment.setPlainText(default_comment)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_sector_id(self) -> str: def get_sector_id(self) -> str:
return cast(str, self.ui.sectorComboBox.currentData()) return cast(str, self.ui.sectorComboBox.currentData())

View file

@ -17,7 +17,7 @@ class CampaignDialog(QDialog):
self.ui.campaignName.setText(default_name) self.ui.campaignName.setText(default_name)
if default_month is not None: if default_month is not None:
self.ui.campaignMonth.setValue(default_month) self.ui.campaignMonth.setValue(default_month)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_campaign_name(self) -> str: def get_campaign_name(self) -> str:
return self.ui.campaignName.text().strip() return self.ui.campaignName.text().strip()

View file

@ -30,7 +30,7 @@ class CampaignParticipantDialog(QDialog):
self.ui.playerComboBox.setEnabled(editable_player) self.ui.playerComboBox.setEnabled(editable_player)
self.ui.leader.setText(default_leader) self.ui.leader.setText(default_leader)
self.ui.theme.setText(default_theme) self.ui.theme.setText(default_theme)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_player_id(self) -> str: def get_player_id(self) -> str:
return cast(str, self.ui.playerComboBox.currentData()) return cast(str, self.ui.playerComboBox.currentData())

View file

@ -35,7 +35,7 @@ class ChoiceDialog(QDialog):
select_if_exists(self.ui.priorityComboBox, default_priority_id) select_if_exists(self.ui.priorityComboBox, default_priority_id)
select_if_exists(self.ui.secondaryComboBox, default_secondary_id) select_if_exists(self.ui.secondaryComboBox, default_secondary_id)
self.ui.choiceComment.setPlainText(default_comment) self.ui.choiceComment.setPlainText(default_comment)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_participant_id(self) -> str: def get_participant_id(self) -> str:
return cast(str, self.ui.playerComboBox.currentData()) return cast(str, self.ui.playerComboBox.currentData())

View file

@ -17,7 +17,7 @@ class ObjectiveDialog(QDialog):
self.ui.setupUi(self) # type: ignore self.ui.setupUi(self) # type: ignore
self.ui.objectiveName.setText(default_name) self.ui.objectiveName.setText(default_name)
self.ui.objectiveDescription.setPlainText(default_description) self.ui.objectiveDescription.setPlainText(default_description)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_objective_name(self) -> str: def get_objective_name(self) -> str:
return self.ui.objectiveName.text().strip() return self.ui.objectiveName.text().strip()

View file

@ -12,7 +12,7 @@ class PlayerDialog(QDialog):
self.ui: Ui_playerDialog = Ui_playerDialog() self.ui: Ui_playerDialog = Ui_playerDialog()
self.ui.setupUi(self) # type: ignore self.ui.setupUi(self) # type: ignore
self.ui.playerName.setText(default_name) self.ui.playerName.setText(default_name)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_player_name(self) -> str: def get_player_name(self) -> str:
return self.ui.playerName.text().strip() return self.ui.playerName.text().strip()

View file

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

View file

@ -43,7 +43,7 @@ class SectorDialog(QDialog):
select_if_exists(self.ui.influenceComboBox, default_influence_id) select_if_exists(self.ui.influenceComboBox, default_influence_id)
self.ui.sectorMission.setText(default_mission) self.ui.sectorMission.setText(default_mission)
self.ui.sectorDescription.setPlainText(default_description) self.ui.sectorDescription.setPlainText(default_description)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_sector_name(self) -> str: def get_sector_name(self) -> str:
return self.ui.sectorName.text().strip() return self.ui.sectorName.text().strip()

View file

@ -32,7 +32,7 @@ class TieDialog(QDialog):
self._checkboxes: Dict[str, QCheckBox] = {} self._checkboxes: Dict[str, QCheckBox] = {}
self.ui: Ui_tieDialog = Ui_tieDialog() self.ui: Ui_tieDialog = Ui_tieDialog()
self.ui.setupUi(self) # type: ignore self.ui.setupUi(self) # type: ignore
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
self.ui.tieContext.setText(self._get_context_title(context_type)) self.ui.tieContext.setText(self._get_context_title(context_type))
grid = self.ui.playersGridLayout grid = self.ui.playersGridLayout
icon_path = (RESOURCES_DIR / Icons._paths[IconName.TOKENS]).as_posix() icon_path = (RESOURCES_DIR / Icons._paths[IconName.TOKENS]).as_posix()

View file

@ -12,14 +12,14 @@ from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
MainWindow.resize(1235, 954) MainWindow.resize(849, 788)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/warchron_logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) icon.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/warchron_logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
MainWindow.setWindowIcon(icon) MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow) self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget") self.centralwidget.setObjectName("centralwidget")
self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.centralwidget) self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
self.verticalLayout_9.setObjectName("verticalLayout_9") self.gridLayout_2.setObjectName("gridLayout_2")
self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget) self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget)
self.tabWidget.setObjectName("tabWidget") self.tabWidget.setObjectName("tabWidget")
self.playersTab = QtWidgets.QWidget() self.playersTab = QtWidgets.QWidget()
@ -81,19 +81,27 @@ class Ui_MainWindow(object):
self.selectedDetailsStack.setObjectName("selectedDetailsStack") self.selectedDetailsStack.setObjectName("selectedDetailsStack")
self.pageEmpty = QtWidgets.QWidget() self.pageEmpty = QtWidgets.QWidget()
self.pageEmpty.setObjectName("pageEmpty") self.pageEmpty.setObjectName("pageEmpty")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.pageEmpty) self.gridLayout_3 = QtWidgets.QGridLayout(self.pageEmpty)
self.verticalLayout_4.setObjectName("verticalLayout_4") self.gridLayout_3.setObjectName("gridLayout_3")
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
self.horizontalLayout_7.setSizeConstraint(QtWidgets.QLayout.SizeConstraint.SetDefaultConstraint)
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_7.addItem(spacerItem2)
self.labelSelect = QtWidgets.QLabel(parent=self.pageEmpty) self.labelSelect = QtWidgets.QLabel(parent=self.pageEmpty)
font = QtGui.QFont()
font.setPointSize(12)
self.labelSelect.setFont(font)
self.labelSelect.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.labelSelect.setObjectName("labelSelect") self.labelSelect.setObjectName("labelSelect")
self.horizontalLayout_7.addWidget(self.labelSelect) self.gridLayout_3.addWidget(self.labelSelect, 0, 0, 1, 1)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) self.backgroundImage = QtWidgets.QLabel(parent=self.pageEmpty)
self.horizontalLayout_7.addItem(spacerItem3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
self.verticalLayout_4.addLayout(self.horizontalLayout_7) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.backgroundImage.sizePolicy().hasHeightForWidth())
self.backgroundImage.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(11)
self.backgroundImage.setFont(font)
self.backgroundImage.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.backgroundImage.setObjectName("backgroundImage")
self.gridLayout_3.addWidget(self.backgroundImage, 0, 0, 1, 1)
self.selectedDetailsStack.addWidget(self.pageEmpty) self.selectedDetailsStack.addWidget(self.pageEmpty)
self.pageWar = QtWidgets.QWidget() self.pageWar = QtWidgets.QWidget()
self.pageWar.setObjectName("pageWar") self.pageWar.setObjectName("pageWar")
@ -107,8 +115,8 @@ class Ui_MainWindow(object):
self.warName.setFont(font) self.warName.setFont(font)
self.warName.setObjectName("warName") self.warName.setObjectName("warName")
self.horizontalLayout_8.addWidget(self.warName) self.horizontalLayout_8.addWidget(self.warName)
spacerItem4 = QtWidgets.QSpacerItem(630, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem2 = QtWidgets.QSpacerItem(630, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_8.addItem(spacerItem4) self.horizontalLayout_8.addItem(spacerItem2)
self.warYear = QtWidgets.QLabel(parent=self.pageWar) self.warYear = QtWidgets.QLabel(parent=self.pageWar)
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(12) font.setPointSize(12)
@ -129,8 +137,8 @@ class Ui_MainWindow(object):
self.addObjectiveBtn.setEnabled(True) self.addObjectiveBtn.setEnabled(True)
self.addObjectiveBtn.setObjectName("addObjectiveBtn") self.addObjectiveBtn.setObjectName("addObjectiveBtn")
self.horizontalLayout_3.addWidget(self.addObjectiveBtn) self.horizontalLayout_3.addWidget(self.addObjectiveBtn)
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(spacerItem5) self.horizontalLayout_3.addItem(spacerItem3)
self.label = QtWidgets.QLabel(parent=self.groupBox) self.label = QtWidgets.QLabel(parent=self.groupBox)
self.label.setObjectName("label") self.label.setObjectName("label")
self.horizontalLayout_3.addWidget(self.label) self.horizontalLayout_3.addWidget(self.label)
@ -141,8 +149,8 @@ class Ui_MainWindow(object):
self.label_5 = QtWidgets.QLabel(parent=self.groupBox) self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
self.label_5.setObjectName("label_5") self.label_5.setObjectName("label_5")
self.horizontalLayout_3.addWidget(self.label_5) self.horizontalLayout_3.addWidget(self.label_5)
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(spacerItem6) self.horizontalLayout_3.addItem(spacerItem4)
self.label_2 = QtWidgets.QLabel(parent=self.groupBox) self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
self.label_2.setObjectName("label_2") self.label_2.setObjectName("label_2")
self.horizontalLayout_3.addWidget(self.label_2) self.horizontalLayout_3.addWidget(self.label_2)
@ -153,8 +161,8 @@ class Ui_MainWindow(object):
self.label_4 = QtWidgets.QLabel(parent=self.groupBox) self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
self.label_4.setObjectName("label_4") self.label_4.setObjectName("label_4")
self.horizontalLayout_3.addWidget(self.label_4) self.horizontalLayout_3.addWidget(self.label_4)
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(spacerItem7) self.horizontalLayout_3.addItem(spacerItem5)
self.label_3 = QtWidgets.QLabel(parent=self.groupBox) self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
self.label_3.setObjectName("label_3") self.label_3.setObjectName("label_3")
self.horizontalLayout_3.addWidget(self.label_3) self.horizontalLayout_3.addWidget(self.label_3)
@ -164,8 +172,8 @@ class Ui_MainWindow(object):
self.influenceToken.setChecked(True) self.influenceToken.setChecked(True)
self.influenceToken.setObjectName("influenceToken") self.influenceToken.setObjectName("influenceToken")
self.horizontalLayout_3.addWidget(self.influenceToken) self.horizontalLayout_3.addWidget(self.influenceToken)
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(spacerItem8) self.horizontalLayout_3.addItem(spacerItem6)
self.verticalLayout.addLayout(self.horizontalLayout_3) self.verticalLayout.addLayout(self.horizontalLayout_3)
self.objectivesTable = QtWidgets.QTableWidget(parent=self.groupBox) self.objectivesTable = QtWidgets.QTableWidget(parent=self.groupBox)
self.objectivesTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) self.objectivesTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
@ -193,8 +201,8 @@ class Ui_MainWindow(object):
self.addWarParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_2) self.addWarParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_2)
self.addWarParticipantBtn.setObjectName("addWarParticipantBtn") self.addWarParticipantBtn.setObjectName("addWarParticipantBtn")
self.horizontalLayout_5.addWidget(self.addWarParticipantBtn) self.horizontalLayout_5.addWidget(self.addWarParticipantBtn)
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_5.addItem(spacerItem9) self.horizontalLayout_5.addItem(spacerItem7)
self.verticalLayout_2.addLayout(self.horizontalLayout_5) self.verticalLayout_2.addLayout(self.horizontalLayout_5)
self.warParticipantsTable = QtWidgets.QTableWidget(parent=self.groupBox_2) self.warParticipantsTable = QtWidgets.QTableWidget(parent=self.groupBox_2)
self.warParticipantsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) self.warParticipantsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
@ -218,8 +226,8 @@ class Ui_MainWindow(object):
self.verticalLayout_10.addWidget(self.groupBox_2) self.verticalLayout_10.addWidget(self.groupBox_2)
self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.horizontalLayout_6.setObjectName("horizontalLayout_6")
spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_6.addItem(spacerItem10) self.horizontalLayout_6.addItem(spacerItem8)
self.endWarBtn = QtWidgets.QPushButton(parent=self.pageWar) self.endWarBtn = QtWidgets.QPushButton(parent=self.pageWar)
self.endWarBtn.setEnabled(True) self.endWarBtn.setEnabled(True)
self.endWarBtn.setObjectName("endWarBtn") self.endWarBtn.setObjectName("endWarBtn")
@ -238,8 +246,8 @@ class Ui_MainWindow(object):
self.campaignName.setFont(font) self.campaignName.setFont(font)
self.campaignName.setObjectName("campaignName") self.campaignName.setObjectName("campaignName")
self.horizontalLayout_11.addWidget(self.campaignName) self.horizontalLayout_11.addWidget(self.campaignName)
spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_11.addItem(spacerItem11) self.horizontalLayout_11.addItem(spacerItem9)
self.campaignMonth = QtWidgets.QLabel(parent=self.pageCampaign) self.campaignMonth = QtWidgets.QLabel(parent=self.pageCampaign)
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(12) font.setPointSize(12)
@ -260,8 +268,8 @@ class Ui_MainWindow(object):
self.addSectorBtn.setEnabled(True) self.addSectorBtn.setEnabled(True)
self.addSectorBtn.setObjectName("addSectorBtn") self.addSectorBtn.setObjectName("addSectorBtn")
self.horizontalLayout_17.addWidget(self.addSectorBtn) self.horizontalLayout_17.addWidget(self.addSectorBtn)
spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_17.addItem(spacerItem12) self.horizontalLayout_17.addItem(spacerItem10)
self.verticalLayout_5.addLayout(self.horizontalLayout_17) self.verticalLayout_5.addLayout(self.horizontalLayout_17)
self.sectorsTable = QtWidgets.QTableWidget(parent=self.groupBox_3) self.sectorsTable = QtWidgets.QTableWidget(parent=self.groupBox_3)
self.sectorsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) self.sectorsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
@ -298,8 +306,8 @@ class Ui_MainWindow(object):
self.addCampaignParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_4) self.addCampaignParticipantBtn = QtWidgets.QPushButton(parent=self.groupBox_4)
self.addCampaignParticipantBtn.setObjectName("addCampaignParticipantBtn") self.addCampaignParticipantBtn.setObjectName("addCampaignParticipantBtn")
self.horizontalLayout_18.addWidget(self.addCampaignParticipantBtn) self.horizontalLayout_18.addWidget(self.addCampaignParticipantBtn)
spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_18.addItem(spacerItem13) self.horizontalLayout_18.addItem(spacerItem11)
self.verticalLayout_6.addLayout(self.horizontalLayout_18) self.verticalLayout_6.addLayout(self.horizontalLayout_18)
self.campaignParticipantsTable = QtWidgets.QTableWidget(parent=self.groupBox_4) self.campaignParticipantsTable = QtWidgets.QTableWidget(parent=self.groupBox_4)
self.campaignParticipantsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) self.campaignParticipantsTable.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
@ -322,8 +330,8 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addWidget(self.groupBox_4) self.verticalLayout_7.addWidget(self.groupBox_4)
self.horizontalLayout_10 = QtWidgets.QHBoxLayout() self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
self.horizontalLayout_10.setObjectName("horizontalLayout_10") self.horizontalLayout_10.setObjectName("horizontalLayout_10")
spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_10.addItem(spacerItem14) self.horizontalLayout_10.addItem(spacerItem12)
self.endCampaignBtn = QtWidgets.QPushButton(parent=self.pageCampaign) self.endCampaignBtn = QtWidgets.QPushButton(parent=self.pageCampaign)
self.endCampaignBtn.setEnabled(True) self.endCampaignBtn.setEnabled(True)
self.endCampaignBtn.setObjectName("endCampaignBtn") self.endCampaignBtn.setObjectName("endCampaignBtn")
@ -368,8 +376,8 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addWidget(self.groupBox_5) self.verticalLayout_8.addWidget(self.groupBox_5)
self.horizontalLayout_13 = QtWidgets.QHBoxLayout() self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
self.horizontalLayout_13.setObjectName("horizontalLayout_13") self.horizontalLayout_13.setObjectName("horizontalLayout_13")
spacerItem15 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem13 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_13.addItem(spacerItem15) self.horizontalLayout_13.addItem(spacerItem13)
self.resolvePairingBtn = QtWidgets.QPushButton(parent=self.pageRound) self.resolvePairingBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.resolvePairingBtn.setEnabled(False) self.resolvePairingBtn.setEnabled(False)
self.resolvePairingBtn.setObjectName("resolvePairingBtn") self.resolvePairingBtn.setObjectName("resolvePairingBtn")
@ -405,8 +413,8 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addWidget(self.groupBox_6) self.verticalLayout_8.addWidget(self.groupBox_6)
self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
self.horizontalLayout_9.setObjectName("horizontalLayout_9") self.horizontalLayout_9.setObjectName("horizontalLayout_9")
spacerItem16 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) spacerItem14 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.horizontalLayout_9.addItem(spacerItem16) self.horizontalLayout_9.addItem(spacerItem14)
self.endRoundBtn = QtWidgets.QPushButton(parent=self.pageRound) self.endRoundBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.endRoundBtn.setEnabled(True) self.endRoundBtn.setEnabled(True)
self.endRoundBtn.setObjectName("endRoundBtn") self.endRoundBtn.setObjectName("endRoundBtn")
@ -415,10 +423,10 @@ class Ui_MainWindow(object):
self.selectedDetailsStack.addWidget(self.pageRound) self.selectedDetailsStack.addWidget(self.pageRound)
self.verticalLayout_3.addWidget(self.splitter) self.verticalLayout_3.addWidget(self.splitter)
self.tabWidget.addTab(self.warsTab, "") self.tabWidget.addTab(self.warsTab, "")
self.verticalLayout_9.addWidget(self.tabWidget) self.gridLayout_2.addWidget(self.tabWidget, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget) MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow) self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1235, 21)) self.menubar.setGeometry(QtCore.QRect(0, 0, 849, 21))
self.menubar.setObjectName("menubar") self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(parent=self.menubar) self.menuFile = QtWidgets.QMenu(parent=self.menubar)
self.menuFile.setObjectName("menuFile") self.menuFile.setObjectName("menuFile")
@ -468,7 +476,7 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow) self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(1) self.tabWidget.setCurrentIndex(1)
self.selectedDetailsStack.setCurrentIndex(3) self.selectedDetailsStack.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow): def retranslateUi(self, MainWindow):
@ -489,6 +497,7 @@ class Ui_MainWindow(object):
self.addCampaignBtn.setText(_translate("MainWindow", "Add Campaign")) self.addCampaignBtn.setText(_translate("MainWindow", "Add Campaign"))
self.addRoundBtn.setText(_translate("MainWindow", "Add Round")) self.addRoundBtn.setText(_translate("MainWindow", "Add Round"))
self.labelSelect.setText(_translate("MainWindow", "Select an element within the tree to show/edit details.")) self.labelSelect.setText(_translate("MainWindow", "Select an element within the tree to show/edit details."))
self.backgroundImage.setText(_translate("MainWindow", "IMAGE"))
self.warName.setText(_translate("MainWindow", "warName")) self.warName.setText(_translate("MainWindow", "warName"))
self.warYear.setText(_translate("MainWindow", "warYear")) self.warYear.setText(_translate("MainWindow", "warYear"))
self.groupBox.setTitle(_translate("MainWindow", "Objectives")) self.groupBox.setTitle(_translate("MainWindow", "Objectives"))

View file

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1235</width> <width>849</width>
<height>954</height> <height>788</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -18,8 +18,8 @@
<normaloff>../resources/warchron_logo.png</normaloff>../resources/warchron_logo.png</iconset> <normaloff>../resources/warchron_logo.png</normaloff>../resources/warchron_logo.png</iconset>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout_9"> <layout class="QGridLayout" name="gridLayout_2">
<item> <item row="0" column="0">
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>1</number>
@ -157,49 +157,45 @@
</widget> </widget>
<widget class="QStackedWidget" name="selectedDetailsStack"> <widget class="QStackedWidget" name="selectedDetailsStack">
<property name="currentIndex"> <property name="currentIndex">
<number>3</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="pageEmpty"> <widget class="QWidget" name="pageEmpty">
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QGridLayout" name="gridLayout_3">
<item> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_7"> <widget class="QLabel" name="labelSelect">
<property name="sizeConstraint"> <property name="font">
<enum>QLayout::SetDefaultConstraint</enum> <font>
<pointsize>12</pointsize>
</font>
</property> </property>
<item> <property name="text">
<spacer name="horizontalSpacer_2"> <string>Select an element within the tree to show/edit details.</string>
<property name="orientation"> </property>
<enum>Qt::Horizontal</enum> <property name="alignment">
</property> <set>Qt::AlignCenter</set>
<property name="sizeHint" stdset="0"> </property>
<size> </widget>
<width>40</width> </item>
<height>20</height> <item row="0" column="0">
</size> <widget class="QLabel" name="backgroundImage">
</property> <property name="sizePolicy">
</spacer> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
</item> <horstretch>0</horstretch>
<item> <verstretch>0</verstretch>
<widget class="QLabel" name="labelSelect"> </sizepolicy>
<property name="text"> </property>
<string>Select an element within the tree to show/edit details.</string> <property name="font">
</property> <font>
</widget> <pointsize>11</pointsize>
</item> </font>
<item> </property>
<spacer name="horizontalSpacer_4"> <property name="text">
<property name="orientation"> <string>IMAGE</string>
<enum>Qt::Horizontal</enum> </property>
</property> <property name="alignment">
<property name="sizeHint" stdset="0"> <set>Qt::AlignCenter</set>
<size> </property>
<width>40</width> </widget>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
@ -970,7 +966,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1235</width> <width>849</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@ -1078,6 +1074,8 @@
</property> </property>
</action> </action>
</widget> </widget>
<resources/> <resources>
<include location="../resources/resources.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View file

@ -95,7 +95,19 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
def _apply_icons(self) -> None: def _apply_icons(self) -> None:
# Window # Window
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
# Background
pixmap = Icons.get(IconName.WARCHRONBACK).pixmap(512, 512)
scaled = pixmap.scaled(
self.backgroundImage.size(),
Qt.AspectRatioMode.KeepAspectRatio,
Qt.TransformationMode.SmoothTransformation,
)
self.backgroundImage.setPixmap(scaled)
self.backgroundImage.setParent(self.pageEmpty)
self.backgroundImage.setGeometry(self.pageEmpty.rect())
self.backgroundImage.lower()
self.labelSelect.raise_()
# Menu bar # Menu bar
self.actionNew.setIcon(Icons.get(IconName.NEW)) self.actionNew.setIcon(Icons.get(IconName.NEW))
self.actionOpen.setIcon(Icons.get(IconName.OPEN)) self.actionOpen.setIcon(Icons.get(IconName.OPEN))

View file

@ -17,7 +17,7 @@ class WarDialog(QDialog):
self.ui.warName.setText(default_name) self.ui.warName.setText(default_name)
if default_year is not None: if default_year is not None:
self.ui.warYear.setValue(default_year) self.ui.warYear.setValue(default_year)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_war_name(self) -> str: def get_war_name(self) -> str:
return self.ui.warName.text().strip() return self.ui.warName.text().strip()

View file

@ -26,7 +26,7 @@ class WarParticipantDialog(QDialog):
select_if_exists(self.ui.playerComboBox, default_player_id) select_if_exists(self.ui.playerComboBox, default_player_id)
self.ui.playerComboBox.setEnabled(editable_player) self.ui.playerComboBox.setEnabled(editable_player)
self.ui.faction.setText(default_faction) self.ui.faction.setText(default_faction)
self.setWindowIcon(Icons.get(IconName.WARCHRON)) self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
def get_player_id(self) -> str: def get_player_id(self) -> str:
return cast(str, self.ui.playerComboBox.currentData()) return cast(str, self.ui.playerComboBox.currentData())