Removed menu, changed colors

Signed-off-by: jbicker <jan.bicker@typefox.io>
This commit is contained in:
jbicker 2019-06-13 07:55:58 +02:00
parent 1d6ba97d68
commit b7cf9e6755
9 changed files with 1028 additions and 2441 deletions

View File

@ -44,6 +44,9 @@
{
"backend": "lib/node/arduino-backend-module",
"frontend": "lib/browser/arduino-frontend-module"
},
{
"frontendElectron": "lib/electron-browser/electron-arduino-frontend-module"
}
]
}

View File

@ -33,6 +33,8 @@ import { OutlineViewContribution } from '@theia/outline-view/lib/browser/outline
import { SilentOutlineViewContribution } from './customization/silent-outline-contribution';
import { ProblemContribution } from '@theia/markers/lib/browser/problem/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) => {
// Commands and toolbar items
@ -41,6 +43,8 @@ export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Un
bind(TabBarToolbarContribution).toService(ArduinoFrontendContribution);
bind(MenuContribution).to(ArduinoFileMenuContribution).inSingletonScope();
rebind(BrowserMenuBarContribution).to(ArduinoMenuContribution);
// `ino` TextMate grammar
bind(LanguageGrammarDefinitionContribution).to(ArduinoLanguageGrammarContribution).inSingletonScope();

View File

@ -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;
}
}

View File

@ -18,8 +18,8 @@ is not optimized for dense, information rich UIs.
:root {
/* Custom Theme Colors */
--theia-arduino-light: rgb(0, 102, 105);
--theia-arduino-light1: rgb(0, 164, 167);
--theia-arduino-light: rgb(0, 102, 102);
--theia-arduino-light1: rgb(0, 153, 153);
/* Borders: Width and color (bright to dark) */
--theia-border-width: 1px;
--theia-panel-border-width: 2px;
@ -74,9 +74,9 @@ is not optimized for dense, information rich UIs.
/* Main layout colors (bright to dark)
------------------------------------ */
--theia-layout-color0: #ffffff;
--theia-layout-color1: #f3f3f3;
--theia-layout-color1: var(--theia-arduino-light1);
--theia-layout-color2: #ececec;
--theia-layout-color3: #dcdcdc;
--theia-layout-color3: var(--theia-arduino-light);
--theia-layout-color4: #dcdcdc;
/* Brand colors */
--theia-brand-color0: var(--md-blue-700);

View File

@ -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);
})

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -14,7 +14,8 @@
"prepare": "lerna run prepare",
"rebuild:browser": "theia rebuild:browser",
"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": [
"arduino-ide-electron",

3367
yarn.lock

File diff suppressed because it is too large Load Diff