diff -r 6aeb7a756187 -r 3c88a81ff781 ginebra2/chrome/bedrockchrome/settingsview.superpage/settingsview.js --- a/ginebra2/chrome/bedrockchrome/settingsview.superpage/settingsview.js Thu Sep 23 15:32:11 2010 -0400 +++ b/ginebra2/chrome/bedrockchrome/settingsview.superpage/settingsview.js Fri Oct 15 17:30:59 2010 -0400 @@ -1,317 +1,455 @@ +// header arrow icons +var header_closed_src = "/settingsview/list_headerarrow_closed.png"; +var header_open_src = "/settingsview/list_headerarrow_open.png"; + +// menu section backgrounds +var bg_closed_src = "/settingsview/list_headerbg_closed.png"; +var bg_open_src = "/settingsview/list_headerbg_open.png"; + +// menu section item background +var bg_item_src = "/settingsview/list_itembg.png"; +var bg_item_pressed_src = "/settingsview/list_itembg_pressed.png"; + +var icon_src = "/settingsview/broom_sweep.png"; +var icon_action_src = "/settingsview/broom_sweep.gif"; + +var selected_src = "/settingsview/yes_selected.png"; +var deselected_src = "/settingsview/yes_deselected.png"; + +var radio_on = "/settingsview/radio_on.png"; +var radio_off = "/settingsview/radio_off.png"; + var encodingArray = ['Automatic', - 'Big5', - 'Big5-HKSCS', - 'CP949', - 'EUC-JP', - 'EUC-KR', - 'GB18030-0', - 'IBM-850', - 'IBM-866', - 'IBM-874', - 'ISO-2022-JP', - 'ISO-8859-1', - 'ISO-8859-2', - 'ISO-8859-3', - 'ISO-8859-4', - 'ISO-8859-5', - 'ISO-8859-6', - 'ISO-8859-7', - 'ISO-8859-8', - 'ISO-8859-9', - 'ISO-8859-10', - 'ISO-8859-13', - 'ISO-8859-14', - 'ISO-8859-15', - 'ISO-8859-16', - 'KOI8-R', - 'KOI8-U', - 'MuleLao-1', - 'ROMAN8', - 'Shift-JIS', - 'TIS-620', - 'TSCII', - 'UTF-8', - 'UTF-16', - 'UTF-16BE', - 'UTF-16LE', - 'UTF-32', - 'UTF-32BE', - 'UTF-32LE', - 'Windows-1250', - 'Windows-1251', - 'Windows-1252', - 'Windows-1253', - 'Windows-1254', - 'Windows-1255', - 'Windows-1256', - 'Windows-1257', - 'Windows-1258']; - -var lastIndex = 47; // change it while adding new encoding strings - + 'Big5', + 'Big5-HKSCS', + 'CP949', + 'EUC-JP', + 'EUC-KR', + 'GB18030-0', + 'IBM-850', + 'IBM-866', + 'IBM-874', + 'ISO-2022-JP', + 'ISO-8859-1', + 'ISO-8859-2', + 'ISO-8859-3', + 'ISO-8859-4', + 'ISO-8859-5', + 'ISO-8859-6', + 'ISO-8859-7', + 'ISO-8859-8', + 'ISO-8859-9', + 'ISO-8859-10', + 'ISO-8859-13', + 'ISO-8859-14', + 'ISO-8859-15', + 'ISO-8859-16', + 'KOI8-R', + 'KOI8-U', + 'MuleLao-1', + 'ROMAN8', + 'Shift-JIS', + 'TIS-620', + 'TSCII', + 'UTF-8', + 'UTF-16', + 'UTF-16BE', + 'UTF-16LE', + 'UTF-32', + 'UTF-32BE', + 'UTF-32LE', + 'Windows-1250', + 'Windows-1251', + 'Windows-1252', + 'Windows-1253', + 'Windows-1254', + 'Windows-1255', + 'Windows-1256', + 'Windows-1257', + 'Windows-1258']; -function saveSR(value) -{ - var sr1 = document.getElementById("saverestore1"); - var sr2 = document.getElementById("saverestore2"); - if(value == "yes") - { - sr1.setAttribute("src", "icons/yes_selected.png"); - sr2.setAttribute("src", "icons/no_deselected.png"); - window.pageController.saveSaverestoreSettings(1); - } - else - { - sr1.setAttribute("src", "icons/yes_deselected.png"); - sr2.setAttribute("src", "icons/no_selected.png"); - window.pageController.saveSaverestoreSettings(0); - - } - window.pageController.setSettingsLoaded(1); - - - +var encodingOptionsInitialized = false; + +// sets localized text constant +function localizeString(logicalString) { + $("#"+logicalString).html(window.localeDelegate.translateText(logicalString)); +} + +// get settings Browser history value +function saverestoreState() { + return window.pageController.getSaverestoreSettings(); } +// settings view form initialization +function initForms() { -function saveFP(value) -{ - var fp1 = document.getElementById("formpwd1"); - var fp2 = document.getElementById("formpwd2"); - if(value == "yes") - { - fp1.setAttribute("src", "icons/yes_selected.png"); - fp2.setAttribute("src", "icons/no_deselected.png"); - } - else - { - fp1.setAttribute("src", "icons/yes_deselected.png"); - fp2.setAttribute("src", "icons/no_selected.png"); - - } - window.pageController.setSettingsLoaded(1); - + $("span#character_encoding_value").text(encodingState()); + + if (saverestoreState()) + $("#saverestore").attr("src", selected_src); + else + $("#saverestore").attr("src", deselected_src); + + $("#id1").attr("src", icon_src).click(function(){clearSelected("cache");}); + $("#id2").attr("src", icon_src).click(function(){clearSelected("cookies");}); + $("#id3").attr("src", icon_src).click(function(){clearSelected("history");}); + $("#id4").attr("src", icon_src).click(function(){clearSelected("bookamrks");}); + $("#id5").attr("src", icon_src).click(function(){clearSelected("geolocation");}); + $("#id6").attr("src", icon_src).click(function(){clearSelected("all");}); + + $(".encoding_options").hide(); + + localizeString("txt_browser_settings_general_settings"); + localizeString("txt_browser_settings_general_settings_character_encoding"); + localizeString("txt_browser_settings_general_settings_save_browser_history"); + localizeString("txt_browser_settings_clear_data"); + localizeString("txt_browser_settings_clear_data_cache"); + localizeString("txt_browser_settings_clear_data_cookies"); + localizeString("txt_browser_settings_clear_data_history"); + localizeString("txt_browser_settings_clear_data_bookmarks"); + localizeString("txt_browser_settings_clear_data_location"); + // localizeString("txt_browser_settings_clear_data_form_data"); + localizeString("txt_browser_settings_clear_data_all"); + localizeString("txt_browser_settings_general_settings_about"); + } -function localizeString(logicalString) -{ - document.getElementById(logicalString).innerHTML = window.localeDelegate.translateText(logicalString); +// execute action according to setting value +function clearSelected(field) { + + window.pageController.setSettingsLoaded(2); + + if (field == "cache") { // Cache + + $("#id1").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + window.pageController.deleteCache(); + return; + + } else if (field == "cookies") { // Cookies + + $("#id2").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + window.pageController.deleteCookies(); + return; + + } else if (field == "history") { // History + + $("#id3").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + window.historyManager.clearHistory(); + return; + + } else if (field == "bookmarks") { // Bookmarks + + $("#id4").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + window.bookmarksController.clearAll(); + return; + + } else if (field == "geolocation") { // GeoLocation + + $("#id5").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + window.geolocationManager.clearAllGeodata(); + return; + + } else if (field == "all") { // everything + + $("#id6").attr("src", icon_action_src); + setTimeout("initForms()", 2000); + deleteData(); + return; + + } else { + + return; + + } + +} + +// clear all data represented by settings +function deleteData() { + + window.pageController.deleteCache(); + window.pageController.deleteCookies(); + window.historyManager.clearHistory(); + window.bookmarksController.clearAll(); + window.geolocationManager.clearAllGeodata(); + window.pageController.deleteDataFiles(); +} + +// save Browser history +function saveSR(img_src) { + + var flag; + if (img_src == deselected_src) { + + $("#saverestore").attr("src", selected_src); + flag = 1; + + } else { + + $("#saverestore").attr("src", deselected_src); + flag = 0; + + } + window.pageController.saveSaverestoreSettings(flag); + window.pageController.setSettingsLoaded(1); +} + +//gets settings Character encoding value +function encodingState() { + return window.pageController.getTextEncoding() || "Automatic"; +} + +function setEncodingState(value) { + window.pageController.setTextEncoding(value); + app.debug("Encoding State set to " + value); } -function initForms() -{ - //var index1 = popupState(); - //blockpopup.formbutton[index1].checked = true; - - var index1 = saverestoreState(); - - var sr1 = document.getElementById("saverestore1"); - var sr2 = document.getElementById("saverestore2"); - if(index1 == 0) - { - sr1.setAttribute("src", "icons/yes_selected.png"); - sr2.setAttribute("src", "icons/no_deselected.png"); - } - else - { - sr1.setAttribute("src", "icons/yes_deselected.png"); - sr2.setAttribute("src", "icons/no_selected.png"); - - } - - /*var index2 = saveFormpasswordState(); - - var fp1 = document.getElementById("formpwd1"); - var fp2 = document.getElementById("formpwd2"); - if(index2 == 0) - { - fp1.setAttribute("src", "icons/yes_selected.png"); - fp2.setAttribute("src", "icons/no_deselected.png"); - } - else - { - fp1.setAttribute("src", "icons/yes_deselected.png"); - fp2.setAttribute("src", "icons/no_selected.png"); - - }*/ +function setupEncodingOptions() { + var encodingOptions = $(".encoding_options"); + var prevOption = null; + var option = null; + var encState = encodingState(); + for(index in encodingArray) { + option = $("" + + " " + + " " + + "
"); + var img = option.find("img"); + if(img.attr('id') == encState) { + img.attr("src", "url(" + radio_on + ")"); + } + else { + img.attr("src", "url(" + radio_off + ")"); + } + + if(prevOption) + option.insertAfter(prevOption); + else + encodingOptions.html(option); - var index3; - index3 = encodingState(); - //this.options[this.selectedIndex].value - encoding.formbutton[index3].selected = true; - - - var cs1 = document.getElementById("id1"); - var cs2 = document.getElementById("id2"); - var cs3 = document.getElementById("id3"); - var cs4 = document.getElementById("id4"); - //var cs5 = document.getElementById("id5"); - var cs6 = document.getElementById("id6"); - - cs1.setAttribute("src", "icons/broom_sweep.png"); - cs2.setAttribute("src", "icons/broom_sweep.png"); - cs3.setAttribute("src", "icons/broom_sweep.png"); - cs4.setAttribute("src", "icons/broom_sweep.png"); - //cs5.setAttribute("src", "icons/broom_sweep.png"); - cs6.setAttribute("src", "icons/broom_sweep.png"); - - localizeString("txt_browser_settings_general_settings"); - localizeString("txt_browser_settings_general_settings_character_encoding"); - localizeString("txt_browser_settings_general_settings_save_browser_history"); - localizeString("txt_browser_settings_clear_data"); - localizeString("txt_browser_settings_clear_data_cache"); - localizeString("txt_browser_settings_clear_data_cookies"); - localizeString("txt_browser_settings_clear_data_history"); - localizeString("txt_browser_settings_clear_data_bookmarks"); - //localizeString("txt_browser_settings_clear_data_form_data"); - localizeString("txt_browser_settings_clear_data_all"); - localizeString("txt_browser_settings_general_settings_about"); - - -} - -window.onload = initForms; - - - -function popupState() -{ - if (window.pageController.getPopupSettings() == true) - return 0; - else - return 1; -} - -function saverestoreState() -{ - if (window.pageController.getSaverestoreSettings() == true) - { - return 0; - } - else - { - return 1; - } -} - -function encodingState() -{ - var encString; - var index; - encString = window.pageController.getTextEncoding(); - index = findEncodingIndex(encString); - return index; + prevOption = option; + } + + $("span.encoding_option").click(function() { + $('.encoding_options').find("#" + encodingState()).attr("src", "url(" + radio_off + ")"); + + $(this).find('img').attr("src", "url(" + radio_on + ")"); + app.debug("option:" + $(this).find('img').attr('id') + " selected."); + setEncodingState($(this).find('img').attr('id')); + $('.encoding_options').slideUp(); + $('span#character_encoding_value').text(encodingState()); + }); + + encodingOptionsInitialized = true; + app.debug("Encoding Options Initialized"); } -function saveFormpasswordState() -{ - return 1; -} +$(document).ready(function() { + + initForms(); + + // HIDE THE DIVS ON PAGE LOAD + var settingsLoaded = window.pageController.getSettingsLoaded(); + + $('.encoding_options').hide(); + $('#selected_encoding_option').click(function() { + if(!encodingOptionsInitialized) + setupEncodingOptions(); + $('.encoding_options').slideToggle(); + }); + + $('#saverestore').click(function() { + saveSR( $(this).attr('src') ); + return false; + }); + + if(settingsLoaded == 0) { + + $("div.accordionContent").hide(); -function checkAll(field) -{ -for (i = 0; i < field.length; i++) -field[i].checked = true ; -} -function uncheckAll(field) -{ -for (i = 0; i < field.length; i++) -field[i].checked = false ; -} + // set menu section items background + $("div.accordionContentItem").css("background-image", bg_item_src); + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "0px"); -function pausecomp(millis) -{ - var date = new Date(); - var curDate = null; + // set header arrow image + $("#im1").attr("src", header_closed_src); + $("#im2").attr("src", header_closed_src); + $("#im3").attr("src", header_closed_src); + + } else if(settingsLoaded == 1) { - do { curDate = new Date(); } - while(curDate-date < millis); -} + $('div.accordionButtonGS').next().show(); + + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_open_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "1px"); -function clearSelected(field) -{ - window.pageController.setSettingsLoaded(2); - - if (field == "cache") - { - window.pageController.deleteCache(); - var cs1 = document.getElementById("id1"); - cs1.setAttribute("src", "icons/broom_sweep.gif"); - setTimeout("initForms()", 2000); - return; - } - - if (field == "cookies") // Cookies - { - var cs2 = document.getElementById("id2"); - cs2.setAttribute("src", "icons/broom_sweep.gif"); - window.pageController.deleteCookies(); - setTimeout("initForms()", 2000); - return; - - } + // set header arrow image + $("#im1").attr("src", header_open_src); + $("#im2").attr("src", header_closed_src); + $("#im3").attr("src", header_closed_src); + + } else if(settingsLoaded == 2) { + + $('div.accordionButtonCD').next().show(); + + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_open_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "0px"); + + // set header arrow image + $("#im1").attr("src", header_closed_src); + $("#im2").attr("src", header_open_src); + $("#im3").attr("src", header_closed_src); + + } else if(settingsLoaded == 3) { + + $('div.accordionButtonABT').next().show(); - if (field == "history") // History - { + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_open_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "0px"); + + // set header arrow image + $("#im1").attr("src", header_closed_src); + $("#im1").attr("src", header_closed_src); + $("#im1").attr("src", header_open_src); + + } + + //ACCORDION BUTTON ACTION + $('div.accordionButtonGS').click(function() { + //$('div.accordionContent').slideUp('normal'); + //$(this).next().slideDown('normal'); + + $(this).next().toggle(); + $('div.accordionButtonCD').next().hide(); + $('div.accordionButtonABT').next().hide(); + + if( $("#im1").attr("src") == header_closed_src ) { // current state - window.historyManager.clearHistory(); - var cs3 = document.getElementById("id3"); - cs3.setAttribute("src", "icons/broom_sweep.gif"); - setTimeout("initForms()", 2000); - return; - - //window.views.WebView.reload(); + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_open_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "0px"); + + // change list headerarrow icon + $("#im1").attr("src", header_open_src); + $("#im2").attr("src", header_closed_src); + $("#im3").attr("src", header_closed_src); - } + } else if( $("#im1").attr("src") == header_open_src ) { + + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + // change list headerarrow icon + $("#im1").attr("src", header_closed_src); + } + }); + + $('div.accordionButtonCD').click(function() { - if (field == "bookmarks") // Bookmarks - { + $(this).next().toggle(); + $('div.accordionButtonGS').next().hide(); + $('div.accordionButtonABT').next().hide(); + + if( $("#im2").attr("src") == header_closed_src ) { // current state + + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_open_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "1px"); - window.bookmarksController.clearAll(); - var cs4 = document.getElementById("id4"); - cs4.setAttribute("src", "icons/broom_sweep.gif"); - setTimeout("initForms()", 2000); - return; - //window.views.WebView.reload(); + // change list headerarrow icon + $("#im1").attr("src", header_closed_src); + $("#im2").attr("src", header_open_src); + $("#im3").attr("src", header_closed_src); + + } else if( $("#im2").attr("src") == header_open_src ) { + + // set menu sections background + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + // change list headerarrow icon + $("#im2").attr("src", header_closed_src); + } + + }); - } + $('div.accordionButtonABT').click(function() { + + $(this).next().toggle(); + $('div.accordionButtonGS').next().hide(); + $('div.accordionButtonCD').next().hide(); + + if( $("#im3").attr("src") == header_closed_src ) { // current state + + // set menu sections background + $('div.accordionButtonGS').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonCD').css("background-image", "url(" + bg_closed_src + ")"); + $('div.accordionButtonABT').css("background-image", "url(" + bg_open_src + ")"); + + // Fix margin between General and Clear Data accordion buttons + $('div.accordionButtonCD').css("margin-top", "0px"); + // change list headerarrow icon + $("#im1").attr("src", header_closed_src); + $("#im2").attr("src", header_closed_src); + $("#im3").attr("src", header_open_src); + + } else if( $("#im3").attr("src") == header_open_src ) { - if (field == "all") // everything - { - var cs6 = document.getElementById("id6"); - cs6.setAttribute("src", "icons/broom_sweep.gif"); - setTimeout("initForms();deleteData()", 2000); - return; - + // set menu sections background + $('div.accordionButtonABT').css("background-image", "url(" + bg_closed_src + ")"); + // change list headerarrow icon + $("#im3").attr("src", header_closed_src); + + } + }); + + var UAString = navigator.userAgent; + var brNameVer = "unknown"; + var UALen = 1; + var nameStart = 1; + UALen = UAString.length; + nameStart = UAString.indexOf("NokiaBrowser"); + // test to see if "NokiaBrowser" is in the UA String at all + if (nameStart < 0) { + brNameVer = "NOT a NokiaBrowser Browser"; + } else { + // crop string starting at "NokiaBrowser" + brNameVer = UAString.substring(nameStart, UALen); + // limit substring to "NokiaBrowser" and version only + brNameVer = brNameVer.substr(0, brNameVer.indexOf(" ")); + // clean up string for presentation + brNameVer = brNameVer.replace("NokiaBrowser/", " Version: "); } - - -} - -function deleteData() -{ - window.pageController.deleteCache(); - window.pageController.deleteCookies(); - window.historyManager.clearHistory(); - window.bookmarksController.clearAll(); - window.pageController.deleteDataFiles(); -} - - -function setValue(selectedIndex) -{ - //alert(this.options[this.selectedIndex].value); - window.pageController.setSettingsLoaded(1); - window.pageController.setTextEncoding(encodingArray[selectedIndex]); -} - -function findEncodingIndex(encodingString) -{ - for(var index = 0; index <= lastIndex; index++) - if( encodingArray[index] == encodingString) - return index; - - return (0); -} - + $('#release_version').html(brNameVer + "
"); +}); \ No newline at end of file