mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
More "manage category" cleanups
This commit is contained in:
parent
0c3212f256
commit
a701da4e67
@ -72,6 +72,7 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
Ui_TagListEditor.__init__(self)
|
Ui_TagListEditor.__init__(self)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
|
|
||||||
|
# Put the category name into the title bar
|
||||||
t = self.windowTitle()
|
t = self.windowTitle()
|
||||||
self.setWindowTitle(t + ' (' + cat_name + ')')
|
self.setWindowTitle(t + ' (' + cat_name + ')')
|
||||||
# Remove help icon on title bar
|
# Remove help icon on title bar
|
||||||
@ -79,6 +80,7 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
self.setWindowFlags(self.windowFlags()&(~Qt.WindowContextHelpButtonHint))
|
self.setWindowFlags(self.windowFlags()&(~Qt.WindowContextHelpButtonHint))
|
||||||
self.setWindowIcon(icon)
|
self.setWindowIcon(icon)
|
||||||
|
|
||||||
|
# Get saved geometry info
|
||||||
try:
|
try:
|
||||||
self.table_column_widths = \
|
self.table_column_widths = \
|
||||||
gprefs.get('tag_list_editor_table_widths', None)
|
gprefs.get('tag_list_editor_table_widths', None)
|
||||||
@ -87,6 +89,7 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
# initialization
|
||||||
self.to_rename = {}
|
self.to_rename = {}
|
||||||
self.to_delete = set([])
|
self.to_delete = set([])
|
||||||
self.original_names = {}
|
self.original_names = {}
|
||||||
@ -125,14 +128,16 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
for row,tag in enumerate(sorted(self.all_tags.keys(), key=sorter)):
|
for row,tag in enumerate(sorted(self.all_tags.keys(), key=sorter)):
|
||||||
item = NameTableWidgetItem(tag)
|
item = NameTableWidgetItem(tag)
|
||||||
item.setData(Qt.UserRole, self.all_tags[tag])
|
item.setData(Qt.UserRole, self.all_tags[tag])
|
||||||
item.setFlags (item.flags() | Qt.ItemIsEditable)
|
item.setFlags (item.flags() | Qt.ItemIsSelectable | Qt.ItemIsEditable)
|
||||||
self.table.setItem(row, 0, item)
|
self.table.setItem(row, 0, item)
|
||||||
if tag == tag_to_match:
|
if tag == tag_to_match:
|
||||||
select_item = item
|
select_item = item
|
||||||
item = CountTableWidgetItem(self.counts[tag])
|
item = CountTableWidgetItem(self.counts[tag])
|
||||||
|
# only the name column can be selected
|
||||||
item.setFlags (item.flags() & ~Qt.ItemIsSelectable)
|
item.setFlags (item.flags() & ~Qt.ItemIsSelectable)
|
||||||
self.table.setItem(row, 1, item)
|
self.table.setItem(row, 1, item)
|
||||||
|
|
||||||
|
# Scroll to the selected item if there is one
|
||||||
if select_item is not None:
|
if select_item is not None:
|
||||||
self.table.setCurrentItem(select_item)
|
self.table.setCurrentItem(select_item)
|
||||||
|
|
||||||
@ -140,16 +145,12 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
self.rename_button.clicked.connect(self.rename_tag)
|
self.rename_button.clicked.connect(self.rename_tag)
|
||||||
self.table.itemDoubleClicked.connect(self._rename_tag)
|
self.table.itemDoubleClicked.connect(self._rename_tag)
|
||||||
self.table.itemChanged.connect(self.finish_editing)
|
self.table.itemChanged.connect(self.finish_editing)
|
||||||
|
self.buttonBox.accepted.connect(self.accepted)
|
||||||
|
|
||||||
def table_column_resized(self, col, old, new):
|
def table_column_resized(self, col, old, new):
|
||||||
self.save_state()
|
|
||||||
|
|
||||||
def save_state(self):
|
|
||||||
self.table_column_widths = []
|
self.table_column_widths = []
|
||||||
for c in range(0, self.table.columnCount()):
|
for c in range(0, self.table.columnCount()):
|
||||||
self.table_column_widths.append(self.table.columnWidth(c))
|
self.table_column_widths.append(self.table.columnWidth(c))
|
||||||
gprefs['tag_list_editor_table_widths'] = self.table_column_widths
|
|
||||||
gprefs['tag_list_editor_dialog_geometry'] = bytearray(self.saveGeometry())
|
|
||||||
|
|
||||||
def resizeEvent(self, *args):
|
def resizeEvent(self, *args):
|
||||||
QDialog.resizeEvent(self, *args)
|
QDialog.resizeEvent(self, *args)
|
||||||
@ -164,7 +165,10 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
w /= self.table.columnCount()
|
w /= self.table.columnCount()
|
||||||
for c in range(0, self.table.columnCount()):
|
for c in range(0, self.table.columnCount()):
|
||||||
self.table.setColumnWidth(c, w)
|
self.table.setColumnWidth(c, w)
|
||||||
self.save_state()
|
|
||||||
|
def save_geometry(self):
|
||||||
|
gprefs['tag_list_editor_table_widths'] = self.table_column_widths
|
||||||
|
gprefs['tag_list_editor_dialog_geometry'] = bytearray(self.saveGeometry())
|
||||||
|
|
||||||
def finish_editing(self, item):
|
def finish_editing(self, item):
|
||||||
if not item.text():
|
if not item.text():
|
||||||
@ -191,11 +195,11 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
deletes = self.table.selectedItems()
|
deletes = self.table.selectedItems()
|
||||||
if not deletes:
|
if not deletes:
|
||||||
error_dialog(self, _('No items selected'),
|
error_dialog(self, _('No items selected'),
|
||||||
_('You must select at least one items from the list.')).exec_()
|
_('You must select at least one item from the list.')).exec_()
|
||||||
return
|
return
|
||||||
ct = ', '.join([unicode(item.text()) for item in deletes])
|
ct = ', '.join([unicode(item.text()) for item in deletes])
|
||||||
if not question_dialog(self, _('Are your sure?'),
|
if not question_dialog(self, _('Are you sure?'),
|
||||||
'<p>'+_('Are you certain you want to delete the following items?')+'<br>'+ct):
|
'<p>'+_('Are you sure you want to delete the following items?')+'<br>'+ct):
|
||||||
return
|
return
|
||||||
row = self.table.row(deletes[0])
|
row = self.table.row(deletes[0])
|
||||||
for item in deletes:
|
for item in deletes:
|
||||||
@ -229,5 +233,4 @@ class TagListEditor(QDialog, Ui_TagListEditor):
|
|||||||
self.name_col.setIcon(self.blank_icon)
|
self.name_col.setIcon(self.blank_icon)
|
||||||
|
|
||||||
def accepted(self):
|
def accepted(self):
|
||||||
self.save_state()
|
self.save_geometry()
|
||||||
self.accept()
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user