Pressing ctrl-c with rows selected now duplicates all selected rows

Bumped build number to 1.3
This commit is contained in:
ceikry 2021-08-02 11:55:24 -05:00
parent dd5e3f998d
commit 5155750894
4 changed files with 31 additions and 3 deletions

View file

@ -3,7 +3,7 @@ plugins {
}
group 'org.example'
version '1.2'
version '1.3'
repositories {
repositories {

View file

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

View file

@ -8,7 +8,7 @@ import java.util.*
import javax.swing.*
import javax.swing.table.DefaultTableModel
object MainScreen : JFrame("RS09 Thanos Tool") {
object MainScreen : JFrame("RS09 Thanos Tool ${EditorConstants.BUILD_NUMBER}") {
val dirChooser = object : JFileChooser(DataStore.LastConfigPath){
override fun updateUI() {
EditorConstants.updateTheme()

View file

@ -137,6 +137,34 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
}
}
})
table.addKeyListener(object : KeyListener{
override fun keyTyped(p0: KeyEvent?) {}
override fun keyPressed(p0: KeyEvent?) {}
override fun keyReleased(event: KeyEvent) {
if(event.isControlDown){
if(event.keyCode == KeyEvent.VK_C){
//copy-then-paste
val data = model.dataVector
Logger.logInfo("Copy event received.")
for(i in 0 until table.selectedRowCount){
val realRow = table.convertRowIndexToModel(table.selectedRows[i])
val insertPos = table.convertRowIndexToModel(table.selectedRows[table.selectedRowCount - 1]) + 1
Logger.logInfo("Copying row $realRow")
val datum = data.elementAt(realRow) as Vector<*>
val copiedRow = datum.clone() as Vector<*>
val jsonData = getData()[realRow]
val copyData = jsonData.clone() as JSONObject
getData().add(insertPos, copyData)
model.insertRow(insertPos, copiedRow)
}
table.revalidate()
table.repaint()
}
}
}
})
EditorConstants.updateTheme()
pack()