forked from openlp/openlp
Fixed bug where deleted group would still show up in the 'add group' combobox
This commit is contained in:
parent
42a75e545e
commit
dbcd1080ea
@ -44,10 +44,13 @@ class AddGroupForm(QtGui.QDialog, Ui_AddGroupDialog):
|
|||||||
QtGui.QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
def exec_(self, clear=True):
|
def exec_(self, clear=True, showTopLevelGroup=False):
|
||||||
if clear:
|
if clear:
|
||||||
self.nameEdit.clear()
|
self.nameEdit.clear()
|
||||||
self.nameEdit.setFocus()
|
self.nameEdit.setFocus()
|
||||||
|
if showTopLevelGroup and not self.parentGroupComboBox.topLevelGroupAdded:
|
||||||
|
self.parentGroupComboBox.insertItem(0, translate('ImagePlugin.MediaItem', '-- Top-level group --'), 0)
|
||||||
|
self.parentGroupComboBox.topLevelGroupAdded = True
|
||||||
return QtGui.QDialog.exec_(self)
|
return QtGui.QDialog.exec_(self)
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
|
@ -56,6 +56,7 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
self.manager = plugin.manager
|
self.manager = plugin.manager
|
||||||
self.choosegroupform = ChooseGroupForm(self)
|
self.choosegroupform = ChooseGroupForm(self)
|
||||||
self.addgroupform = AddGroupForm(self)
|
self.addgroupform = AddGroupForm(self)
|
||||||
|
self.fillGroupsComboBox(self.choosegroupform.groupComboBox)
|
||||||
self.fillGroupsComboBox(self.addgroupform.parentGroupComboBox)
|
self.fillGroupsComboBox(self.addgroupform.parentGroupComboBox)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'live_theme_changed'), self.liveThemeChanged)
|
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'live_theme_changed'), self.liveThemeChanged)
|
||||||
# Allow DnD from the desktop
|
# Allow DnD from the desktop
|
||||||
@ -151,13 +152,16 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
translate('ImagePlugin.MediaItem', 'Remove group'),
|
translate('ImagePlugin.MediaItem', 'Remove group'),
|
||||||
translate('ImagePlugin.MediaItem',
|
translate('ImagePlugin.MediaItem',
|
||||||
'Are you sure you want to remove "%s" and everything in it?') % item_data.group_name,
|
'Are you sure you want to remove "%s" and everything in it?') % item_data.group_name,
|
||||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) == QtGui.QMessageBox.Yes:
|
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
|
||||||
|
QtGui.QMessageBox.No)) == QtGui.QMessageBox.Yes:
|
||||||
self.recursivelyDeleteGroup(item_data)
|
self.recursivelyDeleteGroup(item_data)
|
||||||
self.manager.delete_object(ImageGroups, row_item.data(0, QtCore.Qt.UserRole).id)
|
self.manager.delete_object(ImageGroups, row_item.data(0, QtCore.Qt.UserRole).id)
|
||||||
if item_data.parent_id is 0:
|
if item_data.parent_id is 0:
|
||||||
self.listView.takeTopLevelItem(self.listView.indexOfTopLevelItem(row_item))
|
self.listView.takeTopLevelItem(self.listView.indexOfTopLevelItem(row_item))
|
||||||
else:
|
else:
|
||||||
row_item.parent().removeChild(row_item)
|
row_item.parent().removeChild(row_item)
|
||||||
|
self.fillGroupsComboBox(self.choosegroupform.groupComboBox)
|
||||||
|
self.fillGroupsComboBox(self.addgroupform.parentGroupComboBox)
|
||||||
self.main_window.incrementProgressBar()
|
self.main_window.incrementProgressBar()
|
||||||
self.main_window.finishedProgressBar()
|
self.main_window.finishedProgressBar()
|
||||||
Receiver.send_message(u'cursor_normal')
|
Receiver.send_message(u'cursor_normal')
|
||||||
@ -180,14 +184,13 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
groupList[image_group.id] = group
|
groupList[image_group.id] = group
|
||||||
self.addSubGroups(groupList, image_group.id)
|
self.addSubGroups(groupList, image_group.id)
|
||||||
|
|
||||||
def fillGroupsComboBox(self, comboBox, parentGroupId=0, prefix='', showTopLevelGroup=True):
|
def fillGroupsComboBox(self, comboBox, parentGroupId=0, prefix=''):
|
||||||
"""
|
"""
|
||||||
Recursively add groups to the combobox in the 'Add group' dialog
|
Recursively add groups to the combobox in the 'Add group' dialog
|
||||||
"""
|
"""
|
||||||
if parentGroupId is 0:
|
if parentGroupId is 0:
|
||||||
comboBox.clear()
|
comboBox.clear()
|
||||||
if showTopLevelGroup is True:
|
comboBox.topLevelGroupAdded = False
|
||||||
comboBox.addItem(translate('ImagePlugin.MediaItem', '-- Top-level group --'), 0)
|
|
||||||
image_groups = self.manager.get_all_objects(ImageGroups, ImageGroups.parent_id == parentGroupId)
|
image_groups = self.manager.get_all_objects(ImageGroups, ImageGroups.parent_id == parentGroupId)
|
||||||
image_groups.sort(cmp=locale_compare, key=lambda group_object: group_object.group_name)
|
image_groups.sort(cmp=locale_compare, key=lambda group_object: group_object.group_name)
|
||||||
for image_group in image_groups:
|
for image_group in image_groups:
|
||||||
@ -245,7 +248,6 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
"""
|
"""
|
||||||
if target_group is None:
|
if target_group is None:
|
||||||
# Ask which group the images should be saved in
|
# Ask which group the images should be saved in
|
||||||
self.fillGroupsComboBox(self.choosegroupform.groupComboBox, showTopLevelGroup=False)
|
|
||||||
if self.choosegroupform.exec_():
|
if self.choosegroupform.exec_():
|
||||||
group_id = self.choosegroupform.groupComboBox.itemData(
|
group_id = self.choosegroupform.groupComboBox.itemData(
|
||||||
self.choosegroupform.groupComboBox.currentIndex(), QtCore.Qt.UserRole)
|
self.choosegroupform.groupComboBox.currentIndex(), QtCore.Qt.UserRole)
|
||||||
@ -384,7 +386,7 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
"""
|
"""
|
||||||
Called to add a new group
|
Called to add a new group
|
||||||
"""
|
"""
|
||||||
if self.addgroupform.exec_():
|
if self.addgroupform.exec_(showTopLevelGroup=True):
|
||||||
new_group = ImageGroups.populate(parent_id=self.addgroupform.parentGroupComboBox.itemData(
|
new_group = ImageGroups.populate(parent_id=self.addgroupform.parentGroupComboBox.itemData(
|
||||||
self.addgroupform.parentGroupComboBox.currentIndex(), QtCore.Qt.UserRole),
|
self.addgroupform.parentGroupComboBox.currentIndex(), QtCore.Qt.UserRole),
|
||||||
group_name=self.addgroupform.nameEdit.text())
|
group_name=self.addgroupform.nameEdit.text())
|
||||||
@ -392,6 +394,7 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
if self.manager.save_object(new_group):
|
if self.manager.save_object(new_group):
|
||||||
self.loadFullList(self.manager.get_all_objects(ImageFilenames,
|
self.loadFullList(self.manager.get_all_objects(ImageFilenames,
|
||||||
order_by_ref=ImageFilenames.filename))
|
order_by_ref=ImageFilenames.filename))
|
||||||
|
self.fillGroupsComboBox(self.choosegroupform.groupComboBox)
|
||||||
self.fillGroupsComboBox(self.addgroupform.parentGroupComboBox)
|
self.fillGroupsComboBox(self.addgroupform.parentGroupComboBox)
|
||||||
else:
|
else:
|
||||||
critical_error_message_box(
|
critical_error_message_box(
|
||||||
|
Loading…
Reference in New Issue
Block a user