From d942474e3931642651933dec12736ea7ca670e9f Mon Sep 17 00:00:00 2001 From: wsbrenk Date: Fri, 17 Jan 2025 16:36:50 +0100 Subject: [PATCH] #2229 ReInit player overview table --- .../module/training/ui/PlayerDetailPanel.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/module/training/ui/PlayerDetailPanel.java b/src/main/java/module/training/ui/PlayerDetailPanel.java index 776bc64aa..2e05c661c 100644 --- a/src/main/java/module/training/ui/PlayerDetailPanel.java +++ b/src/main/java/module/training/ui/PlayerDetailPanel.java @@ -3,6 +3,7 @@ import core.constants.player.PlayerAbility; import core.constants.player.PlayerSkill; +import core.gui.RefreshManager; import core.gui.comp.entry.ColorLabelEntry; import core.gui.comp.panel.ImagePanel; import core.gui.comp.panel.LazyImagePanel; @@ -66,8 +67,7 @@ protected void initialize() { @Override protected void update() { if ( m_jtaNotes.isFocusOwner() ){ - // Notes could be changed - saveNotes(m_jtaNotes.getText()); + stopEdit(); } loadFromModel(); } @@ -274,12 +274,12 @@ else if ( i == 0){ m_jtaNotes.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { - editingPlayer = model.getActivePlayer(); + startEdit(model.getActivePlayer()); } @Override public void focusLost(FocusEvent e) { - editingPlayer = null; + stopEdit(); } }); @@ -301,6 +301,20 @@ public void focusLost(FocusEvent e) { add(dummyPanelToConsumeAllExtraSpace, maingbc); } + private void startEdit(Player activePlayer) { + if (this.editingPlayer!=null) { + stopEdit(); + } + this.editingPlayer = activePlayer; + } + + private void stopEdit() { + if (this.editingPlayer != null){ + saveNotes(m_jtaNotes.getText()); + this.editingPlayer = null; + } + } + private void selectTraining(ActionEvent e, PlayerSkill skillIndex) { var player = this.model.getActivePlayer(); if (player != null) { @@ -324,8 +338,9 @@ private void selectTraining(ActionEvent e, PlayerSkill skillIndex) { } private void saveNotes(String notes) { - if( editingPlayer!= null && !notes.equals(editingPlayer.getNote())){ - editingPlayer.setNote(m_jtaNotes.getText()); + if(editingPlayer!= null && !notes.equals(editingPlayer.getNote())){ + editingPlayer.setNote(notes); + RefreshManager.instance().doReInit(); } } -} +} \ No newline at end of file