mirror of
https://gitlab.com/2009scape/tools/rs09-thanos-tool.git
synced 2026-08-01 14:39:20 -06:00
Fixed sort bug introduced by !4, made search case insensitive
This commit is contained in:
parent
3c3ce7d6ae
commit
d98bc6ceb6
5 changed files with 21 additions and 8 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
sorter.rowFilter = rf
|
||||
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> {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue