fix title bar buttons visibility

This commit is contained in:
zadam 2020-02-08 18:25:07 +01:00
parent 60d07a6871
commit 08687b76ea
2 changed files with 33 additions and 36 deletions

View file

@ -36,7 +36,7 @@ export default class TabCachingWidget extends TabAwareWidget {
if (!widget) {
widget = this.widgets[this.tabContext.tabId] = this.widgetFactory();
this.children.push(widget);console.log("Creating widget",widget.componentId,"for", this.tabContext.tabId);
this.children.push(widget);
this.$widget.after(widget.render());
widget.eventReceived('setTabContext', {tabContext: this.tabContext});

View file

@ -8,7 +8,6 @@ const TPL = `
.title-bar-buttons {
margin-top: 4px;
min-width: 100px;
display: none;
}
</style>
@ -19,42 +18,40 @@ const TPL = `
export default class TitleBarButtonsWidget extends BasicWidget {
doRender() {
if (!options.is('nativeTitleBarVisible')) {
this.$widget = $(TPL);
this.$widget.show();
const $minimizeBtn = this.$widget.find(".minimize-btn");
const $maximizeBtn = this.$widget.find(".maximize-btn");
const $closeBtn = this.$widget.find(".close-btn");
$minimizeBtn.on('click', () => {
$minimizeBtn.trigger('blur');
const {remote} = require('electron');
remote.BrowserWindow.getFocusedWindow().minimize();
});
$maximizeBtn.on('click', () => {
$maximizeBtn.trigger('blur');
const {remote} = require('electron');
const focusedWindow = remote.BrowserWindow.getFocusedWindow();
if (focusedWindow.isMaximized()) {
focusedWindow.unmaximize();
} else {
focusedWindow.maximize();
}
});
$closeBtn.on('click', () => {
$closeBtn.trigger('blur');
const {remote} = require('electron');
remote.BrowserWindow.getFocusedWindow().close();
});
}
else {
this.$widget = $('<div>');
if (!utils.isElectron() || options.is('nativeTitleBarVisible')) {
return this.$widget = $('<div>');
}
this.$widget = $(TPL);
const $minimizeBtn = this.$widget.find(".minimize-btn");
const $maximizeBtn = this.$widget.find(".maximize-btn");
const $closeBtn = this.$widget.find(".close-btn");
$minimizeBtn.on('click', () => {
$minimizeBtn.trigger('blur');
const {remote} = require('electron');
remote.BrowserWindow.getFocusedWindow().minimize();
});
$maximizeBtn.on('click', () => {
$maximizeBtn.trigger('blur');
const {remote} = require('electron');
const focusedWindow = remote.BrowserWindow.getFocusedWindow();
if (focusedWindow.isMaximized()) {
focusedWindow.unmaximize();
} else {
focusedWindow.maximize();
}
});
$closeBtn.on('click', () => {
$closeBtn.trigger('blur');
const {remote} = require('electron');
remote.BrowserWindow.getFocusedWindow().close();
});
return this.$widget;
}
}