VRFS-292 configure tracks dialog work
This commit is contained in:
parent
8561c0ceca
commit
afba76beaa
|
|
@ -72,8 +72,7 @@
|
|||
}
|
||||
|
||||
function GetASIODevices() {
|
||||
var response =[{"device_id":0,"device_name":"Realtek High Definition Audio","interfaces":[{"interface_id":0,"interface_name":"Realtek HDA SPDIF Out","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":1,"interface_name":"Realtek HD Audio rear output","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":2,"interface_name":"Realtek HD Audio Mic input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":3,"interface_name":"Realtek HD Audio Line input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":4,"interface_name":"Realtek HD Digital input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"}]},{"interface_id":5,"interface_name":"Realtek HD Audio Stereo input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]}],"wavert_supported":false},{"device_id":1,"device_name":"M-Audio FW Audiophile","interfaces":[{"interface_id":0,"interface_name":"FW AP Multi","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":1,"interface_name":"FW AP 1/2","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":2,"interface_name":"FW AP SPDIF","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":3,"interface_name":"FW AP 3/4","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":2,"device_name":"Virtual Audio Cable","interfaces":[{"interface_id":0,"interface_name":"Virtual Cable 2","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]},{"interface_id":1,"interface_name":"Virtual Cable 1","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":3,"device_name":"WebCamDV WDM Audio Capture","interfaces":[{"interface_id":0,"interface_name":"WebCamDV Audio","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"},{"is_input":false,"pin_id":1,"pin_name":"Volume Control"}]}],"wavert_supported":false}];
|
||||
|
||||
var response =[{"device_id":0,"device_name":"Realtek High Definition Audio","device_type": 0,"interfaces":[{"interface_id":0,"interface_name":"Realtek HDA SPDIF Out","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":1,"interface_name":"Realtek HD Audio rear output","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":2,"interface_name":"Realtek HD Audio Mic input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":3,"interface_name":"Realtek HD Audio Line input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":4,"interface_name":"Realtek HD Digital input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"}]},{"interface_id":5,"interface_name":"Realtek HD Audio Stereo input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]}],"wavert_supported":false},{"device_id":1,"device_name":"M-Audio FW Audiophile","device_type": 1,"interfaces":[{"interface_id":0,"interface_name":"FW AP Multi","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":1,"interface_name":"FW AP 1/2","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":2,"interface_name":"FW AP SPDIF","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":3,"interface_name":"FW AP 3/4","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":2,"device_name":"Virtual Audio Cable","device_type": 2,"interfaces":[{"interface_id":0,"interface_name":"Virtual Cable 2","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]},{"interface_id":1,"interface_name":"Virtual Cable 1","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":3,"device_name":"WebCamDV WDM Audio Capture","device_type": 3,"interfaces":[{"interface_id":0,"interface_name":"WebCamDV Audio","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"},{"is_input":false,"pin_id":1,"pin_name":"Volume Control"}]}],"wavert_supported":false}];
|
||||
return response;
|
||||
}
|
||||
|
||||
|
|
@ -213,6 +212,7 @@
|
|||
var suffixes = [ " - Left", " - Right", " - Left", " - Right"];
|
||||
var lefts = [true, false, true, false];
|
||||
var inputs = [true, true, false, false];
|
||||
var types = ["music", "non-music", "music", "non-music"];
|
||||
var response = [];
|
||||
var name, o, i, j;
|
||||
for (j=0; j<4; j++) {
|
||||
|
|
@ -224,7 +224,8 @@
|
|||
id: name,
|
||||
input: inputs[j],
|
||||
left: lefts[j],
|
||||
name: name
|
||||
name: name,
|
||||
device_type: types[j]
|
||||
};
|
||||
response.push(o);
|
||||
}
|
||||
|
|
@ -236,27 +237,40 @@
|
|||
return 1; // Real version returns whatever was set
|
||||
}
|
||||
|
||||
function TrackGetInstrument(trackNumber) {}
|
||||
|
||||
function TrackGetInstrument(trackNumber) {
|
||||
if (trackNumber === 1) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
function TrackGetDevices() {
|
||||
var response =[{"device_id":0,"device_name":"Realtek High Definition Audio","interfaces":[{"interface_id":0,"interface_name":"Realtek HDA SPDIF Out","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":1,"interface_name":"Realtek HD Audio rear output","pins":[{"is_input":false,"pin_id":0,"pin_name":"PC Speaker"}]},{"interface_id":2,"interface_name":"Realtek HD Audio Mic input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":3,"interface_name":"Realtek HD Audio Line input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]},{"interface_id":4,"interface_name":"Realtek HD Digital input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"}]},{"interface_id":5,"interface_name":"Realtek HD Audio Stereo input","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"}]}],"wavert_supported":false},{"device_id":1,"device_name":"M-Audio FW Audiophile","interfaces":[{"interface_id":0,"interface_name":"FW AP Multi","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":1,"interface_name":"FW AP 1/2","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":2,"interface_name":"FW AP SPDIF","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"},{"is_input":true,"pin_id":1,"pin_name":"Input"}]},{"interface_id":3,"interface_name":"FW AP 3/4","pins":[{"is_input":false,"pin_id":0,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":2,"device_name":"Virtual Audio Cable","interfaces":[{"interface_id":0,"interface_name":"Virtual Cable 2","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]},{"interface_id":1,"interface_name":"Virtual Cable 1","pins":[{"is_input":true,"pin_id":0,"pin_name":"Capture"},{"is_input":false,"pin_id":1,"pin_name":"Output"}]}],"wavert_supported":false},{"device_id":3,"device_name":"WebCamDV WDM Audio Capture","interfaces":[{"interface_id":0,"interface_name":"WebCamDV Audio","pins":[{"is_input":true,"pin_id":0,"pin_name":"Recording Control"},{"is_input":false,"pin_id":1,"pin_name":"Volume Control"}]}],"wavert_supported":false}];
|
||||
var response = {"Built-in":"Built-in", "ASIO4ALL v2":"ASIO4ALL v2 - ASIO", "BEHRINGER USB AUDIO":"BEHRINGER USB AUDIO - ASIO", "{2B7D1F21-FA6E-11D4-0002-DDCA793267F2}":"SoundMAX HD Audio O - WDM", "{ABCC5A6C-C263-463B-A72F-A5BF64C86EBA}":"Generic USB Audio Device - WDM"};
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
function TrackGetMusicDeviceID() {
|
||||
return "ASIO4ALL v2";
|
||||
}
|
||||
|
||||
function TrackSetMusicDevice(id) {
|
||||
device_id = id;
|
||||
}
|
||||
|
||||
// mock response of this method by allowing only even device IDs to open control panel
|
||||
function TrackHasControlPanel() {
|
||||
var devices = TrackGetDevices();
|
||||
if (devices[device_id].device_id % 2 === 0) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function TrackIsMusicDeviceType(type) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function TrackGetChatUsesMusic() {
|
||||
return true;
|
||||
}
|
||||
|
||||
function TrackOpenControlPanel() {
|
||||
|
|
@ -271,6 +285,7 @@
|
|||
// assignment is an enum:
|
||||
// CHAT = -2, OUTPUT = -1, UNASSIGNED = 0
|
||||
function TrackSetAssignment(chanId, isInput, assignment) {}
|
||||
|
||||
// Get a Track Assignment.
|
||||
function TrackGetAssignment(chanId, isInput) {
|
||||
// CHAT = -2, OUTPUT = -1, UNASSIGNED = 0
|
||||
|
|
@ -370,9 +385,13 @@
|
|||
this.TrackGetInstrument = TrackGetInstrument;
|
||||
|
||||
this.TrackGetDevices = TrackGetDevices;
|
||||
this.TrackGetMusicDeviceID = TrackGetMusicDeviceID;
|
||||
this.TrackSetMusicDevice = TrackSetMusicDevice;
|
||||
this.TrackHasControlPanel = TrackHasControlPanel;
|
||||
this.TrackOpenControlPanel = TrackOpenControlPanel;
|
||||
this.TrackIsMusicDeviceType = TrackIsMusicDeviceType;
|
||||
|
||||
this.TrackGetChatUsesMusic = TrackGetChatUsesMusic;
|
||||
|
||||
// Client Update
|
||||
this.ClientUpdateVersion = ClientUpdateVersion;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,19 @@
|
|||
var mixers = [];
|
||||
var myTrackCount = 0;
|
||||
|
||||
// dialog variables
|
||||
var unusedAudioInputChannels = [];
|
||||
var track1AudioInputChannels = [];
|
||||
var track2AudioInputChannels = [];
|
||||
|
||||
var unusedAudioOutputChannels = [];
|
||||
var usedAudioOutputChannels = [];
|
||||
|
||||
var usedChatInputChannels = [];
|
||||
|
||||
var devices = [];
|
||||
var original_device_id;
|
||||
|
||||
// TODO Consolidate dragged controls and handles
|
||||
var $draggingFaderHandle = null;
|
||||
var $draggingFader = null;
|
||||
|
|
@ -680,18 +693,18 @@
|
|||
|
||||
$('#tab-configure-audio').click(function() {
|
||||
// validate voice chat settings
|
||||
if (validateVoiceChatSettings()) {
|
||||
//if (validateVoiceChatSettings()) {
|
||||
setAudioInstructions();
|
||||
initMusicAudioPanel();
|
||||
}
|
||||
//}
|
||||
});
|
||||
|
||||
$('#tab-configure-voice').click(function() {
|
||||
// validate audio settings
|
||||
if (validateAudioSettings()) {
|
||||
//if (validateAudioSettings()) {
|
||||
initVoiceChatPanel();
|
||||
$('#instructions', 'div[layout-id="configure-audio"]').html(configure_voice_instructions);
|
||||
}
|
||||
//}
|
||||
});
|
||||
|
||||
// Track 1 Add
|
||||
|
|
@ -728,31 +741,39 @@
|
|||
initVoiceChatPanel();
|
||||
});
|
||||
|
||||
$('#audio-drivers').change(function() {
|
||||
audioDriverChanged();
|
||||
});
|
||||
|
||||
$('#btn-driver-settings').click(function() {
|
||||
context.jamClient.TrackSetMusicDevice($('#audio-drivers').val());
|
||||
|
||||
if (context.jamClient.TrackHasControlPanel()) {
|
||||
logger.debug("Opening control panel");
|
||||
context.jamClient.TrackOpenControlPanel();
|
||||
}
|
||||
logger.debug("Opening control panel...");
|
||||
context.jamClient.TrackOpenControlPanel();
|
||||
});
|
||||
|
||||
$('#btn-save-settings').click(function() {
|
||||
if (!validateAudioSettings()) {
|
||||
return false;
|
||||
}
|
||||
$('#btn-save-settings').click(saveSettings);
|
||||
|
||||
if (!validateVoiceChatSettings()) {
|
||||
|
||||
}
|
||||
});
|
||||
$('#btn-cancel-settings').click(cancelSettings);
|
||||
|
||||
$('#btn-leave-session-test').click(function() {
|
||||
$('div[layout-id="configure-audio"]').hide();
|
||||
});
|
||||
}
|
||||
|
||||
function audioDriverChanged() {
|
||||
context.jamClient.TrackSetMusicDevice($('#audio-drivers').val());
|
||||
|
||||
if (context.jamClient.TrackHasControlPanel()) {
|
||||
logger.debug("Showing DRIVER SETTINGS button...");
|
||||
$('#btn-driver-settings').show();
|
||||
}
|
||||
else {
|
||||
logger.debug("Hiding DRIVER SETTINGS button...");
|
||||
$('#btn-driver-settings').hide();
|
||||
}
|
||||
}
|
||||
|
||||
function initMusicAudioPanel() {
|
||||
|
||||
$('div[tab-id="music-audio"]').show();
|
||||
$('div[tab-id="voice-chat"]').hide();
|
||||
|
||||
|
|
@ -761,73 +782,28 @@
|
|||
|
||||
$('#audio-drivers').empty();
|
||||
|
||||
// TODO: add logic for Audio Driver dropdown change event
|
||||
// determine correct music device to preselect
|
||||
var original_device_id = context.jamClient.TrackGetMusicDeviceID();
|
||||
var current_device_id = original_device_id;
|
||||
|
||||
// load Audio Driver dropdown (TODO: determine correct preselected option)
|
||||
var devices = context.jamClient.TrackGetDevices();
|
||||
loadOptions($('#audio-drivers'), devices, "device_id", "device_name", 0);
|
||||
// load Audio Driver dropdown
|
||||
devices = context.jamClient.TrackGetDevices();
|
||||
var keys = Object.keys(devices);
|
||||
|
||||
// get data needed for listboxes
|
||||
var channels = context.jamClient.TrackGetChannels();
|
||||
|
||||
var unusedAudioInputChannels = [];
|
||||
var track1AudioInputChannels = [];
|
||||
var track2AudioInputChannels = [];
|
||||
|
||||
var unusedAudioOutputChannels = [];
|
||||
var usedAudioOutputChannels = [];
|
||||
|
||||
var usedChatInputChannels = [];
|
||||
|
||||
|
||||
/* -2 = chat
|
||||
-1 = speakers
|
||||
0 = unassigned
|
||||
>0 = the music input track number */
|
||||
|
||||
$.each(channels, function(index, val) {
|
||||
|
||||
var assignment = context.jamClient.TrackGetAssignment(val.input, val.id);
|
||||
|
||||
logger.debug("channel id=" + val.id + ", channel input=" + val.input + ", channel assignment=" + assignment + ", channel name=" + val.name);
|
||||
|
||||
// INPUT
|
||||
if (val.input) {
|
||||
if (assignment === -2) {
|
||||
usedChatInputChannels.push(val);
|
||||
}
|
||||
else if (assignment === 0) {
|
||||
unusedAudioInputChannels.push(val);
|
||||
}
|
||||
else if (assignment === -1) {
|
||||
|
||||
}
|
||||
else {
|
||||
if (assignment === 1) {
|
||||
track1AudioInputChannels.push(val);
|
||||
}
|
||||
else {
|
||||
track2AudioInputChannels.push(val);
|
||||
}
|
||||
}
|
||||
for (var i=0; i < keys.length; i++) {
|
||||
var template = $('#template-option').html();
|
||||
var isSelected = "";
|
||||
if (keys[i] === current_device_id) {
|
||||
isSelected = "selected";
|
||||
}
|
||||
var html = context.JK.fillTemplate(template, {
|
||||
value: keys[i],
|
||||
label: devices[keys[i]],
|
||||
selected: isSelected
|
||||
});
|
||||
|
||||
// OUTPUT
|
||||
else {
|
||||
if (assignment === -2) {
|
||||
usedChatInputChannels.push(val);
|
||||
}
|
||||
else if (assignment === 0) {
|
||||
unusedAudioOutputChannels.push(val);
|
||||
}
|
||||
else if (assignment === -1) {
|
||||
|
||||
}
|
||||
else {
|
||||
usedAudioOutputChannels.push(val);
|
||||
}
|
||||
}
|
||||
});
|
||||
$('#audio-drivers').append(html);
|
||||
}
|
||||
|
||||
$('#audio-inputs-unused').empty();
|
||||
$('#track1-input').empty();
|
||||
|
|
@ -837,6 +813,8 @@
|
|||
$('#audio-output-unused').empty();
|
||||
$('#audio-output-selection').empty();
|
||||
|
||||
initDialogData();
|
||||
|
||||
// load Unused Inputs
|
||||
loadOptions($('#audio-inputs-unused'), unusedAudioInputChannels, "device_id", "name", -1);
|
||||
|
||||
|
|
@ -844,7 +822,9 @@
|
|||
loadOptions($('#track1-input'), track1AudioInputChannels, "device_id", "name", -1);
|
||||
|
||||
// load Track 1 Instrument
|
||||
|
||||
var instrument = context.jamClient.TrackGetInstrument(1);
|
||||
// TODO: use map of integer to instrument to get appropriate instrument
|
||||
//loadOptions($('#track1-instrument', [instrument], "", "", -1));
|
||||
|
||||
// load Track 2 config details if necessary
|
||||
if (myTrackCount > 1) {
|
||||
|
|
@ -852,6 +832,9 @@
|
|||
loadOptions($('#track2-input'), track2AudioInputChannels, "device_id", "name", -1);
|
||||
|
||||
// load Track 2 Instrument
|
||||
instrument = context.jamClient.TrackGetInstrument(2);
|
||||
// TODO: use map of integer to instrument to get appropriate instrument
|
||||
// loadOptions($('#track1-instrument', [instrument], "", "", -1));
|
||||
}
|
||||
|
||||
// load Unused Outputs
|
||||
|
|
@ -873,7 +856,75 @@
|
|||
$('#voice-inputs-unused').empty();
|
||||
$('#voice-inputs-selection').empty();
|
||||
|
||||
initDialogData();
|
||||
|
||||
// load Voice Chat Input
|
||||
loadOptions($('#voice-inputs-unused'), unusedAudioInputChannels, "device_id", "name", -1);
|
||||
loadOptions($('#voice-inputs-selection'), usedChatInputChannels, "device_id", "name", -1);
|
||||
}
|
||||
|
||||
function initDialogData() {
|
||||
|
||||
// clear out arrays
|
||||
unusedAudioInputChannels = [];
|
||||
track1AudioInputChannels = [];
|
||||
track2AudioInputChannels = [];
|
||||
unusedAudioOutputChannels = [];
|
||||
usedAudioOutputChannels = [];
|
||||
usedChatInputChannels = [];
|
||||
|
||||
// get data needed for listboxes
|
||||
var channels = context.jamClient.TrackGetChannels();
|
||||
|
||||
/* -2 = chat
|
||||
-1 = speakers
|
||||
0 = unassigned
|
||||
>0 = the music input track number */
|
||||
|
||||
$.each(channels, function(index, val) {
|
||||
var assignment = context.jamClient.TrackGetAssignment(val.id, val.input);
|
||||
logger.debug("channel id=" + val.id + ", channel input=" + val.input + ", channel assignment=" + assignment +
|
||||
", channel name=" + val.name + ", channel type=" + val.device_type);
|
||||
|
||||
// INPUT
|
||||
if (context.jamClient.TrackIsMusicDeviceType(val.device_type)) {
|
||||
if (val.input) {
|
||||
if (assignment === -2) {
|
||||
usedChatInputChannels.push(val);
|
||||
}
|
||||
else if (assignment === 0) {
|
||||
unusedAudioInputChannels.push(val);
|
||||
}
|
||||
else if (assignment === -1) {
|
||||
|
||||
}
|
||||
else {
|
||||
if (assignment === 1) {
|
||||
track1AudioInputChannels.push(val);
|
||||
}
|
||||
else {
|
||||
track2AudioInputChannels.push(val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OUTPUT
|
||||
else {
|
||||
if (assignment === -2) {
|
||||
|
||||
}
|
||||
else if (assignment === 0) {
|
||||
unusedAudioOutputChannels.push(val);
|
||||
}
|
||||
else if (assignment === -1) {
|
||||
|
||||
}
|
||||
else {
|
||||
usedAudioOutputChannels.push(val);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadOptions(listbox_id, input_array, id_field, text_field, selected_id) {
|
||||
|
|
@ -893,7 +944,33 @@
|
|||
});
|
||||
}
|
||||
|
||||
function saveSettings() {
|
||||
if (!validateAudioSettings()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!validateVoiceChatSettings()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// TrackSetAssignment(const QString& id, bool input, int assignment)
|
||||
// TrackSetInstrument(int track, int instrument_id)
|
||||
// TrackSaveAssignments()
|
||||
|
||||
// update jam-db with settings
|
||||
|
||||
// TODO: reload / refresh Session screen (instrument icons at minimum)
|
||||
}
|
||||
|
||||
function cancelSettings() {
|
||||
// reset to original device ID
|
||||
context.jamClient.TrackSetMusicDevice(original_device_id);
|
||||
}
|
||||
|
||||
function validateAudioSettings() {
|
||||
// verify Track 1 Input and Instrument exist
|
||||
|
||||
// verify Session Audio Output exists
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -261,8 +261,8 @@
|
|||
</div>
|
||||
<br clear="left" /><br />
|
||||
<div class="right mr30">
|
||||
<a layout-action="close" class="button-grey">CANCEL</a>
|
||||
<a id="btn-save-settings" class="button-orange">UPDATE SETTINGS</a>
|
||||
<a id="btn-cancel-settings" layout-action="close" class="button-grey">CANCEL</a>
|
||||
<a id="btn-save-settings" layout-action="close" class="button-orange">UPDATE SETTINGS</a>
|
||||
</div>
|
||||
<br clear="all" />
|
||||
</div>
|
||||
|
|
@ -331,7 +331,7 @@
|
|||
<br clear="left" /><br />
|
||||
<div class="right">
|
||||
<a layout-action="close" class="button-grey">CANCEL</a>
|
||||
<a id="btn-leave-session-test" layout-action="close" href="#/home" class="button-orange">LEAVE SESSION & START TEST</a>
|
||||
<a id="btn-leave-session-test" layout-action="close" href="#/ftue1" class="button-orange">LEAVE SESSION & START TEST</a>
|
||||
</div>
|
||||
<br clear="all" />
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue