From 2c0ca5803fd238719a89c02e2fd11069ec385ea9 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sun, 8 Nov 2020 21:57:26 +0100 Subject: [PATCH] Improved the faction selection screen in the new game wizard. --- qt_ui/windows/newgame/QNewGameWizard.py | 80 ++++++++++--------- resources/factions/allies_1944.json | 2 +- resources/factions/allies_1944_free.json | 2 +- resources/factions/australia_2005.json | 2 +- resources/factions/bluefor_coldwar.json | 2 +- resources/factions/bluefor_coldwar_a4.json | 2 +- .../factions/bluefor_coldwar_a4_mb339.json | 2 +- resources/factions/bluefor_modern.json | 2 +- resources/factions/canada_2005.json | 2 +- resources/factions/china_2010.json | 2 +- resources/factions/france_1995.json | 2 +- resources/factions/france_2005_modded.json | 2 +- resources/factions/germany_1942.json | 2 +- resources/factions/germany_1944.json | 2 +- resources/factions/germany_1944_free.json | 2 +- resources/factions/germany_1990.json | 2 +- resources/factions/india_2010.json | 2 +- resources/factions/insurgents.json | 4 +- resources/factions/insurgents_modded.json | 4 +- resources/factions/iran_2015.json | 2 +- resources/factions/israel_1948.json | 2 +- resources/factions/israel_1973.json | 2 +- resources/factions/israel_1982.json | 2 +- resources/factions/israel_2000.json | 2 +- resources/factions/italy_1990.json | 2 +- resources/factions/italy_1990_mb339.json | 2 +- resources/factions/japan_2005.json | 2 +- resources/factions/libya_2011.json | 2 +- resources/factions/netherlands_1990.json | 2 +- resources/factions/north_korea_2000.json | 2 +- resources/factions/pakistan_2015.json | 2 +- resources/factions/pmc_russian.json | 2 +- resources/factions/pmc_us.json | 2 +- resources/factions/pmc_us_with_mb339.json | 2 +- resources/factions/russia_1955.json | 2 +- resources/factions/russia_1965.json | 2 +- resources/factions/russia_1975.json | 2 +- resources/factions/russia_1990.json | 2 +- resources/factions/russia_2010.json | 2 +- resources/factions/russia_2020.json | 2 +- resources/factions/spain_1990.json | 2 +- resources/factions/sweden_1990.json | 2 +- resources/factions/syria_1948.json | 2 +- resources/factions/syria_1967.json | 2 +- .../factions/syria_1967_with_ww2_weapons.json | 2 +- resources/factions/syria_1973.json | 2 +- resources/factions/syria_1982.json | 2 +- resources/factions/syria_2011.json | 2 +- resources/factions/turkey_2005.json | 2 +- resources/factions/uae_2005.json | 2 +- resources/factions/uk_1944.json | 2 +- resources/factions/uk_1990.json | 2 +- resources/factions/ukraine_2010.json | 2 +- resources/factions/us_aggressors.json | 2 +- resources/factions/usa_1944.json | 2 +- resources/factions/usa_1955.json | 2 +- resources/factions/usa_1960.json | 2 +- resources/factions/usa_1965.json | 2 +- resources/factions/usa_1975.json | 2 +- resources/factions/usa_1990.json | 2 +- resources/factions/usa_2005.json | 2 +- resources/ui/templates/factiontemplate_EN.j2 | 46 +++++++++++ 62 files changed, 152 insertions(+), 98 deletions(-) create mode 100644 resources/ui/templates/factiontemplate_EN.j2 diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 0295f6cd..193cb860 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -5,10 +5,9 @@ from typing import List, Optional from PySide2 import QtGui, QtWidgets from PySide2.QtCore import QItemSelectionModel, QPoint, Qt -from PySide2.QtWidgets import QVBoxLayout -from dcs.task import CAP, CAS +from PySide2.QtWidgets import QVBoxLayout, QTextEdit +from jinja2 import Environment, FileSystemLoader, select_autoescape -import qt_ui.uiconstants as CONST from game import db from game.settings import Settings from qt_ui.windows.newgame.QCampaignList import ( @@ -39,7 +38,6 @@ class NewGameWizard(QtWidgets.QWizard): self.generatedGame = None def accept(self): - logging.info("New Game Wizard accept") logging.info("======================") @@ -112,7 +110,9 @@ class FactionSelection(QtWidgets.QWizardPage): # Factions selection self.factionsGroup = QtWidgets.QGroupBox("Factions") - self.factionsGroupLayout = QtWidgets.QGridLayout() + self.factionsGroupLayout = QtWidgets.QHBoxLayout() + self.blueGroupLayout = QtWidgets.QGridLayout() + self.redGroupLayout = QtWidgets.QGridLayout() blueFaction = QtWidgets.QLabel("Player Faction :") self.blueFactionSelect = QtWidgets.QComboBox() @@ -124,6 +124,13 @@ class FactionSelection(QtWidgets.QWizardPage): self.redFactionSelect = QtWidgets.QComboBox() redFaction.setBuddy(self.redFactionSelect) + # Faction description + self.blueFactionDescription = QTextEdit("") + self.blueFactionDescription.setReadOnly(True) + + self.redFactionDescription = QTextEdit("") + self.redFactionDescription.setReadOnly(True) + # Setup default selected factions for i, r in enumerate(db.FACTIONS): self.redFactionSelect.addItem(r) @@ -132,20 +139,16 @@ class FactionSelection(QtWidgets.QWizardPage): if r == "USA 2005": self.blueFactionSelect.setCurrentIndex(i) - self.blueSideRecap = QtWidgets.QLabel("") - self.blueSideRecap.setFont(CONST.FONT_PRIMARY_I) - self.blueSideRecap.setWordWrap(True) + self.blueGroupLayout.addWidget(blueFaction, 0, 0) + self.blueGroupLayout.addWidget(self.blueFactionSelect, 0, 1) + self.blueGroupLayout.addWidget(self.blueFactionDescription, 1, 0, 1, 2) - self.redSideRecap = QtWidgets.QLabel("") - self.redSideRecap.setFont(CONST.FONT_PRIMARY_I) - self.redSideRecap.setWordWrap(True) + self.redGroupLayout.addWidget(redFaction, 0, 0) + self.redGroupLayout.addWidget(self.redFactionSelect, 0, 1) + self.redGroupLayout.addWidget(self.redFactionDescription, 1, 0, 1, 2) - self.factionsGroupLayout.addWidget(blueFaction, 0, 0) - self.factionsGroupLayout.addWidget(self.blueFactionSelect, 0, 1) - self.factionsGroupLayout.addWidget(self.blueSideRecap, 1, 0, 1, 2) - self.factionsGroupLayout.addWidget(redFaction, 2, 0) - self.factionsGroupLayout.addWidget(self.redFactionSelect, 2, 1) - self.factionsGroupLayout.addWidget(self.redSideRecap, 3, 0, 1, 2) + self.factionsGroupLayout.addLayout(self.blueGroupLayout) + self.factionsGroupLayout.addLayout(self.redGroupLayout) self.factionsGroup.setLayout(self.factionsGroupLayout) # Create required mod layout @@ -171,39 +174,44 @@ class FactionSelection(QtWidgets.QWizardPage): def updateUnitRecap(self): - self.requiredMods.setText("