Bug 831614 - Desktop sync UI checkbox for Setting up Sync for Metro at the same time...
[gecko.git] / browser / base / content / sync / setup.xul
blobf01dad9f99264a9547c22a68620e68a39e55c2fc
1 <?xml version="1.0"?>
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/. -->
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"?>
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;
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()">
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"/>
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();"
59 <textbox id="pin2"
60 class="pin"
61 oninput="gSyncSetup.onPINInput(this);"
62 onfocus="this.select();"
64 <textbox id="pin3"
65 class="pin"
66 oninput="gSyncSetup.onPINInput(this);"
67 onfocus="this.select();"
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>
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>
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>
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"
249 <textbox id="easySetupPIN2"
250 class="pin"
251 value=""
252 readonly="true"
254 <textbox id="easySetupPIN3"
255 class="pin"
256 value=""
257 readonly="true"
259 </vbox>
260 <spacer flex="3"/>
261 <label class="text-link"
262 value="&addDevice.dontHaveDevice.label;"
263 onclick="gSyncSetup.manualSetup();"/>
264 </wizardpage>
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>
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>
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>
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>
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>
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>