fix sorting by Name which got broken when adding the checkmark. GitHub issue #80

auto-update
Zlatin Balevsky 2021-10-13 18:29:53 +01:00
parent 2fdd885151
commit cedf969ba3
No known key found for this signature in database
GPG Key ID: A72832072D525E41
3 changed files with 31 additions and 1 deletions

View File

@ -165,6 +165,8 @@ class BrowseView {
resultsTable.rowSorter.addRowSorterListener({evt -> lastSortEvent = evt})
resultsTable.rowSorter.setSortsOnUpdates(true)
resultsTable.rowSorter.setComparator(0, new UIResultEventComparator(true))
def selectionModel = resultsTable.getSelectionModel()
selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)
selectionModel.addListSelectionListener({

View File

@ -389,7 +389,7 @@ class SearchTabView {
resultsTable.rowSorter.addRowSorterListener({ evt -> lastSortEvent = evt})
resultsTable.rowSorter.setSortsOnUpdates(true)
resultsTable.rowSorter.setComparator(0, new UIResultEventComparator(false))
resultsTable.addMouseListener(resultsMouseListener)
@ -455,6 +455,7 @@ class SearchTabView {
resultsTable2.columnModel.getColumn(1).setCellRenderer(new SizeRenderer())
resultsTable2.rowSorter.addRowSorterListener({evt -> lastResults2SortEvent = evt})
resultsTable2.rowSorter.setSortsOnUpdates(true)
resultsTable2.rowSorter.setComparator(0, new UIResultEventComparator(false))
selectionModel = resultsTable2.getSelectionModel()
selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)
selectionModel.addListSelectionListener({
@ -499,6 +500,7 @@ class SearchTabView {
new ResultNameTableCellRenderer(model.core.fileManager::isShared, true))
sendersTable2.rowSorter.addRowSorterListener({ evt -> lastSenders2SortEvent = evt})
sendersTable2.rowSorter.setSortsOnUpdates(true)
sendersTable2.rowSorter.setComparator(1, new UIResultEventComparator(true))
selectionModel = sendersTable2.getSelectionModel()
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
selectionModel.addListSelectionListener({

View File

@ -0,0 +1,26 @@
package com.muwire.gui
import com.muwire.core.search.UIResultEvent
import java.text.Collator
class UIResultEventComparator implements Comparator<UIResultEvent>{
private final boolean fullPath
UIResultEventComparator(boolean fullPath) {
this.fullPath = fullPath
}
@Override
int compare(UIResultEvent o1, UIResultEvent o2) {
String s1,s2
if (fullPath) {
s1 = o1.getFullPath()
s2 = o2.getFullPath()
} else {
s1 = o1.getName()
s2 = o2.getName()
}
return Collator.getInstance().compare(s1, s2)
}
}