Merge issue_#392

This commit is contained in:
Guillaume Martigny 2016-02-03 09:29:19 +01:00
commit 20ecfd431b

View File

@ -33,6 +33,7 @@
ns.SettingsController = function (piskelController) { ns.SettingsController = function (piskelController) {
this.piskelController = piskelController; this.piskelController = piskelController;
this.closeDrawerShortcut = pskl.service.keyboard.Shortcuts.MISC.CLOSE_POPUP;
this.settingsContainer = document.querySelector('[data-pskl-controller=settings]'); this.settingsContainer = document.querySelector('[data-pskl-controller=settings]');
this.drawerContainer = document.getElementById('drawer-container'); this.drawerContainer = document.getElementById('drawer-container');
this.isExpanded = false; this.isExpanded = false;
@ -87,6 +88,8 @@
this.currentController = new settings[setting].controller(this.piskelController); this.currentController = new settings[setting].controller(this.piskelController);
this.currentController.init(); this.currentController.init();
pskl.app.shortcutService.registerShortcut(this.closeDrawerShortcut, this.closeDrawer_.bind(this));
pskl.utils.Dom.removeClass(SEL_SETTING_CLS); pskl.utils.Dom.removeClass(SEL_SETTING_CLS);
var selectedSettingButton = document.querySelector('[data-setting=' + setting + ']'); var selectedSettingButton = document.querySelector('[data-setting=' + setting + ']');
if (selectedSettingButton) { if (selectedSettingButton) {
@ -109,9 +112,12 @@
}; };
ns.SettingsController.prototype.destroyCurrentController_ = function () { ns.SettingsController.prototype.destroyCurrentController_ = function () {
if (this.currentController && this.currentController.destroy) { if (this.currentController) {
pskl.app.shortcutService.unregisterShortcut(this.closeDrawerShortcut);
if (this.currentController.destroy) {
this.currentController.destroy(); this.currentController.destroy();
this.currentController = null; this.currentController = null;
} }
}
}; };
})(); })();