From 440664e56faf1a8b80d571bdf6853a423f8a5626 Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 3 Sep 2024 08:30:48 +0000 Subject: [PATCH] Various fixes --- .../xpipe/app/comp/store/StoreViewState.java | 1 + .../io/xpipe/app/storage/StorageElement.java | 19 +++++++++++++++++++ .../xpipe/app/resources/style/scrollbar.css | 8 ++++++++ .../ext/base/action/CloneStoreAction.java | 13 ++++++++----- lang/proc/strings/translations_da.properties | 1 + lang/proc/strings/translations_de.properties | 1 + lang/proc/strings/translations_en.properties | 1 + lang/proc/strings/translations_es.properties | 1 + lang/proc/strings/translations_fr.properties | 1 + lang/proc/strings/translations_it.properties | 1 + lang/proc/strings/translations_ja.properties | 1 + lang/proc/strings/translations_nl.properties | 1 + lang/proc/strings/translations_pt.properties | 1 + lang/proc/strings/translations_ru.properties | 1 + lang/proc/strings/translations_tr.properties | 1 + lang/proc/strings/translations_zh.properties | 1 + 16 files changed, 48 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java b/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java index 0914f828..c86b069d 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java @@ -176,6 +176,7 @@ public class StoreViewState { var l = Arrays.stream(entry) .map(StoreEntryWrapper::new) .peek(storeEntryWrapper -> storeEntryWrapper.update()) + .peek(wrapper -> wrapper.applyLastAccess()) .toList(); Platform.runLater(() -> { // Don't update anything if we have already reset diff --git a/app/src/main/java/io/xpipe/app/storage/StorageElement.java b/app/src/main/java/io/xpipe/app/storage/StorageElement.java index d1a795e0..4961c3b0 100644 --- a/app/src/main/java/io/xpipe/app/storage/StorageElement.java +++ b/app/src/main/java/io/xpipe/app/storage/StorageElement.java @@ -121,6 +121,25 @@ public abstract class StorageElement { notifyUpdate(false, true); } + public void setLastModified(Instant lastModified) { + if (lastModified.equals(this.lastModified)) { + return; + } + + this.lastModified = lastModified; + notifyUpdate(false, false); + } + + + public void setLastUsed(Instant lastUsed) { + if (lastUsed.equals(this.lastUsed)) { + return; + } + + this.lastUsed = lastUsed; + notifyUpdate(false, false); + } + public interface Listener { void onUpdate(); } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css index f557908a..b136c474 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/scrollbar.css @@ -1,3 +1,11 @@ +.scroll-bar { + -fx-opacity: 1.0; +} + +.scroll-bar .thumb { + -fx-opacity: 0.5; +} + .scroll-bar:vertical { -fx-min-width: 7px; -fx-pref-width: 7px; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/action/CloneStoreAction.java b/ext/base/src/main/java/io/xpipe/ext/base/action/CloneStoreAction.java index 4795885c..6acee407 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/action/CloneStoreAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/action/CloneStoreAction.java @@ -6,11 +6,11 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.core.store.DataStore; - import javafx.beans.value.ObservableValue; - import lombok.Value; +import java.time.Duration; + public class CloneStoreAction implements ActionProvider { @Override @@ -52,12 +52,15 @@ public class CloneStoreAction implements ActionProvider { @Value static class Action implements ActionProvider.Action { - DataStoreEntry store; + DataStoreEntry entry; @Override public void execute() { - DataStorage.get() - .addStoreEntryIfNotPresent(DataStoreEntry.createNew(store.getName() + " (Copy)", store.getStore())); + var entry = DataStoreEntry.createNew(this.entry.getName() + " (Copy)", this.entry.getStore()); + var instant = this.entry.getLastAccess().plus(Duration.ofSeconds(1)); + entry.setLastModified(instant); + entry.setLastUsed(instant); + DataStorage.get().addStoreEntryIfNotPresent(entry); } } } diff --git a/lang/proc/strings/translations_da.properties b/lang/proc/strings/translations_da.properties index da5439a4..2284c2b3 100644 --- a/lang/proc/strings/translations_da.properties +++ b/lang/proc/strings/translations_da.properties @@ -395,3 +395,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=Opret forbindelse til en Hyper-V VM via SSH eller PSSession trustHost=Tillidsvært trustHostDescription=Tilføj ComputerName til listen over betroede værter +copyIp=Kopier IP diff --git a/lang/proc/strings/translations_de.properties b/lang/proc/strings/translations_de.properties index a18b2d56..91247184 100644 --- a/lang/proc/strings/translations_de.properties +++ b/lang/proc/strings/translations_de.properties @@ -373,3 +373,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=Verbindung zu einer Hyper-V VM über SSH oder PSSession trustHost=Vertrauenswürdiger Host trustHostDescription=Computername zur Liste der vertrauenswürdigen Hosts hinzufügen +copyIp=IP kopieren diff --git a/lang/proc/strings/translations_en.properties b/lang/proc/strings/translations_en.properties index 2b7e7886..7cbcdbe6 100644 --- a/lang/proc/strings/translations_en.properties +++ b/lang/proc/strings/translations_en.properties @@ -371,4 +371,5 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=Connect to a Hyper-V VM via SSH or PSSession trustHost=Trust host trustHostDescription=Add ComputerName to trusted hosts list +copyIp=Copy IP diff --git a/lang/proc/strings/translations_es.properties b/lang/proc/strings/translations_es.properties index 366e5c56..0bb0495b 100644 --- a/lang/proc/strings/translations_es.properties +++ b/lang/proc/strings/translations_es.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=VM Hyper-V hyperVVm.displayDescription=Conectarse a una máquina virtual Hyper-V mediante SSH o PSSession trustHost=Host de confianza trustHostDescription=Añadir ComputerName a la lista de hosts de confianza +copyIp=Copiar IP diff --git a/lang/proc/strings/translations_fr.properties b/lang/proc/strings/translations_fr.properties index eab82069..9fde71e5 100644 --- a/lang/proc/strings/translations_fr.properties +++ b/lang/proc/strings/translations_fr.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=VM Hyper-V hyperVVm.displayDescription=Se connecter à une VM Hyper-V via SSH ou PSSession trustHost=Hôte de confiance trustHostDescription=Ajoute NomOrdinateur à la liste des hôtes de confiance +copyIp=Copier l'IP diff --git a/lang/proc/strings/translations_it.properties b/lang/proc/strings/translations_it.properties index e3f5a7bd..7a2c1264 100644 --- a/lang/proc/strings/translations_it.properties +++ b/lang/proc/strings/translations_it.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=VM Hyper-V hyperVVm.displayDescription=Connettersi a una macchina virtuale Hyper-V tramite SSH o PSSession trustHost=Host fiduciario trustHostDescription=Aggiungi NomeComputer all'elenco degli host attendibili +copyIp=Copia IP diff --git a/lang/proc/strings/translations_ja.properties b/lang/proc/strings/translations_ja.properties index 59dd0af4..c3d1f9d5 100644 --- a/lang/proc/strings/translations_ja.properties +++ b/lang/proc/strings/translations_ja.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=SSHまたはPSSession経由でHyper-V VMに接続する trustHost=トラストホスト trustHostDescription=ComputerNameを信頼済みホストリストに追加する +copyIp=コピーIP diff --git a/lang/proc/strings/translations_nl.properties b/lang/proc/strings/translations_nl.properties index 5f68f9c8..8d17e330 100644 --- a/lang/proc/strings/translations_nl.properties +++ b/lang/proc/strings/translations_nl.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=Verbinding maken met een Hyper-V VM via SSH of PSSession trustHost=Vertrouwende host trustHostDescription=ComputerNaam toevoegen aan vertrouwde hosts lijst +copyIp=IP kopiëren diff --git a/lang/proc/strings/translations_pt.properties b/lang/proc/strings/translations_pt.properties index cce679cc..bffdebe7 100644 --- a/lang/proc/strings/translations_pt.properties +++ b/lang/proc/strings/translations_pt.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=VM Hyper-V hyperVVm.displayDescription=Liga-te a uma VM Hyper-V através de SSH ou PSSession trustHost=Anfitrião de confiança trustHostDescription=Adiciona ComputerName à lista de anfitriões de confiança +copyIp=Copia o IP diff --git a/lang/proc/strings/translations_ru.properties b/lang/proc/strings/translations_ru.properties index 312e4146..f5fd4906 100644 --- a/lang/proc/strings/translations_ru.properties +++ b/lang/proc/strings/translations_ru.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=Подключение к виртуальной машине Hyper-V через SSH или PSSession trustHost=Доверительный хост trustHostDescription=Добавьте ComputerName в список доверенных хостов +copyIp=Копировать IP diff --git a/lang/proc/strings/translations_tr.properties b/lang/proc/strings/translations_tr.properties index d5707ed9..453db6ac 100644 --- a/lang/proc/strings/translations_tr.properties +++ b/lang/proc/strings/translations_tr.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=Hyper-V VM hyperVVm.displayDescription=SSH veya PSSession aracılığıyla bir Hyper-V sanal makinesine bağlanma trustHost=Güven ev sahibi trustHostDescription=ComputerName'i güvenilir ana bilgisayarlar listesine ekleme +copyIp=IP Kopyala diff --git a/lang/proc/strings/translations_zh.properties b/lang/proc/strings/translations_zh.properties index 5cea0dbb..394ce119 100644 --- a/lang/proc/strings/translations_zh.properties +++ b/lang/proc/strings/translations_zh.properties @@ -369,3 +369,4 @@ hyperVVm.displayName=Hyper-V 虚拟机 hyperVVm.displayDescription=通过 SSH 或 PSSession 连接到 Hyper-V 虚拟机 trustHost=信任主机 trustHostDescription=将 ComputerName 添加到受信任主机列表 +copyIp=复制 IP