application-menu.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. const {Menu, shell} = require('electron');
  2. const func = require('./function/menu');
  3. const demo = require('./function/demo-application-menu');
  4. let template = [
  5. {
  6. label: 'Fichier',
  7. submenu: [
  8. {
  9. label: 'Nouveau',
  10. accelerator: 'CmdOrCtrl+N',
  11. click: func.new
  12. },
  13. {
  14. label: 'Importer',
  15. click: func.import
  16. },
  17. {
  18. type: 'separator'
  19. },
  20. {
  21. label: 'Reset',
  22. click: () => {
  23. mainWindow.webContents.send('reset-app');
  24. }
  25. }
  26. ]
  27. },
  28. {
  29. label: 'Demo',
  30. submenu: [
  31. {
  32. label: 'Calcul nombre premier',
  33. click: () => {
  34. console.log('prime-number');
  35. }
  36. },
  37. {
  38. label: 'Reduire l\'application',
  39. click: () => {
  40. console.log('tray+notif');
  41. }
  42. }
  43. ]
  44. },
  45. {
  46. label: 'Fenêtre',
  47. submenu: [
  48. {
  49. label: 'Pleine écran',
  50. accelerator: (() => {
  51. if (process.platform === 'darwin') {
  52. return 'Ctrl+Command+F'
  53. } else {
  54. return 'F11'
  55. }
  56. })(),
  57. click: (item, focusedWindow) => {
  58. if (focusedWindow) {
  59. focusedWindow.setFullScreen(!focusedWindow.isFullScreen())
  60. }
  61. }
  62. },
  63. {
  64. label: 'Minimiser',
  65. accelerator: 'CmdOrCtrl+M',
  66. role: 'minimize'
  67. },
  68. {
  69. label: 'Fermer',
  70. accelerator: 'CmdOrCtrl+W',
  71. role: 'close'
  72. },
  73. {
  74. type: 'separator'
  75. },
  76. {
  77. label: 'Outils Developpeur',
  78. accelerator: (() => {
  79. if (process.platform === 'darwin') {
  80. return 'Alt+Command+I'
  81. } else {
  82. return 'Ctrl+Shift+I'
  83. }
  84. })(),
  85. click: (item, focusedWindow) => {
  86. if (focusedWindow) {
  87. focusedWindow.toggleDevTools()
  88. }
  89. }
  90. }
  91. ]
  92. },
  93. {
  94. label: 'À propos',
  95. submenu: [
  96. {
  97. label: 'Electron',
  98. click: () => {
  99. shell.openExternal('https://www.electronjs.org');
  100. }
  101. },
  102. {
  103. label: 'Electronotes',
  104. click: () => {
  105. shell.openExternal('https://gitlab.univ-artois.fr/arthur_brandao/conf-electron');
  106. }
  107. }
  108. ]
  109. }
  110. ];
  111. const menu = Menu.buildFromTemplate(template);
  112. Menu.setApplicationMenu(menu);