This commit is contained in:
Eugene Pankov
2017-04-28 22:40:58 +02:00
parent c7828e55f2
commit 94d8886d5a
15 changed files with 82 additions and 59 deletions

View File

@@ -1,9 +1,14 @@
title-bar(*ngIf='config.store.appearance.frame == "full" && config.store.appearance.dock == "off"')
title-bar(
*ngIf='config.store.appearance.frame == "full" && config.store.appearance.dock == "off"',
[class.inset]='hostApp.platform == Platform.macOS'
)
.content(
[class.tabs-on-top]='config.store.appearance.tabsOnTop'
[class.tabs-on-top]='config.store.appearance.tabsLocation == "top"'
)
.tab-bar
.tab-bar(
[class.inset]='hostApp.platform == Platform.macOS && config.store.appearance.frame == "thin" && config.store.appearance.tabsLocation == "top"'
)
.tabs
tab-header(
*ngFor='let tab of app.tabs; let idx = index',
@@ -11,6 +16,7 @@ title-bar(*ngIf='config.store.appearance.frame == "full" && config.store.appeara
[tab]='tab',
[active]='tab == app.activeTab',
[hasActivity]='tab.hasActivity',
[class.drag-region]='hostApp.platform == Platform.macOS',
@animateTab,
(click)='app.selectTab(tab)',
(closeClicked)='app.closeTab(tab)',
@@ -35,7 +41,7 @@ title-bar(*ngIf='config.store.appearance.frame == "full" && config.store.appeara
i.fa([class]='"fa fa-" + button.icon')
.btn-group.window-controls(
*ngIf='config.store.appearance.frame == "thin"',
*ngIf='config.store.appearance.frame == "thin" && (hostApp.platform == Platform.Windows || hostApp.platform == Platform.Linux)',
)
button.btn.btn-secondary.btn-minimize.btn-tab-bar(
(click)='hostApp.minimize()',

View File

@@ -71,9 +71,13 @@ $tab-border-radius: 4px;
-webkit-app-region: drag;
}
&.window-controls {
.window-controls {
flex: 0 0 none;
}
&.inset {
padding-left: 85px;
}
}
.tabs-content {

View File

@@ -3,7 +3,7 @@ import { trigger, style, animate, transition, state } from '@angular/animations'
import { ToasterConfig } from 'angular2-toaster'
import { ElectronService } from '../services/electron.service'
import { HostAppService } from '../services/hostApp.service'
import { HostAppService, Platform } from '../services/hostApp.service'
import { HotkeysService } from '../services/hotkeys.service'
import { Logger, LogService } from '../services/log.service'
import { QuitterService } from '../services/quitter.service'
@@ -43,6 +43,7 @@ import { AppService, IToolbarButton, ToolbarButtonProvider } from '../api'
})
export class AppRootComponent {
toasterConfig: ToasterConfig
Platform = Platform
private logger: Logger
constructor(

View File

@@ -61,4 +61,8 @@ $tabs-height: 40px;
display: block;
opacity: 1;
}
&.drag-region {
-webkit-app-region: drag;
}
}

View File

@@ -31,7 +31,7 @@ $titlebar-height: 30px;
font-size: 12px;
}
&.inset-titlebar {
&.inset {
flex-basis: 36px;
.title {

View File

@@ -1,5 +1,4 @@
import { Component, HostBinding } from '@angular/core'
import { HostAppService, Platform } from '../services/hostApp.service'
import { Component } from '@angular/core'
@Component({
selector: 'title-bar',
@@ -7,9 +6,4 @@ import { HostAppService, Platform } from '../services/hostApp.service'
styles: [require('./titleBar.component.scss')],
})
export class TitleBarComponent {
@HostBinding('class.inset-titlebar') insetTitlebar = false
constructor (public hostApp: HostAppService) {
this.insetTitlebar = hostApp.platform == Platform.macOS
}
}

View File

@@ -1,7 +1,7 @@
appearance:
dock: 'off'
dockScreen: 'current'
dock: off
dockScreen: current
dockFill: 50
tabsOnTop: true
theme: 'Standard'
frame: 'thin'
tabsLocation: top
theme: Standard
frame: thin

View File

@@ -108,7 +108,6 @@ app-root {
background: $body-bg2;
border-left: 1px solid transparent;
border-right: 1px solid transparent;
margin-bottom: -1px;
.index {
color: #555;
@@ -133,45 +132,37 @@ app-root {
}
&.tabs-on-top .tab-bar {
border-bottom: 1px solid $border-color;
tab-header {
border-top: 1px solid transparent;
border-bottom: 1px solid $border-color;
&.active {
border-top: 1px solid $teal;
border-bottom: 1px solid transparent;
margin-bottom: -1px;
}
&.has-activity:not(.active) {
border-top: 1px solid $green;
}
}
&>.btn-group, .drag-space {
border-bottom: 1px solid $border-color;
}
}
&:not(.tabs-on-top) .tab-bar {
margin-bottom: 3px;
border-top: 1px solid $border-color;
tab-header {
border-bottom: 1px solid transparent;
border-top: 1px solid $border-color;
&.active {
border-bottom: 1px solid $teal;
border-top: 1px solid transparent;
margin-top: -1px;
}
&.has-activity:not(.active) {
border-bottom: 1px solid $green;
}
}
&>.btn-group, .drag-space {
border-top: 1px solid $border-color;
}
}
}
}