Skip to content

Commit 0ccff29

Browse files
committed
bandage for bug causing for Window to now show up when switching to Dock only mode
1 parent 731f3e7 commit 0ccff29

6 files changed

Lines changed: 32 additions & 7 deletions

File tree

ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eqmac",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"scripts": {
55
"start": "ng serve",
66
"build": "rm -rf dist/ && ng build --prod && cd dist/ && zip -r -D ui.zip * -x '*.DS_Store'",

ui/src/app/app.component.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { MatDialog } from '@angular/material'
1212
import { TransitionService } from './services/transitions.service'
1313
import { AnalyticsService } from './services/analytics.service'
1414
import { ApplicationService } from './services/app.service'
15+
import { SettingsService, IconMode } from './sections/settings/settings.service'
1516

1617
@Component({
1718
selector: 'app-root',
@@ -37,11 +38,13 @@ export class AppComponent implements OnInit, AfterContentInit {
3738
public matDialog: MatDialog,
3839
private transitions: TransitionService,
3940
private analytics: AnalyticsService,
40-
private app: ApplicationService
41+
private app: ApplicationService,
42+
private settings: SettingsService
4143
) { }
4244

4345
async ngOnInit () {
44-
this.sync()
46+
await this.sync()
47+
await this.fixUIMode()
4548
this.analytics.send()
4649
}
4750

@@ -108,6 +111,17 @@ export class AppComponent implements OnInit, AfterContentInit {
108111
}
109112
}
110113

114+
async fixUIMode () {
115+
const [ mode, iconMode ] = await Promise.all([
116+
this.ui.getMode(),
117+
this.settings.getIconMode()
118+
])
119+
120+
if (mode === 'popover' && iconMode === IconMode.dock) {
121+
await this.ui.setMode('window')
122+
}
123+
}
124+
111125
closeDropdownSection (section: string, event?: any) {
112126
// if (event && event.target && ['backdrop', 'mat-dialog'].some(e => event.target.className.includes(e))) return
113127
if (this.matDialog.openDialogs.length) return

ui/src/app/sections/header/header.component.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { UIService, UIMode } from 'src/app/services/ui.service'
44
import { FadeInOutAnimation } from 'src/app/modules/animations'
55
import { MatDialog } from '@angular/material'
66
import { ConfirmDialogComponent } from '../../components/confirm-dialog/confirm-dialog.component'
7+
import { SettingsService, IconMode } from '../settings/settings.service'
78

89
@Component({
910
selector: 'eqm-header',
@@ -22,7 +23,8 @@ export class HeaderComponent implements OnInit {
2223
constructor (
2324
private app: ApplicationService,
2425
private ui: UIService,
25-
private dialog: MatDialog
26+
private dialog: MatDialog,
27+
private settings: SettingsService
2628
) { }
2729

2830
async ngOnInit () {
@@ -92,6 +94,10 @@ export class HeaderComponent implements OnInit {
9294

9395
async toggleUIMode () {
9496
this.uiMode = this.uiMode === 'window' ? 'popover' : 'window'
97+
const iconMode = await this.settings.getIconMode()
98+
if (this.uiMode === 'popover' && iconMode === IconMode.dock) {
99+
await this.settings.setIconMode(IconMode.both)
100+
}
95101
await this.ui.setMode(this.uiMode)
96102
}
97103
// toggleMode () {

ui/src/app/sections/settings/settings.component.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@ export class SettingsComponent implements OnInit {
4343
label: 'Status Bar'
4444
}],
4545
selectedId: IconMode.both,
46-
selected: iconMode => this.settingsService.setIconMode(iconMode as IconMode)
46+
selected: async iconMode => {
47+
const uiMode = await this.ui.getMode()
48+
if (iconMode === IconMode.dock && uiMode === 'popover') {
49+
await this.ui.setMode('window')
50+
}
51+
await this.settingsService.setIconMode(iconMode as IconMode)
52+
}
4753
}
4854
uninstallOption: ButtonOption = {
4955
key: 'uninstall',

ui/src/app/sections/settings/settings.service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ export enum IconMode {
66
dock = 'dock',
77
statusBar = 'statusBar'
88
}
9-
export type UIMode = 'window' | 'popover'
109

1110
@Injectable({
1211
providedIn: 'root'

ui/src/app/services/ui.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class UIService extends DataService {
5454
return mode
5555
}
5656

57-
setMode (mode: UIMode) {
57+
async setMode (mode: UIMode) {
5858
return this.request({ method: 'POST', endpoint: '/mode', data: { mode } })
5959
}
6060

0 commit comments

Comments
 (0)