fix multiple items moving up/down
This commit is contained in:
parent
518eccfb86
commit
b786b5aa20
@ -436,13 +436,36 @@ void FeedsView::deleteSelectedItem() {
|
||||
}
|
||||
|
||||
void FeedsView::moveSelectedItemUp() {
|
||||
for (RootItem* it : selectedItems()) {
|
||||
auto its = selectedItems();
|
||||
auto std_its = boolinq::from(its)
|
||||
.orderBy([](RootItem* it) {
|
||||
return it->sortOrder();
|
||||
})
|
||||
.toStdList();
|
||||
|
||||
for (RootItem* it : std_its) {
|
||||
m_sourceModel->changeSortOrder(it, false, false, it->sortOrder() - 1);
|
||||
}
|
||||
|
||||
m_proxyModel->invalidate();
|
||||
}
|
||||
|
||||
void FeedsView::moveSelectedItemDown() {
|
||||
auto its = selectedItems();
|
||||
auto std_its = boolinq::from(its)
|
||||
.orderBy([](RootItem* it) {
|
||||
return it->sortOrder();
|
||||
})
|
||||
.reverse()
|
||||
.toStdList();
|
||||
|
||||
for (RootItem* it : std_its) {
|
||||
m_sourceModel->changeSortOrder(it, false, false, it->sortOrder() + 1);
|
||||
}
|
||||
|
||||
m_proxyModel->invalidate();
|
||||
}
|
||||
|
||||
void FeedsView::moveSelectedItemTop() {
|
||||
for (RootItem* it : selectedItems()) {
|
||||
m_sourceModel->changeSortOrder(it, true, false);
|
||||
@ -459,14 +482,6 @@ void FeedsView::moveSelectedItemBottom() {
|
||||
m_proxyModel->invalidate();
|
||||
}
|
||||
|
||||
void FeedsView::moveSelectedItemDown() {
|
||||
for (RootItem* it : selectedItems()) {
|
||||
m_sourceModel->changeSortOrder(it, false, false, it->sortOrder() + 1);
|
||||
}
|
||||
|
||||
m_proxyModel->invalidate();
|
||||
}
|
||||
|
||||
void FeedsView::rearrangeCategoriesOfSelectedItem() {
|
||||
for (RootItem* it : selectedItems()) {
|
||||
m_sourceModel->sortDirectDescendants(it, RootItem::Kind::Category);
|
||||
|
Loading…
x
Reference in New Issue
Block a user