mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-20 23:05:15 +03:00
Merge pull request #1121 from atomgomba/feature-remember-last-tab
Add option to reopen last tab on connect
This commit is contained in:
commit
c5dfaea1a8
9 changed files with 49 additions and 5 deletions
|
@ -60,6 +60,9 @@
|
||||||
"permanentExpertMode": {
|
"permanentExpertMode": {
|
||||||
"message": "Permanently enable Expert Mode"
|
"message": "Permanently enable Expert Mode"
|
||||||
},
|
},
|
||||||
|
"rememberLastTab": {
|
||||||
|
"message": "Reopen last tab on connect"
|
||||||
|
},
|
||||||
"userLanguageSelect": {
|
"userLanguageSelect": {
|
||||||
"message": "Language (need to restart the application for the changes to take effect)"
|
"message": "Language (need to restart the application for the changes to take effect)"
|
||||||
},
|
},
|
||||||
|
|
|
@ -321,5 +321,15 @@ GUI_control.prototype.content_ready = function (callback) {
|
||||||
if (callback) callback();
|
if (callback) callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GUI_control.prototype.selectDefaultTabWhenConnected = function() {
|
||||||
|
chrome.storage.local.get(['rememberLastTab', 'lastTab'], function (result) {
|
||||||
|
if (!(result.rememberLastTab && !!result.lastTab)) {
|
||||||
|
$('#tabs ul.mode-connected .tab_setup a').click();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$("#tabs ul.mode-connected ." + result.lastTab + " a").click();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// initialize object into GUI variable
|
// initialize object into GUI variable
|
||||||
var GUI = new GUI_control();
|
var GUI = new GUI_control();
|
||||||
|
|
|
@ -86,6 +86,13 @@ function startProcess() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$("#tabs ul.mode-connected li").click(function() {
|
||||||
|
// store the first class of the current tab (omit things like ".active")
|
||||||
|
chrome.storage.local.set({
|
||||||
|
lastTab: $(this).attr("class").split(' ')[0]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
GUI.tab_switch_in_progress = true;
|
GUI.tab_switch_in_progress = true;
|
||||||
|
|
||||||
GUI.tab_switch_cleanup(function () {
|
GUI.tab_switch_cleanup(function () {
|
||||||
|
@ -217,6 +224,13 @@ function startProcess() {
|
||||||
}).change();
|
}).change();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
chrome.storage.local.get('rememberLastTab', function (result) {
|
||||||
|
$('div.rememberLastTab input')
|
||||||
|
.prop('checked', !!result.rememberLastTab)
|
||||||
|
.change(function() { chrome.storage.local.set({rememberLastTab: $(this).is(':checked')}) })
|
||||||
|
.change();
|
||||||
|
});
|
||||||
|
|
||||||
if (GUI.operating_system !== 'ChromeOS') {
|
if (GUI.operating_system !== 'ChromeOS') {
|
||||||
chrome.storage.local.get('checkForConfiguratorUnstableVersions', function (result) {
|
chrome.storage.local.get('checkForConfiguratorUnstableVersions', function (result) {
|
||||||
if (result.checkForConfiguratorUnstableVersions) {
|
if (result.checkForConfiguratorUnstableVersions) {
|
||||||
|
|
|
@ -299,7 +299,7 @@ function finishOpen() {
|
||||||
|
|
||||||
onConnect();
|
onConnect();
|
||||||
|
|
||||||
$('#tabs ul.mode-connected .tab_setup a').click();
|
GUI.selectDefaultTabWhenConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
function connectCli() {
|
function connectCli() {
|
||||||
|
|
|
@ -45,7 +45,11 @@ TABS.motors.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_motor_data() {
|
function load_motor_data() {
|
||||||
MSP.send_message(MSPCodes.MSP_MOTOR, false, false, load_html);
|
MSP.send_message(MSPCodes.MSP_MOTOR, false, false, load_mixer_config);
|
||||||
|
}
|
||||||
|
|
||||||
|
function load_mixer_config() {
|
||||||
|
MSP.send_message(MSPCodes.MSP_MIXER_CONFIG, false, false, load_html);
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_html() {
|
function load_html() {
|
||||||
|
|
|
@ -39,9 +39,13 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return MSP.promise(MSPCodes.MSP_RC_DEADBAND);
|
return MSP.promise(MSPCodes.MSP_RC_DEADBAND);
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
$('#content').load("./tabs/pid_tuning.html", process_html);
|
MSP.send_message(MSPCodes.MSP_MIXER_CONFIG, false, false, load_html);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function load_html() {
|
||||||
|
$('#content').load("./tabs/pid_tuning.html", process_html);
|
||||||
|
}
|
||||||
|
|
||||||
function pid_and_rc_to_form() {
|
function pid_and_rc_to_form() {
|
||||||
self.setProfile();
|
self.setProfile();
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.20.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.20.0")) {
|
||||||
|
|
|
@ -40,7 +40,7 @@ TABS.receiver.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_rx_config() {
|
function load_rx_config() {
|
||||||
var next_callback = load_html;
|
var next_callback = load_mixer_config;
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.20.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.20.0")) {
|
||||||
MSP.send_message(MSPCodes.MSP_RX_CONFIG, false, false, next_callback);
|
MSP.send_message(MSPCodes.MSP_RX_CONFIG, false, false, next_callback);
|
||||||
} else {
|
} else {
|
||||||
|
@ -48,6 +48,10 @@ TABS.receiver.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function load_mixer_config() {
|
||||||
|
MSP.send_message(MSPCodes.MSP_MIXER_CONFIG, false, false, load_html);
|
||||||
|
}
|
||||||
|
|
||||||
function load_html() {
|
function load_html() {
|
||||||
$('#content').load("./tabs/receiver.html", process_html);
|
$('#content').load("./tabs/receiver.html", process_html);
|
||||||
}
|
}
|
||||||
|
|
|
@ -268,7 +268,9 @@
|
||||||
-->
|
-->
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="mode-connected mode-connected-cli">
|
<ul class="mode-connected mode-connected-cli">
|
||||||
<li class="tab_cli"><a href="#" i18n="tabCLI" class="tabicon ic_cli" i18n_title="tabCLI"></a></li>
|
<li class="tab_cli">
|
||||||
|
<a href="#" i18n="tabCLI" class="tabicon ic_cli" i18n_title="tabCLI"></a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="clear-both"></div>
|
<div class="clear-both"></div>
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
<div class="checkForConfiguratorUnstableVersions">
|
<div class="checkForConfiguratorUnstableVersions">
|
||||||
<label><input type="checkbox" /><span i18n="checkForConfiguratorUnstableVersions"></span></label>
|
<label><input type="checkbox" /><span i18n="checkForConfiguratorUnstableVersions"></span></label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="rememberLastTab">
|
||||||
|
<label><input type="checkbox" /><span i18n="rememberLastTab"></span></label>
|
||||||
|
</div>
|
||||||
<div class="separator"></div>
|
<div class="separator"></div>
|
||||||
<div class="userLanguage">
|
<div class="userLanguage">
|
||||||
<label>
|
<label>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue