21 this.write = writeBookmarkDialog; |
23 this.write = writeBookmarkDialog; |
22 |
24 |
23 // do setup |
25 // do setup |
24 this.write(); |
26 this.write(); |
25 |
27 |
26 if (app.serviceFramework() == "mobility_service_framework") |
28 if (app.serviceFramework() == "mobility_service_framework") { |
27 { |
29 $("bookmarkCheckboxTextLabelContainer").css("display", "inline"); |
28 document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; |
30 } |
29 } |
31 |
30 |
32 chrome.chromeComplete.connect(createDelegate(this, |
|
33 function() { |
|
34 var snippet = window.snippets["BookmarkDialogId"]; |
|
35 chrome.aspectChanged.connect(createDelegate(this, |
|
36 function(a) { |
|
37 centerBookmarkDialog(); |
|
38 }) |
|
39 ); |
|
40 }) |
|
41 ); |
31 } |
42 } |
32 |
43 |
33 function writeBookmarkDialog() |
44 function writeBookmarkDialog() |
34 { |
45 { |
35 var html = |
46 var html = |
36 '<div class="top"></div>'+ |
47 '<div class="top"></div>'+ |
37 '<div class="body">'+ |
48 '<div class="body">'+ |
38 '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+ |
49 '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+ |
39 '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ |
50 '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ |
40 '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ |
51 '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ |
41 '<div class="bookmarkCheckboxTextLabel"><input type="checkbox" id="bookmarkCheckboxId"/>Add shortcut to home screen</div>'+ |
52 '<div class="bookmarkCheckboxTextLabelContainer">' + |
42 '<div><input type="hidden" id="BookmarkDialogBookmarkId" name="BookmarkDialogBookmarkId" value=""/></div>'+ |
53 ' <input style="vertical-align:middle;" type="image" src="' + deselected_src + '" id="bookmarkCheckboxId" />' + |
|
54 ' <label id="bookmarkCheckboxTextLabel">Add shortcut to home screen</label>' + |
|
55 '</div>'+ |
|
56 '<div>' + |
|
57 '<input type="hidden" id="BookmarkDialogBookmarkId" name="BookmarkDialogBookmarkId" value=""/></div>'+ |
43 '<div class="controls">' + |
58 '<div class="controls">' + |
44 '<div type="button" onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+ |
59 ' <div type="button" onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+ |
45 '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+ |
60 ' <div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+ |
46 '</div>'+ /*controls*/ |
61 '</div>'+ /*controls*/ |
47 '</div>'+ /*body*/ |
62 '</div>'+ /*body*/ |
48 '<div class="bottom"></div>'; |
63 '<div class="bottom"></div>'; |
49 document.write(html); |
64 document.write(html); |
|
65 $('#bookmarkCheckboxId').click(function() { |
|
66 toggleCheckbox($(this)); |
|
67 }); |
|
68 |
|
69 $('#bookmarkCheckboxTextLabel').click(function() { |
|
70 toggleCheckbox($('#bookmarkCheckboxId')); |
|
71 }); |
|
72 } |
|
73 |
|
74 function toggleCheckbox(elem) { |
|
75 img_src = elem.getAttribute('src'); |
|
76 if ( img_src == deselected_src ) { |
|
77 |
|
78 elem.src = selected_src; |
|
79 |
|
80 } else { |
|
81 |
|
82 elem.src = deselected_src; |
|
83 |
|
84 } |
50 } |
85 } |
51 |
86 |
52 function bookmarkDialogIdHide(){ |
87 function bookmarkDialogIdHide(){ |
53 window.snippets.BookmarkDialogId.hide(); |
88 window.snippets.BookmarkDialogId.hide(); |
54 snippets.BookmarkViewToolbarId.enabled = true; |
89 snippets.BookmarkViewToolbarId.enabled = true; |
55 snippets.WebViewToolbarId.enabled = true; |
90 snippets.WebViewToolbarId.enabled = true; |
56 |
91 |
57 if (app.serviceFramework() == "mobility_service_framework") |
92 if (app.serviceFramework() == "mobility_service_framework") |
58 { |
93 { |
59 if (document.getElementById("bookmarkCheckboxId").checked) |
94 elem = $("#bookmarkCheckboxId"); |
|
95 if (elem) |
60 { |
96 { |
61 document.getElementById("bookmarkCheckboxId").checked = false; |
97 if ( elem.src == selected_src ) |
|
98 { |
|
99 elem.src = deselected_src; |
|
100 } |
62 } |
101 } |
63 } |
102 } |
64 } |
103 } |
65 |
104 |
66 function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag) |
105 function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag) |
67 { |
106 { |
68 try{ |
107 try{ |
69 snippets.BookmarkViewToolbarId.enabled = false; |
108 snippets.BookmarkViewToolbarId.enabled = false; |
|
109 snippets.BookmarkDialogId.zValue = 100; |
70 snippets.WebViewToolbarId.enabled = false; |
110 snippets.WebViewToolbarId.enabled = false; |
71 |
111 |
72 if (dialogFlag == 0) { |
112 if (dialogFlag == 0) { |
73 if (app.serviceFramework() == "mobility_service_framework") |
113 if (app.serviceFramework() == "mobility_service_framework") { |
74 { |
114 $(".bookmarkCheckboxTextLabelContainer").css("display", "inline"); |
75 document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; |
|
76 } |
115 } |
77 var dlgTitle = document.getElementById("bookmarkDialogTitle"); |
116 var dlgTitle = $("#bookmarkDialogTitle"); |
78 dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_add_bm"); |
117 dlgTitle.text(window.localeDelegate.translateText("txt_browser_input_dial_add_bm")); |
79 var chkboxTitle = document.getElementsByClassName("bookmarkCheckboxTextLabel")[0]; |
118 var chkboxTitle = $("#bookmarkCheckboxTextLabel"); |
80 chkboxTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_bookmarks_also_add_to_home_screen"); |
119 chkboxTitle.val(window.localeDelegate.translateText("txt_browser_bookmarks_also_add_to_home_screen")); |
81 } |
120 } |
82 else if (dialogFlag == 1) { |
121 else if (dialogFlag == 1) { |
83 document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "none"; |
122 $("bookmarkCheckboxTextLabelContainer").css("display", "none"); |
84 var dlgTitle = document.getElementById("bookmarkDialogTitle"); |
123 var dlgTitle = $("#bookmarkDialogTitle"); |
85 dlgTitle.firstChild.nodeValue= window.localeDelegate.translateText("txt_browser_input_dial_edit_bm"); |
124 dlgTitle.text(window.localeDelegate.translateText("txt_browser_input_dial_edit_bm")); |
86 } |
125 } |
87 |
126 |
88 _dailogFlag = dialogFlag; |
127 _dialogFlag = dialogFlag; |
89 _OriginalTitle = bmtitle; |
128 _OriginalTitle = bmtitle; |
90 window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus); |
129 window.snippets.BookmarkDialogTitleId.lostFocus.connect(titleFieldLostFocus); |
91 window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus); |
130 window.snippets.BookmarkDialogUrlId.lostFocus.connect(urlFieldLostFocus); |
92 window.snippets.BookmarkDialogTitleId.gainedFocus.connect(titleFieldGainedFocus); |
131 window.snippets.BookmarkDialogTitleId.gainedFocus.connect(titleFieldGainedFocus); |
93 window.snippets.BookmarkDialogUrlId.gainedFocus.connect(urlFieldGainedFocus); |
132 window.snippets.BookmarkDialogUrlId.gainedFocus.connect(urlFieldGainedFocus); |
105 window.snippets.BookmarkDialogUrlId.text = "Url"; |
144 window.snippets.BookmarkDialogUrlId.text = "Url"; |
106 else |
145 else |
107 window.snippets.BookmarkDialogUrlId.text = bmurl; |
146 window.snippets.BookmarkDialogUrlId.text = bmurl; |
108 document.getElementById('BookmarkDialogBookmarkId').value = bmid; |
147 document.getElementById('BookmarkDialogBookmarkId').value = bmid; |
109 |
148 |
|
149 centerBookmarkDialog(); |
|
150 |
110 window.snippets.BookmarkDialogId.show(false); |
151 window.snippets.BookmarkDialogId.show(false); |
111 |
|
112 window.snippets.BookmarkDialogTitleId.selectAll(); |
|
113 |
152 |
114 }catch(e){ alert(e); } |
153 }catch(e){ alert(e); } |
115 |
154 |
|
155 } |
|
156 |
|
157 function centerBookmarkDialog() { |
|
158 |
|
159 var statusBarHeight = window.snippets.StatusBarChromeId.visible ? window.snippets.StatusBarChromeId.geometry.height : 0; |
|
160 |
|
161 var snippet = window.snippets["BookmarkDialogId"]; |
|
162 var x = (window.chrome.displaySize.width - snippet.geometry.width) / 2; |
|
163 |
|
164 // Center the menu in the space between status bar and tool bar |
|
165 var y = (window.chrome.displaySize.height - statusBarHeight - window.snippets.WebViewToolbarId.geometry.height - document.getElementById("BookmarkDialogId").offsetHeight)/2; |
|
166 snippet.setPosition(x, (y+statusBarHeight)); |
116 } |
167 } |
117 |
168 |
118 function bookmarkOperation() |
169 function bookmarkOperation() |
119 { |
170 { |
120 snippets.BookmarkViewToolbarId.enabled = true; |
171 snippets.BookmarkViewToolbarId.enabled = true; |
125 //Hide the dialog |
176 //Hide the dialog |
126 window.snippets.BookmarkDialogId.hide(); |
177 window.snippets.BookmarkDialogId.hide(); |
127 //Update the database |
178 //Update the database |
128 var errCode = 0; |
179 var errCode = 0; |
129 |
180 |
130 if (_dailogFlag == 0) { |
181 if (_dialogFlag == 0) { |
131 var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl); |
182 var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl); |
132 if (bmid < 0) { |
183 if (bmid < 0) { |
133 alert("Unknown error adding bookmark"); |
184 alert("Unknown error adding bookmark"); |
134 return; |
185 return; |
135 } |
186 } |
136 if (app.serviceFramework() == "mobility_service_framework") |
187 if (app.serviceFramework() == "mobility_service_framework") |
137 { |
188 { |
138 if (document.getElementById("bookmarkCheckboxId").checked) |
189 elem = document.getElementById("bookmarkCheckboxId"); |
|
190 if (elem) |
139 { |
191 { |
140 errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); |
192 if ( elem.src == selected_src ) |
141 document.getElementById("bookmarkCheckboxId").checked = false; |
193 { |
|
194 errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); |
|
195 elem.src = deselected_src; |
|
196 } |
142 } |
197 } |
143 } |
198 } |
144 } |
199 } |
145 else if (_dailogFlag == 1) { |
200 else if (_dialogFlag == 1) { |
146 var bmid = document.getElementById('BookmarkDialogBookmarkId').value; |
201 var bmid = document.getElementById('BookmarkDialogBookmarkId').value; |
147 errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl); |
202 errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl); |
148 } |
203 } |
149 |
204 |
150 if (errCode == -3){ |
205 if (errCode == -3){ |