mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-10-19 09:22:12 +00:00
no file delete on desktop
This commit is contained in:
1 parent
67a47cf065
commit
9f49119eec
2 files changed
+30
-11
No files matched your search
@@ -354,12 +354,17 @@
|
|||||||
<Shortcut key="V" ctrl={true} />
|
<Shortcut key="V" ctrl={true} />
|
||||||
</Menubar.Item>
|
</Menubar.Item>
|
||||||
{/if}
|
{/if}
|
||||||
<Menubar.Separator />
|
{#if !desktop}
|
||||||
<Menubar.Item onclick={() => engine.delete()} disabled={selectionCount == 0}>
|
<Menubar.Separator />
|
||||||
<Trash2 size="16" />
|
<Menubar.Item
|
||||||
{i18n._('menu.delete')}
|
onclick={() => engine.delete()}
|
||||||
<Shortcut key="⌫" ctrl={true} />
|
disabled={selectionCount == 0}
|
||||||
</Menubar.Item>
|
>
|
||||||
|
<Trash2 size="16" />
|
||||||
|
{i18n._('menu.delete')}
|
||||||
|
<Shortcut key="⌫" ctrl={true} />
|
||||||
|
</Menubar.Item>
|
||||||
|
{/if}
|
||||||
</Menubar.Content>
|
</Menubar.Content>
|
||||||
</Menubar.Menu>
|
</Menubar.Menu>
|
||||||
<Menubar.Menu>
|
<Menubar.Menu>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
Maximize,
|
Maximize,
|
||||||
Scissors,
|
Scissors,
|
||||||
FileStack,
|
FileStack,
|
||||||
|
FileX,
|
||||||
} from '@lucide/svelte';
|
} from '@lucide/svelte';
|
||||||
import { getContext } from 'svelte';
|
import { getContext } from 'svelte';
|
||||||
import { i18n } from '$lib/i18n/i18n.svelte';
|
import { i18n } from '$lib/i18n/i18n.svelte';
|
||||||
@@ -34,10 +35,12 @@
|
|||||||
isInClipboard,
|
isInClipboard,
|
||||||
isSelected,
|
isSelected,
|
||||||
selectedElementIds,
|
selectedElementIds,
|
||||||
|
selectedFileIds,
|
||||||
selectionSize,
|
selectionSize,
|
||||||
type FileTreeNode,
|
type FileTreeNode,
|
||||||
} from '$lib/engine/selection-helpers';
|
} from '$lib/engine/selection-helpers';
|
||||||
import { boundsManager } from '$lib/state/bounds';
|
import { boundsManager } from '$lib/state/bounds';
|
||||||
|
import { closeFiles } from '$lib/actions/file-actions';
|
||||||
import { waypointPopup } from '$lib/components/map/gpx-layer/gpx-layer-popup';
|
import { waypointPopup } from '$lib/components/map/gpx-layer/gpx-layer-popup';
|
||||||
|
|
||||||
let {
|
let {
|
||||||
@@ -92,6 +95,9 @@
|
|||||||
selectedElementIds($selection)[0]?.ids[0] === elementId(node)
|
selectedElementIds($selection)[0]?.ids[0] === elementId(node)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// the desktop app: the files are linked to the file system, they are closed rather than deleted
|
||||||
|
let desktop = $derived($workspace !== undefined);
|
||||||
|
|
||||||
// the file is not the one on the disk (the desktop app)
|
// the file is not the one on the disk (the desktop app)
|
||||||
let unsaved = $derived(node.type === 'file' && $workspace?.files[node.fileId]?.dirty === true);
|
let unsaved = $derived(node.type === 'file' && $workspace?.files[node.fileId]?.dirty === true);
|
||||||
let hidden = $derived(isHidden(fileState, elementId(node)));
|
let hidden = $derived(isHidden(fileState, elementId(node)));
|
||||||
@@ -296,10 +302,18 @@
|
|||||||
</ContextMenu.Item>
|
</ContextMenu.Item>
|
||||||
{/if}
|
{/if}
|
||||||
<ContextMenu.Separator />
|
<ContextMenu.Separator />
|
||||||
<ContextMenu.Item onclick={() => engine.delete()}>
|
{#if desktop && node.type === 'file'}
|
||||||
<Trash2 size="16" />
|
<ContextMenu.Item onclick={() => closeFiles(selectedFileIds($selection))}>
|
||||||
{i18n._('menu.delete')}
|
<FileX size="16" />
|
||||||
<Shortcut key="⌫" ctrl={true} />
|
{i18n._('menu.close')}
|
||||||
</ContextMenu.Item>
|
<Shortcut key="W" ctrl={true} />
|
||||||
|
</ContextMenu.Item>
|
||||||
|
{:else}
|
||||||
|
<ContextMenu.Item onclick={() => engine.delete()}>
|
||||||
|
<Trash2 size="16" />
|
||||||
|
{i18n._('menu.delete')}
|
||||||
|
<Shortcut key="⌫" ctrl={true} />
|
||||||
|
</ContextMenu.Item>
|
||||||
|
{/if}
|
||||||
</ContextMenu.Content>
|
</ContextMenu.Content>
|
||||||
</ContextMenu.Root>
|
</ContextMenu.Root>
|
||||||
Reference in new issue
Block a user