mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-11 09:13:57 -04:00
Bug #1909332: Duplicated rules appear to overwrite next item in list Edit
Actually the duplicated rule was exchanged with the last rule.
This commit is contained in:
parent
d7a7dd755f
commit
530238b2fb
@ -784,12 +784,11 @@ class RulesModel(QAbstractListModel): # {{{
|
|||||||
def move(self, idx, delta):
|
def move(self, idx, delta):
|
||||||
row = idx.row() + delta
|
row = idx.row() + delta
|
||||||
if row >= 0 and row < len(self.rules):
|
if row >= 0 and row < len(self.rules):
|
||||||
t = self.rules[row]
|
self.beginResetModel()
|
||||||
self.rules[row] = self.rules[row-delta]
|
t = self.rules.pop(row-delta)
|
||||||
self.rules[row-delta] = t
|
self.rules.insert(row, t) # does append if row >= len(rules)
|
||||||
self.dataChanged.emit(idx, idx)
|
self.endResetModel()
|
||||||
idx = self.index(row)
|
idx = self.index(row)
|
||||||
self.dataChanged.emit(idx, idx)
|
|
||||||
return idx
|
return idx
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
@ -1136,6 +1135,7 @@ class EditRules(QWidget): # {{{
|
|||||||
idx = self.model.move(idx, -1)
|
idx = self.model.move(idx, -1)
|
||||||
if idx is not None:
|
if idx is not None:
|
||||||
sm.select(idx, QItemSelectionModel.SelectionFlag.Toggle)
|
sm.select(idx, QItemSelectionModel.SelectionFlag.Toggle)
|
||||||
|
self.rules_view.setCurrentIndex(idx)
|
||||||
self.changed.emit()
|
self.changed.emit()
|
||||||
|
|
||||||
def move_down(self):
|
def move_down(self):
|
||||||
@ -1150,6 +1150,7 @@ class EditRules(QWidget): # {{{
|
|||||||
idx = self.model.move(idx, 1)
|
idx = self.model.move(idx, 1)
|
||||||
if idx is not None:
|
if idx is not None:
|
||||||
sm.select(idx, QItemSelectionModel.SelectionFlag.Toggle)
|
sm.select(idx, QItemSelectionModel.SelectionFlag.Toggle)
|
||||||
|
self.rules_view.setCurrentIndex(idx)
|
||||||
self.changed.emit()
|
self.changed.emit()
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user