mirror of
https://github.com/laurent22/joplin.git
synced 2025-02-13 19:42:36 +02:00
Electron: Change title when changing screen
This commit is contained in:
parent
e48d2ed64b
commit
2879e616c1
ElectronClient/app/gui
@ -1,21 +1,40 @@
|
||||
const React = require('react'); const Component = React.Component;
|
||||
const { connect } = require('react-redux');
|
||||
const { app } = require('../app.js');
|
||||
const { bridge } = require('electron').remote.require('./bridge');
|
||||
|
||||
class NavigatorComponent extends Component {
|
||||
|
||||
componentWillReceiveProps(newProps) {
|
||||
if (newProps.route) {
|
||||
const screenInfo = this.props.screens[newProps.route.routeName];
|
||||
let windowTitle = ['Joplin'];
|
||||
if (screenInfo.title) {
|
||||
windowTitle.push(screenInfo.title());
|
||||
}
|
||||
this.updateWindowTitle(windowTitle.join(' - '));
|
||||
}
|
||||
}
|
||||
|
||||
updateWindowTitle(title) {
|
||||
bridge().window().setTitle(title);
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this.props.route) throw new Error('Route must not be null');
|
||||
|
||||
const route = this.props.route;
|
||||
const screenProps = route.props ? route.props : {};
|
||||
const Screen = this.props.screens[route.routeName].screen;
|
||||
const screenInfo = this.props.screens[route.routeName];
|
||||
const Screen = screenInfo.screen;
|
||||
|
||||
const screenStyle = {
|
||||
width: this.props.style.width,
|
||||
height: this.props.style.height,
|
||||
};
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div style={this.props.style}>
|
||||
<Screen style={screenStyle} {...screenProps}/>
|
||||
|
@ -3,6 +3,8 @@ const { render } = require('react-dom');
|
||||
const { createStore } = require('redux');
|
||||
const { connect, Provider } = require('react-redux');
|
||||
|
||||
const { _ } = require('lib/locale.js');
|
||||
|
||||
const { MainScreen } = require('./MainScreen.min.js');
|
||||
const { OneDriveLoginScreen } = require('./OneDriveLoginScreen.min.js');
|
||||
const { ImportScreen } = require('./ImportScreen.min.js');
|
||||
@ -60,9 +62,9 @@ class RootComponent extends React.Component {
|
||||
|
||||
const screens = {
|
||||
Main: { screen: MainScreen },
|
||||
OneDriveLogin: { screen: OneDriveLoginScreen },
|
||||
Import: { screen: ImportScreen },
|
||||
Config: { screen: ConfigScreen },
|
||||
OneDriveLogin: { screen: OneDriveLoginScreen, title: () => _('OneDrive Login') },
|
||||
Import: { screen: ImportScreen, title: () => _('Import') },
|
||||
Config: { screen: ConfigScreen, title: () => _('Configuration') },
|
||||
};
|
||||
|
||||
return (
|
||||
|
Loading…
x
Reference in New Issue
Block a user