mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-09-24 09:25:36 +00:00
Merge fixes
This commit is contained in:
@@ -17,10 +17,14 @@ public interface QuickConnectProvider extends ActionProvider {
|
||||
}
|
||||
|
||||
static Optional<QuickConnectProvider> find(String input) {
|
||||
return ActionProvider.ALL.stream().filter(actionProvider -> actionProvider instanceof QuickConnectProvider qcp &&
|
||||
(input.length() <= qcp.getName().length() && input.toLowerCase().startsWith(qcp.getName().toLowerCase()) ||
|
||||
qcp.getName().toLowerCase().startsWith(input.toLowerCase())))
|
||||
.findFirst().map(qcp -> (QuickConnectProvider) qcp);
|
||||
return ActionProvider.ALL.stream()
|
||||
.filter(actionProvider -> actionProvider instanceof QuickConnectProvider qcp
|
||||
&& (input.length() <= qcp.getName().length()
|
||||
&& input.toLowerCase()
|
||||
.startsWith(qcp.getName().toLowerCase())
|
||||
|| qcp.getName().toLowerCase().startsWith(input.toLowerCase())))
|
||||
.findFirst()
|
||||
.map(qcp -> (QuickConnectProvider) qcp);
|
||||
}
|
||||
|
||||
String getName();
|
||||
|
||||
@@ -24,7 +24,6 @@ import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.SimpleDoubleProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyCodeCombination;
|
||||
|
||||
@@ -14,7 +14,6 @@ import io.xpipe.app.util.ThreadHelper;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.event.EventType;
|
||||
import javafx.geometry.Side;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.ContextMenu;
|
||||
@@ -293,7 +292,8 @@ public class BrowserQuickAccessContextMenu extends ContextMenu {
|
||||
}
|
||||
});
|
||||
contextMenu.addEventFilter(MouseEvent.ANY, event -> {
|
||||
var mouseEvent = event.getEventType() == MouseEvent.MOUSE_PRESSED || event.getEventType() == MouseEvent.MOUSE_MOVED;
|
||||
var mouseEvent = event.getEventType() == MouseEvent.MOUSE_PRESSED
|
||||
|| event.getEventType() == MouseEvent.MOUSE_MOVED;
|
||||
keyBasedNavigation = keyBasedNavigation && !mouseEvent;
|
||||
if (keyBasedNavigation) {
|
||||
event.consume();
|
||||
|
||||
@@ -5,8 +5,8 @@ import io.xpipe.app.comp.RegionStructure;
|
||||
import io.xpipe.app.comp.RegionStructureBuilder;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.platform.PlatformThread;
|
||||
|
||||
import io.xpipe.app.terminal.TerminalDockHubManager;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.scene.Node;
|
||||
|
||||
@@ -4,7 +4,6 @@ import io.xpipe.app.issue.ErrorAction;
|
||||
import io.xpipe.app.issue.ErrorEvent;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.*;
|
||||
import io.xpipe.app.util.DataStoreFormatter;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
@@ -113,13 +112,11 @@ public class SshIdentityStateManager {
|
||||
var r = c.readStdoutAndStderr();
|
||||
if (c.getExitCode() != 0) {
|
||||
var posixMessage = sc.getOsType() != OsType.WINDOWS
|
||||
? authSock != null
|
||||
? " at the socket location " + authSock
|
||||
: ""
|
||||
? authSock != null ? " at the socket location " + authSock : ""
|
||||
: "";
|
||||
var joined = (!r[0].isEmpty() ? r[0] + "\n" : "") + r[1];
|
||||
var ex = new IllegalStateException("Unable to list agent identities via command ssh-add -l:\n" + joined + "\n\n"
|
||||
+ "Please check whether the agent is running correctly%s.".formatted(posixMessage));
|
||||
var ex = new IllegalStateException("Unable to list agent identities via command ssh-add -l:\n" + joined
|
||||
+ "\n\n" + "Please check whether the agent is running correctly%s.".formatted(posixMessage));
|
||||
var eventBuilder = ErrorEventFactory.fromThrowable(ex).expected();
|
||||
ErrorEventFactory.preconfigure(eventBuilder);
|
||||
throw ex;
|
||||
|
||||
@@ -18,7 +18,6 @@ import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.Node;
|
||||
@@ -145,7 +144,9 @@ public class StoreChoicePopover<T extends DataStore> {
|
||||
explicitCategory == null,
|
||||
ignored -> true)
|
||||
.style(Styles.LEFT_PILL);
|
||||
var filter = FilterComp.ofStoreFilter(storeFilter).style(Styles.CENTER_PILL).hgrow();
|
||||
var filter = FilterComp.ofStoreFilter(storeFilter)
|
||||
.style(Styles.CENTER_PILL)
|
||||
.hgrow();
|
||||
|
||||
var addButton = RegionBuilder.of(() -> {
|
||||
var m = MenuHelper.createMenuButton();
|
||||
|
||||
@@ -14,7 +14,10 @@ public class StoreFilter {
|
||||
}
|
||||
|
||||
var split = s.split(",");
|
||||
var l = Arrays.stream(split).map(sub -> sub.strip()).filter(sub -> !sub.isEmpty()).toList();
|
||||
var l = Arrays.stream(split)
|
||||
.map(sub -> sub.strip())
|
||||
.filter(sub -> !sub.isEmpty())
|
||||
.toList();
|
||||
return new StoreFilter(l);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@ import javafx.scene.Cursor;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.layout.Region;
|
||||
import lombok.val;
|
||||
|
||||
import atlantafx.base.controls.CustomTextField;
|
||||
import atlantafx.base.controls.Popover;
|
||||
import atlantafx.base.theme.Styles;
|
||||
import lombok.val;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -65,17 +65,19 @@ public class StoreFilterFieldComp extends SimpleRegionBuilder {
|
||||
clearButton.setCursor(Cursor.DEFAULT);
|
||||
AppFontSizes.sm(clearButton);
|
||||
var searchButton = new IconButtonComp("mdi2m-magnify", () -> {
|
||||
if (state.onApply()) {
|
||||
field.clear();
|
||||
}
|
||||
}).build();
|
||||
if (state.onApply()) {
|
||||
field.clear();
|
||||
}
|
||||
})
|
||||
.build();
|
||||
searchButton.setCursor(Cursor.DEFAULT);
|
||||
AppFontSizes.sm(searchButton);
|
||||
var launchButton = new IconButtonComp("mdi2p-play", () -> {
|
||||
if (state.onApply()) {
|
||||
field.clear();
|
||||
}
|
||||
}).build();
|
||||
var launchButton = new IconButtonComp("mdi2p-play", () -> {
|
||||
if (state.onApply()) {
|
||||
field.clear();
|
||||
}
|
||||
})
|
||||
.build();
|
||||
launchButton.setCursor(Cursor.DEFAULT);
|
||||
AppFontSizes.sm(launchButton);
|
||||
|
||||
|
||||
@@ -12,11 +12,10 @@ import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
import javafx.beans.value.ObservableBooleanValue;
|
||||
import javafx.beans.value.ObservableStringValue;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.type.TypeFactory;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.net.URI;
|
||||
@@ -61,15 +60,25 @@ public class StoreFilterState {
|
||||
private final BooleanProperty forceFilter = new SimpleBooleanProperty();
|
||||
|
||||
@Getter
|
||||
private final ObservableBooleanValue isSearchString = Bindings.createBooleanBinding(() -> {
|
||||
return rawText.getValue() != null && rawText.getValue().length() > 2 &&
|
||||
(forceFilter.getValue() || (!isUrlString.getValue() && !isQuickConnectString.getValue()));
|
||||
}, rawText, isQuickConnectString, isUrlString, forceFilter);
|
||||
private final ObservableBooleanValue isSearchString = Bindings.createBooleanBinding(
|
||||
() -> {
|
||||
return rawText.getValue() != null
|
||||
&& rawText.getValue().length() > 2
|
||||
&& (forceFilter.getValue() || (!isUrlString.getValue() && !isQuickConnectString.getValue()));
|
||||
},
|
||||
rawText,
|
||||
isQuickConnectString,
|
||||
isUrlString,
|
||||
forceFilter);
|
||||
|
||||
@Getter
|
||||
private final ObservableValue<StoreFilter> effectiveFilter = Bindings.createObjectBinding(() -> {
|
||||
return isSearchString.get() ? StoreFilter.of(rawText.getValue()) : null;
|
||||
}, rawText, isSearchString, forceFilter);
|
||||
private final ObservableValue<StoreFilter> effectiveFilter = Bindings.createObjectBinding(
|
||||
() -> {
|
||||
return isSearchString.get() ? StoreFilter.of(rawText.getValue()) : null;
|
||||
},
|
||||
rawText,
|
||||
isSearchString,
|
||||
forceFilter);
|
||||
|
||||
private static StoreFilterState INSTANCE;
|
||||
|
||||
@@ -87,7 +96,7 @@ public class StoreFilterState {
|
||||
INSTANCE.recentQuickConnections.setContent(recentQuickConnections);
|
||||
|
||||
INSTANCE.rawText.subscribe(ignored -> {
|
||||
INSTANCE.forceFilter.set(false);
|
||||
INSTANCE.forceFilter.set(false);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -171,7 +180,7 @@ public class StoreFilterState {
|
||||
forceFilter.set(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
var provider = QuickConnectProvider.find(rawText.getValue());
|
||||
if (provider.isEmpty()) {
|
||||
return false;
|
||||
|
||||
@@ -44,10 +44,14 @@ public class StoreFilterStateComp extends SimpleRegionBuilder {
|
||||
var searchesEmpty = Bindings.isEmpty(searches);
|
||||
var searchesList = new ListBoxViewComp<>(searches, searches, s -> createButton(s, s), false);
|
||||
|
||||
var searchesPlaceholders = FXCollections.observableList(List.of(AppI18n.get("recentSearchesDescriptionNames"),
|
||||
AppI18n.get("recentSearchesDescriptionTags"), AppI18n.get("recentSearchesDescriptionTypes"),
|
||||
AppI18n.get("recentSearchesDescriptionState"), AppI18n.get("recentSearchesDescriptionJoin")));
|
||||
var searchesEmptyList = new ListBoxViewComp<>(searchesPlaceholders, searchesPlaceholders, s -> createButton(s, null), false);
|
||||
var searchesPlaceholders = FXCollections.observableList(List.of(
|
||||
AppI18n.get("recentSearchesDescriptionNames"),
|
||||
AppI18n.get("recentSearchesDescriptionTags"),
|
||||
AppI18n.get("recentSearchesDescriptionTypes"),
|
||||
AppI18n.get("recentSearchesDescriptionState"),
|
||||
AppI18n.get("recentSearchesDescriptionJoin")));
|
||||
var searchesEmptyList =
|
||||
new ListBoxViewComp<>(searchesPlaceholders, searchesPlaceholders, s -> createButton(s, null), false);
|
||||
|
||||
var quickConnections = state.getRecentQuickConnections().getList();
|
||||
var quickConnectionsEmpty = Bindings.isEmpty(quickConnections);
|
||||
|
||||
@@ -203,16 +203,14 @@ public class StoreSection {
|
||||
|
||||
var isBatchSelected = selected.contains(section.getWrapper());
|
||||
|
||||
var matchesFilter = filterString == null
|
||||
|| section.matchesFilter(filterString.getValue())
|
||||
|| l.stream().anyMatch(p -> p.matchesFilter(filterString.getValue()));
|
||||
var matchesFilter = filter == null
|
||||
|| section.matchesFilter(filter.getValue())
|
||||
|| l.stream().anyMatch(p -> p.matchesFilter(filter.getValue()));
|
||||
if (!isBatchSelected && !matchesFilter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var hasFilter = filterString != null
|
||||
&& filterString.getValue() != null
|
||||
&& filterString.getValue().length() > 0;
|
||||
var hasFilter = filter != null && filter.getValue() != null;
|
||||
if (!isBatchSelected && !hasFilter) {
|
||||
var showProvider = true;
|
||||
try {
|
||||
@@ -229,28 +227,21 @@ public class StoreSection {
|
||||
return false;
|
||||
}
|
||||
|
||||
var matchesFilter = filter == null
|
||||
|| section.matchesFilter(filter.getValue())
|
||||
|| l.stream().anyMatch(p -> p.matchesFilter(filter.getValue()));
|
||||
if (!isBatchSelected && !matchesFilter) {
|
||||
return false;
|
||||
}
|
||||
// Prevent updates for children on category switching by checking depth
|
||||
var showCategory = showInCategory(category.getValue(), section.getWrapper()) || depth > 0;
|
||||
if (!showCategory) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var hasFilter = filter != null
|
||||
&& filter.getValue() != null;
|
||||
if (!isBatchSelected && !hasFilter) {
|
||||
var showProvider = true;
|
||||
try {
|
||||
showProvider = section.getWrapper()
|
||||
.getEntry()
|
||||
.getProvider()
|
||||
.shouldShow(section.getWrapper());
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
if (!showProvider) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// If this entry is already shown as root due to a different category than parent, don't
|
||||
// show it
|
||||
// again here
|
||||
var notRoot = !DataStorage.get()
|
||||
.isRootEntry(
|
||||
section.getWrapper().getEntry(), category.getValue().getCategory());
|
||||
if (!notRoot) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -19,10 +19,10 @@ import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.collections.ListChangeListener;
|
||||
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyCodeCombination;
|
||||
import javafx.scene.input.KeyCombination;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.kordamp.ikonli.javafx.FontIcon;
|
||||
import org.kordamp.ikonli.materialdesign2.MaterialDesignC;
|
||||
@@ -119,7 +119,8 @@ public class TerminalDockHubManager {
|
||||
: new Rect(rect.getX(), rect.getY() - topAdjust, rect.getW(), rect.getH() + topAdjust);
|
||||
});
|
||||
private final AppLayoutModel.QueueEntry queueEntry = new AppLayoutModel.QueueEntry(
|
||||
AppI18n.observable("toggleTerminalDock", new KeyCodeCombination(KeyCode.T, KeyCombination.SHORTCUT_DOWN).toString()),
|
||||
AppI18n.observable(
|
||||
"toggleTerminalDock", new KeyCodeCombination(KeyCode.T, KeyCombination.SHORTCUT_DOWN).toString()),
|
||||
new LabelGraphic.NodeGraphic(() -> {
|
||||
var inner = new FontIcon();
|
||||
inner.iconCodeProperty()
|
||||
@@ -322,7 +323,7 @@ public class TerminalDockHubManager {
|
||||
|
||||
if (showing.get()) {
|
||||
hideDock();
|
||||
} else {
|
||||
} else {
|
||||
showDock();
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+2
@@ -2009,6 +2009,8 @@ recentSearchesDescription=Filter for forbindelsesattributter
|
||||
recentSearchesDescriptionNames=<navn>, f.eks. "Lokal maskine"
|
||||
recentSearchesDescriptionTags=<tag>, f.eks. "my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<type>, f.eks. "Docker-container"
|
||||
recentSearchesDescriptionState=<tilstand>, f.eks. "Kører"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> kombineres med kommaer
|
||||
recentQuickConnections=Seneste hurtige forbindelser
|
||||
recentQuickConnectionsDescription=Hurtig forbindelse via streng
|
||||
recentUrls=Seneste URL'er
|
||||
|
||||
Generated
+2
@@ -2004,6 +2004,8 @@ recentSearchesDescription=Filter für Verbindungsattribute
|
||||
recentSearchesDescriptionNames=<Name>, z.B. "Lokaler Rechner"
|
||||
recentSearchesDescriptionTags=<Tag>, z.B. "mein-benutzerdefinierter-Tag"
|
||||
recentSearchesDescriptionTypes=<Typ>, z.B. "Docker Container"
|
||||
recentSearchesDescriptionState=<Zustand>, z.B. "Läuft"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> mit Kommas kombinieren
|
||||
recentQuickConnections=Neueste Schnellverbindungen
|
||||
recentQuickConnectionsDescription=Schnellverbindung über String
|
||||
recentUrls=Neueste URLs
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Filtro de atributos de conexión
|
||||
recentSearchesDescriptionNames=<nombre>, por ejemplo "Máquina local"
|
||||
recentSearchesDescriptionTags=<etiqueta>, por ejemplo "mi-etiqueta-personalizada"
|
||||
recentSearchesDescriptionTypes=<tipo>, por ejemplo "contenedor Docker".
|
||||
recentSearchesDescriptionState=<estado>, por ejemplo "En ejecución"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> se combinan con comas
|
||||
recentQuickConnections=Conexiones rápidas recientes
|
||||
recentQuickConnectionsDescription=Conexión rápida mediante cadena
|
||||
recentUrls=URL recientes
|
||||
|
||||
Generated
+2
@@ -2008,6 +2008,8 @@ recentSearchesDescription=Filtre pour les attributs de connexion
|
||||
recentSearchesDescriptionNames=<nom>, par exemple "Machine locale"
|
||||
recentSearchesDescriptionTags=<tag>, par exemple "my-custom-tag" (mon étiquette personnalisée)
|
||||
recentSearchesDescriptionTypes=<type>, par exemple "conteneur Docker"
|
||||
recentSearchesDescriptionState=<état>, par exemple "en cours d'exécution"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> se combinent avec des virgules
|
||||
recentQuickConnections=Connexions rapides récentes
|
||||
recentQuickConnectionsDescription=Connexion rapide via une chaîne de caractères
|
||||
recentUrls=URL récents
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Menyaring atribut koneksi
|
||||
recentSearchesDescriptionNames=<nama>, misalnya "Mesin Lokal"
|
||||
recentSearchesDescriptionTags=<tag>, misalnya "tag-khusus saya"
|
||||
recentSearchesDescriptionTypes=<tipe>, misalnya "Kontainer Docker"
|
||||
recentSearchesDescriptionState=<state>, misalnya "Berjalan"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> digabungkan dengan koma
|
||||
recentQuickConnections=Sambungan cepat terbaru
|
||||
recentQuickConnectionsDescription=Sambungan cepat melalui string
|
||||
recentUrls=URL terbaru
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Filtro per gli attributi della connessione
|
||||
recentSearchesDescriptionNames=<nome>, ad esempio "Macchina locale".
|
||||
recentSearchesDescriptionTags=<tag>, ad esempio "my-custom-tag".
|
||||
recentSearchesDescriptionTypes=<tipo>, ad esempio "contenitore Docker".
|
||||
recentSearchesDescriptionState=<stato>, ad esempio "In esecuzione".
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> combinati con le virgole
|
||||
recentQuickConnections=Connessioni rapide recenti
|
||||
recentQuickConnectionsDescription=Connessione rapida tramite stringa
|
||||
recentUrls=URL recenti
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=接続属性のフィルター
|
||||
recentSearchesDescriptionNames=<名前>、例:"ローカルマシン"
|
||||
recentSearchesDescriptionTags=<タグ>、例:"my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<例:"Dockerコンテナ"
|
||||
recentSearchesDescriptionState=<状態>(例:"実行中"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> はカンマで結合する。
|
||||
recentQuickConnections=最近のクイック接続
|
||||
recentQuickConnectionsDescription=文字列によるクイック接続
|
||||
recentUrls=最近のURL
|
||||
|
||||
Generated
+2
@@ -2021,6 +2021,8 @@ recentSearchesDescription=연결 속성에 대한 필터
|
||||
recentSearchesDescriptionNames=<이름>(예: "로컬 컴퓨터")
|
||||
recentSearchesDescriptionTags=<태그>(예: "내 사용자 지정 태그")
|
||||
recentSearchesDescriptionTypes=<유형>(예: "도커 컨테이너")
|
||||
recentSearchesDescriptionState=<상태>, 예: "실행 중"
|
||||
recentSearchesDescriptionJoin=<에스1>, <에스2>는 쉼표와 결합합니다
|
||||
recentQuickConnections=최근 빠른 연결
|
||||
recentQuickConnectionsDescription=문자열을 통한 빠른 연결
|
||||
recentUrls=최근 URL
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Filter voor verbindingsattributen
|
||||
recentSearchesDescriptionNames=<naam>, bijvoorbeeld "Lokale machine".
|
||||
recentSearchesDescriptionTags=<tag>, bijvoorbeeld "my-custom-tag".
|
||||
recentSearchesDescriptionTypes=<type>, bijvoorbeeld "Docker container".
|
||||
recentSearchesDescriptionState=<state>, bijvoorbeeld "Running".
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> combineren met komma's
|
||||
recentQuickConnections=Recente snelle verbindingen
|
||||
recentQuickConnectionsDescription=Snel verbinding maken via een string
|
||||
recentUrls=Recente URL's
|
||||
|
||||
Generated
+2
@@ -1969,6 +1969,8 @@ recentSearchesDescription=Filtr atrybutów połączenia
|
||||
recentSearchesDescriptionNames=<nazwa>, np. "Maszyna lokalna"
|
||||
recentSearchesDescriptionTags=<tag>, np. "my-custom-tag".
|
||||
recentSearchesDescriptionTypes=<typ>, np. "kontener Docker".
|
||||
recentSearchesDescriptionState=<stan>, np. "Uruchomiony"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> połącz przecinkami
|
||||
recentQuickConnections=Ostatnie szybkie połączenia
|
||||
recentQuickConnectionsDescription=Szybkie połączenie przez ciąg znaków
|
||||
recentUrls=Najnowsze adresy URL
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Filtro para atributos de ligação
|
||||
recentSearchesDescriptionNames=<nome>, por exemplo, "Máquina local"
|
||||
recentSearchesDescriptionTags=<tag>, por exemplo, "my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<tipo>, por exemplo, "contentor Docker"
|
||||
recentSearchesDescriptionState=<estado>, por exemplo, "A funcionar"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> combina com vírgulas
|
||||
recentQuickConnections=Ligações rápidas recentes
|
||||
recentQuickConnectionsDescription=Ligação rápida através de uma cadeia de caracteres
|
||||
recentUrls=URLs recentes
|
||||
|
||||
Generated
+2
@@ -2080,6 +2080,8 @@ recentSearchesDescription=Фильтр для атрибутов соедине
|
||||
recentSearchesDescriptionNames=<Имя>, например, "Локальная машина".
|
||||
recentSearchesDescriptionTags=<Тэг>, например "my-custom-tag".
|
||||
recentSearchesDescriptionTypes=<Тип>, например "контейнер Docker".
|
||||
recentSearchesDescriptionState=<Состояние>, например, "Работает".
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> объединяются запятыми
|
||||
recentQuickConnections=Последние быстрые подключения
|
||||
recentQuickConnectionsDescription=Быстрое подключение через строку
|
||||
recentUrls=Последние URL-адреса
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Filter för anslutningsattribut
|
||||
recentSearchesDescriptionNames=<namn>, t.ex. "Lokal maskin"
|
||||
recentSearchesDescriptionTags=<tagg>, t.ex. "min-anpassade-tagg"
|
||||
recentSearchesDescriptionTypes=<typ>, t.ex. "Docker-container"
|
||||
recentSearchesDescriptionState=<tillstånd>, t.ex. "Körs"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> kombineras med kommatecken
|
||||
recentQuickConnections=Nya snabba anslutningar
|
||||
recentQuickConnectionsDescription=Snabbanslutning via sträng
|
||||
recentUrls=Senaste webbadresserna
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Bağlantı öznitelikleri için filtre
|
||||
recentSearchesDescriptionNames=<ad>, örneğin "Yerel Makine"
|
||||
recentSearchesDescriptionTags=<tag>, örneğin "my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<tür>, örneğin "Docker konteyner"
|
||||
recentSearchesDescriptionState=<durum>, örneğin "Çalışıyor"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> virgül ile birleştirilir
|
||||
recentQuickConnections=Son hızlı bağlantılar
|
||||
recentQuickConnectionsDescription=İp üzerinden hızlı bağlantı
|
||||
recentUrls=Son URL'ler
|
||||
|
||||
Generated
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=Bộ lọc các thuộc tính kết nối
|
||||
recentSearchesDescriptionNames=<tên>, ví dụ: "Máy cục bộ"
|
||||
recentSearchesDescriptionTags=<tag>, ví dụ: "my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<loại>, ví dụ: "Docker container"
|
||||
recentSearchesDescriptionState=<trạng thái>, ví dụ: "Đang chạy"
|
||||
recentSearchesDescriptionJoin=<s1>, <s2> kết hợp bằng dấu phẩy
|
||||
recentQuickConnections=Các kết nối nhanh gần đây
|
||||
recentQuickConnectionsDescription=Kết nối nhanh qua chuỗi
|
||||
recentUrls=Các URL gần đây
|
||||
|
||||
+2
@@ -2592,6 +2592,8 @@ recentSearchesDescription=连接属性过滤器
|
||||
recentSearchesDescriptionNames=<名称>,例如 "本地机器"。
|
||||
recentSearchesDescriptionTags=<标签>,例如 "我的自定义标签
|
||||
recentSearchesDescriptionTypes=<类型>,如 "Docker 容器"。
|
||||
recentSearchesDescriptionState=<状态>,例如 "运行中"。
|
||||
recentSearchesDescriptionJoin=<s1>、<s2> 用逗号组合
|
||||
recentQuickConnections=最近的快速连接
|
||||
recentQuickConnectionsDescription=通过字符串快速连接
|
||||
recentUrls=最近的 URL
|
||||
|
||||
+2
@@ -1968,6 +1968,8 @@ recentSearchesDescription=連線屬性篩選器
|
||||
recentSearchesDescriptionNames=<名稱>,例如 「本機」。
|
||||
recentSearchesDescriptionTags=<tag>, 例如 "my-custom-tag"
|
||||
recentSearchesDescriptionTypes=<類型>,例如 「Docker 容器」。
|
||||
recentSearchesDescriptionState=<狀態>,例如 「執行中」
|
||||
recentSearchesDescriptionJoin=<s1>、<s2> 與逗號結合
|
||||
recentQuickConnections=最近的快速連線
|
||||
recentQuickConnectionsDescription=透過字串快速連線
|
||||
recentUrls=最近的網址
|
||||
|
||||
Reference in New Issue
Block a user