move war settings in a dedicated menu
This commit is contained in:
parent
7a9322aa75
commit
188f5256fb
13 changed files with 924 additions and 251 deletions
|
|
@ -42,9 +42,7 @@ class AppController:
|
||||||
self.view.actionAbout.triggered.connect(self.show_about)
|
self.view.actionAbout.triggered.connect(self.show_about)
|
||||||
self.view.addPlayerBtn.clicked.connect(lambda: self.add_item(ItemType.PLAYER))
|
self.view.addPlayerBtn.clicked.connect(lambda: self.add_item(ItemType.PLAYER))
|
||||||
self.view.addWarBtn.clicked.connect(lambda: self.add_item(ItemType.WAR))
|
self.view.addWarBtn.clicked.connect(lambda: self.add_item(ItemType.WAR))
|
||||||
self.view.majorValue.valueChanged.connect(self.wars.set_major_value)
|
self.view.settingsBtn.clicked.connect(self.wars.open_settings)
|
||||||
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.view.addObjectiveBtn.clicked.connect(
|
||||||
lambda: self.add_item(ItemType.OBJECTIVE)
|
lambda: self.add_item(ItemType.OBJECTIVE)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -138,3 +138,10 @@ class WarParticipantScoreDTO:
|
||||||
@dataclass
|
@dataclass
|
||||||
class TieDialogData:
|
class TieDialogData:
|
||||||
title: str
|
title: str
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class WarSettingsDTO:
|
||||||
|
major_value: int
|
||||||
|
minor_value: int
|
||||||
|
influence_token: bool
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,10 @@ if TYPE_CHECKING:
|
||||||
from warchron.controller.dtos import (
|
from warchron.controller.dtos import (
|
||||||
ParticipantOption,
|
ParticipantOption,
|
||||||
WarParticipantScoreDTO,
|
WarParticipantScoreDTO,
|
||||||
|
WarSettingsDTO,
|
||||||
ObjectiveDTO,
|
ObjectiveDTO,
|
||||||
)
|
)
|
||||||
from warchron.model.war import War
|
from warchron.model.war import War, WarSettings
|
||||||
from warchron.model.war_participant import WarParticipant
|
from warchron.model.war_participant import WarParticipant
|
||||||
from warchron.model.objective import Objective
|
from warchron.model.objective import Objective
|
||||||
from warchron.model.tiebreaking import TieContext, TieBreaker
|
from warchron.model.tiebreaking import TieContext, TieBreaker
|
||||||
|
|
@ -33,6 +34,7 @@ from warchron.view.war_dialog import WarDialog
|
||||||
from warchron.view.objective_dialog import ObjectiveDialog
|
from warchron.view.objective_dialog import ObjectiveDialog
|
||||||
from warchron.view.war_participant_dialog import WarParticipantDialog
|
from warchron.view.war_participant_dialog import WarParticipantDialog
|
||||||
from warchron.view.tie_dialog import TieDialog
|
from warchron.view.tie_dialog import TieDialog
|
||||||
|
from warchron.view.settings_dialog import SettingsDialog
|
||||||
|
|
||||||
|
|
||||||
class WarController:
|
class WarController:
|
||||||
|
|
@ -42,11 +44,6 @@ class WarController:
|
||||||
def _fill_war_details(self, war_id: str) -> None:
|
def _fill_war_details(self, war_id: str) -> None:
|
||||||
war = self.app.model.get_war(war_id)
|
war = self.app.model.get_war(war_id)
|
||||||
self.app.view.show_war_details(name=war.name, year=war.year)
|
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 = war.get_all_objectives()
|
||||||
objectives_for_display: List[ObjectiveDTO] = [
|
objectives_for_display: List[ObjectiveDTO] = [
|
||||||
ObjectiveDTO(id=obj.id, name=obj.name, description=obj.description)
|
ObjectiveDTO(id=obj.id, name=obj.name, description=obj.description)
|
||||||
|
|
@ -189,50 +186,32 @@ class WarController:
|
||||||
bids_map[ctx.key()] = dialog.get_bids()
|
bids_map[ctx.key()] = dialog.get_bids()
|
||||||
return bids_map
|
return bids_map
|
||||||
|
|
||||||
def set_major_value(self, value: int) -> None:
|
def open_settings(self) -> None:
|
||||||
war_id = self.app.navigation.selected_war_id
|
war_id = self.app.navigation.selected_war_id
|
||||||
if not war_id:
|
if not war_id:
|
||||||
return
|
return
|
||||||
try:
|
settings = self.app.model.get_war_settings(war_id)
|
||||||
self.app.model.set_major_value(war_id, value)
|
settings_for_display = WarSettingsDTO(
|
||||||
except DomainError as e:
|
major_value=settings.major_value,
|
||||||
QMessageBox.warning(
|
minor_value=settings.minor_value,
|
||||||
self.app.view,
|
influence_token=settings.influence_token,
|
||||||
"Setting forbidden",
|
|
||||||
str(e),
|
|
||||||
)
|
)
|
||||||
|
dialog = SettingsDialog(self.app.view)
|
||||||
|
dialog.load_settings(settings_for_display)
|
||||||
|
if dialog.exec() != QDialog.DialogCode.Accepted:
|
||||||
return
|
return
|
||||||
self.app.is_dirty = True
|
if not dialog.has_changes():
|
||||||
self.app.navigation.refresh(RefreshScope.CURRENT_SELECTION_DETAILS)
|
|
||||||
|
|
||||||
def set_minor_value(self, value: int) -> None:
|
|
||||||
war_id = self.app.navigation.selected_war_id
|
|
||||||
if not war_id:
|
|
||||||
return
|
return
|
||||||
try:
|
new_settingsDTO = dialog.get_settings()
|
||||||
self.app.model.set_minor_value(war_id, value)
|
new_settings = WarSettings(
|
||||||
except DomainError as e:
|
new_settingsDTO.major_value,
|
||||||
QMessageBox.warning(
|
new_settingsDTO.minor_value,
|
||||||
self.app.view,
|
new_settingsDTO.influence_token,
|
||||||
"Setting forbidden",
|
|
||||||
str(e),
|
|
||||||
)
|
)
|
||||||
return
|
|
||||||
self.app.is_dirty = True
|
|
||||||
self.app.navigation.refresh(RefreshScope.CURRENT_SELECTION_DETAILS)
|
|
||||||
|
|
||||||
def set_influence_token(self, checked: bool) -> None:
|
|
||||||
war_id = self.app.navigation.selected_war_id
|
|
||||||
if not war_id:
|
|
||||||
return
|
|
||||||
try:
|
try:
|
||||||
self.app.model.set_influence_token(war_id, checked)
|
self.app.model.apply_war_settings(war_id, new_settings)
|
||||||
except DomainError as e:
|
except DomainError as e:
|
||||||
QMessageBox.warning(
|
QMessageBox.warning(self.app.view, "Setting forbidden", str(e))
|
||||||
self.app.view,
|
|
||||||
"Setting forbidden",
|
|
||||||
str(e),
|
|
||||||
)
|
|
||||||
return
|
return
|
||||||
except RequiresConfirmation as e:
|
except RequiresConfirmation as e:
|
||||||
reply = QMessageBox.question(
|
reply = QMessageBox.question(
|
||||||
|
|
@ -245,7 +224,7 @@ class WarController:
|
||||||
e.action()
|
e.action()
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
self.app.is_dirty = True
|
self.is_dirty = True
|
||||||
self.app.navigation.refresh(RefreshScope.CURRENT_SELECTION_DETAILS)
|
self.app.navigation.refresh(RefreshScope.CURRENT_SELECTION_DETAILS)
|
||||||
self.app.navigation.refresh_and_select(
|
self.app.navigation.refresh_and_select(
|
||||||
RefreshScope.WARS_TREE, item_type=ItemType.WAR, item_id=war_id
|
RefreshScope.WARS_TREE, item_type=ItemType.WAR, item_id=war_id
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ from datetime import datetime
|
||||||
|
|
||||||
from warchron.model.exception import ForbiddenOperation
|
from warchron.model.exception import ForbiddenOperation
|
||||||
from warchron.model.player import Player
|
from warchron.model.player import Player
|
||||||
from warchron.model.war import War
|
from warchron.model.war import War, WarSettings
|
||||||
from warchron.model.war_participant import WarParticipant
|
from warchron.model.war_participant import WarParticipant
|
||||||
from warchron.model.objective import Objective
|
from warchron.model.objective import Objective
|
||||||
from warchron.model.campaign import Campaign
|
from warchron.model.campaign import Campaign
|
||||||
|
|
@ -165,17 +165,13 @@ class Model:
|
||||||
war.set_name(name)
|
war.set_name(name)
|
||||||
war.set_year(year)
|
war.set_year(year)
|
||||||
|
|
||||||
def set_major_value(self, war_id: str, value: int) -> None:
|
def get_war_settings(self, war_id: str) -> WarSettings:
|
||||||
war = self.get_war(war_id)
|
war = self.wars[war_id]
|
||||||
war.set_major_value(value)
|
return war.get_war_settings()
|
||||||
|
|
||||||
def set_minor_value(self, war_id: str, value: int) -> None:
|
def apply_war_settings(self, war_id: str, settings: WarSettings) -> None:
|
||||||
war = self.get_war(war_id)
|
war = self.get_war(war_id)
|
||||||
war.set_minor_value(value)
|
war.apply_war_settings(settings)
|
||||||
|
|
||||||
def set_influence_token(self, war_id: str, value: bool) -> None:
|
|
||||||
war = self.get_war(war_id)
|
|
||||||
war.set_influence_token(value)
|
|
||||||
|
|
||||||
def get_all_wars(self) -> List[War]:
|
def get_all_wars(self) -> List[War]:
|
||||||
return list(self.wars.values())
|
return list(self.wars.values())
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,6 @@ class Pairing:
|
||||||
)
|
)
|
||||||
for battle in available
|
for battle in available
|
||||||
]
|
]
|
||||||
print(f"scored for pid {pid}: {scored}")
|
|
||||||
scored.sort(key=lambda x: x[0])
|
scored.sort(key=lambda x: x[0])
|
||||||
best_score = scored[0][0]
|
best_score = scored[0][0]
|
||||||
best_battles = [b for s, b in scored if s == best_score]
|
best_battles = [b for s, b in scored if s == best_score]
|
||||||
|
|
@ -314,7 +313,6 @@ class Pairing:
|
||||||
rematch_penalty = 0
|
rematch_penalty = 0
|
||||||
for opp in occupants:
|
for opp in occupants:
|
||||||
key = (pid, opp) if pid < opp else (opp, pid)
|
key = (pid, opp) if pid < opp else (opp, pid)
|
||||||
print(f"key for occupant {opp}: {key}")
|
|
||||||
rematch_penalty += match_counts.get(key, 0)
|
rematch_penalty += match_counts.get(key, 0)
|
||||||
return rematch_penalty * rematch_weight + occupancy_penalty * occupancy_weight
|
return rematch_penalty * rematch_weight + occupancy_penalty * occupancy_weight
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
from dataclasses import dataclass
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Dict, List, Set
|
from typing import Any, Dict, List, Set
|
||||||
|
|
@ -25,6 +26,13 @@ from warchron.model.choice import Choice
|
||||||
from warchron.model.battle import Battle
|
from warchron.model.battle import Battle
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class WarSettings:
|
||||||
|
major_value: int
|
||||||
|
minor_value: int
|
||||||
|
influence_token: bool
|
||||||
|
|
||||||
|
|
||||||
class War:
|
class War:
|
||||||
def __init__(self, name: str, year: int) -> None:
|
def __init__(self, name: str, year: int) -> None:
|
||||||
self.id: str = str(uuid4())
|
self.id: str = str(uuid4())
|
||||||
|
|
@ -48,6 +56,21 @@ class War:
|
||||||
def set_year(self, new_year: int) -> None:
|
def set_year(self, new_year: int) -> None:
|
||||||
self.year = new_year
|
self.year = new_year
|
||||||
|
|
||||||
|
def get_war_settings(self) -> WarSettings:
|
||||||
|
return WarSettings(
|
||||||
|
self.major_value,
|
||||||
|
self.minor_value,
|
||||||
|
self.influence_token,
|
||||||
|
)
|
||||||
|
|
||||||
|
def apply_war_settings(self, settings: WarSettings) -> None:
|
||||||
|
if settings.major_value != self.major_value:
|
||||||
|
self.set_major_value(settings.major_value)
|
||||||
|
if settings.minor_value != self.minor_value:
|
||||||
|
self.set_minor_value(settings.minor_value)
|
||||||
|
if settings.influence_token != self.influence_token:
|
||||||
|
self.set_influence_token(settings.influence_token)
|
||||||
|
|
||||||
def set_major_value(self, new_value: int) -> None:
|
def set_major_value(self, new_value: int) -> None:
|
||||||
if self.is_over:
|
if self.is_over:
|
||||||
raise ForbiddenOperation("Can't set major value of a closed war.")
|
raise ForbiddenOperation("Can't set major value of a closed war.")
|
||||||
|
|
|
||||||
66
src/warchron/view/settings_dialog.py
Normal file
66
src/warchron/view/settings_dialog.py
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
from PyQt6.QtWidgets import QWidget, QDialog, QDialogButtonBox
|
||||||
|
|
||||||
|
from warchron.constants import Icons, IconName
|
||||||
|
from warchron.controller.dtos import WarSettingsDTO
|
||||||
|
from warchron.view.ui.ui_settings_dialog import Ui_settingsDialog
|
||||||
|
|
||||||
|
|
||||||
|
class SettingsDialog(QDialog):
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
parent: QWidget | None = None,
|
||||||
|
) -> None:
|
||||||
|
super().__init__(parent)
|
||||||
|
self.ui: Ui_settingsDialog = Ui_settingsDialog()
|
||||||
|
self.ui.setupUi(self) # type: ignore
|
||||||
|
self._original: WarSettingsDTO | None = None
|
||||||
|
self.ui.majorValue.setMinimum(0)
|
||||||
|
self.ui.minorValue.setMinimum(0)
|
||||||
|
self.ui.majorValue.valueChanged.connect(self._on_major_changed)
|
||||||
|
self.ui.minorValue.valueChanged.connect(self._on_minor_changed)
|
||||||
|
self.ui.buttonBox.accepted.connect(self.accept)
|
||||||
|
self.ui.buttonBox.rejected.connect(self.reject)
|
||||||
|
self._validate()
|
||||||
|
self.setWindowIcon(Icons.get(IconName.WARCHRONICO))
|
||||||
|
|
||||||
|
def load_settings(self, settings: WarSettingsDTO) -> None:
|
||||||
|
self._original = settings
|
||||||
|
self.ui.majorValue.blockSignals(True)
|
||||||
|
self.ui.minorValue.blockSignals(True)
|
||||||
|
self.ui.influenceToken.blockSignals(True)
|
||||||
|
self.ui.majorValue.setValue(settings.major_value)
|
||||||
|
self.ui.minorValue.setValue(settings.minor_value)
|
||||||
|
self.ui.influenceToken.setChecked(settings.influence_token)
|
||||||
|
self.ui.minorValue.setMaximum(settings.major_value)
|
||||||
|
self.ui.majorValue.setMinimum(settings.minor_value)
|
||||||
|
self.ui.majorValue.blockSignals(False)
|
||||||
|
self.ui.minorValue.blockSignals(False)
|
||||||
|
self.ui.influenceToken.blockSignals(False)
|
||||||
|
|
||||||
|
self._validate()
|
||||||
|
|
||||||
|
def get_settings(self) -> WarSettingsDTO:
|
||||||
|
return WarSettingsDTO(
|
||||||
|
major_value=self.ui.majorValue.value(),
|
||||||
|
minor_value=self.ui.minorValue.value(),
|
||||||
|
influence_token=self.ui.influenceToken.isChecked(),
|
||||||
|
)
|
||||||
|
|
||||||
|
def has_changes(self) -> bool:
|
||||||
|
if self._original is None:
|
||||||
|
return True
|
||||||
|
return self.get_settings() != self._original
|
||||||
|
|
||||||
|
def _validate(self) -> None:
|
||||||
|
valid = self.ui.majorValue.value() >= self.ui.minorValue.value()
|
||||||
|
ok_btn = self.ui.buttonBox.button(QDialogButtonBox.StandardButton.Ok)
|
||||||
|
if ok_btn is not None:
|
||||||
|
ok_btn.setEnabled(valid)
|
||||||
|
|
||||||
|
def _on_major_changed(self, value: int) -> None:
|
||||||
|
self.ui.minorValue.setMaximum(value)
|
||||||
|
self._validate()
|
||||||
|
|
||||||
|
def _on_minor_changed(self, value: int) -> None:
|
||||||
|
self.ui.majorValue.setMinimum(value)
|
||||||
|
self._validate()
|
||||||
|
|
@ -124,6 +124,17 @@ class Ui_MainWindow(object):
|
||||||
self.warYear.setObjectName("warYear")
|
self.warYear.setObjectName("warYear")
|
||||||
self.horizontalLayout_8.addWidget(self.warYear)
|
self.horizontalLayout_8.addWidget(self.warYear)
|
||||||
self.verticalLayout_10.addLayout(self.horizontalLayout_8)
|
self.verticalLayout_10.addLayout(self.horizontalLayout_8)
|
||||||
|
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||||
|
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_7.addItem(spacerItem3)
|
||||||
|
self.label_19 = QtWidgets.QLabel(parent=self.pageWar)
|
||||||
|
self.label_19.setObjectName("label_19")
|
||||||
|
self.horizontalLayout_7.addWidget(self.label_19)
|
||||||
|
self.settingsBtn = QtWidgets.QToolButton(parent=self.pageWar)
|
||||||
|
self.settingsBtn.setObjectName("settingsBtn")
|
||||||
|
self.horizontalLayout_7.addWidget(self.settingsBtn)
|
||||||
|
self.verticalLayout_10.addLayout(self.horizontalLayout_7)
|
||||||
self.groupBox = QtWidgets.QGroupBox(parent=self.pageWar)
|
self.groupBox = QtWidgets.QGroupBox(parent=self.pageWar)
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setPointSize(10)
|
font.setPointSize(10)
|
||||||
|
|
@ -137,43 +148,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)
|
||||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
|
||||||
self.horizontalLayout_3.addItem(spacerItem3)
|
|
||||||
self.label = QtWidgets.QLabel(parent=self.groupBox)
|
|
||||||
self.label.setObjectName("label")
|
|
||||||
self.horizontalLayout_3.addWidget(self.label)
|
|
||||||
self.majorValue = QtWidgets.QSpinBox(parent=self.groupBox)
|
|
||||||
self.majorValue.setMinimum(1)
|
|
||||||
self.majorValue.setObjectName("majorValue")
|
|
||||||
self.horizontalLayout_3.addWidget(self.majorValue)
|
|
||||||
self.label_5 = QtWidgets.QLabel(parent=self.groupBox)
|
|
||||||
self.label_5.setObjectName("label_5")
|
|
||||||
self.horizontalLayout_3.addWidget(self.label_5)
|
|
||||||
spacerItem4 = 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(spacerItem4)
|
self.horizontalLayout_3.addItem(spacerItem4)
|
||||||
self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
|
|
||||||
self.label_2.setObjectName("label_2")
|
|
||||||
self.horizontalLayout_3.addWidget(self.label_2)
|
|
||||||
self.minorValue = QtWidgets.QSpinBox(parent=self.groupBox)
|
|
||||||
self.minorValue.setMinimum(1)
|
|
||||||
self.minorValue.setObjectName("minorValue")
|
|
||||||
self.horizontalLayout_3.addWidget(self.minorValue)
|
|
||||||
self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
|
|
||||||
self.label_4.setObjectName("label_4")
|
|
||||||
self.horizontalLayout_3.addWidget(self.label_4)
|
|
||||||
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
|
||||||
self.horizontalLayout_3.addItem(spacerItem5)
|
|
||||||
self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
|
|
||||||
self.label_3.setObjectName("label_3")
|
|
||||||
self.horizontalLayout_3.addWidget(self.label_3)
|
|
||||||
self.influenceToken = QtWidgets.QCheckBox(parent=self.groupBox)
|
|
||||||
self.influenceToken.setEnabled(True)
|
|
||||||
self.influenceToken.setCheckable(True)
|
|
||||||
self.influenceToken.setChecked(True)
|
|
||||||
self.influenceToken.setObjectName("influenceToken")
|
|
||||||
self.horizontalLayout_3.addWidget(self.influenceToken)
|
|
||||||
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
|
||||||
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)
|
||||||
|
|
@ -201,8 +177,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)
|
||||||
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_5.addItem(spacerItem7)
|
self.horizontalLayout_5.addItem(spacerItem5)
|
||||||
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)
|
||||||
|
|
@ -226,8 +202,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")
|
||||||
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_6.addItem(spacerItem8)
|
self.horizontalLayout_6.addItem(spacerItem6)
|
||||||
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")
|
||||||
|
|
@ -246,8 +222,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)
|
||||||
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_11.addItem(spacerItem9)
|
self.horizontalLayout_11.addItem(spacerItem7)
|
||||||
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)
|
||||||
|
|
@ -268,8 +244,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)
|
||||||
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_17.addItem(spacerItem10)
|
self.horizontalLayout_17.addItem(spacerItem8)
|
||||||
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)
|
||||||
|
|
@ -306,8 +282,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)
|
||||||
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_18.addItem(spacerItem11)
|
self.horizontalLayout_18.addItem(spacerItem9)
|
||||||
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)
|
||||||
|
|
@ -330,8 +306,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")
|
||||||
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_10.addItem(spacerItem12)
|
self.horizontalLayout_10.addItem(spacerItem10)
|
||||||
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")
|
||||||
|
|
@ -376,8 +352,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")
|
||||||
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_13.addItem(spacerItem13)
|
self.horizontalLayout_13.addItem(spacerItem11)
|
||||||
self.resolvePairingBtn = QtWidgets.QPushButton(parent=self.pageRound)
|
self.resolvePairingBtn = QtWidgets.QPushButton(parent=self.pageRound)
|
||||||
self.resolvePairingBtn.setEnabled(True)
|
self.resolvePairingBtn.setEnabled(True)
|
||||||
self.resolvePairingBtn.setObjectName("resolvePairingBtn")
|
self.resolvePairingBtn.setObjectName("resolvePairingBtn")
|
||||||
|
|
@ -413,8 +389,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")
|
||||||
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_9.addItem(spacerItem14)
|
self.horizontalLayout_9.addItem(spacerItem12)
|
||||||
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")
|
||||||
|
|
@ -476,7 +452,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(1)
|
||||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
|
|
||||||
def retranslateUi(self, MainWindow):
|
def retranslateUi(self, MainWindow):
|
||||||
|
|
@ -500,14 +476,10 @@ class Ui_MainWindow(object):
|
||||||
self.backgroundImage.setText(_translate("MainWindow", "IMAGE"))
|
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.label_19.setText(_translate("MainWindow", "Settings"))
|
||||||
|
self.settingsBtn.setText(_translate("MainWindow", "..."))
|
||||||
self.groupBox.setTitle(_translate("MainWindow", "Objectives"))
|
self.groupBox.setTitle(_translate("MainWindow", "Objectives"))
|
||||||
self.addObjectiveBtn.setText(_translate("MainWindow", "Add objective"))
|
self.addObjectiveBtn.setText(_translate("MainWindow", "Add objective"))
|
||||||
self.label.setText(_translate("MainWindow", "Major objective"))
|
|
||||||
self.label_5.setText(_translate("MainWindow", "points"))
|
|
||||||
self.label_2.setText(_translate("MainWindow", "Minor opportunity"))
|
|
||||||
self.label_4.setText(_translate("MainWindow", "points"))
|
|
||||||
self.label_3.setText(_translate("MainWindow", "Influence"))
|
|
||||||
self.influenceToken.setText(_translate("MainWindow", "Token"))
|
|
||||||
self.objectivesTable.setSortingEnabled(True)
|
self.objectivesTable.setSortingEnabled(True)
|
||||||
item = self.objectivesTable.horizontalHeaderItem(0)
|
item = self.objectivesTable.horizontalHeaderItem(0)
|
||||||
item.setText(_translate("MainWindow", "Name"))
|
item.setText(_translate("MainWindow", "Name"))
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStackedWidget" name="selectedDetailsStack">
|
<widget class="QStackedWidget" name="selectedDetailsStack">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>3</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="pageEmpty">
|
<widget class="QWidget" name="pageEmpty">
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
|
@ -242,6 +242,37 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_18">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_19">
|
||||||
|
<property name="text">
|
||||||
|
<string>Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="settingsBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
|
|
@ -265,110 +296,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer_9">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Major objective</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QSpinBox" name="majorValue">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_5">
|
|
||||||
<property name="text">
|
|
||||||
<string>points</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer_10">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Minor opportunity</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QSpinBox" name="minorValue">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>points</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer_11">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Influence</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="influenceToken">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Token</string>
|
|
||||||
</property>
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_16">
|
<spacer name="horizontalSpacer_16">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
|
||||||
8
src/warchron/view/ui/ui_settings.py
Normal file
8
src/warchron/view/ui/ui_settings.py
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Form implementation generated from reading ui file '.\src\warchron\view\ui\ui_settings.ui'
|
||||||
|
#
|
||||||
|
# Created by: PyQt6 UI code generator 6.7.1
|
||||||
|
#
|
||||||
|
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
232
src/warchron/view/ui/ui_settings_dialog.py
Normal file
232
src/warchron/view/ui/ui_settings_dialog.py
Normal file
|
|
@ -0,0 +1,232 @@
|
||||||
|
# Form implementation generated from reading ui file '.\src\warchron\view\ui\ui_settings_dialog.ui'
|
||||||
|
#
|
||||||
|
# Created by: PyQt6 UI code generator 6.7.1
|
||||||
|
#
|
||||||
|
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||||
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
|
||||||
|
|
||||||
|
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
|
||||||
|
class Ui_settingsDialog(object):
|
||||||
|
def setupUi(self, settingsDialog):
|
||||||
|
settingsDialog.setObjectName("settingsDialog")
|
||||||
|
settingsDialog.setWindowModality(QtCore.Qt.WindowModality.ApplicationModal)
|
||||||
|
settingsDialog.resize(661, 377)
|
||||||
|
icon = QtGui.QIcon()
|
||||||
|
icon.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/warchron_logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||||
|
settingsDialog.setWindowIcon(icon)
|
||||||
|
self.verticalLayout_4 = QtWidgets.QVBoxLayout(settingsDialog)
|
||||||
|
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||||
|
self.groupBox_2 = QtWidgets.QGroupBox(parent=settingsDialog)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setPointSize(10)
|
||||||
|
self.groupBox_2.setFont(font)
|
||||||
|
self.groupBox_2.setObjectName("groupBox_2")
|
||||||
|
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_2)
|
||||||
|
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||||
|
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||||
|
self.label_5 = QtWidgets.QLabel(parent=self.groupBox_2)
|
||||||
|
self.label_5.setObjectName("label_5")
|
||||||
|
self.horizontalLayout.addWidget(self.label_5)
|
||||||
|
self.winValue = QtWidgets.QSpinBox(parent=self.groupBox_2)
|
||||||
|
self.winValue.setEnabled(False)
|
||||||
|
self.winValue.setMinimum(1)
|
||||||
|
self.winValue.setObjectName("winValue")
|
||||||
|
self.horizontalLayout.addWidget(self.winValue)
|
||||||
|
self.label_14 = QtWidgets.QLabel(parent=self.groupBox_2)
|
||||||
|
self.label_14.setObjectName("label_14")
|
||||||
|
self.horizontalLayout.addWidget(self.label_14)
|
||||||
|
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout.addItem(spacerItem)
|
||||||
|
self.label_6 = QtWidgets.QLabel(parent=self.groupBox_2)
|
||||||
|
self.label_6.setObjectName("label_6")
|
||||||
|
self.horizontalLayout.addWidget(self.label_6)
|
||||||
|
self.drawValue = QtWidgets.QSpinBox(parent=self.groupBox_2)
|
||||||
|
self.drawValue.setEnabled(False)
|
||||||
|
self.drawValue.setSuffix("")
|
||||||
|
self.drawValue.setMinimum(0)
|
||||||
|
self.drawValue.setProperty("value", 0)
|
||||||
|
self.drawValue.setObjectName("drawValue")
|
||||||
|
self.horizontalLayout.addWidget(self.drawValue)
|
||||||
|
self.label_15 = QtWidgets.QLabel(parent=self.groupBox_2)
|
||||||
|
self.label_15.setObjectName("label_15")
|
||||||
|
self.horizontalLayout.addWidget(self.label_15)
|
||||||
|
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout.addItem(spacerItem1)
|
||||||
|
self.verticalLayout_2.addLayout(self.horizontalLayout)
|
||||||
|
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||||
|
self.label_12 = QtWidgets.QLabel(parent=self.groupBox_2)
|
||||||
|
self.label_12.setObjectName("label_12")
|
||||||
|
self.horizontalLayout_5.addWidget(self.label_12)
|
||||||
|
self.rankingComboBox = QtWidgets.QComboBox(parent=self.groupBox_2)
|
||||||
|
self.rankingComboBox.setEnabled(False)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.rankingComboBox.sizePolicy().hasHeightForWidth())
|
||||||
|
self.rankingComboBox.setSizePolicy(sizePolicy)
|
||||||
|
self.rankingComboBox.setObjectName("rankingComboBox")
|
||||||
|
self.rankingComboBox.addItem("")
|
||||||
|
self.horizontalLayout_5.addWidget(self.rankingComboBox)
|
||||||
|
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_5.addItem(spacerItem2)
|
||||||
|
self.verticalLayout_2.addLayout(self.horizontalLayout_5)
|
||||||
|
self.verticalLayout_4.addWidget(self.groupBox_2)
|
||||||
|
self.groupBox = QtWidgets.QGroupBox(parent=settingsDialog)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setPointSize(10)
|
||||||
|
self.groupBox.setFont(font)
|
||||||
|
self.groupBox.setObjectName("groupBox")
|
||||||
|
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
|
||||||
|
self.verticalLayout.setObjectName("verticalLayout")
|
||||||
|
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||||
|
self.label_4 = QtWidgets.QLabel(parent=self.groupBox)
|
||||||
|
self.label_4.setObjectName("label_4")
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_4)
|
||||||
|
self.majorValue = QtWidgets.QSpinBox(parent=self.groupBox)
|
||||||
|
self.majorValue.setMinimum(1)
|
||||||
|
self.majorValue.setObjectName("majorValue")
|
||||||
|
self.horizontalLayout_3.addWidget(self.majorValue)
|
||||||
|
self.label_8 = QtWidgets.QLabel(parent=self.groupBox)
|
||||||
|
self.label_8.setObjectName("label_8")
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_8)
|
||||||
|
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_3.addItem(spacerItem3)
|
||||||
|
self.label_9 = QtWidgets.QLabel(parent=self.groupBox)
|
||||||
|
self.label_9.setObjectName("label_9")
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_9)
|
||||||
|
self.minorValue = QtWidgets.QSpinBox(parent=self.groupBox)
|
||||||
|
self.minorValue.setMinimum(1)
|
||||||
|
self.minorValue.setObjectName("minorValue")
|
||||||
|
self.horizontalLayout_3.addWidget(self.minorValue)
|
||||||
|
self.label_10 = QtWidgets.QLabel(parent=self.groupBox)
|
||||||
|
self.label_10.setObjectName("label_10")
|
||||||
|
self.horizontalLayout_3.addWidget(self.label_10)
|
||||||
|
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_3.addItem(spacerItem4)
|
||||||
|
self.verticalLayout.addLayout(self.horizontalLayout_3)
|
||||||
|
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||||
|
self.label_11 = QtWidgets.QLabel(parent=self.groupBox)
|
||||||
|
self.label_11.setObjectName("label_11")
|
||||||
|
self.horizontalLayout_4.addWidget(self.label_11)
|
||||||
|
self.influenceToken = QtWidgets.QCheckBox(parent=self.groupBox)
|
||||||
|
self.influenceToken.setEnabled(True)
|
||||||
|
self.influenceToken.setCheckable(True)
|
||||||
|
self.influenceToken.setChecked(True)
|
||||||
|
self.influenceToken.setObjectName("influenceToken")
|
||||||
|
self.horizontalLayout_4.addWidget(self.influenceToken)
|
||||||
|
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_4.addItem(spacerItem5)
|
||||||
|
self.verticalLayout.addLayout(self.horizontalLayout_4)
|
||||||
|
self.verticalLayout_4.addWidget(self.groupBox)
|
||||||
|
self.groupBox_3 = QtWidgets.QGroupBox(parent=settingsDialog)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setPointSize(10)
|
||||||
|
self.groupBox_3.setFont(font)
|
||||||
|
self.groupBox_3.setObjectName("groupBox_3")
|
||||||
|
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_3)
|
||||||
|
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||||
|
self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||||
|
self.label_17 = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||||
|
self.label_17.setObjectName("label_17")
|
||||||
|
self.horizontalLayout_7.addWidget(self.label_17)
|
||||||
|
self.fallbackComboBox = QtWidgets.QComboBox(parent=self.groupBox_3)
|
||||||
|
self.fallbackComboBox.setEnabled(False)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.fallbackComboBox.sizePolicy().hasHeightForWidth())
|
||||||
|
self.fallbackComboBox.setSizePolicy(sizePolicy)
|
||||||
|
self.fallbackComboBox.setObjectName("fallbackComboBox")
|
||||||
|
self.fallbackComboBox.addItem("")
|
||||||
|
self.horizontalLayout_7.addWidget(self.fallbackComboBox)
|
||||||
|
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_7.addItem(spacerItem6)
|
||||||
|
self.label_18 = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||||
|
self.label_18.setObjectName("label_18")
|
||||||
|
self.horizontalLayout_7.addWidget(self.label_18)
|
||||||
|
self.influenceToken_2 = QtWidgets.QCheckBox(parent=self.groupBox_3)
|
||||||
|
self.influenceToken_2.setEnabled(False)
|
||||||
|
self.influenceToken_2.setText("")
|
||||||
|
self.influenceToken_2.setCheckable(True)
|
||||||
|
self.influenceToken_2.setChecked(True)
|
||||||
|
self.influenceToken_2.setObjectName("influenceToken_2")
|
||||||
|
self.horizontalLayout_7.addWidget(self.influenceToken_2)
|
||||||
|
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_7.addItem(spacerItem7)
|
||||||
|
self.verticalLayout_3.addLayout(self.horizontalLayout_7)
|
||||||
|
self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
|
||||||
|
self.label_13 = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||||
|
self.label_13.setObjectName("label_13")
|
||||||
|
self.horizontalLayout_6.addWidget(self.label_13)
|
||||||
|
self.rematchValue = QtWidgets.QSpinBox(parent=self.groupBox_3)
|
||||||
|
self.rematchValue.setEnabled(False)
|
||||||
|
self.rematchValue.setMinimum(1)
|
||||||
|
self.rematchValue.setObjectName("rematchValue")
|
||||||
|
self.horizontalLayout_6.addWidget(self.rematchValue)
|
||||||
|
spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_6.addItem(spacerItem8)
|
||||||
|
self.label_16 = QtWidgets.QLabel(parent=self.groupBox_3)
|
||||||
|
self.label_16.setObjectName("label_16")
|
||||||
|
self.horizontalLayout_6.addWidget(self.label_16)
|
||||||
|
self.occupancyValue = QtWidgets.QSpinBox(parent=self.groupBox_3)
|
||||||
|
self.occupancyValue.setEnabled(False)
|
||||||
|
self.occupancyValue.setMinimum(1)
|
||||||
|
self.occupancyValue.setObjectName("occupancyValue")
|
||||||
|
self.horizontalLayout_6.addWidget(self.occupancyValue)
|
||||||
|
spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||||
|
self.horizontalLayout_6.addItem(spacerItem9)
|
||||||
|
self.verticalLayout_3.addLayout(self.horizontalLayout_6)
|
||||||
|
self.verticalLayout_4.addWidget(self.groupBox_3)
|
||||||
|
self.buttonBox = QtWidgets.QDialogButtonBox(parent=settingsDialog)
|
||||||
|
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||||
|
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||||
|
self.buttonBox.setObjectName("buttonBox")
|
||||||
|
self.verticalLayout_4.addWidget(self.buttonBox)
|
||||||
|
|
||||||
|
self.retranslateUi(settingsDialog)
|
||||||
|
self.buttonBox.accepted.connect(settingsDialog.accept) # type: ignore
|
||||||
|
self.buttonBox.rejected.connect(settingsDialog.reject) # type: ignore
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(settingsDialog)
|
||||||
|
|
||||||
|
def retranslateUi(self, settingsDialog):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
settingsDialog.setWindowTitle(_translate("settingsDialog", "Settings"))
|
||||||
|
self.groupBox_2.setTitle(_translate("settingsDialog", "Scores"))
|
||||||
|
self.label_5.setText(_translate("settingsDialog", "Win"))
|
||||||
|
self.label_14.setText(_translate("settingsDialog", "victory points"))
|
||||||
|
self.label_6.setText(_translate("settingsDialog", "Draw"))
|
||||||
|
self.label_15.setText(_translate("settingsDialog", "victory points"))
|
||||||
|
self.label_12.setText(_translate("settingsDialog", "Ranking mode"))
|
||||||
|
self.rankingComboBox.setItemText(0, _translate("settingsDialog", "Sum points & tie-breaks"))
|
||||||
|
self.groupBox.setTitle(_translate("settingsDialog", "Objectives"))
|
||||||
|
self.label_4.setText(_translate("settingsDialog", "Major objective"))
|
||||||
|
self.label_8.setText(_translate("settingsDialog", "narrative points"))
|
||||||
|
self.label_9.setText(_translate("settingsDialog", "Minor opportunity"))
|
||||||
|
self.label_10.setText(_translate("settingsDialog", "narrative points"))
|
||||||
|
self.label_11.setText(_translate("settingsDialog", "Underlying influence"))
|
||||||
|
self.influenceToken.setText(_translate("settingsDialog", "Token"))
|
||||||
|
self.groupBox_3.setTitle(_translate("settingsDialog", "Pairing"))
|
||||||
|
self.label_17.setText(_translate("settingsDialog", "Fallback mode"))
|
||||||
|
self.fallbackComboBox.setItemText(0, _translate("settingsDialog", "Best ranking first & avoid rematch"))
|
||||||
|
self.label_18.setText(_translate("settingsDialog", "Shuffle"))
|
||||||
|
self.label_13.setText(_translate("settingsDialog", "Rematch weight"))
|
||||||
|
self.label_16.setText(_translate("settingsDialog", "Occupancy weight"))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
|
settingsDialog = QtWidgets.QDialog()
|
||||||
|
ui = Ui_settingsDialog()
|
||||||
|
ui.setupUi(settingsDialog)
|
||||||
|
settingsDialog.show()
|
||||||
|
sys.exit(app.exec())
|
||||||
493
src/warchron/view/ui/ui_settings_dialog.ui
Normal file
493
src/warchron/view/ui/ui_settings_dialog.ui
Normal file
|
|
@ -0,0 +1,493 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>settingsDialog</class>
|
||||||
|
<widget class="QDialog" name="settingsDialog">
|
||||||
|
<property name="windowModality">
|
||||||
|
<enum>Qt::ApplicationModal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>661</width>
|
||||||
|
<height>377</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Settings</string>
|
||||||
|
</property>
|
||||||
|
<property name="windowIcon">
|
||||||
|
<iconset>
|
||||||
|
<normaloff>../resources/warchron_logo.png</normaloff>../resources/warchron_logo.png</iconset>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Scores</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Win</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="winValue">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_14">
|
||||||
|
<property name="text">
|
||||||
|
<string>victory points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_12">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>Draw</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="drawValue">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="suffix">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_15">
|
||||||
|
<property name="text">
|
||||||
|
<string>victory points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_13">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>Ranking mode</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="rankingComboBox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Sum points & tie-breaks</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Objectives</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Major objective</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="majorValue">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>narrative points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_10">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>Minor opportunity</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="minorValue">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="text">
|
||||||
|
<string>narrative points</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_11">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>Underlying influence</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="influenceToken">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Token</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_16">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Pairing</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_17">
|
||||||
|
<property name="text">
|
||||||
|
<string>Fallback mode</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="fallbackComboBox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Best ranking first & avoid rematch</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_18">
|
||||||
|
<property name="text">
|
||||||
|
<string>Shuffle</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="influenceToken_2">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_17">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="text">
|
||||||
|
<string>Rematch weight</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="rematchValue">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_16">
|
||||||
|
<property name="text">
|
||||||
|
<string>Occupancy weight</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="occupancyValue">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>settingsDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>settingsDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
||||||
|
|
@ -36,15 +36,10 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||||
self.on_tree_selection_changed: (
|
self.on_tree_selection_changed: (
|
||||||
Callable[[TreeSelection | None], None] | None
|
Callable[[TreeSelection | None], 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_item: Callable[[str], None] | None = None
|
self.on_add_item: Callable[[str], None] | None = None
|
||||||
self.on_edit_item: Callable[[str, str], None] | None = None
|
self.on_edit_item: Callable[[str, str], None] | None = None
|
||||||
self.on_delete_item: Callable[[str, str], None] | None = None
|
self.on_delete_item: Callable[[str, str], None] | None = None
|
||||||
self.splitter.setSizes([200, 800])
|
self.splitter.setSizes([300, 900])
|
||||||
self.show_details(None)
|
self.show_details(None)
|
||||||
self.playersTable.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
self.playersTable.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
||||||
self.playersTable.customContextMenuRequested.connect(
|
self.playersTable.customContextMenuRequested.connect(
|
||||||
|
|
@ -88,8 +83,6 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||||
self.battlesTable.customContextMenuRequested.connect(
|
self.battlesTable.customContextMenuRequested.connect(
|
||||||
self._on_battles_table_context_menu
|
self._on_battles_table_context_menu
|
||||||
)
|
)
|
||||||
self.majorValue.valueChanged.connect(self._on_major_changed)
|
|
||||||
self.minorValue.valueChanged.connect(self._on_minor_changed)
|
|
||||||
self.warsTree.currentItemChanged.connect(self._emit_selection_changed)
|
self.warsTree.currentItemChanged.connect(self._emit_selection_changed)
|
||||||
self._apply_icons()
|
self._apply_icons()
|
||||||
|
|
||||||
|
|
@ -422,25 +415,6 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||||
table.sortItems(2, Qt.SortOrder.DescendingOrder)
|
table.sortItems(2, Qt.SortOrder.DescendingOrder)
|
||||||
table.resizeColumnsToContents()
|
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
|
# Campaign page
|
||||||
|
|
||||||
def _on_sectors_table_context_menu(self, pos: QPoint) -> None:
|
def _on_sectors_table_context_menu(self, pos: QPoint) -> None:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue