From 5c2f65a07de1cd79a2e2e3f19d181a5415370042 Mon Sep 17 00:00:00 2001 From: jmillman Date: Fri, 5 Feb 2016 10:54:51 -0500 Subject: [PATCH] internationalize TreeComparator --- .../ui/detailview/tree/EventsTree.java | 19 ++++++++++++++++-- .../ui/detailview/tree/TreeComparator.java | 20 ++++++++++++++++--- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/EventsTree.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/EventsTree.java index 1eba76c5fc..e06b68e329 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/EventsTree.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/EventsTree.java @@ -21,7 +21,6 @@ package org.sleuthkit.autopsy.timeline.ui.detailview.tree; import com.google.common.collect.ImmutableList; import java.util.Arrays; import java.util.Collection; -import java.util.Comparator; import java.util.Objects; import javafx.beans.InvalidationListener; import javafx.beans.Observable; @@ -30,6 +29,7 @@ import javafx.collections.ListChangeListener; import javafx.fxml.FXML; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; +import javafx.scene.control.ListCell; import javafx.scene.control.SelectionMode; import javafx.scene.control.Tooltip; import javafx.scene.control.TreeCell; @@ -72,7 +72,7 @@ final public class EventsTree extends BorderPane { private Label eventsTreeLabel; @FXML - private ComboBox>>> sortByBox; + private ComboBox sortByBox; public EventsTree(TimeLineController controller) { this.controller = controller; @@ -128,6 +128,8 @@ final public class EventsTree extends BorderPane { sortByBox.getItems().setAll(Arrays.asList(TreeComparator.Description, TreeComparator.Count)); sortByBox.getSelectionModel().select(TreeComparator.Description); + sortByBox.setCellFactory(listView -> new TreeComparatorCell()); + sortByBox.setButtonCell(new TreeComparatorCell()); sortByBox.getSelectionModel().selectedItemProperty().addListener((Observable o) -> { getRoot().resort(TreeComparator.Type.reversed().thenComparing(sortByBox.getSelectionModel().getSelectedItem()), true); }); @@ -249,4 +251,17 @@ final public class EventsTree extends BorderPane { } } } + + static private class TreeComparatorCell extends ListCell { + + @Override + protected void updateItem(TreeComparator item, boolean empty) { + super.updateItem(item, empty); + if (empty || item == null) { + setText(null); + } else { + setText(item.getDisplayName()); + } + } + } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/TreeComparator.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/TreeComparator.java index bbe7f32f1e..31fe8cf43a 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/TreeComparator.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/TreeComparator.java @@ -20,27 +20,41 @@ package org.sleuthkit.autopsy.timeline.ui.detailview.tree; import java.util.Comparator; import javafx.scene.control.TreeItem; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.timeline.datamodel.EventBundle; import org.sleuthkit.autopsy.timeline.datamodel.eventtype.EventType; +@NbBundle.Messages({"TreeComparator.Description.displayName=Description", + "TreeComparator.Count.displayName=Count", + "TreeComparator.Type.displayName=Type"}) enum TreeComparator implements Comparator>> { - Description { + Description(Bundle.TreeComparator_Description_displayName()) { @Override public int compare(TreeItem> o1, TreeItem> o2) { return o1.getValue().getDescription().compareTo(o2.getValue().getDescription()); } }, - Count { + Count(Bundle.TreeComparator_Count_displayName()) { @Override public int compare(TreeItem> o1, TreeItem> o2) { return Long.compare(o2.getValue().getCount(), o1.getValue().getCount()); } }, - Type { + Type(Bundle.TreeComparator_Type_displayName()) { @Override public int compare(TreeItem> o1, TreeItem> o2) { return EventType.getComparator().compare(o1.getValue().getEventType(), o2.getValue().getEventType()); } }; + + private final String displayName; + + private TreeComparator(String displayName) { + this.displayName = displayName; + } + + public String getDisplayName() { + return displayName; + } }