Made small improvements to the bulk detail manager.

-Cleaned the code up a bit.

-Added warning message before discarding unapplied entries in the bulk manager. The bulk manager now doesn't automatically close when selecting a single (or no) character, but asks for the user's consent.
This commit is contained in:
tntscreed 2023-03-09 16:24:35 +01:00
parent 1fd45ba1d2
commit 92b1e0b648
1 changed files with 28 additions and 8 deletions

View File

@ -333,19 +333,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.refreshBulkAffectedCharacters()
# Showing the character names on the label
labelText = ""
for characterName in self.bulkAffectedCharacters:
labelText += characterName + " ; "
labelText = self.createCharacterSelectionString()
bulkPersoInfoManagerUi.lblCharactersDynamic.setText(labelText)
# Making the connections
self.makeBulkInfoConnections(bulkPersoInfoManagerUi)
elif enabled and self.BulkManageUi is not None: # If yet another character is selected, refresh the label
labelText = ""
self.refreshBulkAffectedCharacters()
for characterName in self.bulkAffectedCharacters:
labelText += characterName + " ; "
labelText = self.createCharacterSelectionString()
self.BulkManageUi.lblCharactersDynamic.setText(labelText)
else: # Delete manager tab and restore the others
@ -355,6 +350,17 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.BulkManageUi = None
self.bulkAffectedCharacters.clear()
def createCharacterSelectionString(self):
self.refreshBulkAffectedCharacters()
labelText = ""
length = len(self.bulkAffectedCharacters)
for i in range(length-1):
labelText += '"' + self.bulkAffectedCharacters[i] + '"' + ", "
labelText += '"' + self.bulkAffectedCharacters[length-1] + '"'
return labelText
def makeBulkInfoConnections(self, bulkUi):
# A lambda has to be used to pass in the argument
bulkUi.btnPersoBulkAddInfo.clicked.connect(lambda: self.addBulkInfo(bulkUi))
@ -436,8 +442,22 @@ class MainWindow(QMainWindow, Ui_MainWindow):
if len(selectedCharacters) > 1:
self.setPersoBulkMode(True)
else:
self.setPersoBulkMode(False)
if self.BulkManageUi is not None:
self.refreshBulkAffectedCharacters()
self.BulkManageUi.lblCharactersDynamic.setText( self.createCharacterSelectionString() )
tableview_model = self.BulkManageUi.tableView.model()
if tableview_model.rowCount() > 0:
confirm = QMessageBox.warning(
self, "Un-applied data!",
"There are un-applied entries in this tab. Discard them?",
QMessageBox.Yes | QMessageBox.No,
defaultButton = QMessageBox.No
)
if confirm != QMessageBox.Yes:
return
self.setPersoBulkMode(False)
self.tabPersos.setEnabled(True)
def refreshBulkAffectedCharacters(self): #Characters affected by a potential bulk-info modification