Merge branch 'mizaki/gmd_lang_iso' into develop
This commit is contained in:
commit
c9de8370c2
@ -20,7 +20,7 @@ import logging
|
||||
import operator
|
||||
|
||||
import natsort
|
||||
from PyQt5 import QtWidgets, uic
|
||||
from PyQt5 import QtCore, QtWidgets, uic
|
||||
|
||||
from comicapi import utils
|
||||
from comicapi.genericmetadata import Credit
|
||||
@ -75,7 +75,11 @@ class CreditEditorWindow(QtWidgets.QDialog):
|
||||
self.cbRole.setCurrentIndex(i)
|
||||
|
||||
if credit.language != "":
|
||||
i = self.cbLanguage.findText(credit.language)
|
||||
i = (
|
||||
self.cbLanguage.findData(credit.language, QtCore.Qt.ItemDataRole.UserRole)
|
||||
if self.cbLanguage.findData(credit.language, QtCore.Qt.ItemDataRole.UserRole) > -1
|
||||
else self.cbLanguage.findText(credit.language)
|
||||
)
|
||||
if i == -1:
|
||||
self.cbLanguage.setEditText(credit.language)
|
||||
else:
|
||||
@ -84,9 +88,8 @@ class CreditEditorWindow(QtWidgets.QDialog):
|
||||
self.cbPrimary.setChecked(credit.primary)
|
||||
|
||||
def get_credit(self) -> Credit:
|
||||
return Credit(
|
||||
self.leName.text(), self.cbRole.currentText(), self.cbPrimary.isChecked(), self.cbLanguage.currentText()
|
||||
)
|
||||
lang = self.cbLanguage.currentData() or self.cbLanguage.currentText()
|
||||
return Credit(self.leName.text(), self.cbRole.currentText(), self.cbPrimary.isChecked(), lang)
|
||||
|
||||
def accept(self) -> None:
|
||||
if self.leName.text() == "":
|
||||
|
@ -891,6 +891,7 @@ class TaggerWindow(QtWidgets.QMainWindow):
|
||||
language = utils.get_language_from_iso(credit.language) or credit.language
|
||||
item = QtWidgets.QTableWidgetItem(language)
|
||||
item.setData(QtCore.Qt.ItemDataRole.ToolTipRole, credit.language)
|
||||
item.setData(QtCore.Qt.ItemDataRole.UserRole, credit.language)
|
||||
item.setFlags(QtCore.Qt.ItemFlag.ItemIsSelectable | QtCore.Qt.ItemFlag.ItemIsEnabled)
|
||||
self.twCredits.setItem(row, self.md_attributes["credits.language"], item)
|
||||
|
||||
@ -970,7 +971,10 @@ class TaggerWindow(QtWidgets.QMainWindow):
|
||||
|
||||
for row in range(self.twCredits.rowCount()):
|
||||
role = self.twCredits.item(row, self.md_attributes["credits.role"]).text()
|
||||
lang = self.twCredits.item(row, self.md_attributes["credits.language"]).text()
|
||||
lang = (
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).data(QtCore.Qt.ItemDataRole.UserRole)
|
||||
or self.twCredits.item(row, self.md_attributes["credits.language"]).text()
|
||||
)
|
||||
name = self.twCredits.item(row, self.md_attributes["credits.person"]).text()
|
||||
primary_flag = self.twCredits.item(row, self.md_attributes["credits.primary"]).text() != ""
|
||||
|
||||
@ -1268,11 +1272,15 @@ class TaggerWindow(QtWidgets.QMainWindow):
|
||||
old = Credit()
|
||||
if edit:
|
||||
row = self.twCredits.currentRow()
|
||||
lang = str(
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).data(QtCore.Qt.ItemDataRole.UserRole)
|
||||
or utils.get_language_iso(self.twCredits.item(row, self.md_attributes["credits.language"]).text())
|
||||
)
|
||||
old = Credit(
|
||||
self.twCredits.item(row, self.md_attributes["credits.person"]).text(),
|
||||
self.twCredits.item(row, self.md_attributes["credits.role"]).text(),
|
||||
self.twCredits.item(row, self.md_attributes["credits.primary"]).text() != "",
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).text(),
|
||||
lang,
|
||||
)
|
||||
|
||||
editor = CreditEditorWindow(self, CreditEditorWindow.ModeEdit, old)
|
||||
@ -1309,9 +1317,13 @@ class TaggerWindow(QtWidgets.QMainWindow):
|
||||
if ok_to_mod:
|
||||
# modify it
|
||||
if edit:
|
||||
lang = utils.get_language_from_iso(new.language) or new.language
|
||||
self.twCredits.item(row, self.md_attributes["credits.role"]).setText(new.role)
|
||||
self.twCredits.item(row, self.md_attributes["credits.person"]).setText(new.person)
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).setText(new.language)
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).setText(lang)
|
||||
self.twCredits.item(row, self.md_attributes["credits.language"]).setData(
|
||||
QtCore.Qt.ItemDataRole.UserRole, new.language
|
||||
)
|
||||
self.update_credit_primary_flag(row, new.primary)
|
||||
else:
|
||||
# add new entry
|
||||
|
Loading…
Reference in New Issue
Block a user