Merge branch 'fix-sorting-and-case-sensitivity' into 'master'

Fixed sort bug introduced by !4, made search case insensitive

See merge request 2009scape/tools/rs09-thanos-tool!5
This commit is contained in:
Ceikry 2022-09-05 17:05:18 +00:00
commit 849f7f9a5b
5 changed files with 21 additions and 8 deletions

View file

@ -2,7 +2,7 @@ import com.github.weisj.darklaf.LafManager
import com.github.weisj.darklaf.theme.OneDarkTheme
object EditorConstants {
var BUILD_NUMBER = "1.5.0"
var BUILD_NUMBER = "1.5.2"
var DARK_MODE = true

View file

@ -23,7 +23,7 @@ object ItemMenu : JFrame("Item Selection Menu") {
var rf: RowFilter<DefaultTableModel?, Any?>? = null
//If current expression doesn't parse, don't update.
rf = try {
RowFilter.regexFilter(searchField.text.capitalize(), 1)
RowFilter.regexFilter("(?i)${searchField.text}")
} catch (e: PatternSyntaxException) {
return
}

View file

@ -104,7 +104,7 @@ class ShopList : JFrame("RS09 Shop Editor") {
var rf: RowFilter<DefaultTableModel?, Any?>? = null
//If current expression doesn't parse, don't update.
rf = try {
RowFilter.regexFilter(searchField.text, 1)
RowFilter.regexFilter("(?i)${searchField.text}")
} catch (e: PatternSyntaxException) {
return
}

View file

@ -45,6 +45,7 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
}
var rowHeaderTable = JTable(rowHeaderModel)
val sorter = TableRowSorter(model)
val rowHeaderSorter = TableRowSorter(rowHeaderModel)
init {
layout = BorderLayout()
@ -56,11 +57,12 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
searchField.addKeyListener(object : KeyListener{
override fun keyTyped(p0: KeyEvent?) { filter() }
override fun keyPressed(p0: KeyEvent?) {}
override fun keyReleased(p0: KeyEvent?) {}
override fun keyPressed(p0: KeyEvent?) {filter()}
override fun keyReleased(p0: KeyEvent?) {filter()}
})
table.rowSorter = sorter
rowHeaderTable.rowSorter = rowHeaderSorter
val addButton = JButton("Add Row")
@ -204,14 +206,25 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
}
private fun filter() {
val regex = Regex("(?i)${searchField.text}")
var rf: RowFilter<DefaultTableModel?, Any?>? = null
//If current expression doesn't parse, don't update.
rf = try {
RowFilter.regexFilter(searchField.text)
RowFilter.regexFilter(regex.pattern)
} catch (e: PatternSyntaxException) {
return
}
if (editor == Editors.OBJECT_CONFIGS) {
sorter.rowFilter = rf
} else {
rowHeaderSorter.rowFilter = rf
sorter.rowFilter = object : RowFilter<DefaultTableModel, Any>() {
override fun include(p0: Entry<out DefaultTableModel, out Any>?): Boolean {
val rowId: Int = p0?.identifier as? Int ?: return false
return regex.containsMatchIn(getData()[rowId]["name"].toString())
}
}
}
}
fun getData(): ArrayList<JSONObject> {

View file

@ -99,7 +99,7 @@ class TableList : JFrame("RS09 Drop Table Editor") {
var rf: RowFilter<DefaultTableModel?, Any?>? = null
//If current expression doesn't parse, don't update.
rf = try {
RowFilter.regexFilter(searchField.text, 0)
RowFilter.regexFilter("(?i)${searchField.text}")
} catch (e: PatternSyntaxException) {
return
}