diff -r 491a1d15372f -r 73c48011b8c7 ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js --- a/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Fri Sep 17 08:27:10 2010 +0300 +++ b/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Mon Oct 04 00:04:54 2010 +0300 @@ -1,12 +1,33 @@ var _dailogFlag = 0; var _OriginalTitle = 0; +document.getElementsByClassName = function(class_name) { + var docList = this.all || this.getElementsByTagName('*'); + var matchArray = new Array(); + + /*Create a regular expression object for class*/ + var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)"); + for (var i = 0; i < docList.length; i++) { + if (re.test(docList[i].className) ) { + matchArray[matchArray.length] = docList[i]; + } + } + + return matchArray; +} + function bookmarkDialog() { - this.write = writeBookmarkDialog; + this.write = writeBookmarkDialog; + + // do setup + this.write(); - // do setup - this.write(); + if (app.serviceFramework() == "mobility_service_framework") + { + document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; + } + } function writeBookmarkDialog() @@ -17,6 +38,8 @@ '
Add Bookmark
'+ '
'+ '
'+ + '
Add shortcut to home screen
'+ + '
'+ '
' + '
'+ '
'+ @@ -30,23 +53,38 @@ window.snippets.BookmarkDialogId.hide(); snippets.BookmarkViewToolbarId.enabled = true; snippets.WebViewToolbarId.enabled = true; + + if (app.serviceFramework() == "mobility_service_framework") + { + if (document.getElementById("bookmarkCheckboxId").checked) + { + document.getElementById("bookmarkCheckboxId").checked = false; + } + } } -function launchBookmarkDialog(bmtitle, bmurl, dialogFlag) +function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag) { try{ snippets.BookmarkViewToolbarId.enabled = false; snippets.WebViewToolbarId.enabled = false; if (dialogFlag == 0) { - var dlgTitle = document.getElementById("bookmarkDialogTitle"); - dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm"); - } - else if (dialogFlag == 1) { - var dlgTitle = document.getElementById("bookmarkDialogTitle"); - dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm"); - } - + if (app.serviceFramework() == "mobility_service_framework") + { + document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.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"); + } + 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"); + } + _dailogFlag = dialogFlag; _OriginalTitle = bmtitle; window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus); @@ -66,7 +104,8 @@ if (bmurl == "") window.snippets.BookmarkDialogUrlId.text = "Url"; else - window.snippets.BookmarkDialogUrlId.text = bmurl; + window.snippets.BookmarkDialogUrlId.text = bmurl; + document.getElementById('BookmarkDialogBookmarkId').value = bmid; window.snippets.BookmarkDialogId.show(false); @@ -76,7 +115,6 @@ } - function bookmarkOperation() { snippets.BookmarkViewToolbarId.enabled = true; @@ -87,13 +125,27 @@ //Hide the dialog window.snippets.BookmarkDialogId.hide(); //Update the database - var errCode; + var errCode = 0; - if (_dailogFlag == 0) - errCode = window.bookmarksManager.addBookmark(bmtitle,bmurl); - else if (_dailogFlag == 1) - errCode = window.bookmarksManager.modifyBookmark(_OriginalTitle,bmtitle,bmurl); - + if (_dailogFlag == 0) { + var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl); + if (bmid < 0) { + alert("Unknown error adding bookmark"); + return; + } + if (app.serviceFramework() == "mobility_service_framework") + { + if (document.getElementById("bookmarkCheckboxId").checked) + { + errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); + document.getElementById("bookmarkCheckboxId").checked = false; + } + } + } + else if (_dailogFlag == 1) { + var bmid = document.getElementById('BookmarkDialogBookmarkId').value; + errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl); + } if (errCode == -3){ alert("Bookmark Url Is Empty"); @@ -133,6 +185,6 @@ } -function showBookmarkEditDialog(bmtitle,bmurl) { - launchBookmarkDialog(bmtitle,bmurl,1); +function showBookmarkEditDialog(bmtitle,bmurl,id) { + launchBookmarkDialog(bmtitle,bmurl,id,1); }