Browse Source

added theme toggle

pull/1418/head
Nicholas Shindler 7 years ago
parent
commit
fd6600a961
  1. 5
      app.js
  2. 8
      app/store/Services.js
  3. 8
      app/view/preferences/PreferencesController.js
  4. 4
      build/dark/development/Rambox/electron/main.js
  5. 1
      electron/main.js

5
app.js

@ -1,4 +1,9 @@
var auth0, lock; // Auth0 vars
// load theme
console.log(localStorage.rambox_theme, Ext.isDebugEnabled);
if (localStorage.rambox_theme !== "default") Ext.util.CSS.swapStyleSheet("rambox-default-theme", `build/${localStorage.rambox_theme}/production/Rambox/resources/Rambox-all.css`);
// Enable Cookies
var ElectronCookies = require('@exponent/electron-cookies');
ElectronCookies.enable({ origin: 'http://rambox.pro' });

8
app/store/Services.js

@ -64,14 +64,6 @@ Ext.define('Rambox.store.Services', {
if ( Ext.getCmp('tab_'+config.default_service) ) Ext.cq1('app-main').setActiveTab('tab_'+config.default_service);
break;
}
switch (config.rambox_theme){
case 'dark':
Ext.util.CSS.swapStyleSheet("rambox-default-theme", "build/dark/development/Rambox/resources/Rambox-all.css");
break;
default:
Ext.util.CSS.swapStyleSheet("rambox-dark-theme", "build/development/Rambox/resources/Rambox-all.css");
break;
}
store.suspendEvent('load');
Ext.cq1('app-main').resumeEvent('add');

8
app/view/preferences/PreferencesController.js

@ -54,6 +54,14 @@ Ext.define('Rambox.view.preferences.PreferencesController', {
});
}
// Theme
if ( values.rambox_theme !== ipc.sendSync('getConfig').rambox_theme ) {
localStorage.setItem('rambox_theme', values.rambox_theme);
Ext.Msg.confirm('Action required', 'To change the theme of Rambox, you need to reload the app. Do you want to do it now?', function(btnId) {
if ( btnId === 'yes' ) ipc.send('relaunchApp');
});
}
ipc.send('setConfig', values);
me.getView().close();
}

4
build/dark/development/Rambox/electron/main.js

@ -166,7 +166,6 @@ function createWindow () {
if ( !config.get('start_minimized') && config.get('maximized') ) mainWindow.maximize();
if ( config.get('window_display_behavior') !== 'show_trayIcon' && config.get('start_minimized') ) mainWindow.minimize();
if ( config.get('rambox_theme') !== 'default') changeTheme(config.get('rambox_theme');
// Check if the window its outside of the view (ex: multi monitor setup)
const { positionOnScreen } = require('./utils/positionOnScreen');
@ -296,9 +295,6 @@ function updateBadge(title) {
if ( messageCount > 0 && !mainWindow.isFocused() && !config.get('dont_disturb') && config.get('flash_frame') ) mainWindow.flashFrame(true);
}
function changeTheme(theme) {
Ext.util.CSS.swapStyleSheet("rambox-default-theme", `build/${theme}/development/Rambox/resources/Rambox-all.css`);
}
ipcMain.on('setBadge', function(event, messageCount, value) {
var img = nativeImage.createFromDataURL(value);

1
electron/main.js

@ -36,6 +36,7 @@ const config = new Config({
,proxyPassword: ''
,locale: 'en'
,enable_hidpi_support: false
,rambox_theme: 'default'
,default_service: 'ramboxTab'
,x: undefined

Loading…
Cancel
Save