Added checkboxes for frame and wheel swap control.
This commit is contained in:
parent
9b32d1bbd3
commit
73021a4682
|
|
@ -262,10 +262,10 @@
|
||||||
<div class="openwebrx-section-divider" onclick="toggleSection(this);">▴ Settings</div>
|
<div class="openwebrx-section-divider" onclick="toggleSection(this);">▴ Settings</div>
|
||||||
<div class="openwebrx-section" style="display: none;">
|
<div class="openwebrx-section" style="display: none;">
|
||||||
<div class="openwebrx-panel-line">
|
<div class="openwebrx-panel-line">
|
||||||
<div title="Theme" class="openwebrx-button openwebrx-slider-button" onclick="UI.setTheme('default');">
|
<div title="Reset theme" class="openwebrx-button openwebrx-slider-button" onclick="UI.setTheme('default');">
|
||||||
<svg viewBox="56 -900 835 835" style="overflow: visible"><use xlink:href="static/gfx/svg-defs.svg#theme-chooser"></use></svg>
|
<svg viewBox="56 -900 835 835" style="overflow: visible"><use xlink:href="static/gfx/svg-defs.svg#theme-chooser"></use></svg>
|
||||||
</div>
|
</div>
|
||||||
<select id="openwebrx-themes-listbox" class="openwebrx-panel-listbox" onchange="UI.setTheme(this.value);">
|
<select title="Theme" id="openwebrx-themes-listbox" class="openwebrx-panel-listbox" onchange="UI.setTheme(this.value);">
|
||||||
<option value="default">Default</option>
|
<option value="default">Default</option>
|
||||||
<option value="brown">Brown</option>
|
<option value="brown">Brown</option>
|
||||||
<option value="red">Red</option>
|
<option value="red">Red</option>
|
||||||
|
|
@ -276,11 +276,21 @@
|
||||||
<option value="black">Black</option>
|
<option value="black">Black</option>
|
||||||
<option value="night">Night</option>
|
<option value="night">Night</option>
|
||||||
</select>
|
</select>
|
||||||
<div title="Reset opacity (right-click to toggle frame)" id="openwebrx-opacity-reset" class="openwebrx-button openwebrx-slider-button" onclick="UI.setOpacity(100);">
|
<div title="Reset opacity" id="openwebrx-opacity-reset" class="openwebrx-button openwebrx-slider-button" onclick="UI.setOpacity(100);">
|
||||||
<svg viewBox="56 -900 835 835"><use xlink:href="static/gfx/svg-defs.svg#opacity"></use></svg>
|
<svg viewBox="56 -900 835 835"><use xlink:href="static/gfx/svg-defs.svg#opacity"></use></svg>
|
||||||
</div>
|
</div>
|
||||||
<input title="Opacity" id="openwebrx-opacity-slider" class="openwebrx-panel-slider" type="range" min="20" max="100" value="100" step="1" oninput="UI.setOpacity(this.value);">
|
<input title="Opacity" id="openwebrx-opacity-slider" class="openwebrx-panel-slider" type="range" min="20" max="100" value="100" step="1" oninput="UI.setOpacity(this.value);">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="openwebrx-panel-line">
|
||||||
|
<input id="openwebrx-frame-checkbox" type="checkbox" onchange="UI.setFrame(this.checked);">
|
||||||
|
Draw white frame around panels
|
||||||
|
</input>
|
||||||
|
</div>
|
||||||
|
<div class="openwebrx-panel-line">
|
||||||
|
<input id="openwebrx-wheel-checkbox" type="checkbox" onchange="UI.setWheelSwap(this.checked);">
|
||||||
|
Hold mouse wheel down to tune
|
||||||
|
</input>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="openwebrx-section-divider" onclick="toggleSection(this);">▾ Display</div>
|
<div class="openwebrx-section-divider" onclick="toggleSection(this);">▾ Display</div>
|
||||||
<div class="openwebrx-section">
|
<div class="openwebrx-section">
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ UI.volume = -1;
|
||||||
UI.volumeMuted = -1;
|
UI.volumeMuted = -1;
|
||||||
UI.nrThreshold = 0;
|
UI.nrThreshold = 0;
|
||||||
UI.nrEnabled = false;
|
UI.nrEnabled = false;
|
||||||
|
UI.wheelSwap = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Local Storage Access
|
// Local Storage Access
|
||||||
|
|
@ -47,6 +48,7 @@ UI.loadSettings = function() {
|
||||||
if (this.has('ui_theme')) this.setTheme(this.loadStr('ui_theme'));
|
if (this.has('ui_theme')) this.setTheme(this.loadStr('ui_theme'));
|
||||||
if (this.has('ui_frame')) this.setFrame(this.loadBool('ui_frame'));
|
if (this.has('ui_frame')) this.setFrame(this.loadBool('ui_frame'));
|
||||||
if (this.has('ui_opacity')) this.setOpacity(this.loadInt('ui_opacity'));
|
if (this.has('ui_opacity')) this.setOpacity(this.loadInt('ui_opacity'));
|
||||||
|
if (this.has('ui_wheel')) this.setWheelSwap(this.loadBool('ui_wheel'));
|
||||||
if (this.has('volume')) this.setVolume(this.loadInt('volume'));
|
if (this.has('volume')) this.setVolume(this.loadInt('volume'));
|
||||||
if (this.has('nr_threshold')) this.setNR(this.loadInt('nr_threshold'));
|
if (this.has('nr_threshold')) this.setNR(this.loadInt('nr_threshold'));
|
||||||
|
|
||||||
|
|
@ -137,21 +139,31 @@ UI.updateNR = function() {
|
||||||
// Look & Feel Controls
|
// Look & Feel Controls
|
||||||
//
|
//
|
||||||
|
|
||||||
// Toggle frame around receiver and other panels.
|
|
||||||
UI.toggleFrame = function() {
|
|
||||||
this.setFrame(!this.frame);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Show or hide frame around receiver and other panels.
|
// Show or hide frame around receiver and other panels.
|
||||||
UI.setFrame = function(x) {
|
UI.setFrame = function(x) {
|
||||||
if (this.frame != x) {
|
if (this.frame != x) {
|
||||||
this.frame = x;
|
this.frame = x;
|
||||||
this.save('ui_frame', x);
|
this.save('ui_frame', x);
|
||||||
|
$('#openwebrx-frame-checkbox').attr('checked', x);
|
||||||
$('#openwebrx-panel-receiver').css('border', x? '2px solid':'');
|
$('#openwebrx-panel-receiver').css('border', x? '2px solid':'');
|
||||||
$('#openwebrx-dialog-bookmark').css('border', x? '2px solid':'');
|
$('#openwebrx-dialog-bookmark').css('border', x? '2px solid':'');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Get current mouse wheel function
|
||||||
|
UI.getWheelSwap = function(x) {
|
||||||
|
return this.wheelSwap;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Set mouse wheel function (zooming when swapped)
|
||||||
|
UI.setWheelSwap = function(x) {
|
||||||
|
if (this.wheelSwap != x) {
|
||||||
|
this.wheelSwap = x;
|
||||||
|
this.save('ui_wheel', x);
|
||||||
|
$('#openwebrx-wheel-checkbox').attr('checked', x);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Set user interface opacity in 10..100% range.
|
// Set user interface opacity in 10..100% range.
|
||||||
UI.setOpacity = function(x) {
|
UI.setOpacity = function(x) {
|
||||||
x = x<10? 10 : x>100? 100 : x;
|
x = x<10? 10 : x>100? 100 : x;
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ var waterfall_setup_done = 0;
|
||||||
var secondary_fft_size;
|
var secondary_fft_size;
|
||||||
var tuning_step_default = 1;
|
var tuning_step_default = 1;
|
||||||
var tuning_step = 1;
|
var tuning_step = 1;
|
||||||
var swap_wheel = false;
|
|
||||||
|
|
||||||
function toggleSection(el) {
|
function toggleSection(el) {
|
||||||
var next_el = el.nextElementSibling;
|
var next_el = el.nextElementSibling;
|
||||||
|
|
@ -870,7 +869,7 @@ function canvas_mousewheel(evt) {
|
||||||
// Zoom when mouse button down, tune otherwise
|
// Zoom when mouse button down, tune otherwise
|
||||||
// (optionally, invert this behavior)
|
// (optionally, invert this behavior)
|
||||||
var zoom_me = (canvas_mouse2_down > 0) || evt.shiftKey?
|
var zoom_me = (canvas_mouse2_down > 0) || evt.shiftKey?
|
||||||
!swap_wheel : swap_wheel;
|
!UI.getWheelSwap() : UI.getWheelSwap();
|
||||||
if (zoom_me) {
|
if (zoom_me) {
|
||||||
zoom_step(dir, relativeX, zoom_center_where_calc(evt.pageX));
|
zoom_step(dir, relativeX, zoom_center_where_calc(evt.pageX));
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1050,10 +1049,6 @@ function on_ws_recv(evt) {
|
||||||
tuning_step_reset();
|
tuning_step_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('ui_swap_wheel' in config) {
|
|
||||||
swap_wheel = config['ui_swap_wheel'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('allow_audio_recording' in config) {
|
if ('allow_audio_recording' in config) {
|
||||||
var x = config['allow_audio_recording'];
|
var x = config['allow_audio_recording'];
|
||||||
$('.openwebrx-record-button').css('display', x? '':'none');
|
$('.openwebrx-record-button').css('display', x? '':'none');
|
||||||
|
|
@ -1602,12 +1597,6 @@ function initSliders() {
|
||||||
toggleScanner();
|
toggleScanner();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Toggle UI panel frames by pressing right mouse button on OPACITY
|
|
||||||
$('#openwebrx-opacity-reset').on('contextmenu', function() {
|
|
||||||
UI.toggleFrame();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function digimodes_init() {
|
function digimodes_init() {
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,6 @@ defaultConfig = PropertyLayer(
|
||||||
waterfall_auto_level_default_mode=False,
|
waterfall_auto_level_default_mode=False,
|
||||||
waterfall_auto_min_range=50,
|
waterfall_auto_min_range=50,
|
||||||
key_locked=False,
|
key_locked=False,
|
||||||
ui_swap_wheel=False,
|
|
||||||
magic_key="memagic",
|
magic_key="memagic",
|
||||||
allow_center_freq_changes=False,
|
allow_center_freq_changes=False,
|
||||||
allow_audio_recording=True,
|
allow_audio_recording=True,
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,6 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
||||||
"fft_compression",
|
"fft_compression",
|
||||||
"max_clients",
|
"max_clients",
|
||||||
"tuning_precision",
|
"tuning_precision",
|
||||||
"ui_swap_wheel",
|
|
||||||
"allow_center_freq_changes",
|
"allow_center_freq_changes",
|
||||||
"allow_audio_recording",
|
"allow_audio_recording",
|
||||||
"magic_key",
|
"magic_key",
|
||||||
|
|
|
||||||
|
|
@ -190,10 +190,6 @@ class GeneralSettingsController(SettingsFormController):
|
||||||
options=[Option(str(i), "{} Hz".format(10 ** i)) for i in range(0, 6)],
|
options=[Option(str(i), "{} Hz".format(10 ** i)) for i in range(0, 6)],
|
||||||
converter=IntConverter(),
|
converter=IntConverter(),
|
||||||
),
|
),
|
||||||
CheckboxInput(
|
|
||||||
"ui_swap_wheel",
|
|
||||||
"Make mouse wheel control zoom, tune by holding wheel down",
|
|
||||||
),
|
|
||||||
NumberInput(
|
NumberInput(
|
||||||
"eibi_bookmarks_range",
|
"eibi_bookmarks_range",
|
||||||
"Shortwave bookmarks range",
|
"Shortwave bookmarks range",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue