summaryrefslogtreecommitdiff
path: root/js/codeq/settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/codeq/settings.js')
-rw-r--r--js/codeq/settings.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/js/codeq/settings.js b/js/codeq/settings.js
index 5b57c49..f0e7ff0 100644
--- a/js/codeq/settings.js
+++ b/js/codeq/settings.js
@@ -8,15 +8,23 @@
jqDisabledOverlay = $('#disabled'),
jqSettForm = $("#settingsForm"),
jqSettCancelBtn = $("#settings_cancel_btn"),
- jqScreenSettings = $('#screen_settings');
+ jqScreenSettings = $('#screen_settings'),
+ jqLayoutSelect = $('#gui_layout_select');
+
+ codeq.on('layoutchange', function(){
+ $("#screen_prolog").removeClass(codeq.supportedLayouts.join(" ")).addClass(codeq.getLayout());
+ $("#screen_python").removeClass(codeq.supportedLayouts.join(" ")).addClass(codeq.getLayout());
+ });
codeq.globalStateMachine.register('settings',{
'enter':function(){
jqDisabledOverlay.css('display', '');
robotAddressInput.val(codeq.settings['robot_address']);//set the robot address once we enter the state
var previousGuiLang = codeq.settings['gui_lang'];
+ var previousLayout = codeq.settings['gui_layout'];
jqSettForm.on("submit", function(e) {
codeq.settings['robot_address'] = robotAddressInput.val();
+ codeq.log.debug("settings for update:"+JSON.stringify(codeq.settings));
codeq.comms.updateSettings(codeq.settings)
.then(function (data) {
if (data.code !== 0) {
@@ -32,6 +40,8 @@
e.preventDefault();
});
jqSettCancelBtn.on("click",function(){
+ jqLayoutSelect.val(previousLayout);
+ if ($.inArray(previousLayout, codeq.supportedLayouts) >= 0) codeq.setLayout(previousLayout);
guiLangSelect.val(previousGuiLang);
if (previousGuiLang in codeq.supportedLangs) codeq.setLang(previousGuiLang);
history.back();
@@ -42,6 +52,14 @@
codeq.setLang(lang);
}
});
+ jqLayoutSelect.on("change",function(){
+ jqDisabledOverlay.css('display', '');
+ var newLayout = jqLayoutSelect.val();
+ if ($.inArray(newLayout, codeq.supportedLayouts) >= 0){
+ codeq.setLayout(newLayout);
+ }
+ jqDisabledOverlay.css('display', 'none');
+ });
jqScreenSettings.css('display', '');
jqDisabledOverlay.css('display', 'none');
},