diff --git a/qt_ui/widgets/QTopPanel.py b/qt_ui/widgets/QTopPanel.py index d3701e0c..7292cec4 100644 --- a/qt_ui/widgets/QTopPanel.py +++ b/qt_ui/widgets/QTopPanel.py @@ -25,8 +25,6 @@ from qt_ui.windows.AirWingDialog import AirWingDialog from qt_ui.windows.GameUpdateSignal import GameUpdateSignal from qt_ui.windows.PendingTransfersDialog import PendingTransfersDialog from qt_ui.windows.QWaitingForMissionResultWindow import QWaitingForMissionResultWindow -from qt_ui.windows.settings.QSettingsWindow import QSettingsWindow -from qt_ui.windows.stats.QStatsWindow import QStatsWindow class QTopPanel(QFrame): @@ -74,26 +72,12 @@ class QTopPanel(QFrame): self.transfers.setProperty("style", "btn-primary") self.transfers.clicked.connect(self.open_transfers) - self.settings = QPushButton("Settings") - self.settings.setDisabled(True) - self.settings.setIcon(CONST.ICONS["Settings"]) - self.settings.setProperty("style", "btn-primary") - self.settings.clicked.connect(self.openSettings) - - self.statistics = QPushButton("Statistics") - self.statistics.setDisabled(True) - self.statistics.setIcon(CONST.ICONS["Statistics"]) - self.statistics.setProperty("style", "btn-primary") - self.statistics.clicked.connect(self.openStatisticsWindow) - self.intel_box = QIntelBox(self.game) self.buttonBox = QGroupBox("Misc") self.buttonBoxLayout = QHBoxLayout() self.buttonBoxLayout.addWidget(self.air_wing) self.buttonBoxLayout.addWidget(self.transfers) - self.buttonBoxLayout.addWidget(self.settings) - self.buttonBoxLayout.addWidget(self.statistics) self.buttonBox.setLayout(self.buttonBoxLayout) self.proceedBox = QGroupBox("Proceed") @@ -123,8 +107,6 @@ class QTopPanel(QFrame): self.air_wing.setEnabled(True) self.transfers.setEnabled(True) - self.settings.setEnabled(True) - self.statistics.setEnabled(True) self.conditionsWidget.setCurrentTurn(game.turn, game.conditions) self.intel_box.set_game(game) @@ -146,14 +128,6 @@ class QTopPanel(QFrame): self.dialog = PendingTransfersDialog(self.game_model) self.dialog.show() - def openSettings(self): - self.dialog = QSettingsWindow(self.game) - self.dialog.show() - - def openStatisticsWindow(self): - self.dialog = QStatsWindow(self.game) - self.dialog.show() - def passTurn(self): with logged_duration("Skipping turn"): self.game.pass_turn(no_action=True) diff --git a/qt_ui/windows/QLiberationWindow.py b/qt_ui/windows/QLiberationWindow.py index 23c82718..c2a96a4d 100644 --- a/qt_ui/windows/QLiberationWindow.py +++ b/qt_ui/windows/QLiberationWindow.py @@ -34,6 +34,8 @@ from qt_ui.windows.newgame.QNewGameWizard import NewGameWizard from qt_ui.windows.preferences.QLiberationPreferencesWindow import ( QLiberationPreferencesWindow, ) +from qt_ui.windows.settings.QSettingsWindow import QSettingsWindow +from qt_ui.windows.stats.QStatsWindow import QStatsWindow class QLiberationWindow(QMainWindow): @@ -147,6 +149,14 @@ class QLiberationWindow(QMainWindow): ) ) + self.openSettingsAction = QAction("Settings", self) + self.openSettingsAction.setIcon(CONST.ICONS["Settings"]) + self.openSettingsAction.triggered.connect(self.showSettingsDialog) + + self.openStatsAction = QAction("Stats", self) + self.openStatsAction.setIcon(CONST.ICONS["Statistics"]) + self.openStatsAction.triggered.connect(self.showStatsDialog) + def initToolbar(self): self.tool_bar = self.addToolBar("File") self.tool_bar.addAction(self.newGameAction) @@ -157,7 +167,9 @@ class QLiberationWindow(QMainWindow): self.links_bar.addAction(self.openDiscordAction) self.links_bar.addAction(self.openGithubAction) - self.display_bar = self.addToolBar("Display") + self.actions_bar = self.addToolBar("Actions") + self.actions_bar.addAction(self.openSettingsAction) + self.actions_bar.addAction(self.openStatsAction) def initMenuBar(self): self.menu = self.menuBar() @@ -307,6 +319,14 @@ class QLiberationWindow(QMainWindow): self.subwindow = QLiberationPreferencesWindow() self.subwindow.show() + def showSettingsDialog(self) -> None: + self.dialog = QSettingsWindow(self.game) + self.dialog.show() + + def showStatsDialog(self): + self.dialog = QStatsWindow(self.game) + self.dialog.show() + def onDebriefing(self, debrief: Debriefing): logging.info("On Debriefing") self.debriefing = QDebriefingWindow(debrief)