mirror of
https://github.com/moonlight-stream/moonlight-chrome.git
synced 2025-08-17 08:36:42 +00:00
Switch GFE optimizations from a menu to a toggle
This commit is contained in:
parent
f32a35607b
commit
9b4e7b661b
27
index.html
27
index.html
@ -21,23 +21,6 @@
|
|||||||
<div class="mdl-layout-spacer"></div>
|
<div class="mdl-layout-spacer"></div>
|
||||||
<!-- Navigation -->
|
<!-- Navigation -->
|
||||||
<nav class="mdl-navigation">
|
<nav class="mdl-navigation">
|
||||||
<div class="nav-menu-parent">
|
|
||||||
<div id="optimizeMenu">
|
|
||||||
<button id="selectOptimize" data-value="1" class="mdl-button mdl-js-button">
|
|
||||||
GFE Optimization
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul class="optimizeMenu mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect"
|
|
||||||
for="selectOptimize">
|
|
||||||
<li class="mdl-menu__item" data-value="1">GFE Optimization</li>
|
|
||||||
<li class="mdl-menu__item" data-value="0">No GFE Optimization</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="optimizeTooltip" class="mdl-tooltip" for="optimizeMenu">
|
|
||||||
Allow Geforce Experience to optimize game settings for stream
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nav-menu-parent">
|
<div class="nav-menu-parent">
|
||||||
<div id="resolutionMenu">
|
<div id="resolutionMenu">
|
||||||
<button id="selectResolution" data-value="1280:720" class="mdl-button mdl-js-button">
|
<button id="selectResolution" data-value="1280:720" class="mdl-button mdl-js-button">
|
||||||
@ -96,6 +79,16 @@
|
|||||||
Remote audio
|
Remote audio
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="nav-menu-parent">
|
||||||
|
<label id="optimizeGamesBtn" class="mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for="optimizeGamesSwitch">
|
||||||
|
<input type="checkbox" id="optimizeGamesSwitch" class="mdl-icon-toggle__input">
|
||||||
|
<i class="mdl-icon-toggle__label material-icons">timeline</i>
|
||||||
|
</label>
|
||||||
|
<div id="optimizeGamesTooltip" class="mdl-tooltip" for="optimizeGamesBtn">
|
||||||
|
Allow GeForce Experience to optimize game settings for streaming
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-js-ripple-effect" id="quitCurrentApp" aria-label="Quit current app">
|
<button type="button" class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-js-ripple-effect" id="quitCurrentApp" aria-label="Quit current app">
|
||||||
<i class="material-icons">remove_circle_outline</i>
|
<i class="material-icons">remove_circle_outline</i>
|
||||||
Quit Current App
|
Quit Current App
|
||||||
|
@ -12,11 +12,11 @@ function attachListeners() {
|
|||||||
changeUiModeForNaClLoad();
|
changeUiModeForNaClLoad();
|
||||||
|
|
||||||
$('.resolutionMenu li').on('click', saveResolution);
|
$('.resolutionMenu li').on('click', saveResolution);
|
||||||
$('.optimizeMenu li').on('click', saveOptimize);
|
|
||||||
$('.framerateMenu li').on('click', saveFramerate);
|
$('.framerateMenu li').on('click', saveFramerate);
|
||||||
$('#bitrateSlider').on('input', updateBitrateField); // input occurs every notch you slide
|
$('#bitrateSlider').on('input', updateBitrateField); // input occurs every notch you slide
|
||||||
//$('#bitrateSlider').on('change', saveBitrate); //FIXME: it seems not working
|
//$('#bitrateSlider').on('change', saveBitrate); //FIXME: it seems not working
|
||||||
$("#remoteAudioEnabledSwitch").on('click', saveRemoteAudio);
|
$("#remoteAudioEnabledSwitch").on('click', saveRemoteAudio);
|
||||||
|
$('#optimizeGamesSwitch').on('click', saveOptimize);
|
||||||
$('#addHostCell').on('click', addHost);
|
$('#addHostCell').on('click', addHost);
|
||||||
$('#backIcon').on('click', showHostsAndSettingsMode);
|
$('#backIcon').on('click', showHostsAndSettingsMode);
|
||||||
$('#quitCurrentApp').on('click', stopGameWithConfirmation);
|
$('#quitCurrentApp').on('click', stopGameWithConfirmation);
|
||||||
@ -568,7 +568,7 @@ function startGame(host, appID) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var frameRate = $('#selectFramerate').data('value').toString();
|
var frameRate = $('#selectFramerate').data('value').toString();
|
||||||
var optimize = $('#selectOptimize').data('value').toString();
|
var optimize = $("#optimizeGamesSwitch").parent().hasClass('is-checked') ? 1 : 0;
|
||||||
var streamWidth = $('#selectResolution').data('value').split(':')[0];
|
var streamWidth = $('#selectResolution').data('value').split(':')[0];
|
||||||
var streamHeight = $('#selectResolution').data('value').split(':')[1];
|
var streamHeight = $('#selectResolution').data('value').split(':')[1];
|
||||||
// we told the user it was in Mbps. We're dirty liars and use Kbps behind their back.
|
// we told the user it was in Mbps. We're dirty liars and use Kbps behind their back.
|
||||||
@ -718,10 +718,13 @@ function saveResolution() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveOptimize() {
|
function saveOptimize() {
|
||||||
var chosenOptimize = $(this).data('value');
|
// MaterialDesignLight uses the mouseup trigger, so we give it some time to change the class name before
|
||||||
$('#selectOptimize').text($(this).text()).data('value', chosenOptimize);
|
// checking the new state
|
||||||
storeData('optimize', chosenOptimize, null);
|
setTimeout(function() {
|
||||||
updateDefaultBitrate();
|
var chosenOptimize = $("#optimizeGamesSwitch").parent().hasClass('is-checked');
|
||||||
|
console.log('%c[index.js, saveOptimize]', 'color: green;', 'Saving optimize state : ' + chosenOptimize);
|
||||||
|
storeData('optimize', chosenOptimize, null);
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveFramerate() {
|
function saveFramerate() {
|
||||||
@ -829,18 +832,17 @@ function onWindowLoad(){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// load stored optimization prefs
|
// load stored optimization prefs
|
||||||
chrome.storage.sync.get('optimize', function(previousValue) {
|
chrome.storage.sync.get('optimize', function(previousValue) {
|
||||||
if(previousValue.optimize != null) {
|
if(previousValue.optimize == null) {
|
||||||
$('.optimizeMenu li').each(function () {
|
document.querySelector('#optimizeGamesBtn').MaterialIconToggle.uncheck();
|
||||||
if ($(this).data('value') === previousValue.optimize) {
|
} else if (previousValue.optimize == false) {
|
||||||
$('#selectOptimize').text($(this).text()).data('value', previousValue.optimize);
|
document.querySelector('#optimizeGamesBtn').MaterialIconToggle.uncheck();
|
||||||
}
|
} else {
|
||||||
});
|
document.querySelector('#optimizeGamesBtn').MaterialIconToggle.check();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// load stored bitrate prefs
|
// load stored bitrate prefs
|
||||||
chrome.storage.sync.get('bitrate', function(previousValue) {
|
chrome.storage.sync.get('bitrate', function(previousValue) {
|
||||||
$('#bitrateSlider')[0].MaterialSlider.change(previousValue.bitrate != null ? previousValue.bitrate : '10');
|
$('#bitrateSlider')[0].MaterialSlider.change(previousValue.bitrate != null ? previousValue.bitrate : '10');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user