Zahnrad-Icons in Zeichnungsebenen/Ebenen öffnen jetzt die passenden Fenster
Bisher öffneten beide Panel-Kopfzeilen die allgemeinen Einstellungen statt ihrer eigenen: Zeichnungsebenen jetzt den Zeichnungsebenen-Fenster-Manager, Ebenen die Ebeneneinstellungen der aktiven Kategorie.
This commit is contained in:
@@ -3052,6 +3052,9 @@ export default function App() {
|
|||||||
onLayerContextMenu: (code, x, y) =>
|
onLayerContextMenu: (code, x, y) =>
|
||||||
setMenu({ kind: "layer", code, x, y }),
|
setMenu({ kind: "layer", code, x, y }),
|
||||||
onOpenLayerSettings: (code, x, y) => openLayerSettings(code, x, y),
|
onOpenLayerSettings: (code, x, y) => openLayerSettings(code, x, y),
|
||||||
|
onOpenDrawingLevelsWindow: () => {
|
||||||
|
if (isTauriRuntime()) void openDrawingLevelsWindowNative();
|
||||||
|
},
|
||||||
onOpenSettings: () => openSettings(),
|
onOpenSettings: () => openSettings(),
|
||||||
onPatchComponent: patchComponent,
|
onPatchComponent: patchComponent,
|
||||||
onAddComponent: addComponent,
|
onAddComponent: addComponent,
|
||||||
|
|||||||
@@ -157,15 +157,16 @@ export function DrawingLevelsPanel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Aktionen für die gemeinsame PanelFrame-Kopfzeile (statt eigener Titelzeile):
|
/** Aktionen für die gemeinsame PanelFrame-Kopfzeile (statt eigener Titelzeile):
|
||||||
* Zahnrad → Einstellungen (Darstellungsfarben/Projekt-Felder). */
|
* Zahnrad → Zeichnungsebenen-Manager als eigenes natives Fenster öffnen
|
||||||
|
* (Duplikat desselben Inhalts, additiv zum Dock-Panel). */
|
||||||
export function DrawingLevelsHeaderActions() {
|
export function DrawingLevelsHeaderActions() {
|
||||||
const host = usePanelHost();
|
const host = usePanelHost();
|
||||||
return (
|
return (
|
||||||
<button
|
<button
|
||||||
className="nav-settings"
|
className="nav-settings"
|
||||||
aria-label={t("topbar.settings")}
|
aria-label={t("nav.drawingLevelsWindow")}
|
||||||
title={t("topbar.settings")}
|
title={t("nav.drawingLevelsWindow")}
|
||||||
onClick={host.onOpenSettings}
|
onClick={host.onOpenDrawingLevelsWindow}
|
||||||
>
|
>
|
||||||
<span className="material-symbols-outlined" aria-hidden="true">
|
<span className="material-symbols-outlined" aria-hidden="true">
|
||||||
settings
|
settings
|
||||||
|
|||||||
@@ -175,7 +175,9 @@ function CategoryRow({
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Aktionen für die gemeinsame PanelFrame-Kopfzeile (statt eigener Titelzeile):
|
/** Aktionen für die gemeinsame PanelFrame-Kopfzeile (statt eigener Titelzeile):
|
||||||
* „+ Kategorie" + Zahnrad → Einstellungen (wie im Zeichnungsebenen-Kopf).
|
* „+ Kategorie" + Zahnrad → Ebeneneinstellungen der aktiven Ebene (wie das
|
||||||
|
* Zahnrad je Zeile, hier für activeCategoryCode; unter Tauri natives Fenster,
|
||||||
|
* sonst InlineEditor-Popover — siehe onOpenLayerSettings).
|
||||||
* Läuft im PanelHostContext, nutzt daher usePanelHost. */
|
* Läuft im PanelHostContext, nutzt daher usePanelHost. */
|
||||||
export function LayersHeaderActions() {
|
export function LayersHeaderActions() {
|
||||||
const host = usePanelHost();
|
const host = usePanelHost();
|
||||||
@@ -183,9 +185,11 @@ export function LayersHeaderActions() {
|
|||||||
<>
|
<>
|
||||||
<button
|
<button
|
||||||
className="nav-settings"
|
className="nav-settings"
|
||||||
onClick={host.onOpenSettings}
|
onClick={(e) =>
|
||||||
aria-label={t("topbar.settings")}
|
host.onOpenLayerSettings(host.activeCategoryCode, e.clientX, e.clientY)
|
||||||
title={t("topbar.settings")}
|
}
|
||||||
|
aria-label={t("ctx.layerSettings")}
|
||||||
|
title={t("ctx.layerSettings")}
|
||||||
>
|
>
|
||||||
<span className="material-symbols-outlined" aria-hidden="true">
|
<span className="material-symbols-outlined" aria-hidden="true">
|
||||||
settings
|
settings
|
||||||
|
|||||||
+10
-4
@@ -117,13 +117,19 @@ export interface PanelHostValue {
|
|||||||
* Löschen) und hält das offene Menü.
|
* Löschen) und hält das offene Menü.
|
||||||
*/
|
*/
|
||||||
onLayerContextMenu: (code: string, clientX: number, clientY: number) => void;
|
onLayerContextMenu: (code: string, clientX: number, clientY: number) => void;
|
||||||
/** Öffnet die Ebeneneinstellungen direkt (Zahnrad-Symbol je Zeile) — unter
|
/** Öffnet die Ebeneneinstellungen direkt (Zahnrad-Symbol je Zeile bzw.
|
||||||
* Tauri als natives Fenster, sonst derselbe InlineEditor-Popover wie über
|
* Panel-Kopfzeile, dort für die aktive Ebene) — unter Tauri als natives
|
||||||
* das Kontextmenü (siehe App.tsx `openLayerSettings`). */
|
* Fenster, sonst derselbe InlineEditor-Popover wie über das Kontextmenü
|
||||||
|
* (siehe App.tsx `openLayerSettings`). */
|
||||||
onOpenLayerSettings: (code: string, clientX: number, clientY: number) => void;
|
onOpenLayerSettings: (code: string, clientX: number, clientY: number) => void;
|
||||||
|
/** Öffnet den Zeichnungsebenen-Manager als eigenes natives Fenster (Zahnrad
|
||||||
|
* in der Panel-Kopfzeile „Zeichnungsebenen") — Duplikat desselben Inhalts
|
||||||
|
* wie das Dock-Panel, additiv. No-op außerhalb von Tauri (kein eigenes
|
||||||
|
* Fenster-Konzept im Browser; das Dock-Panel zeigt dort bereits alles). */
|
||||||
|
onOpenDrawingLevelsWindow: () => void;
|
||||||
/** Öffnet das Einstellungs-Fenster (Darstellungsfarben, Projekt-Felder) —
|
/** Öffnet das Einstellungs-Fenster (Darstellungsfarben, Projekt-Felder) —
|
||||||
* unter Tauri als natives Fenster, sonst als In-App-Dialog (App.openSettings).
|
* unter Tauri als natives Fenster, sonst als In-App-Dialog (App.openSettings).
|
||||||
* Als Zahnrad in den Panel-Kopfzeilen „Zeichnungsebenen"/„Ebenen". */
|
* Erreichbar über „Fenster"-Menü (AppMenuBar/native Menüleiste). */
|
||||||
onOpenSettings: () => void;
|
onOpenSettings: () => void;
|
||||||
|
|
||||||
// Ressourcen-Handler (Bauteile / Schraffuren / Linienstile). Spiegelt
|
// Ressourcen-Handler (Bauteile / Schraffuren / Linienstile). Spiegelt
|
||||||
|
|||||||
Reference in New Issue
Block a user