mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-12 13:56:34 +00:00
Removed menu, changed colors
Signed-off-by: jbicker <jan.bicker@typefox.io>
This commit is contained in:
parent
1d6ba97d68
commit
b7cf9e6755
@ -44,6 +44,9 @@
|
|||||||
{
|
{
|
||||||
"backend": "lib/node/arduino-backend-module",
|
"backend": "lib/node/arduino-backend-module",
|
||||||
"frontend": "lib/browser/arduino-frontend-module"
|
"frontend": "lib/browser/arduino-frontend-module"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frontendElectron": "lib/electron-browser/electron-arduino-frontend-module"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,8 @@ import { OutlineViewContribution } from '@theia/outline-view/lib/browser/outline
|
|||||||
import { SilentOutlineViewContribution } from './customization/silent-outline-contribution';
|
import { SilentOutlineViewContribution } from './customization/silent-outline-contribution';
|
||||||
import { ProblemContribution } from '@theia/markers/lib/browser/problem/problem-contribution';
|
import { ProblemContribution } from '@theia/markers/lib/browser/problem/problem-contribution';
|
||||||
import { SilentProblemContribution } from './customization/silent-problem-contribution';
|
import { SilentProblemContribution } from './customization/silent-problem-contribution';
|
||||||
|
import { BrowserMenuBarContribution } from '@theia/core/lib/browser/menu/browser-menu-plugin';
|
||||||
|
import { ArduinoMenuContribution } from './menu/arduino-menu-contribution';
|
||||||
|
|
||||||
export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {
|
export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {
|
||||||
// Commands and toolbar items
|
// Commands and toolbar items
|
||||||
@ -41,6 +43,8 @@ export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Un
|
|||||||
bind(TabBarToolbarContribution).toService(ArduinoFrontendContribution);
|
bind(TabBarToolbarContribution).toService(ArduinoFrontendContribution);
|
||||||
bind(MenuContribution).to(ArduinoFileMenuContribution).inSingletonScope();
|
bind(MenuContribution).to(ArduinoFileMenuContribution).inSingletonScope();
|
||||||
|
|
||||||
|
rebind(BrowserMenuBarContribution).to(ArduinoMenuContribution);
|
||||||
|
|
||||||
// `ino` TextMate grammar
|
// `ino` TextMate grammar
|
||||||
bind(LanguageGrammarDefinitionContribution).to(ArduinoLanguageGrammarContribution).inSingletonScope();
|
bind(LanguageGrammarDefinitionContribution).to(ArduinoLanguageGrammarContribution).inSingletonScope();
|
||||||
|
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
import { injectable } from "inversify";
|
||||||
|
import { BrowserMenuBarContribution } from "@theia/core/lib/browser/menu/browser-menu-plugin";
|
||||||
|
import { FrontendApplication } from "@theia/core/lib/browser";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class ArduinoMenuContribution extends BrowserMenuBarContribution {
|
||||||
|
onStart(app: FrontendApplication): void {
|
||||||
|
if (this.isProMode()) {
|
||||||
|
const menu = this.factory.createMenuBar();
|
||||||
|
app.shell.addWidget(menu, { area: 'top' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected isProMode(): boolean {
|
||||||
|
// TODO ask for pro preference
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
@ -18,8 +18,8 @@ is not optimized for dense, information rich UIs.
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
/* Custom Theme Colors */
|
/* Custom Theme Colors */
|
||||||
--theia-arduino-light: rgb(0, 102, 105);
|
--theia-arduino-light: rgb(0, 102, 102);
|
||||||
--theia-arduino-light1: rgb(0, 164, 167);
|
--theia-arduino-light1: rgb(0, 153, 153);
|
||||||
/* Borders: Width and color (bright to dark) */
|
/* Borders: Width and color (bright to dark) */
|
||||||
--theia-border-width: 1px;
|
--theia-border-width: 1px;
|
||||||
--theia-panel-border-width: 2px;
|
--theia-panel-border-width: 2px;
|
||||||
@ -74,9 +74,9 @@ is not optimized for dense, information rich UIs.
|
|||||||
/* Main layout colors (bright to dark)
|
/* Main layout colors (bright to dark)
|
||||||
------------------------------------ */
|
------------------------------------ */
|
||||||
--theia-layout-color0: #ffffff;
|
--theia-layout-color0: #ffffff;
|
||||||
--theia-layout-color1: #f3f3f3;
|
--theia-layout-color1: var(--theia-arduino-light1);
|
||||||
--theia-layout-color2: #ececec;
|
--theia-layout-color2: #ececec;
|
||||||
--theia-layout-color3: #dcdcdc;
|
--theia-layout-color3: var(--theia-arduino-light);
|
||||||
--theia-layout-color4: #dcdcdc;
|
--theia-layout-color4: #dcdcdc;
|
||||||
/* Brand colors */
|
/* Brand colors */
|
||||||
--theia-brand-color0: var(--md-blue-700);
|
--theia-brand-color0: var(--md-blue-700);
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
import { ContainerModule } from "inversify";
|
||||||
|
import { ElectronArduinoMainMenuFactory } from "./electron-arduino-main-menu-factory";
|
||||||
|
import { ElectronMainMenuFactory } from "@theia/core/lib/electron-browser/menu/electron-main-menu-factory";
|
||||||
|
import { ElectronMenuContribution } from "@theia/core/lib/electron-browser/menu/electron-menu-contribution"
|
||||||
|
import { ElectronArduinoMenuContribution } from "./electron-arduino-menu-contribution";
|
||||||
|
|
||||||
|
export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
||||||
|
bind(ElectronArduinoMainMenuFactory).toSelf().inSingletonScope();
|
||||||
|
rebind(ElectronMainMenuFactory).to(ElectronArduinoMainMenuFactory);
|
||||||
|
|
||||||
|
bind(ElectronArduinoMenuContribution).toSelf().inSingletonScope();
|
||||||
|
rebind(ElectronMenuContribution).to(ElectronArduinoMenuContribution);
|
||||||
|
})
|
@ -0,0 +1,20 @@
|
|||||||
|
import { injectable } from "inversify";
|
||||||
|
import * as electron from 'electron';
|
||||||
|
import { ElectronMainMenuFactory } from "@theia/core/lib/electron-browser/menu/electron-main-menu-factory";
|
||||||
|
import {
|
||||||
|
isOSX
|
||||||
|
} from '@theia/core/lib/common';
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class ElectronArduinoMainMenuFactory extends ElectronMainMenuFactory {
|
||||||
|
createMenuBar(): Electron.Menu {
|
||||||
|
const menuModel = this.menuProvider.getMenu();
|
||||||
|
const template = this.fillMenuTemplate([], menuModel);
|
||||||
|
if (isOSX) {
|
||||||
|
template.unshift(this.createOSXMenu());
|
||||||
|
}
|
||||||
|
const menu = electron.remote.Menu.buildFromTemplate(template);
|
||||||
|
this._menu = menu;
|
||||||
|
return menu;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
import * as electron from 'electron';
|
||||||
|
import { injectable } from "inversify";
|
||||||
|
import { ElectronMenuContribution } from "@theia/core/lib/electron-browser/menu/electron-menu-contribution";
|
||||||
|
import { FrontendApplication } from "@theia/core/lib/browser";
|
||||||
|
import { isOSX } from '@theia/core';
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class ElectronArduinoMenuContribution extends ElectronMenuContribution {
|
||||||
|
onStart(app: FrontendApplication): void {
|
||||||
|
if (this.isProMode()) {
|
||||||
|
const currentWindow = electron.remote.getCurrentWindow();
|
||||||
|
const createdMenuBar = this.factory.createMenuBar();
|
||||||
|
|
||||||
|
if (isOSX) {
|
||||||
|
electron.remote.Menu.setApplicationMenu(createdMenuBar);
|
||||||
|
currentWindow.on('focus', () =>
|
||||||
|
// OSX: Recreate the menus when changing windows.
|
||||||
|
// OSX only has one menu bar for all windows, so we need to swap
|
||||||
|
// between them as the user switch windows.
|
||||||
|
electron.remote.Menu.setApplicationMenu(this.factory.createMenuBar())
|
||||||
|
);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Unix/Windows: Set the per-window menus
|
||||||
|
currentWindow.setMenu(createdMenuBar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected isProMode(): boolean {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
@ -14,7 +14,8 @@
|
|||||||
"prepare": "lerna run prepare",
|
"prepare": "lerna run prepare",
|
||||||
"rebuild:browser": "theia rebuild:browser",
|
"rebuild:browser": "theia rebuild:browser",
|
||||||
"rebuild:electron": "theia rebuild:electron",
|
"rebuild:electron": "theia rebuild:electron",
|
||||||
"start": "cd arduino-ide-browser && yarn start"
|
"start": "cd arduino-ide-browser && yarn start",
|
||||||
|
"watch": "lerna run watch --parallel"
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"arduino-ide-electron",
|
"arduino-ide-electron",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user