diff -r 6aeb7a756187 -r 3c88a81ff781 ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js --- a/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Thu Sep 23 15:32:11 2010 -0400 +++ b/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Fri Oct 15 17:30:59 2010 -0400 @@ -1,5 +1,7 @@ -var _dailogFlag = 0; +var _dialogFlag = 0; var _OriginalTitle = 0; +var selected_src = "/bookmarkview/yes_selected.png"; +var deselected_src = "/bookmarkview/yes_deselected.png"; document.getElementsByClassName = function(class_name) { var docList = this.all || this.getElementsByTagName('*'); @@ -23,11 +25,20 @@ // do setup this.write(); - if (app.serviceFramework() == "mobility_service_framework") - { - document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; + if (app.serviceFramework() == "mobility_service_framework") { + $("bookmarkCheckboxTextLabelContainer").css("display", "inline"); } - + + chrome.chromeComplete.connect(createDelegate(this, + function() { + var snippet = window.snippets["BookmarkDialogId"]; + chrome.aspectChanged.connect(createDelegate(this, + function(a) { + centerBookmarkDialog(); + }) + ); + }) + ); } function writeBookmarkDialog() @@ -38,15 +49,39 @@ '
Add Bookmark
'+ '
'+ '
'+ - '
Add shortcut to home screen
'+ - '
'+ + '
' + + ' ' + + ' ' + + '
'+ + '
' + + '
'+ '
' + - '
'+ - '
'+ - '
'+ /*controls*/ + '
'+ + '
'+ + ''+ /*controls*/ ''+ /*body*/ '
'; - document.write(html); + document.write(html); + $('#bookmarkCheckboxId').click(function() { + toggleCheckbox($(this)); + }); + + $('#bookmarkCheckboxTextLabel').click(function() { + toggleCheckbox($('#bookmarkCheckboxId')); + }); +} + +function toggleCheckbox(elem) { + img_src = elem.getAttribute('src'); + if ( img_src == deselected_src ) { + + elem.src = selected_src; + + } else { + + elem.src = deselected_src; + + } } function bookmarkDialogIdHide(){ @@ -56,9 +91,13 @@ if (app.serviceFramework() == "mobility_service_framework") { - if (document.getElementById("bookmarkCheckboxId").checked) + elem = $("#bookmarkCheckboxId"); + if (elem) { - document.getElementById("bookmarkCheckboxId").checked = false; + if ( elem.src == selected_src ) + { + elem.src = deselected_src; + } } } } @@ -67,25 +106,25 @@ { try{ snippets.BookmarkViewToolbarId.enabled = false; + snippets.BookmarkDialogId.zValue = 100; snippets.WebViewToolbarId.enabled = false; if (dialogFlag == 0) { - if (app.serviceFramework() == "mobility_service_framework") - { - document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; + if (app.serviceFramework() == "mobility_service_framework") { + $(".bookmarkCheckboxTextLabelContainer").css("display", "inline"); } - var dlgTitle = document.getElementById("bookmarkDialogTitle"); - dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm"); - var chkboxTitle = document.getElementsByClassName("bookmarkCheckboxTextLabel")[0]; - chkboxTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_bookmarks_also_add_to_home_screen"); + var dlgTitle = $("#bookmarkDialogTitle"); + dlgTitle.text(window.localeDelegate.translateText("txt_browser_input_dial_add_bm")); + var chkboxTitle = $("#bookmarkCheckboxTextLabel"); + chkboxTitle.val(window.localeDelegate.translateText("txt_browser_bookmarks_also_add_to_home_screen")); } else if (dialogFlag == 1) { - document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "none"; - var dlgTitle = document.getElementById("bookmarkDialogTitle"); - dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm"); + $("bookmarkCheckboxTextLabelContainer").css("display", "none"); + var dlgTitle = $("#bookmarkDialogTitle"); + dlgTitle.text(window.localeDelegate.translateText("txt_browser_input_dial_edit_bm")); } - _dailogFlag = dialogFlag; + _dialogFlag = dialogFlag; _OriginalTitle = bmtitle; window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus); window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus); @@ -107,14 +146,26 @@ window.snippets.BookmarkDialogUrlId.text = bmurl; document.getElementById('BookmarkDialogBookmarkId').value = bmid; - window.snippets.BookmarkDialogId.show(false); + centerBookmarkDialog(); - window.snippets.BookmarkDialogTitleId.selectAll(); + window.snippets.BookmarkDialogId.show(false); }catch(e){ alert(e); } } +function centerBookmarkDialog() { + + var statusBarHeight = window.snippets.StatusBarChromeId.visible ? window.snippets.StatusBarChromeId.geometry.height : 0; + + var snippet = window.snippets["BookmarkDialogId"]; + var x = (window.chrome.displaySize.width - snippet.geometry.width) / 2; + + // Center the menu in the space between status bar and tool bar + var y = (window.chrome.displaySize.height - statusBarHeight - window.snippets.WebViewToolbarId.geometry.height - document.getElementById("BookmarkDialogId").offsetHeight)/2; + snippet.setPosition(x, (y+statusBarHeight)); +} + function bookmarkOperation() { snippets.BookmarkViewToolbarId.enabled = true; @@ -127,7 +178,7 @@ //Update the database var errCode = 0; - if (_dailogFlag == 0) { + if (_dialogFlag == 0) { var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl); if (bmid < 0) { alert("Unknown error adding bookmark"); @@ -135,14 +186,18 @@ } if (app.serviceFramework() == "mobility_service_framework") { - if (document.getElementById("bookmarkCheckboxId").checked) + elem = document.getElementById("bookmarkCheckboxId"); + if (elem) { - errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); - document.getElementById("bookmarkCheckboxId").checked = false; + if ( elem.src == selected_src ) + { + errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); + elem.src = deselected_src; + } } } } - else if (_dailogFlag == 1) { + else if (_dialogFlag == 1) { var bmid = document.getElementById('BookmarkDialogBookmarkId').value; errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl); } @@ -176,12 +231,12 @@ function titleFieldGainedFocus() { - window.snippets.BookmarkDialogUrlId.unselect(); + //window.snippets.BookmarkDialogUrlId.unselect(); } function urlFieldGainedFocus() { - window.snippets.BookmarkDialogTitleId.unselect(); + //window.snippets.BookmarkDialogTitleId.unselect(); }