kingkont 0.7.51 → 0.7.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/main.js +20 -7
  2. package/package.json +1 -1
package/main.js CHANGED
@@ -576,7 +576,14 @@ ipcMain.handle('window:close', () => {
576
576
  // Renderer уведомляет нас об открытом проекте — нужно чтобы win.on('close')
577
577
  // решал: возврат в welcome или реальный quit.
578
578
  let projectOpen = false;
579
- ipcMain.on('project:state', (_e, isOpen) => { projectOpen = !!isOpen; });
579
+ ipcMain.on('project:state', (_e, isOpen) => {
580
+ const next = !!isOpen;
581
+ if (next === projectOpen) return;
582
+ projectOpen = next;
583
+ // Пересобираем меню — пункты «Новая сцена/персонаж/локация» и весь
584
+ // подпункт «Правка» должны переключить enabled-состояние.
585
+ buildMenu();
586
+ });
580
587
  ipcMain.handle('window:minimize', () => {
581
588
  if (!win || win.isDestroyed()) return;
582
589
  // На macOS hide() убирает окно но оставляет приложение в Dock —
@@ -636,14 +643,17 @@ function buildMenu() {
636
643
  {
637
644
  label: 'Новая сцена',
638
645
  accelerator: 'CmdOrCtrl+N',
646
+ enabled: projectOpen,
639
647
  click: () => trigger('#newEpisode'),
640
648
  },
641
649
  {
642
650
  label: 'Новый персонаж',
651
+ enabled: projectOpen,
643
652
  click: () => trigger('#newCharacter'),
644
653
  },
645
654
  {
646
655
  label: 'Новая локация',
656
+ enabled: projectOpen,
647
657
  click: () => trigger('#newLocation'),
648
658
  },
649
659
  { type: 'separator' },
@@ -666,14 +676,17 @@ function buildMenu() {
666
676
  },
667
677
  {
668
678
  label: 'Правка',
679
+ // Все пункты «Правка» имеют смысл только когда открыт проект —
680
+ // undo/redo относятся к canvas mutations, cut/copy/paste юзаются
681
+ // в нодах. На welcome/settings/updates окнах пункты disabled.
669
682
  submenu: [
670
- { label: 'Отменить', click: () => sendToRenderer('menu:undo') },
671
- { label: 'Повторить', click: () => sendToRenderer('menu:redo') },
683
+ { label: 'Отменить', enabled: projectOpen, click: () => sendToRenderer('menu:undo') },
684
+ { label: 'Повторить', enabled: projectOpen, click: () => sendToRenderer('menu:redo') },
672
685
  { type: 'separator' },
673
- { role: 'cut' },
674
- { role: 'copy' },
675
- { role: 'paste' },
676
- { role: 'selectAll' },
686
+ { role: 'cut', enabled: projectOpen },
687
+ { role: 'copy', enabled: projectOpen },
688
+ { role: 'paste', enabled: projectOpen },
689
+ { role: 'selectAll', enabled: projectOpen },
677
690
  ],
678
691
  },
679
692
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kingkont",
3
- "version": "0.7.51",
3
+ "version": "0.7.52",
4
4
  "description": "KingKont \u00b7 Chatium \u2014 \u043d\u043e\u0434-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u0446\u0435\u043d \u0441 AI-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 (\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438/\u0432\u0438\u0434\u0435\u043e/\u0433\u043e\u043b\u043e\u0441/SFX/\u043c\u0443\u0437\u044b\u043a\u0430/\u0442\u0435\u043a\u0441\u0442)",
5
5
  "main": "main.js",
6
6
  "bin": {