update to new data structure

This commit is contained in:
marhali 2022-04-11 22:15:55 +02:00
parent da7f5f5663
commit 8b375cb201
2 changed files with 22 additions and 14 deletions

View File

@ -9,14 +9,18 @@ import com.intellij.ui.components.JBScrollPane;
import com.intellij.ui.treeStructure.Tree;
import de.marhali.easyi18n.InstanceManager;
import de.marhali.easyi18n.dialog.EditDialog;
import de.marhali.easyi18n.listener.ReturnKeyListener;
import de.marhali.easyi18n.model.*;
import de.marhali.easyi18n.model.TranslationData;
import de.marhali.easyi18n.model.action.TranslationDelete;
import de.marhali.easyi18n.model.bus.BusListener;
import de.marhali.easyi18n.action.treeview.CollapseTreeViewAction;
import de.marhali.easyi18n.action.treeview.ExpandTreeViewAction;
import de.marhali.easyi18n.dialog.EditDialog;
import de.marhali.easyi18n.listener.DeleteKeyListener;
import de.marhali.easyi18n.listener.PopupClickListener;
import de.marhali.easyi18n.model.KeyPath;
import de.marhali.easyi18n.model.Translation;
import de.marhali.easyi18n.model.TranslationValue;
import de.marhali.easyi18n.renderer.TreeRenderer;
import de.marhali.easyi18n.settings.ProjectSettingsService;
import de.marhali.easyi18n.tabs.mapper.TreeModelMapper;
@ -127,13 +131,13 @@ public class TreeView implements BusListener {
}
KeyPath fullPath = TreeUtil.getFullPath(path);
Translation translation = InstanceManager.get(project).store().getData().getTranslation(fullPath);
TranslationValue value = InstanceManager.get(project).store().getData().getTranslation(fullPath);
if (translation == null) {
if (value == null) {
return;
}
new EditDialog(project, new KeyedTranslation(fullPath, translation)).showAndHandle();
new EditDialog(project, new Translation(fullPath, value)).showAndHandle();
}
private void deleteSelectedNodes() {
@ -147,7 +151,7 @@ public class TreeView implements BusListener {
KeyPath fullPath = TreeUtil.getFullPath(path);
InstanceManager.get(project).processUpdate(
new TranslationDelete(new KeyedTranslation(fullPath, null))
new TranslationDelete(new Translation(fullPath, null))
);
}
}

View File

@ -3,10 +3,14 @@ package de.marhali.easyi18n.tabs.mapper;
import com.intellij.ide.projectView.PresentationData;
import com.intellij.ui.JBColor;
import de.marhali.easyi18n.model.*;
import de.marhali.easyi18n.model.TranslationData;
import de.marhali.easyi18n.model.TranslationNode;
import de.marhali.easyi18n.model.bus.FilterMissingTranslationsListener;
import de.marhali.easyi18n.model.bus.SearchQueryListener;
import de.marhali.easyi18n.model.KeyPath;
import de.marhali.easyi18n.model.TranslationValue;
import de.marhali.easyi18n.settings.ProjectSettings;
import de.marhali.easyi18n.util.KeyPathConverter;
import de.marhali.easyi18n.util.UiUtil;
import org.jetbrains.annotations.NotNull;
@ -31,7 +35,7 @@ public class TreeModelMapper extends DefaultTreeModel implements SearchQueryList
super(null);
this.data = data;
this.converter = new KeyPathConverter(state.isNestedKeys());
this.converter = new KeyPathConverter(state);
this.state = state;
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode();
@ -53,15 +57,15 @@ public class TreeModelMapper extends DefaultTreeModel implements SearchQueryList
query = query.toLowerCase();
for(KeyPath currentKey : this.data.getFullKeys()) {
Translation translation = this.data.getTranslation(currentKey);
String loweredKey = this.converter.concat(currentKey).toLowerCase();
TranslationValue translation = this.data.getTranslation(currentKey);
String loweredKey = this.converter.toString(currentKey).toLowerCase();
if(query.contains(loweredKey) || loweredKey.contains(query)) {
shadow.setTranslation(currentKey, translation);
continue;
}
for(String currentContent : translation.values()) {
for(String currentContent : translation.getLocaleContents()) {
if(currentContent.toLowerCase().contains(query)) {
shadow.setTranslation(currentKey, translation);
break;
@ -85,9 +89,9 @@ public class TreeModelMapper extends DefaultTreeModel implements SearchQueryList
}
for(KeyPath currentKey : this.data.getFullKeys()) {
Translation translation = this.data.getTranslation(currentKey);
TranslationValue translation = this.data.getTranslation(currentKey);
if(translation.values().size() != this.data.getLocales().size()) {
if(translation.getLocaleContents().size() != this.data.getLocales().size()) {
shadow.setTranslation(currentKey, translation);
}
}
@ -125,7 +129,7 @@ public class TreeModelMapper extends DefaultTreeModel implements SearchQueryList
} else {
String previewLocale = this.state.getPreviewLocale();
String sub = "(" + previewLocale + ": " + childTranslationNode.getValue().get(previewLocale) + ")";
String tooltip = UiUtil.generateHtmlTooltip(childTranslationNode.getValue());
String tooltip = UiUtil.generateHtmlTooltip(childTranslationNode.getValue().getEntries());
PresentationData data = new PresentationData(key, sub, null, null);
data.setTooltip(tooltip);