Fix UI is broken when navigation bar pref is changed (#54)

This commit is contained in:
Quang Lam 2019-11-29 17:18:22 -06:00 committed by GitHub
parent 87b88143a9
commit 482981ce63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 4 deletions

View file

@ -213,6 +213,16 @@ const loadListeners = () => {
createMenu(); createMenu();
}); });
ipcMain.on('request-realign-active-workspace', () => {
global.attachToMenubar = getPreference('attachToMenubar');
global.showSidebar = getPreference('sidebar');
global.showNavigationBar = getPreference('navigationBar');
const activeWorkspace = getActiveWorkspace();
setActiveWorkspaceView(activeWorkspace.id);
createMenu();
});
ipcMain.on('request-open-url-in-workspace', (e, url, id) => { ipcMain.on('request-open-url-in-workspace', (e, url, id) => {
if (id) { if (id) {
// if id is defined, switch to that workspace // if id is defined, switch to that workspace

View file

@ -22,13 +22,14 @@ import StatedMenu from '../shared/stated-menu';
import { updateIsDefaultMailClient, updateIsDefaultWebBrowser } from '../../state/general/actions'; import { updateIsDefaultMailClient, updateIsDefaultWebBrowser } from '../../state/general/actions';
import { import {
requestClearBrowsingData,
requestOpenInBrowser, requestOpenInBrowser,
requestRealignActiveWorkspace,
requestResetPreferences,
requestSetPreference, requestSetPreference,
requestSetSystemPreference, requestSetSystemPreference,
requestResetPreferences,
requestClearBrowsingData,
requestShowRequireRestartDialog,
requestShowCodeInjectionWindow, requestShowCodeInjectionWindow,
requestShowRequireRestartDialog,
} from '../../senders'; } from '../../senders';
const { remote } = window.require('electron'); const { remote } = window.require('electron');
@ -120,7 +121,7 @@ const Preferences = ({
checked={navigationBar} checked={navigationBar}
onChange={(e) => { onChange={(e) => {
requestSetPreference('navigationBar', e.target.checked); requestSetPreference('navigationBar', e.target.checked);
requestShowRequireRestartDialog(); requestRealignActiveWorkspace();
}} }}
classes={{ classes={{
switchBase: classes.switchBase, switchBase: classes.switchBase,
@ -427,6 +428,7 @@ const Preferences = ({
<ListItemText primary="JS Code Injection" secondary={jsCodeInjection ? 'Set' : 'Not set'} /> <ListItemText primary="JS Code Injection" secondary={jsCodeInjection ? 'Set' : 'Not set'} />
<ChevronRightIcon color="action" /> <ChevronRightIcon color="action" />
</ListItem> </ListItem>
<Divider />
<ListItem button onClick={() => requestShowCodeInjectionWindow('css')}> <ListItem button onClick={() => requestShowCodeInjectionWindow('css')}>
<ListItemText primary="CSS Code Injection" secondary={cssCodeInjection ? 'Set' : 'Not set'} /> <ListItemText primary="CSS Code Injection" secondary={cssCodeInjection ? 'Set' : 'Not set'} />
<ChevronRightIcon color="action" /> <ChevronRightIcon color="action" />

View file

@ -42,6 +42,7 @@ export const requestSetWorkspace = (id, opts) => ipcRenderer.send('request-set-w
export const requestSetWorkspacePicture = (id, picturePath) => ipcRenderer.send('request-set-workspace-picture', id, picturePath); export const requestSetWorkspacePicture = (id, picturePath) => ipcRenderer.send('request-set-workspace-picture', id, picturePath);
export const requestRemoveWorkspacePicture = (id) => ipcRenderer.send('request-remove-workspace-picture', id); export const requestRemoveWorkspacePicture = (id) => ipcRenderer.send('request-remove-workspace-picture', id);
export const requestSetActiveWorkspace = (id) => ipcRenderer.send('request-set-active-workspace', id); export const requestSetActiveWorkspace = (id) => ipcRenderer.send('request-set-active-workspace', id);
export const requestRealignActiveWorkspace = () => ipcRenderer.send('request-realign-active-workspace');
export const requestRemoveWorkspace = (id) => ipcRenderer.send('request-remove-workspace', id); export const requestRemoveWorkspace = (id) => ipcRenderer.send('request-remove-workspace', id);
export const requestClearBrowsingData = () => ipcRenderer.send('request-clear-browsing-data'); export const requestClearBrowsingData = () => ipcRenderer.send('request-clear-browsing-data');
export const requestOpenUrlInWorkspace = (url, id) => ipcRenderer.send('request-open-url-in-workspace', url, id); export const requestOpenUrlInWorkspace = (url, id) => ipcRenderer.send('request-open-url-in-workspace', url, id);