diff --git a/src/browser/components/SettingsPage.jsx b/src/browser/components/SettingsPage.jsx
index 08f3e341..c4509dfa 100644
--- a/src/browser/components/SettingsPage.jsx
+++ b/src/browser/components/SettingsPage.jsx
@@ -1,5 +1,6 @@
const React = require('react');
-const {Button, Checkbox, Col, FormGroup, Grid, Navbar, Row} = require('react-bootstrap');
+const ReactDOM = require('react-dom');
+const {Button, Checkbox, Col, FormGroup, FormControl, ControlLabel, Grid, Navbar, Row} = require('react-bootstrap');
const {ipcRenderer, remote} = require('electron');
const AutoLaunch = require('auto-launch');
@@ -114,7 +115,7 @@ const SettingsPage = React.createClass({
},
handleChangeTrayIconTheme() {
this.setState({
- trayIconTheme: !this.refs.trayIconTheme.props.checked
+ trayIconTheme: ReactDOM.findDOMNode(this.refs.trayIconTheme).value
});
},
handleChangeAutoStart() {
@@ -189,16 +190,19 @@ const SettingsPage = React.createClass({
}
if (process.platform === 'linux') {
options.push(
- {'Icon theme (Need to restart the application)'}
-
-
- );
+
+ {'Icon theme (Need to restart the application)'}
+
+
+
+
+ );
}
options.push(
{
}
case 'linux':
{
- const theme = config.trayIconTheme || 'light';
- return {
- normal: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconTemplate.png')),
- unread: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconUnreadTemplate.png')),
- mention: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconMentionTemplate.png'))
- };
+ const theme = config.trayIconTheme;
+ try {
+ return {
+ normal: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconTemplate.png')),
+ unread: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconUnreadTemplate.png')),
+ mention: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', theme, 'MenuIconMentionTemplate.png'))
+ };
+ } catch (e) {
+ //Fallback for invalid theme setting
+ return {
+ normal: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', 'light', 'MenuIconTemplate.png')),
+ unread: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', 'light', 'MenuIconUnreadTemplate.png')),
+ mention: nativeImage.createFromPath(path.resolve(assetsDir, 'linux', 'light', 'MenuIconMentionTemplate.png'))
+ };
+ }
}
default:
return {};