diff --git a/ui/implements/components/chartAndScoreInput.py b/ui/implements/components/chartAndScoreInput.py index 158e24f..768f2bd 100644 --- a/ui/implements/components/chartAndScoreInput.py +++ b/ui/implements/components/chartAndScoreInput.py @@ -2,6 +2,7 @@ from PySide6.QtCore import Signal from PySide6.QtWidgets import QWidget from ui.designer.components.chartAndScoreInput_ui import Ui_ChartAndScoreInput +from ui.extends.shared.language import LanguageChangeEventFilter from ui.implements.components.songIdSelector import SongIdSelectorMode @@ -12,6 +13,9 @@ class ChartAndScoreInput(Ui_ChartAndScoreInput, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.chartSelector.valueChanged.connect(self.updateScoreEditorChart) self.scoreEditor.accepted.connect(self.commit) diff --git a/ui/implements/settings/settingsBaseWidget.py b/ui/implements/settings/settingsBaseWidget.py index c2ac6ee..8b6bc2a 100644 --- a/ui/implements/settings/settingsBaseWidget.py +++ b/ui/implements/settings/settingsBaseWidget.py @@ -1,7 +1,8 @@ -from PySide6.QtCore import QCoreApplication, Qt +from PySide6.QtCore import Qt from PySide6.QtWidgets import QLabel, QPushButton, QWidget from ui.designer.settings.settingsBaseWidget_ui import Ui_SettingsBaseWidget +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.settings import Settings @@ -10,6 +11,9 @@ class SettingsBaseWidget(Ui_SettingsBaseWidget, QWidget): super().__init__(parent) self.settings = Settings() + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + def setTitle(self, title: str): self.titleLabel.setText(title) diff --git a/ui/implements/tabs/tabAbout.py b/ui/implements/tabs/tabAbout.py index 3bf6612..e3659f7 100644 --- a/ui/implements/tabs/tabAbout.py +++ b/ui/implements/tabs/tabAbout.py @@ -3,6 +3,7 @@ from PySide6.QtGui import QPixmap from PySide6.QtWidgets import QMessageBox, QWidget from ui.designer.tabs.tabAbout_ui import Ui_TabAbout +from ui.extends.shared.language import LanguageChangeEventFilter class TabAbout(Ui_TabAbout, QWidget): @@ -10,6 +11,9 @@ class TabAbout(Ui_TabAbout, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + logoPixmap = QPixmap(":/images/logo.png").scaled( 300, 300, diff --git a/ui/implements/tabs/tabDb/tabDb_B30TableViewer.py b/ui/implements/tabs/tabDb/tabDb_B30TableViewer.py index 8d8aafc..1f44bb2 100644 --- a/ui/implements/tabs/tabDb/tabDb_B30TableViewer.py +++ b/ui/implements/tabs/tabDb/tabDb_B30TableViewer.py @@ -4,6 +4,7 @@ from PySide6.QtWidgets import QMessageBox from ui.extends.shared.delegates.chartDelegate import ChartDelegate from ui.extends.shared.delegates.scoreDelegate import ScoreDelegate +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.models.tables.b30 import ( DbB30TableModel, DbB30TableSortFilterProxyModel, @@ -34,6 +35,10 @@ class TableScoreDelegate(ScoreDelegate): class DbB30TableViewer(DbTableViewer): def __init__(self, parent=None): super().__init__(parent) + + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.tableView.verticalHeader().setVisible(True) self.tableModel = DbB30TableModel(self) diff --git a/ui/implements/tabs/tabDb/tabDb_Manage.py b/ui/implements/tabs/tabDb/tabDb_Manage.py index 3c9fa1e..3da4cdc 100644 --- a/ui/implements/tabs/tabDb/tabDb_Manage.py +++ b/ui/implements/tabs/tabDb/tabDb_Manage.py @@ -18,6 +18,7 @@ from PySide6.QtWidgets import QFileDialog, QMessageBox, QWidget from ui.designer.tabs.tabDb.tabDb_Manage_ui import Ui_TabDb_Manage from ui.extends.shared.database import databaseUpdateSignals +from ui.extends.shared.language import LanguageChangeEventFilter logger = logging.getLogger(__name__) @@ -27,6 +28,9 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + @Slot() def on_syncArcSongDbButton_clicked(self): dbFile, filter = QFileDialog.getOpenFileName( diff --git a/ui/implements/tabs/tabDb/tabDb_ScoreTableViewer.py b/ui/implements/tabs/tabDb/tabDb_ScoreTableViewer.py index 36982bd..10a7088 100644 --- a/ui/implements/tabs/tabDb/tabDb_ScoreTableViewer.py +++ b/ui/implements/tabs/tabDb/tabDb_ScoreTableViewer.py @@ -5,6 +5,7 @@ from PySide6.QtWidgets import QMessageBox from ui.extends.shared.delegates.chartDelegate import ChartDelegate from ui.extends.shared.delegates.scoreDelegate import ScoreDelegate +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.models.tables.score import ( DbScoreTableModel, DbScoreTableSortFilterProxyModel, @@ -33,6 +34,9 @@ class DbScoreTableViewer(DbTableViewer): def __init__(self, parent=None): super().__init__(parent) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.tableModel = DbScoreTableModel(self) self.tableProxyModel = DbScoreTableSortFilterProxyModel(self) self.tableProxyModel.setSourceModel(self.tableModel) diff --git a/ui/implements/tabs/tabDbEntry.py b/ui/implements/tabs/tabDbEntry.py index 41d9094..8db5fff 100644 --- a/ui/implements/tabs/tabDbEntry.py +++ b/ui/implements/tabs/tabDbEntry.py @@ -2,6 +2,7 @@ from PySide6.QtCore import QCoreApplication from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabDbEntry_ui import Ui_TabDbEntry +from ui.extends.shared.language import LanguageChangeEventFilter from ui.implements.tabs.tabDb.tabDb_B30TableViewer import DbB30TableViewer from ui.implements.tabs.tabDb.tabDb_ScoreTableViewer import DbScoreTableViewer @@ -11,6 +12,9 @@ class TabDbEntry(Ui_TabDbEntry, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.tabWidget.addTab( DbScoreTableViewer(self), QCoreApplication.translate("TabDbEntry", "tab.scoreTableViewer"), diff --git a/ui/implements/tabs/tabInputScore.py b/ui/implements/tabs/tabInputScore.py index 4711442..5922cbc 100644 --- a/ui/implements/tabs/tabInputScore.py +++ b/ui/implements/tabs/tabInputScore.py @@ -2,12 +2,17 @@ from arcaea_offline.database import Database from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabInputScore_ui import Ui_TabInputScore +from ui.extends.shared.language import LanguageChangeEventFilter class TabInputScore(Ui_TabInputScore, QWidget): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) + + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.chartAndScoreInput.scoreCommited.connect(self.commit) def commit(self): diff --git a/ui/implements/tabs/tabOcr/tabOcr_B30.py b/ui/implements/tabs/tabOcr/tabOcr_B30.py index 61191d3..44452b9 100644 --- a/ui/implements/tabs/tabOcr/tabOcr_B30.py +++ b/ui/implements/tabs/tabOcr/tabOcr_B30.py @@ -1,5 +1,4 @@ import logging -from pathlib import Path import cv2 from arcaea_offline_ocr.b30.chieri.v4.ocr import ChieriBotV4Ocr @@ -11,6 +10,7 @@ from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabOcr.tabOcr_B30_ui import Ui_TabOcr_B30 from ui.extends.components.ocrQueue import OcrQueueModel from ui.extends.shared.cv2_utils import cv2BgrMatToQImage, qImageToCvMatBgr +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.settings import KNN_MODEL_FILE, SIFT_DATABASE_FILE, Settings from ui.extends.tabs.tabOcr.tabOcr_B30 import ChieriV4OcrRunnable, b30ResultToScore @@ -24,6 +24,9 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.b30TypeComboBox.addItem("ChieriV4", "chieri_v4") self.b30TypeComboBox.setCurrentIndex(0) self.b30TypeComboBox.setEnabled(False) diff --git a/ui/implements/tabs/tabOcr/tabOcr_Device.py b/ui/implements/tabs/tabOcr/tabOcr_Device.py index 5f05856..a1d0936 100644 --- a/ui/implements/tabs/tabOcr/tabOcr_Device.py +++ b/ui/implements/tabs/tabOcr/tabOcr_Device.py @@ -11,6 +11,7 @@ from PySide6.QtWidgets import QApplication, QFileDialog, QWidget from ui.designer.tabs.tabOcr.tabOcr_Device_ui import Ui_TabOcr_Device from ui.extends.components.ocrQueue import OcrQueueModel +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.settings import ( DEVICES_JSON_FILE, KNN_MODEL_FILE, @@ -32,6 +33,9 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget): self.setupUi(self) self.openWizardButton.setEnabled(False) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.deviceFileSelector.filesSelected.connect(self.deviceFileSelected) self.knnModelSelector.filesSelected.connect(self.knnModelFileSelected) self.siftDatabaseSelector.filesSelected.connect(self.siftDatabaseFileSelected) diff --git a/ui/implements/tabs/tabOcrEntry.py b/ui/implements/tabs/tabOcrEntry.py index 9be167f..b1b5c41 100644 --- a/ui/implements/tabs/tabOcrEntry.py +++ b/ui/implements/tabs/tabOcrEntry.py @@ -1,9 +1,13 @@ from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabOcrEntry_ui import Ui_TabOcrEntry +from ui.extends.shared.language import LanguageChangeEventFilter class TabOcrEntry(Ui_TabOcrEntry, QWidget): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) + + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) diff --git a/ui/implements/tabs/tabOverview.py b/ui/implements/tabs/tabOverview.py index c68b7b6..ff8b454 100644 --- a/ui/implements/tabs/tabOverview.py +++ b/ui/implements/tabs/tabOverview.py @@ -3,6 +3,7 @@ from PySide6.QtGui import QShowEvent from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabOverview_ui import Ui_TabOverview +from ui.extends.shared.language import LanguageChangeEventFilter class TabOverview(Ui_TabOverview, QWidget): @@ -10,6 +11,9 @@ class TabOverview(Ui_TabOverview, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.db = Database() # self.db.register_update_hook(self.updateOverview) # self.updateOverview() diff --git a/ui/implements/tabs/tabTools/tabTools_Andreal.py b/ui/implements/tabs/tabTools/tabTools_Andreal.py index 82d1273..d2cfe5b 100644 --- a/ui/implements/tabs/tabTools/tabTools_Andreal.py +++ b/ui/implements/tabs/tabTools/tabTools_Andreal.py @@ -21,6 +21,7 @@ from PySide6.QtWidgets import ( ) from ui.designer.tabs.tabTools.tabTools_Andreal_ui import Ui_TabTools_Andreal +from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.settings import ANDREAL_EXECUTABLE, ANDREAL_FOLDER from ui.extends.tabs.tabTools.tabTools_Andreal import AndrealHelper from ui.implements.components.chartSelector import ChartSelector @@ -95,6 +96,9 @@ class TabTools_Andreal(Ui_TabTools_Andreal, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.db = Database() self.andrealHelper = AndrealHelper(self) diff --git a/ui/implements/tabs/tabTools/tabTools_InfoLookup.py b/ui/implements/tabs/tabTools/tabTools_InfoLookup.py index 68ea256..1e58879 100644 --- a/ui/implements/tabs/tabTools/tabTools_InfoLookup.py +++ b/ui/implements/tabs/tabTools/tabTools_InfoLookup.py @@ -5,6 +5,7 @@ from PySide6.QtCore import QDateTime from PySide6.QtWidgets import QVBoxLayout, QWidget from ui.designer.tabs.tabTools.tabTools_InfoLookup_ui import Ui_TabTools_InfoLookup +from ui.extends.shared.language import LanguageChangeEventFilter class TabTools_InfoLookup(Ui_TabTools_InfoLookup, QWidget): @@ -12,6 +13,9 @@ class TabTools_InfoLookup(Ui_TabTools_InfoLookup, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.ratingClassSelector.setLayout(QVBoxLayout) self.db = Database() diff --git a/ui/implements/tabs/tabTools/tabTools_StepCalculator.py b/ui/implements/tabs/tabTools/tabTools_StepCalculator.py index 1770fdf..0e3f487 100644 --- a/ui/implements/tabs/tabTools/tabTools_StepCalculator.py +++ b/ui/implements/tabs/tabTools/tabTools_StepCalculator.py @@ -29,6 +29,7 @@ from PySide6.QtWidgets import ( from ui.designer.tabs.tabTools.tabTools_StepCalculator_ui import ( Ui_TabTools_StepCalculator, ) +from ui.extends.shared.language import LanguageChangeEventFilter from ui.implements.components.chartAndScoreInput import ChartAndScoreInput from ui.implements.components.songIdSelector import SongIdSelectorMode @@ -90,6 +91,9 @@ class TabTools_StepCalculator(Ui_TabTools_StepCalculator, QWidget): super().__init__(parent) self.setupUi(self) + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter) + self.calculate_toStep_calculatePlayResultFromScoreButton.clicked.connect( self.openChartAndScoreInputDialog ) diff --git a/ui/implements/tabs/tabToolsEntry.py b/ui/implements/tabs/tabToolsEntry.py index a01deb5..aa24efb 100644 --- a/ui/implements/tabs/tabToolsEntry.py +++ b/ui/implements/tabs/tabToolsEntry.py @@ -1,9 +1,13 @@ from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabToolsEntry_ui import Ui_TabToolsEntry +from ui.extends.shared.language import LanguageChangeEventFilter class TabToolsEntry(Ui_TabToolsEntry, QWidget): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) + + self.languageChangeEventFilter = LanguageChangeEventFilter(self) + self.installEventFilter(self.languageChangeEventFilter)