Working-folder-Anzeige im ⚙︎-Dialog: Projektordner zuerst (fest), dann Zusatzordner mit Entfernen; Label oben ausgerichtet; Projektpfade überall ~-kontrahiert

This commit is contained in:
marcus.hinz
2026-07-05 15:33:47 +02:00
parent 0908385a9d
commit 2075f9aa71
3 changed files with 17 additions and 2 deletions
+1 -1
View File
@@ -375,7 +375,7 @@ fn list_projects_in(paths: &Paths) -> Result<Vec<Project>, String> {
let cfg = read_project_config_in(paths, &name)?; let cfg = read_project_config_in(paths, &name)?;
projects.push(Project { projects.push(Project {
running: is_running(&name), running: is_running(&name),
path: dir.to_string_lossy().into_owned(), path: contract_home(paths, &dir),
pool: cfg.pool, pool: cfg.pool,
terminal: cfg.terminal, terminal: cfg.terminal,
name, name,
+6 -1
View File
@@ -152,6 +152,7 @@ const THEME_NAMES: [string, string][] = [
interface TerminalSettings { interface TerminalSettings {
name: string; name: string;
path: string;
theme: string; theme: string;
icon: string | null; icon: string | null;
title: string; title: string;
@@ -169,6 +170,7 @@ async function openSettings(p: Project) {
}); });
settings.value = { settings.value = {
name: p.name, name: p.name,
path: p.path,
theme: p.terminal.theme ?? "mocha", theme: p.terminal.theme ?? "mocha",
icon: p.terminal.icon, icon: p.terminal.icon,
title: p.terminal.title ?? "", title: p.terminal.title ?? "",
@@ -617,9 +619,12 @@ onUnmounted(() => window.clearInterval(timer));
<span v-else class="icon-path">{{ $t("projects.defaultIcon") }}</span> <span v-else class="icon-path">{{ $t("projects.defaultIcon") }}</span>
</span> </span>
</label> </label>
<label class="field"> <label class="field field-top">
{{ $t("projects.workDir") }} {{ $t("projects.workDir") }}
<span class="workdirs"> <span class="workdirs">
<span class="icon-row">
<span class="icon-path">{{ settings.path }}</span>
</span>
<span v-for="wd in settings.workDirs" :key="wd" class="icon-row"> <span v-for="wd in settings.workDirs" :key="wd" class="icon-row">
<span class="icon-path">{{ wd }}</span> <span class="icon-path">{{ wd }}</span>
<button @click="removeWorkDir(wd)">{{ $t("projects.remove") }}</button> <button @click="removeWorkDir(wd)">{{ $t("projects.remove") }}</button>
+10
View File
@@ -590,6 +590,16 @@ td select {
gap: 0.35rem; gap: 0.35rem;
} }
.workdirs .icon-path {
max-width: none;
}
/* Mehrzeilige Felder: Label oben ausrichten statt vertikal zentriert. */
.dialog .field.field-top {
align-items: start;
padding-top: 0.15rem;
}
.icon-path { .icon-path {
font-family: var(--mono); font-family: var(--mono);
color: var(--overlay); color: var(--overlay);