mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix Preferences->Add your own columns changing check state on moving columns. Fixes #2031569 [boxes that are unticked become ticked if another column is moved over it](https://bugs.launchpad.net/calibre/+bug/2031569)
This commit is contained in:
parent
c604802ac8
commit
a69604b519
@ -137,7 +137,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
return
|
return
|
||||||
self.opt_columns.resizeColumnsToContents()
|
self.opt_columns.resizeColumnsToContents()
|
||||||
|
|
||||||
def setup_row(self, row, key, order):
|
def setup_row(self, row, key, order, force_checked_to=None):
|
||||||
flags = Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable
|
flags = Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable
|
||||||
|
|
||||||
if self.is_custom_key(key):
|
if self.is_custom_key(key):
|
||||||
@ -161,8 +161,10 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
item.setCheckState(Qt.CheckState.PartiallyChecked)
|
item.setCheckState(Qt.CheckState.PartiallyChecked)
|
||||||
else:
|
else:
|
||||||
item.setFlags(flags)
|
item.setFlags(flags)
|
||||||
item.setCheckState(Qt.CheckState.Unchecked if key in self.hidden_cols else
|
if force_checked_to is None:
|
||||||
Qt.CheckState.Checked)
|
item.setCheckState(Qt.CheckState.Unchecked if key in self.hidden_cols else Qt.CheckState.Checked)
|
||||||
|
else:
|
||||||
|
item.setCheckState(force_checked_to)
|
||||||
|
|
||||||
item = QTableWidgetItem(cc['name'])
|
item = QTableWidgetItem(cc['name'])
|
||||||
item.setToolTip(cc['name'])
|
item.setToolTip(cc['name'])
|
||||||
@ -216,6 +218,11 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
self.opt_columns.setItem(row, 5, item)
|
self.opt_columns.setItem(row, 5, item)
|
||||||
self.opt_columns.setSortingEnabled(True)
|
self.opt_columns.setSortingEnabled(True)
|
||||||
|
|
||||||
|
def recreate_row(self, row):
|
||||||
|
checked = self.opt_columns.item(row, 0).checkState()
|
||||||
|
title = self.opt_columns.item(row, 2).text()
|
||||||
|
self.setup_row(row, title, row, force_checked_to=checked)
|
||||||
|
|
||||||
def up_column(self):
|
def up_column(self):
|
||||||
self.opt_columns.setSortingEnabled(False)
|
self.opt_columns.setSortingEnabled(False)
|
||||||
row = self.opt_columns.currentRow()
|
row = self.opt_columns.currentRow()
|
||||||
@ -225,8 +232,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
upper = self.opt_columns.takeItem(row, i)
|
upper = self.opt_columns.takeItem(row, i)
|
||||||
self.opt_columns.setItem(row, i, lower)
|
self.opt_columns.setItem(row, i, lower)
|
||||||
self.opt_columns.setItem(row-1, i, upper)
|
self.opt_columns.setItem(row-1, i, upper)
|
||||||
self.setup_row(row-1, self.opt_columns.item(row-1, 2).text(), row-1)
|
self.recreate_row(row-1)
|
||||||
self.setup_row(row, self.opt_columns.item(row, 2).text(), row)
|
self.recreate_row(row)
|
||||||
self.opt_columns.setCurrentCell(row-1, 1)
|
self.opt_columns.setCurrentCell(row-1, 1)
|
||||||
self.changed_signal.emit()
|
self.changed_signal.emit()
|
||||||
self.opt_columns.setSortingEnabled(True)
|
self.opt_columns.setSortingEnabled(True)
|
||||||
@ -240,8 +247,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
upper = self.opt_columns.takeItem(row+1, i)
|
upper = self.opt_columns.takeItem(row+1, i)
|
||||||
self.opt_columns.setItem(row+1, i, lower)
|
self.opt_columns.setItem(row+1, i, lower)
|
||||||
self.opt_columns.setItem(row, i, upper)
|
self.opt_columns.setItem(row, i, upper)
|
||||||
self.setup_row(row+1, self.opt_columns.item(row+1, 2).text(), row+1)
|
self.recreate_row(row+1)
|
||||||
self.setup_row(row, self.opt_columns.item(row, 2).text(), row)
|
self.recreate_row(row)
|
||||||
self.opt_columns.setCurrentCell(row+1, 1)
|
self.opt_columns.setCurrentCell(row+1, 1)
|
||||||
self.changed_signal.emit()
|
self.changed_signal.emit()
|
||||||
self.opt_columns.setSortingEnabled(True)
|
self.opt_columns.setSortingEnabled(True)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user