mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
resource bundle editor: selection changed not save previous property values fix
This commit is contained in:
+12
-1
@@ -84,6 +84,7 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit
|
||||
|
||||
private final StructureViewComponent myStructureViewComponent;
|
||||
private final Map<PropertiesFile, Editor> myEditors;
|
||||
private String myOldPropertyName;
|
||||
private final ResourceBundle myResourceBundle;
|
||||
private final Map<PropertiesFile, JPanel> myTitledPanels;
|
||||
private final JComponent myNoPropertySelectedPanel = new NoPropertySelectedPanel().getComponent();
|
||||
@@ -271,7 +272,9 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit
|
||||
|
||||
private void writeEditorPropertyValue(final Editor editor, final PropertiesFile propertiesFile) {
|
||||
final String currentValue = editor.getDocument().getText();
|
||||
final String selectedProperty = getSelectedPropertyName();
|
||||
final String currentSelectedProperty = getSelectedPropertyName();
|
||||
final String selectedProperty = myOldPropertyName == null ? currentSelectedProperty : myOldPropertyName;
|
||||
|
||||
assert selectedProperty != null;
|
||||
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
@@ -505,10 +508,18 @@ public class ResourceBundleEditor extends UserDataHolderBase implements FileEdit
|
||||
}
|
||||
private void selectionChanged() {
|
||||
myBackSlashPressed.clear();
|
||||
final String currentSelectedPropertyName = getSelectedPropertyName();
|
||||
|
||||
UIUtil.invokeLaterIfNeeded(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (myOldPropertyName != null && !myOldPropertyName.equals(currentSelectedPropertyName)) {
|
||||
for (final Map.Entry<PropertiesFile, Editor> entry : myEditors.entrySet()) {
|
||||
writeEditorPropertyValue(entry.getValue(), entry.getKey());
|
||||
}
|
||||
}
|
||||
updateEditorsFromProperties();
|
||||
myOldPropertyName = currentSelectedPropertyName;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user