diff --git a/src/main/java/org/cryptomator/event/FileSystemEventBucket.java b/src/main/java/org/cryptomator/event/FileSystemEventBucket.java index 8e2f7bf92..c7b0bc577 100644 --- a/src/main/java/org/cryptomator/event/FileSystemEventBucket.java +++ b/src/main/java/org/cryptomator/event/FileSystemEventBucket.java @@ -3,12 +3,12 @@ package org.cryptomator.event; import org.cryptomator.common.vaults.Vault; import org.cryptomator.cryptofs.event.FilesystemEvent; -public record FileSystemEventBucket(Vault v, FilesystemEvent mostRecent, int count) implements Comparable { +public record FileSystemEventBucket(Vault vault, FilesystemEvent mostRecent, int count) implements Comparable { @Override public boolean equals(Object other) { if (other instanceof FileSystemEventBucket(Vault v2, FilesystemEvent e2, _)) { - return v.equals(v2) && mostRecent.getClass().equals(e2.getClass()); + return vault.equals(v2) && mostRecent.getClass().equals(e2.getClass()); } return false; } @@ -19,7 +19,7 @@ public record FileSystemEventBucket(Vault v, FilesystemEvent mostRecent, int cou if (timeResult != 0) { return timeResult; } - var vaultIdResult = v.getId().compareTo(other.v.getId()); + var vaultIdResult = vault.getId().compareTo(other.vault.getId()); if (vaultIdResult != 0) { return vaultIdResult; } diff --git a/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java b/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java index 7c7f91dd9..4a278cb4b 100644 --- a/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java +++ b/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java @@ -86,7 +86,7 @@ public class EventListCellController implements FxController { this.eventDescription = new SimpleStringProperty(); this.eventIcon = new SimpleObjectProperty<>(); this.eventCount = ObservableUtil.mapWithDefault(event, e -> e.count() == 1? "" : "("+ e.count() +")", ""); - this.vaultUnlocked = ObservableUtil.mapWithDefault(event.flatMap(e -> e.v().unlockedProperty()), Function.identity(), false); + this.vaultUnlocked = ObservableUtil.mapWithDefault(event.flatMap(e -> e.vault().unlockedProperty()), Function.identity(), false); this.readableTime = ObservableUtil.mapWithDefault(event, e -> LOCAL_TIME_FORMATTER.format(e.mostRecent().getTimestamp()), ""); this.readableDate = ObservableUtil.mapWithDefault(event, e -> LOCAL_DATE_FORMATTER.format(e.mostRecent().getTimestamp()), ""); this.message = Bindings.createStringBinding(this::selectMessage, vaultUnlocked, eventMessage); @@ -112,8 +112,8 @@ public class EventListCellController implements FxController { event.set(item); eventActionsMenu.hide(); eventActionsMenu.getItems().clear(); - eventTooltip.setText(item.v().getDisplayName()); - addAction("generic.action.dismiss", () -> fileSystemEventRegistry.remove(item.v(),item.mostRecent())); + eventTooltip.setText(item.vault().getDisplayName()); + addAction("generic.action.dismiss", () -> fileSystemEventRegistry.remove(item.vault(),item.mostRecent())); switch (item.mostRecent()) { case ConflictResolvedEvent fse -> this.adjustToConflictResolvedEvent(fse); case ConflictResolutionFailedEvent fse -> this.adjustToConflictEvent(fse); @@ -211,7 +211,7 @@ public class EventListCellController implements FxController { return eventDescription.getValue(); } else { var e = event.getValue(); - return resourceBundle.getString("eventView.entry.vaultLocked.description").formatted(e != null ? e.v().getDisplayName() : ""); + return resourceBundle.getString("eventView.entry.vaultLocked.description").formatted(e != null ? e.vault().getDisplayName() : ""); } } @@ -232,7 +232,7 @@ public class EventListCellController implements FxController { if (!(p instanceof CryptoPath)) { throw new IllegalArgumentException("Path " + p + " is not a vault path"); } - var v = event.getValue().v(); + var v = event.getValue().vault(); if (!v.isUnlocked()) { return Path.of(System.getProperty("user.home")); } diff --git a/src/main/java/org/cryptomator/ui/eventview/EventViewController.java b/src/main/java/org/cryptomator/ui/eventview/EventViewController.java index b40589584..17b3193a9 100644 --- a/src/main/java/org/cryptomator/ui/eventview/EventViewController.java +++ b/src/main/java/org/cryptomator/ui/eventview/EventViewController.java @@ -1,8 +1,8 @@ package org.cryptomator.ui.eventview; -import org.cryptomator.event.FileSystemEventRegistry; import org.cryptomator.common.vaults.Vault; import org.cryptomator.event.FileSystemEventBucket; +import org.cryptomator.event.FileSystemEventRegistry; import org.cryptomator.ui.common.FxController; import javax.inject.Inject; @@ -72,14 +72,11 @@ public class EventViewController implements FxController { private void updateList(MapChangeListener.Change change) { var vault = change.getKey().vault(); - if (change.wasAdded() && change.wasRemoved()) { - //entry updated - eventList.remove(new FileSystemEventBucket(vault, change.getValueRemoved().mostRecentEvent(), change.getValueRemoved().count())); + if (change.wasRemoved()) { + eventList.remove(new FileSystemEventBucket(vault, change.getValueRemoved().mostRecentEvent(), 0)); + } + if (change.wasAdded()) { eventList.addLast(new FileSystemEventBucket(vault, change.getValueAdded().mostRecentEvent(), change.getValueAdded().count())); - } else if (change.wasAdded()) { - eventList.addLast(new FileSystemEventBucket(vault, change.getValueAdded().mostRecentEvent(), change.getValueAdded().count())); - } else { //removed - eventList.remove(new FileSystemEventBucket(vault, change.getValueRemoved().mostRecentEvent(), change.getValueRemoved().count())); } } @@ -87,7 +84,7 @@ public class EventViewController implements FxController { if (newV == null) { filteredEventList.setPredicate(_ -> true); } else { - filteredEventList.setPredicate(e -> e.v().equals(newV)); + filteredEventList.setPredicate(e -> e.vault().equals(newV)); } }