|
1 <?xml version="1.0"?> |
|
2 |
|
3 <!-- This Source Code Form is subject to the terms of the Mozilla Public |
|
4 - License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> |
|
6 |
|
7 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> |
|
8 <?xml-stylesheet href="chrome://browser/skin/syncSetup.css" type="text/css"?> |
|
9 <?xml-stylesheet href="chrome://browser/skin/syncCommon.css" type="text/css"?> |
|
10 |
|
11 <!DOCTYPE window [ |
|
12 <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> |
|
13 <!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd"> |
|
14 <!ENTITY % syncSetupDTD SYSTEM "chrome://browser/locale/syncSetup.dtd"> |
|
15 %brandDTD; |
|
16 %syncBrandDTD; |
|
17 %syncSetupDTD; |
|
18 ]> |
|
19 <wizard id="wizard" |
|
20 title="&accountSetupTitle.label;" |
|
21 windowtype="Weave:AccountSetup" |
|
22 persist="screenX screenY" |
|
23 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
|
24 xmlns:html="http://www.w3.org/1999/xhtml" |
|
25 onwizardnext="return gSyncSetup.onWizardAdvance()" |
|
26 onwizardback="return gSyncSetup.onWizardBack()" |
|
27 onwizardcancel="gSyncSetup.onWizardCancel()" |
|
28 onload="gSyncSetup.init()"> |
|
29 |
|
30 <script type="application/javascript" |
|
31 src="chrome://browser/content/sync/setup.js"/> |
|
32 <script type="application/javascript" |
|
33 src="chrome://browser/content/sync/utils.js"/> |
|
34 <script type="application/javascript" |
|
35 src="chrome://browser/content/utilityOverlay.js"/> |
|
36 <script type="application/javascript" |
|
37 src="chrome://global/content/printUtils.js"/> |
|
38 |
|
39 <wizardpage id="addDevicePage" |
|
40 label="&pairDevice.title.label;" |
|
41 onpageshow="gSyncSetup.onPageShow()"> |
|
42 <description> |
|
43 &pairDevice.dialog.description.label; |
|
44 <label class="text-link" |
|
45 value="&addDevice.showMeHow.label;" |
|
46 href="https://services.mozilla.com/sync/help/add-device"/> |
|
47 </description> |
|
48 <separator class="groove-thin"/> |
|
49 <description> |
|
50 &addDevice.dialog.enterCode.label; |
|
51 </description> |
|
52 <separator class="groove-thin"/> |
|
53 <vbox align="center"> |
|
54 <textbox id="pin1" |
|
55 class="pin" |
|
56 oninput="gSyncSetup.onPINInput(this);" |
|
57 onfocus="this.select();" |
|
58 /> |
|
59 <textbox id="pin2" |
|
60 class="pin" |
|
61 oninput="gSyncSetup.onPINInput(this);" |
|
62 onfocus="this.select();" |
|
63 /> |
|
64 <textbox id="pin3" |
|
65 class="pin" |
|
66 oninput="gSyncSetup.onPINInput(this);" |
|
67 onfocus="this.select();" |
|
68 /> |
|
69 </vbox> |
|
70 <separator class="groove-thin"/> |
|
71 <vbox id="pairDeviceThrobber" align="center" hidden="true"> |
|
72 <image/> |
|
73 </vbox> |
|
74 <hbox id="pairDeviceErrorRow" pack="center" hidden="true"> |
|
75 <image class="statusIcon" status="error"/> |
|
76 <label class="status" |
|
77 value="&addDevice.dialog.tryAgain.label;"/> |
|
78 </hbox> |
|
79 </wizardpage> |
|
80 |
|
81 <wizardpage id="pickSetupType" |
|
82 label="&syncBrand.fullName.label;" |
|
83 onpageshow="gSyncSetup.onPageShow()"> |
|
84 <vbox align="center" flex="1"> |
|
85 <description style="padding: 0 7em;"> |
|
86 &setup.pickSetupType.description2; |
|
87 </description> |
|
88 <spacer flex="3"/> |
|
89 <button id="newAccount" |
|
90 class="accountChoiceButton" |
|
91 label="&button.createNewAccount.label;" |
|
92 oncommand="gSyncSetup.startNewAccountSetup()" |
|
93 align="center"/> |
|
94 <spacer flex="1"/> |
|
95 </vbox> |
|
96 <separator class="groove"/> |
|
97 <vbox align="center" flex="1"> |
|
98 <spacer flex="1"/> |
|
99 <button id="existingAccount" |
|
100 class="accountChoiceButton" |
|
101 label="&button.haveAccount.label;" |
|
102 oncommand="gSyncSetup.useExistingAccount()"/> |
|
103 <spacer flex="3"/> |
|
104 </vbox> |
|
105 </wizardpage> |
|
106 |
|
107 <wizardpage label="&setup.newAccountDetailsPage.title.label;" |
|
108 id="newAccountStart" |
|
109 onextra1="gSyncSetup.onSyncOptions()" |
|
110 onpageshow="gSyncSetup.onPageShow();"> |
|
111 <grid> |
|
112 <columns> |
|
113 <column/> |
|
114 <column class="inputColumn" flex="1"/> |
|
115 </columns> |
|
116 <rows> |
|
117 <row id="emailRow" align="center"> |
|
118 <label value="&setup.emailAddress.label;" |
|
119 accesskey="&setup.emailAddress.accesskey;" |
|
120 control="weaveEmail"/> |
|
121 <textbox id="weaveEmail" |
|
122 oninput="gSyncSetup.onEmailInput()"/> |
|
123 </row> |
|
124 <row id="emailFeedbackRow" align="center" hidden="true"> |
|
125 <spacer/> |
|
126 <hbox> |
|
127 <image class="statusIcon"/> |
|
128 <label class="status" value=" "/> |
|
129 </hbox> |
|
130 </row> |
|
131 <row id="passwordRow" align="center"> |
|
132 <label value="&setup.choosePassword.label;" |
|
133 accesskey="&setup.choosePassword.accesskey;" |
|
134 control="weavePassword"/> |
|
135 <textbox id="weavePassword" |
|
136 type="password" |
|
137 onchange="gSyncSetup.onPasswordChange()"/> |
|
138 </row> |
|
139 <row id="confirmRow" align="center"> |
|
140 <label value="&setup.confirmPassword.label;" |
|
141 accesskey="&setup.confirmPassword.accesskey;" |
|
142 control="weavePasswordConfirm"/> |
|
143 <textbox id="weavePasswordConfirm" |
|
144 type="password" |
|
145 onchange="gSyncSetup.onPasswordChange()"/> |
|
146 </row> |
|
147 <row id="passwordFeedbackRow" align="center" hidden="true"> |
|
148 <spacer/> |
|
149 <hbox> |
|
150 <image class="statusIcon"/> |
|
151 <label class="status" value=" "/> |
|
152 </hbox> |
|
153 </row> |
|
154 <row align="center"> |
|
155 <label control="server" |
|
156 value="&server.label;"/> |
|
157 <menulist id="server" |
|
158 oncommand="gSyncSetup.onServerCommand()" |
|
159 oninput="gSyncSetup.onServerInput()"> |
|
160 <menupopup> |
|
161 <menuitem label="&serverType.default.label;" |
|
162 value="main"/> |
|
163 <menuitem label="&serverType.custom2.label;" |
|
164 value="custom"/> |
|
165 </menupopup> |
|
166 </menulist> |
|
167 </row> |
|
168 <row id="serverFeedbackRow" align="center" hidden="true"> |
|
169 <spacer/> |
|
170 <hbox> |
|
171 <image class="statusIcon"/> |
|
172 <label class="status" value=" "/> |
|
173 </hbox> |
|
174 </row> |
|
175 #ifdef XP_WIN |
|
176 #ifdef MOZ_METRO |
|
177 <row id="metroRow" align="center"> |
|
178 <spacer/> |
|
179 <hbox align="center"> |
|
180 <checkbox label="&setup.setupMetro.label;" |
|
181 accesskey="&setup.setupMetro.accesskey;" |
|
182 control="weavePasswordConfirm" |
|
183 id="metroSetupCheckbox" |
|
184 checked="true"/> |
|
185 </hbox> |
|
186 </row> |
|
187 #endif |
|
188 #endif |
|
189 <row id="TOSRow" align="center"> |
|
190 <spacer/> |
|
191 <hbox align="center"> |
|
192 <checkbox id="tos" |
|
193 accesskey="&setup.tosAgree1.accesskey;" |
|
194 oncommand="this.focus(); gSyncSetup.checkFields();"/> |
|
195 <description id="tosDesc" |
|
196 flex="1" |
|
197 onclick="document.getElementById('tos').focus(); |
|
198 document.getElementById('tos').click()"> |
|
199 &setup.tosAgree1.label; |
|
200 <label class="text-link inline-link" |
|
201 onclick="event.stopPropagation();gSyncUtils.openToS();"> |
|
202 &setup.tosLink.label; |
|
203 </label> |
|
204 &setup.tosAgree2.label; |
|
205 <label class="text-link inline-link" |
|
206 onclick="event.stopPropagation();gSyncUtils.openPrivacyPolicy();"> |
|
207 &setup.ppLink.label; |
|
208 </label> |
|
209 &setup.tosAgree3.label; |
|
210 </description> |
|
211 </hbox> |
|
212 </row> |
|
213 </rows> |
|
214 </grid> |
|
215 <spacer flex="1"/> |
|
216 <vbox flex="1" align="center"> |
|
217 <browser height="150" |
|
218 width="500" |
|
219 id="captcha" |
|
220 type="content" |
|
221 disablehistory="true"/> |
|
222 <spacer flex="1"/> |
|
223 <hbox id="captchaFeedback"> |
|
224 <image class="statusIcon"/> |
|
225 <label class="status" value=" "/> |
|
226 </hbox> |
|
227 </vbox> |
|
228 </wizardpage> |
|
229 |
|
230 <wizardpage id="addDevice" |
|
231 label="&pairDevice.title.label;" |
|
232 onextra1="gSyncSetup.onSyncOptions()" |
|
233 onpageshow="gSyncSetup.onPageShow()"> |
|
234 <description> |
|
235 &pairDevice.setup.description.label; |
|
236 <label class="text-link" |
|
237 value="&addDevice.showMeHow.label;" |
|
238 href="https://services.mozilla.com/sync/help/easy-setup"/> |
|
239 </description> |
|
240 <label value="&addDevice.setup.enterCode.label;" |
|
241 control="easySetupPIN1"/> |
|
242 <spacer flex="1"/> |
|
243 <vbox align="center" flex="1"> |
|
244 <textbox id="easySetupPIN1" |
|
245 class="pin" |
|
246 value="" |
|
247 readonly="true" |
|
248 /> |
|
249 <textbox id="easySetupPIN2" |
|
250 class="pin" |
|
251 value="" |
|
252 readonly="true" |
|
253 /> |
|
254 <textbox id="easySetupPIN3" |
|
255 class="pin" |
|
256 value="" |
|
257 readonly="true" |
|
258 /> |
|
259 </vbox> |
|
260 <spacer flex="3"/> |
|
261 <label class="text-link" |
|
262 value="&addDevice.dontHaveDevice.label;" |
|
263 onclick="gSyncSetup.manualSetup();"/> |
|
264 </wizardpage> |
|
265 |
|
266 <wizardpage id="existingAccount" |
|
267 label="&setup.signInPage.title.label;" |
|
268 onextra1="gSyncSetup.onSyncOptions()" |
|
269 onpageshow="gSyncSetup.onPageShow()"> |
|
270 <grid> |
|
271 <columns> |
|
272 <column/> |
|
273 <column class="inputColumn" flex="1"/> |
|
274 </columns> |
|
275 <rows> |
|
276 <row id="existingAccountRow" align="center"> |
|
277 <label id="existingAccountLabel" |
|
278 value="&signIn.account2.label;" |
|
279 accesskey="&signIn.account2.accesskey;" |
|
280 control="existingAccount"/> |
|
281 <textbox id="existingAccountName" |
|
282 oninput="gSyncSetup.checkFields(event)" |
|
283 onchange="gSyncSetup.checkFields(event)"/> |
|
284 </row> |
|
285 <row id="existingPasswordRow" align="center"> |
|
286 <label id="existingPasswordLabel" |
|
287 value="&signIn.password.label;" |
|
288 accesskey="&signIn.password.accesskey;" |
|
289 control="existingPassword"/> |
|
290 <textbox id="existingPassword" |
|
291 type="password" |
|
292 onkeyup="gSyncSetup.checkFields(event)" |
|
293 onchange="gSyncSetup.checkFields(event)"/> |
|
294 </row> |
|
295 <row id="existingPasswordFeedbackRow" align="center" hidden="true"> |
|
296 <spacer/> |
|
297 <hbox> |
|
298 <image class="statusIcon"/> |
|
299 <label class="status" value=" "/> |
|
300 </hbox> |
|
301 </row> |
|
302 <row align="center"> |
|
303 <spacer/> |
|
304 <label class="text-link" |
|
305 value="&resetPassword.label;" |
|
306 onclick="gSyncUtils.resetPassword(); return false;"/> |
|
307 </row> |
|
308 <row align="center"> |
|
309 <label control="existingServer" |
|
310 value="&server.label;"/> |
|
311 <menulist id="existingServer" |
|
312 oncommand="gSyncSetup.onExistingServerCommand()" |
|
313 oninput="gSyncSetup.onExistingServerInput()"> |
|
314 <menupopup> |
|
315 <menuitem label="&serverType.default.label;" |
|
316 value="main"/> |
|
317 <menuitem label="&serverType.custom2.label;" |
|
318 value="custom"/> |
|
319 </menupopup> |
|
320 </menulist> |
|
321 </row> |
|
322 <row id="existingServerFeedbackRow" align="center" hidden="true"> |
|
323 <spacer/> |
|
324 <hbox> |
|
325 <image class="statusIcon"/> |
|
326 <vbox> |
|
327 <label class="status" value=" "/> |
|
328 </vbox> |
|
329 </hbox> |
|
330 </row> |
|
331 </rows> |
|
332 </grid> |
|
333 |
|
334 <groupbox> |
|
335 <label id="existingPassphraseLabel" |
|
336 value="&signIn.recoveryKey.label;" |
|
337 accesskey="&signIn.recoveryKey.accesskey;" |
|
338 control="existingPassphrase"/> |
|
339 <textbox id="existingPassphrase" |
|
340 oninput="gSyncSetup.checkFields()"/> |
|
341 <hbox id="login-throbber" hidden="true"> |
|
342 <image/> |
|
343 <label value="&verifying.label;"/> |
|
344 </hbox> |
|
345 <vbox align="left" id="existingPassphraseFeedbackRow" hidden="true"> |
|
346 <hbox> |
|
347 <image class="statusIcon"/> |
|
348 <label class="status" value=" "/> |
|
349 </hbox> |
|
350 </vbox> |
|
351 </groupbox> |
|
352 |
|
353 <vbox id="passphraseHelpBox"> |
|
354 <description> |
|
355 &existingRecoveryKey.description; |
|
356 <label class="text-link" |
|
357 href="https://services.mozilla.com/sync/help/manual-setup"> |
|
358 &addDevice.showMeHow.label; |
|
359 </label> |
|
360 <spacer id="passphraseHelpSpacer"/> |
|
361 <label class="text-link" |
|
362 onclick="gSyncSetup.resetPassphrase(); return false;"> |
|
363 &resetSyncKey.label; |
|
364 </label> |
|
365 </description> |
|
366 </vbox> |
|
367 </wizardpage> |
|
368 |
|
369 <wizardpage id="syncOptionsPage" |
|
370 label="&setup.optionsPage.title;" |
|
371 onpageshow="gSyncSetup.onPageShow()"> |
|
372 <groupbox id="syncOptions"> |
|
373 <grid> |
|
374 <columns> |
|
375 <column/> |
|
376 <column flex="1" style="-moz-margin-end: 2px"/> |
|
377 </columns> |
|
378 <rows> |
|
379 <row align="center"> |
|
380 <label value="&syncDeviceName.label;" |
|
381 accesskey="&syncDeviceName.accesskey;" |
|
382 control="syncComputerName"/> |
|
383 <textbox id="syncComputerName" flex="1" |
|
384 onchange="gSyncUtils.changeName(this)"/> |
|
385 </row> |
|
386 <row> |
|
387 <label value="&syncMy.label;" /> |
|
388 <vbox> |
|
389 <checkbox label="&engine.addons.label;" |
|
390 accesskey="&engine.addons.accesskey;" |
|
391 id="engine.addons" |
|
392 checked="true"/> |
|
393 <checkbox label="&engine.bookmarks.label;" |
|
394 accesskey="&engine.bookmarks.accesskey;" |
|
395 id="engine.bookmarks" |
|
396 checked="true"/> |
|
397 <checkbox label="&engine.passwords.label;" |
|
398 accesskey="&engine.passwords.accesskey;" |
|
399 id="engine.passwords" |
|
400 checked="true"/> |
|
401 <checkbox label="&engine.prefs.label;" |
|
402 accesskey="&engine.prefs.accesskey;" |
|
403 id="engine.prefs" |
|
404 checked="true"/> |
|
405 <checkbox label="&engine.history.label;" |
|
406 accesskey="&engine.history.accesskey;" |
|
407 id="engine.history" |
|
408 checked="true"/> |
|
409 <checkbox label="&engine.tabs.label;" |
|
410 accesskey="&engine.tabs.accesskey;" |
|
411 id="engine.tabs" |
|
412 checked="true"/> |
|
413 </vbox> |
|
414 </row> |
|
415 </rows> |
|
416 </grid> |
|
417 </groupbox> |
|
418 |
|
419 <groupbox id="mergeOptions"> |
|
420 <radiogroup id="mergeChoiceRadio" pack="start"> |
|
421 <grid> |
|
422 <columns> |
|
423 <column/> |
|
424 <column flex="1"/> |
|
425 </columns> |
|
426 <rows flex="1"> |
|
427 <row align="center"> |
|
428 <radio id="resetClient" |
|
429 class="mergeChoiceButton" |
|
430 aria-labelledby="resetClientLabel"/> |
|
431 <label id="resetClientLabel" control="resetClient"> |
|
432 <html:strong>&choice2.merge.recommended.label;</html:strong> |
|
433 &choice2a.merge.main.label; |
|
434 </label> |
|
435 </row> |
|
436 <row align="center"> |
|
437 <radio id="wipeClient" |
|
438 class="mergeChoiceButton" |
|
439 aria-labelledby="wipeClientLabel"/> |
|
440 <label id="wipeClientLabel" |
|
441 control="wipeClient"> |
|
442 &choice2a.client.main.label; |
|
443 </label> |
|
444 </row> |
|
445 <row align="center"> |
|
446 <radio id="wipeRemote" |
|
447 class="mergeChoiceButton" |
|
448 aria-labelledby="wipeRemoteLabel"/> |
|
449 <label id="wipeRemoteLabel" |
|
450 control="wipeRemote"> |
|
451 &choice2a.server.main.label; |
|
452 </label> |
|
453 </row> |
|
454 </rows> |
|
455 </grid> |
|
456 </radiogroup> |
|
457 </groupbox> |
|
458 </wizardpage> |
|
459 |
|
460 <wizardpage id="syncOptionsConfirm" |
|
461 label="&setup.optionsConfirmPage.title;" |
|
462 onpageshow="gSyncSetup.onPageShow()"> |
|
463 <deck id="chosenActionDeck"> |
|
464 <vbox id="chosenActionMerge" class="confirm"> |
|
465 <description class="normal"> |
|
466 &confirm.merge2.label; |
|
467 </description> |
|
468 </vbox> |
|
469 <vbox id="chosenActionWipeClient" class="confirm"> |
|
470 <description class="normal"> |
|
471 &confirm.client3.label; |
|
472 </description> |
|
473 <separator class="thin"/> |
|
474 <vbox id="dataList"> |
|
475 <label class="data indent" id="bookmarkCount"/> |
|
476 <label class="data indent" id="historyCount"/> |
|
477 <label class="data indent" id="passwordCount"/> |
|
478 <label class="data indent" id="addonCount"/> |
|
479 <label class="data indent" id="prefsWipe" |
|
480 value="&engine.prefs.label;"/> |
|
481 </vbox> |
|
482 <separator class="thin"/> |
|
483 <description class="normal"> |
|
484 &confirm.client2.moreinfo.label; |
|
485 </description> |
|
486 </vbox> |
|
487 <vbox id="chosenActionWipeServer" class="confirm"> |
|
488 <description class="normal"> |
|
489 &confirm.server2.label; |
|
490 </description> |
|
491 <separator class="thin"/> |
|
492 <vbox id="clientList"> |
|
493 </vbox> |
|
494 </vbox> |
|
495 </deck> |
|
496 </wizardpage> |
|
497 <!-- In terms of the wizard flow shown to the user, the 'syncOptionsConfirm' |
|
498 page above is not the last wizard page. To prevent the wizard binding from |
|
499 assuming that it is, we're inserting this dummy page here. This also means |
|
500 that the wizard needs to always be closed manually via wizardFinish(). --> |
|
501 <wizardpage> |
|
502 </wizardpage> |
|
503 </wizard> |
|
504 |