Updates for my patches
[webos-internals:djcin7s-modifications.git] / advanced / advanced-system-menus-framework.patch
1 --- .orig/etc/palm/persistentWindows.conf
2 +++ /etc/palm/persistentWindows.conf
3 @@ -1,6 +1,8 @@
4  {
5                 "com.palm.systemui": [
6 -                       "DeviceMenu"
7 +                       "DeviceMenu",
8 +                       "TodayMenu",
9 +                       "StatusMenu"
10                 ],
11  
12                 "com.palm.app.phone": [
13 --- .orig/usr/palm/frameworks/mojo/submissions/367/stylesheets/global-menus.css
14 +++ /usr/palm/frameworks/mojo/submissions/367/stylesheets/global-menus.css
15 @@ -626,9 +626,11 @@
16    padding-top: 28px;
17  }
18  
19 -/* Application and Device Menus */
20 +/* Status, Today, Device and Application Menus */
21  
22  #palm-app-menu.palm-popup-container,
23 +#palm-status-menu.palm-popup-container,
24 +#palm-today-menu.palm-popup-container,
25  #palm-device-menu.palm-popup-container {
26    font-family: "Prelude" !important;
27    text-align: left !important;
28 @@ -648,6 +650,8 @@
29  }
30  
31  #palm-app-menu.palm-popup-container.palm-touch-rows-7,
32 +#palm-status-menu.palm-popup-container.palm-touch-rows-7,
33 +#palm-today-menu.palm-popup-container.palm-touch-rows-7,
34  #palm-device-menu.palm-popup-container.palm-touch-rows-7 {
35    -webkit-border-image: url(../images/system-menu-background-solid.png) 30 28 35 28 repeat repeat;
36  }
37 @@ -655,24 +659,48 @@
38  #palm-app-menu.palm-popup-container {
39    top: -2px;
40    left: -6px;
41 -  min-width: 278px;
42 +  min-width: 306px;
43 +  max-width: 306px;
44 +  max-height: 413px;
45 +}
46 +
47 +#palm-status-menu.palm-popup-container {
48 +  top: -2px;
49 +  left: -6px;
50 +  min-width: 306px;
51 +  max-width: 306px;
52 +  max-height: 413px;
53 +}
54 +
55 +#palm-today-menu.palm-popup-container {
56 +  top: -2px;
57 +  left: 8px;
58 +  min-width: 306px;
59 +  max-width: 306px;
60    max-height: 413px;
61  }
62  
63  #palm-device-menu.palm-popup-container {
64    top: -2px;
65    right: -6px;
66 -  min-width: 278px;
67 +  min-width: 306px;
68 +  max-width: 306px;
69    max-height: 413px;
70  }
71  
72  #palm-app-menu > .palm-popup-wrapper,
73 +#palm-status-menu > .palm-popup-wrapper,
74 +#palm-today-menu > .palm-popup-wrapper,
75  #palm-device-menu > .palm-popup-wrapper {
76    margin: -58px -21px -48px -52px;
77  }
78  
79  #palm-app-menu .palm-popup-fade-top,
80  #palm-app-menu .palm-popup-fade-bottom,
81 +#palm-status-menu .palm-popup-fade-top,
82 +#palm-status-menu .palm-popup-fade-bottom,
83 +#palm-today-menu .palm-popup-fade-top,
84 +#palm-today-menu .palm-popup-fade-bottom,
85  #palm-device-menu .palm-popup-fade-top,
86  #palm-device-menu .palm-popup-fade-bottom {
87    margin-right: 9px;
88 @@ -687,6 +715,25 @@
89    left: -32px;
90    bottom: -24px;
91  }
92 +
93 +#palm-status-menu .palm-popup-fade-top {
94 +  left: -32px;
95 +  top: -27px;
96 +}
97 +#palm-status-menu .palm-popup-fade-bottom {
98 +  left: -32px;
99 +  bottom: -24px;
100 +}
101 +
102 +#palm-today-menu .palm-popup-fade-top {
103 +  left: -32px;
104 +  top: -27px;
105 +}
106 +#palm-today-menu .palm-popup-fade-bottom {
107 +  left: -32px;
108 +  bottom: -24px;
109 +}
110 +
111  #palm-device-menu .palm-popup-fade-top {
112    left: -33px;
113    top: -27px;
114 @@ -698,50 +745,72 @@
115  
116  
117  #palm-app-menu .palm-popup-fade-top > .fade-background,
118 +#palm-status-menu .palm-popup-fade-top > .fade-background,
119 +#palm-today-menu .palm-popup-fade-top > .fade-background,
120  #palm-device-menu .palm-popup-fade-top > .fade-background {
121    -webkit-border-image: url(../images/system-menu-fade-top.png) 0 24 0 24 repeat repeat;
122  }
123  #palm-app-menu .palm-popup-fade-top > .fade-arrow,
124 +#palm-status-menu .palm-popup-fade-top > .fade-arrow,
125 +#palm-today-menu .palm-popup-fade-top > .fade-arrow,
126  #palm-device-menu .palm-popup-fade-top > .fade-arrow {
127    background: url(../images/palm-popup-fade-arrow-up-dark.png) center center no-repeat;
128  }
129  #palm-app-menu .palm-popup-fade-bottom > .fade-background,
130 +#palm-status-menu .palm-popup-fade-bottom > .fade-background,
131 +#palm-today-menu .palm-popup-fade-bottom > .fade-background,
132  #palm-device-menu .palm-popup-fade-bottom > .fade-background {
133    -webkit-border-image: url(../images/system-menu-fade-bottom.png) 0 24 0 24 repeat repeat;
134  }
135  #palm-app-menu .palm-popup-fade-bottom > .fade-arrow,
136 +#palm-status-menu .palm-popup-fade-bottom > .fade-arrow,
137 +#palm-today-menu .palm-popup-fade-bottom > .fade-arrow,
138  #palm-device-menu .palm-popup-fade-bottom > .fade-arrow {
139    background: url(../images/palm-popup-fade-arrow-down-dark.png) center center no-repeat;
140  }
141  
142  #palm-app-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
143 +#palm-status-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
144 +#palm-today-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
145  #palm-device-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background {
146    -webkit-border-image: url(../images/system-menu-fade-top-solid.png) 0 24 0 24 repeat repeat;
147  }
148  #palm-app-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
149 +#palm-status-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
150 +#palm-today-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
151  #palm-device-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background {
152    -webkit-border-image: url(../images/system-menu-fade-bottom-solid.png) 0 24 0 24 repeat repeat;
153  }
154  
155  #palm-app-menu .palm-popup-content,
156 +#palm-status-menu .palm-popup-content,
157 +#palm-today-menu .palm-popup-content,
158  #palm-device-menu .palm-popup-content {
159    margin: 31px 0 26px 31px;
160  }
161  
162  #palm-app-menu .palm-row,
163 +#palm-status-menu .palm-row,
164 +#palm-today-menu .palm-row,
165  #palm-device-menu .palm-row {
166    background: url(../images/list-separator-dark-taper.png) bottom left no-repeat;
167  }
168  
169  #palm-app-menu .palm-row.single,
170 +#palm-status-menu .palm-row.single,
171 +#palm-today-menu .palm-row.single,
172  #palm-device-menu .palm-row.single,
173  #palm-app-menu .palm-row.last,
174 +#palm-status-menu .palm-row.last,
175 +#palm-today-menu .palm-row.last,
176  #palm-device-menu .palm-row.last {
177    background: none;
178    -webkit-border-image: none;
179  }
180  
181  #palm-app-menu .label,
182 +#palm-status-menu .label,
183 +#palm-today-menu .label,
184  #palm-device-menu .label {
185    color: #AAA;
186    text-shadow: #333 0 -1px 0;
187 @@ -760,14 +829,20 @@
188  }
189  
190  #palm-app-menu .palm-row.selected,
191 +#palm-status-menu .palm-row.selected,
192 +#palm-today-menu .palm-row.selected,
193  #palm-device-menu .palm-row.selected,
194  #palm-app-menu .palm-row.selected.submenu-group,
195 +#palm-status-menu .palm-row.selected.submenu-group,
196 +#palm-today-menu .palm-row.selected.submenu-group,
197  #palm-device-menu .palm-row.selected.submenu-group {
198    background: none;
199    -webkit-border-image: url(../images/system-menu-selection-gradient-default.png) 24 20 24 20 repeat repeat;
200  }
201  
202  #palm-app-menu .palm-popup-content > .palm-list > .menu-start.selected,
203 +#palm-status-menu .palm-popup-content > .palm-list > .menu-start.selected,
204 +#palm-today-menu .palm-popup-content > .palm-list > .menu-start.selected,
205  #palm-device-menu .palm-popup-content > .palm-list > .menu-start.selected,
206  #palm-app-menu .palm-row.first.selected.submenu-group {
207    background: none;
208 @@ -775,18 +850,24 @@
209  }
210  
211  #palm-app-menu .palm-popup-content > .palm-list > .menu-end.selected,
212 +#palm-status-menu .palm-popup-content > .palm-list > .menu-end.selected,
213 +#palm-today-menu .palm-popup-content > .palm-list > .menu-end.selected,
214  #palm-device-menu .palm-popup-content > .palm-list > .menu-end.selected {
215    background: none;
216    -webkit-border-image: url(../images/system-menu-selection-gradient-last.png) 24 20 24 20 repeat repeat;
217  }
218  
219  #palm-app-menu .palm-row.submenu-group,
220 +#palm-status-menu .palm-row.submenu-group,
221 +#palm-today-menu .palm-row.submenu-group,
222  #palm-device-menu .palm-row.submenu-group {
223    -webkit-border-image: none;
224    background: url(../images/system-menu-section-divider.png) bottom left no-repeat;
225  }
226  
227  #palm-app-menu .palm-drawer-container,
228 +#palm-status-menu .palm-drawer-container,
229 +#palm-today-menu .palm-drawer-container,
230  #palm-device-menu .palm-drawer-container {
231    position: relative;
232    top: 0px;
233 @@ -797,6 +878,8 @@
234  }
235  
236  #palm-app-menu .palm-drawer-contents,
237 +#palm-status-menu .palm-drawer-contents,
238 +#palm-today-menu .palm-drawer-contents,
239  #palm-device-menu .palm-drawer-contents {
240    margin: 0;
241    position: relative;
242 @@ -804,16 +887,22 @@
243  }
244  
245  #palm-app-menu .palm-drawer-contents .palm-row .title,
246 +#palm-status-menu .palm-drawer-contents .palm-row .title,
247 +#palm-today-menu .palm-drawer-contents .palm-row .title,
248  #palm-device-menu .palm-drawer-contents .palm-row .title {
249    margin-left: 14px;
250  }
251  
252  #palm-app-menu .palm-row .title.dim,
253 +#palm-status-menu .palm-row .title.dim,
254 +#palm-today-menu .palm-row .title.dim,
255  #palm-device-menu .palm-row .title.dim {
256    color: #BBB;
257  }
258  
259  #palm-app-menu .palm-drawer-contents .palm-row .label,
260 +#palm-status-menu .palm-drawer-contents .palm-row .label,
261 +#palm-today-menu .palm-drawer-contents .palm-row .label,
262  #palm-device-menu .palm-drawer-contents .palm-row .label {
263    margin-right: 24px;
264  }
265 --- .orig/usr/palm/frameworks/mojo2/submissions/98/stylesheets/global-menus.css
266 +++ /usr/palm/frameworks/mojo2/submissions/98/stylesheets/global-menus.css
267 @@ -626,9 +626,11 @@
268    padding-top: 28px;
269  }
270  
271 -/* Application and Device Menus */
272 +/* Status, Today, Device and Application Menus */
273  
274  #palm-app-menu.palm-popup-container,
275 +#palm-status-menu.palm-popup-container,
276 +#palm-today-menu.palm-popup-container,
277  #palm-device-menu.palm-popup-container {
278    font-family: "Prelude" !important;
279    text-align: left !important;
280 @@ -648,6 +650,8 @@
281  }
282  
283  #palm-app-menu.palm-popup-container.palm-touch-rows-7,
284 +#palm-status-menu.palm-popup-container.palm-touch-rows-7,
285 +#palm-today-menu.palm-popup-container.palm-touch-rows-7,
286  #palm-device-menu.palm-popup-container.palm-touch-rows-7 {
287    -webkit-border-image: url(../images/system-menu-background-solid.png) 30 28 35 28 repeat repeat;
288  }
289 @@ -655,24 +659,48 @@
290  #palm-app-menu.palm-popup-container {
291    top: -2px;
292    left: -6px;
293 -  min-width: 278px;
294 +  min-width: 306px;
295 +  max-width: 306px;
296 +  max-height: 413px;
297 +}
298 +
299 +#palm-status-menu.palm-popup-container {
300 +  top: -2px;
301 +  left: -6px;
302 +  min-width: 306px;
303 +  max-width: 306px;
304 +  max-height: 413px;
305 +}
306 +
307 +#palm-today-menu.palm-popup-container {
308 +  top: -2px;
309 +  left: 8px;
310 +  min-width: 306px;
311 +  max-width: 306px;
312    max-height: 413px;
313  }
314  
315  #palm-device-menu.palm-popup-container {
316    top: -2px;
317    right: -6px;
318 -  min-width: 278px;
319 +  min-width: 306px;
320 +  max-width: 306px;
321    max-height: 413px;
322  }
323  
324  #palm-app-menu > .palm-popup-wrapper,
325 +#palm-status-menu > .palm-popup-wrapper,
326 +#palm-today-menu > .palm-popup-wrapper,
327  #palm-device-menu > .palm-popup-wrapper {
328    margin: -58px -21px -48px -52px;
329  }
330  
331  #palm-app-menu .palm-popup-fade-top,
332  #palm-app-menu .palm-popup-fade-bottom,
333 +#palm-status-menu .palm-popup-fade-top,
334 +#palm-status-menu .palm-popup-fade-bottom,
335 +#palm-today-menu .palm-popup-fade-top,
336 +#palm-today-menu .palm-popup-fade-bottom,
337  #palm-device-menu .palm-popup-fade-top,
338  #palm-device-menu .palm-popup-fade-bottom {
339    margin-right: 9px;
340 @@ -687,6 +715,22 @@
341    left: -32px;
342    bottom: -24px;
343  }
344 +#palm-status-menu .palm-popup-fade-top {
345 +  left: -32px;
346 +  top: -27px;
347 +}
348 +#palm-status-menu .palm-popup-fade-bottom {
349 +  left: -32px;
350 +  bottom: -24px;
351 +}
352 +#palm-today-menu .palm-popup-fade-top {
353 +  left: -32px;
354 +  top: -27px;
355 +}
356 +#palm-today-menu .palm-popup-fade-bottom {
357 +  left: -32px;
358 +  bottom: -24px;
359 +}
360  #palm-device-menu .palm-popup-fade-top {
361    left: -33px;
362    top: -27px;
363 @@ -698,50 +742,72 @@
364  
365  
366  #palm-app-menu .palm-popup-fade-top > .fade-background,
367 +#palm-status-menu .palm-popup-fade-top > .fade-background,
368 +#palm-today-menu .palm-popup-fade-top > .fade-background,
369  #palm-device-menu .palm-popup-fade-top > .fade-background {
370    -webkit-border-image: url(../images/system-menu-fade-top.png) 0 24 0 24 repeat repeat;
371  }
372  #palm-app-menu .palm-popup-fade-top > .fade-arrow,
373 +#palm-status-menu .palm-popup-fade-top > .fade-arrow,
374 +#palm-today-menu .palm-popup-fade-top > .fade-arrow,
375  #palm-device-menu .palm-popup-fade-top > .fade-arrow {
376    background: url(../images/palm-popup-fade-arrow-up-dark.png) center center no-repeat;
377  }
378  #palm-app-menu .palm-popup-fade-bottom > .fade-background,
379 +#palm-status-menu .palm-popup-fade-bottom > .fade-background,
380 +#palm-today-menu .palm-popup-fade-bottom > .fade-background,
381  #palm-device-menu .palm-popup-fade-bottom > .fade-background {
382    -webkit-border-image: url(../images/system-menu-fade-bottom.png) 0 24 0 24 repeat repeat;
383  }
384  #palm-app-menu .palm-popup-fade-bottom > .fade-arrow,
385 +#palm-status-menu .palm-popup-fade-bottom > .fade-arrow,
386 +#palm-today-menu .palm-popup-fade-bottom > .fade-arrow,
387  #palm-device-menu .palm-popup-fade-bottom > .fade-arrow {
388    background: url(../images/palm-popup-fade-arrow-down-dark.png) center center no-repeat;
389  }
390  
391  #palm-app-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
392 +#palm-status-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
393 +#palm-today-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background,
394  #palm-device-menu.palm-touch-rows-7 .palm-popup-fade-top > .fade-background {
395    -webkit-border-image: url(../images/system-menu-fade-top-solid.png) 0 24 0 24 repeat repeat;
396  }
397  #palm-app-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
398 +#palm-status-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
399 +#palm-today-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background,
400  #palm-device-menu.palm-touch-rows-7 .palm-popup-fade-bottom > .fade-background {
401    -webkit-border-image: url(../images/system-menu-fade-bottom-solid.png) 0 24 0 24 repeat repeat;
402  }
403  
404  #palm-app-menu .palm-popup-content,
405 +#palm-status-menu .palm-popup-content,
406 +#palm-today-menu .palm-popup-content,
407  #palm-device-menu .palm-popup-content {
408    margin: 31px 0 26px 31px;
409  }
410  
411  #palm-app-menu .palm-row,
412 +#palm-status-menu .palm-row,
413 +#palm-today-menu .palm-row,
414  #palm-device-menu .palm-row {
415    background: url(../images/list-separator-dark-taper.png) bottom left no-repeat;
416  }
417  
418  #palm-app-menu .palm-row.single,
419 +#palm-status-menu .palm-row.single,
420 +#palm-today-menu .palm-row.single,
421  #palm-device-menu .palm-row.single,
422  #palm-app-menu .palm-row.last,
423 +#palm-status-menu .palm-row.last,
424 +#palm-today-menu .palm-row.last,
425  #palm-device-menu .palm-row.last {
426    background: none;
427    -webkit-border-image: none;
428  }
429  
430  #palm-app-menu .label,
431 +#palm-status-menu .label,
432 +#palm-today-menu .label,
433  #palm-device-menu .label {
434    color: #AAA;
435    text-shadow: #333 0 -1px 0;
436 @@ -760,14 +826,20 @@
437  }
438  
439  #palm-app-menu .palm-row.selected,
440 +#palm-status-menu .palm-row.selected,
441 +#palm-today-menu .palm-row.selected,
442  #palm-device-menu .palm-row.selected,
443  #palm-app-menu .palm-row.selected.submenu-group,
444 +#palm-status-menu .palm-row.selected.submenu-group,
445 +#palm-today-menu .palm-row.selected.submenu-group,
446  #palm-device-menu .palm-row.selected.submenu-group {
447    background: none;
448    -webkit-border-image: url(../images/system-menu-selection-gradient-default.png) 24 20 24 20 repeat repeat;
449  }
450  
451  #palm-app-menu .palm-popup-content > .palm-list > .menu-start.selected,
452 +#palm-status-menu .palm-popup-content > .palm-list > .menu-start.selected,
453 +#palm-today-menu .palm-popup-content > .palm-list > .menu-start.selected,
454  #palm-device-menu .palm-popup-content > .palm-list > .menu-start.selected,
455  #palm-app-menu .palm-row.first.selected.submenu-group {
456    background: none;
457 @@ -775,24 +847,32 @@
458  }
459  
460  #palm-app-menu .palm-popup-content > .palm-list > .menu-end.selected,
461 +#palm-status-menu .palm-popup-content > .palm-list > .menu-end.selected,
462 +#palm-today-menu .palm-popup-content > .palm-list > .menu-end.selected,
463  #palm-device-menu .palm-popup-content > .palm-list > .menu-end.selected {
464    background: none;
465    -webkit-border-image: url(../images/system-menu-selection-gradient-last.png) 24 20 24 20 repeat repeat;
466  }
467  
468  #palm-app-menu .palm-popup-content > .palm-list > .single.selected,
469 +#palm-status-menu .palm-popup-content > .palm-list > .single.selected,
470 +#palm-today-menu .palm-popup-content > .palm-list > .single.selected,
471  #palm-device-menu .palm-popup-content > .palm-list > .single.selected {
472    background: none;
473    -webkit-border-image: url(../images/system-menu-selection-gradient-single.png) 24 20 24 20 repeat repeat;
474  }
475  
476  #palm-app-menu .palm-row.submenu-group,
477 +#palm-status-menu .palm-row.submenu-group,
478 +#palm-today-menu .palm-row.submenu-group,
479  #palm-device-menu .palm-row.submenu-group {
480    -webkit-border-image: none;
481    background: url(../images/system-menu-section-divider.png) bottom left no-repeat;
482  }
483  
484  #palm-app-menu .palm-drawer-container,
485 +#palm-status-menu .palm-drawer-container,
486 +#palm-today-menu .palm-drawer-container,
487  #palm-device-menu .palm-drawer-container {
488    position: relative;
489    top: 0px;
490 @@ -803,6 +883,8 @@
491  }
492  
493  #palm-app-menu .palm-drawer-contents,
494 +#palm-status-menu .palm-drawer-contents,
495 +#palm-today-menu .palm-drawer-contents,
496  #palm-device-menu .palm-drawer-contents {
497    margin: 0;
498    position: relative;
499 @@ -810,16 +892,22 @@
500  }
501  
502  #palm-app-menu .palm-drawer-contents .palm-row .title,
503 +#palm-status-menu .palm-drawer-contents .palm-row .title,
504 +#palm-today-menu .palm-drawer-contents .palm-row .title,
505  #palm-device-menu .palm-drawer-contents .palm-row .title {
506    margin-left: 14px;
507  }
508  
509  #palm-app-menu .palm-row .title.dim,
510 +#palm-status-menu .palm-row .title.dim,
511 +#palm-today-menu .palm-row .title.dim,
512  #palm-device-menu .palm-row .title.dim {
513    color: #BBB;
514  }
515  
516  #palm-app-menu .palm-drawer-contents .palm-row .label,
517 +#palm-status-menu .palm-drawer-contents .palm-row .label,
518 +#palm-today-menu .palm-drawer-contents .palm-row .label,
519  #palm-device-menu .palm-drawer-contents .palm-row .label {
520    margin-right: 24px;
521  }
522 --- .orig/usr/palm/applications/com.palm.app.screenlock/app/controllers/app-assistant.js
523 +++ /usr/palm/applications/com.palm.app.screenlock/app/controllers/app-assistant.js
524 @@ -6,8 +6,25 @@
525  
526  function StageAssistant(stageController) {
527    this.stageController = stageController
528 -  this.stageController.pushScene('securityconfig')
529  }
530  
531 +StageAssistant.prototype.initialize = function() {
532 +}
533  
534 +StageAssistant.prototype.setup = function() {
535 +       var params = Mojo.getLaunchParameters();
536 +       
537 +       if((params) && (params.mode)) {
538 +               if(params.mode == "none")
539 +                       this.stageController.pushScene('securityconfig', "none");
540 +               else if(params.mode == "pin")
541 +                       this.stageController.pushScene('securityconfig', "pin");
542 +               else if(params.mode == "password")
543 +                       this.stageController.pushScene('securityconfig', "password");
544 +               else
545 +                       this.stageController.pushScene('securityconfig');
546 +       }
547 +       else
548 +               this.stageController.pushScene('securityconfig');
549 +}
550  
551 --- .orig/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
552 +++ /usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js
553 @@ -1,7 +1,9 @@
554  /* Copyright 2009 Palm, Inc.  All rights reserved. */
555  
556  var SecurityconfigAssistant = Class.create({
557 -       initialize: function() {
558 +       initialize: function(mode) {
559 +               this.mode = mode;
560 +               
561                 this.switchAppOnInfo = $L("Swiping the entire length of the gesture area will switch to the next or previous app.");
562                 this.switchAppOffInfo = $L("Any right to left swipe on the gesture area will perform the back gesture.");
563                 this.newSecurity = '';  
564 @@ -48,6 +50,8 @@
565         },
566                 
567         setup: function(){
568 +               if(this.mode)
569 +                       this.controller.get('main').hide();
570                 
571                 //this.controller.get('fixedtimerrow').hide();
572                         
573 @@ -163,6 +167,27 @@
574                 this.currentSecurity = payload.lockMode || 'none';
575                 this.showModifyRow();
576                 this.revertChanges();
577 +               
578 +               if(this.mode) {
579 +                       for(var i = 0; i < this.availableSecurity.length; i++) {
580 +                               if(this.availableSecurity[i].value == this.mode) {
581 +                                       this.newSecurity = this.mode;   
582 +                                       
583 +                                       if((this.currentSecurity === this.mode) && (this.mode === 'pin'))
584 +                                               this.controller.stageController.pushScene({name: "pin", automaticFocusAdvance: false},"changePin",this);
585 +                                       else if((this.currentSecurity === this.mode) && (this.mode === 'password'))
586 +                                               this.controller.stageController.pushScene({name: "password", automaticFocusAdvance: false},"changePassword",this);
587 +                                       else if(this.currentSecurity === 'none')
588 +                                               this.changeSecureLock(this.mode,false);
589 +                                       else if(this.currentSecurity === 'pin') 
590 +                                               this.askPin();
591 +                                       else if(this.currentSecurity === 'password')
592 +                                               this.askPassword();
593 +                                       
594 +                                       return;
595 +                               }
596 +                       }
597 +               }
598         },
599         
600         handleSystemlockValue: function(payload) {
601 @@ -371,7 +396,7 @@
602                         this.controller.stageController.pushScene({name: "pin", automaticFocusAdvance: false},"changePin",this);
603                 }
604                 else if(this.currentSecurity == 'password') {
605 -                       this.askPassword();
606 +                       this.controller.stageController.pushScene({name: "password", automaticFocusAdvance: false},"changePassword",this);
607                         this.newSecurity = "password";
608                 }                       
609         },
610 @@ -432,16 +457,16 @@
611                 if(pinCorrect)
612                         this.changeSecureLock(this.newSecurity,true);
613                 else {
614 +                       if(this.mode)
615 +                               this.controller.window.close();
616 +
617                         Mojo.Log.info("Pin was wrong");
618                         this.revertChanges();
619                 }
620         },
621         
622         askPassword: function() {
623 -               this.dialogBox = this.controller.showDialog({
624 -                       template: 'template/password-box',                      
625 -                       assistant: new VerifyPasswordAssistant(this,this.systemlockValue),                      
626 -               });
627 +               this.controller.stageController.pushScene({name: "password", automaticFocusAdvance: false},"askPassword",this); 
628         },
629         
630         passwordVerified: function(passwordCorrect) {
631 @@ -449,6 +474,9 @@
632                         this.changeSecureLock(this.newSecurity,false);
633                 }
634                 else {
635 +                       if(this.mode)
636 +                               this.controller.window.close();
637 +                       
638                         Mojo.Log.info("Password was wrong");
639                         this.revertChanges();
640                         
641 @@ -457,23 +485,37 @@
642         
643         changeSecureLock: function(newSetting,setFocus) {
644                 if(newSetting == 'pin') {
645 -                       this.showPINDialogBox();                                
646 +                       if(this.currentSecurity == 'password')
647 +                               this.showPINDialogBox.bind(this).delay(1);
648 +                       else
649 +                               this.showPINDialogBox();                                
650                 }
651                 else if (newSetting == 'password') {
652 -                       this.showPasswordDialogBox(setFocus);                           
653 +                       if(this.currentSecurity == 'pin')
654 +                               this.showPasswordDialogBox.bind(this, setFocus).delay(1);                               
655 +                       else
656 +                               this.showPasswordDialogBox(setFocus);
657                 }
658                 else {
659                         Mojo.Log.info("Security is Off");
660                         this.currentSecurity = 'none';
661                         $('lockImg').hide();
662 -                       this.setSystemlockModeReq = SystemService.setSystemlockValue('none','');
663 +                       this.setSystemlockModeReq = SystemService.setSystemlockValue('none','', this.changedSystemlockValue.bind(this));
664                         this.showModifyRow();
665                 }       
666         },
667         
668 +       changedSystemlockValue: function() {
669 +               if(this.mode)
670 +                       this.controller.window.close();
671 +       },
672 +       
673         setPinCode: function(pincode) {
674                 
675                 if(pincode === '') {
676 +                       if(this.mode)
677 +                               this.controller.window.close();
678 +
679                         Mojo.Log.info("PIN code is Emplty");
680                         this.revertChanges();
681                         return;
682 @@ -483,6 +525,10 @@
683         
684         handleSetPasscodeResponse: function(response) {
685                 Mojo.Log.error("Response "+ Object.toJSON(response));
686 +               
687 +               if(this.mode)
688 +                       this.controller.window.close();
689 +               
690                 if(response.returnValue) {
691                         this.currentSecurity = 'pin';
692                         $('lockImg').show();
693 @@ -494,6 +540,9 @@
694         },
695         
696         pinAlreadySet: function() {
697 +               if(this.mode)
698 +                       this.controller.window.close();
699 +               
700                 this.currentSecurity = 'pin';
701                 $('lockImg').show();
702                 this.policyEnforced = true;
703 @@ -505,6 +554,9 @@
704         },
705         
706         setPassword: function(password) {
707 +               if(this.mode)
708 +                       this.controller.window.close();
709 +
710                 Mojo.Log.info("Entered Password "+ password);
711                 if(password === '') {
712                         Mojo.Log.info("Password is Emplty");
713 @@ -519,6 +571,9 @@
714         },
715         
716         passwordAlreadySet: function(password) {
717 +               if(this.mode)
718 +                       this.controller.window.close();
719 +       
720                 this.currentSecurity = 'password';
721                 this.systemlockValue = password;
722                 this.policyEnforced = true;
723 @@ -528,10 +583,7 @@
724         
725         
726         showPasswordDialogBox: function(setFocus) {             
727 -               this.dialogBox = this.controller.showDialog({
728 -                       template: 'template/security-password-box',
729 -                       assistant: new PasswordAssistant(this,setFocus),                        
730 -               });             
731 +               this.controller.stageController.pushScene({name: "password", automaticFocusAdvance: false},"enterPassword",this,setFocus);      
732         },
733  
734         revertChanges: function() {
735 @@ -679,7 +731,7 @@
736         }
737  });
738  
739 -
740 +/*
741  var VerifyPasswordAssistant = Class.create({
742         
743         initialize: function(sceneAssistant) {
744 @@ -954,5 +1006,5 @@
745                 }
746         }               
747         
748 -});
749 +}); */
750  
751 --- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js
752 +++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js
753 @@ -18,6 +18,7 @@
754                 
755                 this.bluetoothState = 'Off';
756                 this.wifiState = 'Off'; 
757 +               this.gpsState = 'Off';
758                 this.wifiRadio = false;
759                 this.dualRSSI = false;
760                 this.ruim = false;
761 @@ -25,6 +26,8 @@
762                 this.hideDataIcon = false;
763  
764                 this.appMenuModels = {};
765 +               this.appMenuConfig = null;
766 +               this.appMenuCookie = null;
767                 
768                 Mojo.Dom.get('rssi').className = 'nobars';
769                 Mojo.Dom.get('ev1x').className = 'nobars';
770 @@ -32,15 +35,24 @@
771                 Mojo.Dom.get('datanet').className = 'off';
772                 Mojo.Dom.get('wifi').className = 'off';
773                 Mojo.Dom.get('bluetooth').className = 'off';
774 +               Mojo.Dom.get('gps').className = 'off';
775 +               Mojo.Dom.get('ringer').className = 'off';
776 +               Mojo.Dom.get('devicemenu').className = "";
777                 Mojo.Dom.get('roaming').hide();
778                 Mojo.Dom.get('tty').hide();
779                 Mojo.Dom.get('hac').hide();
780                 Mojo.Dom.get('callforward').hide();
781                 Mojo.Dom.get('vpn').hide();
782 +               Mojo.Dom.get('appmenu').hide();
783  
784                 
785                 this.delayedOpenSearchEngineAvailable = Mojo.Function.debounce(undefined, this.handleOpenSearchEngineAvailable.bind(this), 10, this.controller.window);
786 -               this.showDeviceMenuFn = Mojo.Function.debounce(undefined, this.showDeviceMenu.bind(this), .10, this.controller.window);
787 +               this.showDeviceMenuFn = Mojo.Function.debounce(undefined, this.showDeviceMenu.bind(this, false), .10, this.controller.window);
788 +               this.showTodayMenuFn = Mojo.Function.debounce(undefined, this.showTodayMenu.bind(this, false), .10, this.controller.window);
789 +               this.showStatusMenuFn = Mojo.Function.debounce(undefined, this.showStatusMenu.bind(this, false), .10, this.controller.window);
790 +               this.editDeviceMenuFn = Mojo.Function.debounce(undefined, this.showDeviceMenu.bind(this, true), .10, this.controller.window);
791 +               this.editTodayMenuFn = Mojo.Function.debounce(undefined, this.showTodayMenu.bind(this, true), .10, this.controller.window);
792 +               this.editStatusMenuFn = Mojo.Function.debounce(undefined, this.showStatusMenu.bind(this, true), .10, this.controller.window);
793                 
794                 this.uiAlertsMethods["subscribeToBackupStatus"] = this.handleBackupStatusNotifications.bind(this);
795                 this.uiAlertsMethods["registerForLocationServiceNotifications"] = this.handleLocationServiceNotifications.bind(this);
796 @@ -57,9 +69,9 @@
797         
798                 this.getBuildName();
799                 
800 -               //Create the Device Menu Window. But do not do this if this is a frist use run.
801 +               //Create the System Menu Windows. But do not do this if this is a frist use run.
802                 if(!PalmSystem.isMinimal){
803 -                       this.showDeviceMenu();
804 +                       this.initSystemMenus();
805                 }       
806                                                 
807                 // Initialize the Battery Power Nofication and get the initial value
808 @@ -74,6 +86,9 @@
809                 //Get the Carrier Name by querying the Carrier DB
810                 this.getCarrierName();
811                 
812 +               // Initialize the Gps icon once the service is running
813 +               this.initOnServerStart("com.palm.location", this.gpsInit.bind(this), this.gpsDeinit.bind(this));
814 +               
815                 // Initialize the Bluetooth icon once the service is running
816                 this.initOnServerStart("com.palm.btmonitor", this.btMonitorInit.bind(this), this.btMonitorDeinit.bind(this));
817                 this.initOnServerStart("com.palm.bluetooth", this.btInit.bind(this), this.btDeInit.bind(this));
818 @@ -106,6 +121,9 @@
819                 //Subscribe to Powerd Notification.
820                 this.powerInit();
821                 
822 +               //Subscribe for Ringer Switch Status
823 +               this.ringerSwitchInit();
824 +
825                 //Subscribe to Application Manager 
826                 this.initOnServerStart("com.palm.applicationManager", this.appMgrInit.bind(this));
827                 
828 @@ -120,10 +138,65 @@
829  
830                 // Subscribe to mojodb
831                 this.initOnServerStart("com.palm.db", this.dbServiceInit.bind(this));
832 +
833 +               this.batteryIconMode = "icon";
834 +               this.batteryIconClass = "";
835 +               this.powerIconClass = "";
836 +               
837 +               this.getTweaksPrefs = new Mojo.Service.Request("palm://org.webosinternals.tweaks.prefs/", {
838 +                       method: 'get', parameters: {'owner': "org.webosinternals.patches.advanced-system-menus-framework", 
839 +                       keys: ["batteryIconMode","showGPSIcon","showRingerIcon","showRoamingIcon"]}, 
840 +                       onSuccess: function(response) {
841 +                               if(response) {
842 +                                       if(response.batteryIconMode != undefined) {
843 +                                               this.batteryIconMode = response.batteryIconMode;
844 +
845 +                                               if(this.batteryIconMode == "icon") {
846 +                                                       Mojo.Dom.get('power').style.display = "block";
847 +                                                       Mojo.Dom.get('battery').style.display = "none";
848 +                                                       this.powerIconClass = "";
849 +                                               }
850 +                                               else if(this.batteryIconMode == "value") {
851 +                                                       Mojo.Dom.get('power').style.display = "none";
852 +                                                       Mojo.Dom.get('battery').style.display = "block";
853 +                                                       this.batteryIconClass = "";
854 +                                               }
855 +                                               else {
856 +                                                       Mojo.Dom.get('power').style.display = "block";
857 +                                                       Mojo.Dom.get('battery').style.display = "block";
858 +                                                       Mojo.Dom.get('battery').className = "small";
859 +                                                       this.powerIconClass = "rotated ";
860 +                                                       this.batteryIconClass = "small ";
861 +                                               }
862 +                                       }
863 +                                       if(response.showGPSIcon == false)
864 +                                               Mojo.Dom.get('gps').style.display = 'none';
865 +                                       if(response.showRingerIcon == false)
866 +                                               Mojo.Dom.get('ringer').style.display = 'none';
867 +                                       if(response.showRoamingIcon == false)                                                                           
868 +                                               Mojo.Dom.get('roaming').style.display = 'none';
869 +                               }
870 +                       }.bind(this)});
871 +               
872 +               this.appMenuCookie = new Mojo.Model.Cookie("appMenu");
873 +               
874 +               this.appMenuConfig = this.appMenuCookie.get();
875 +
876 +               if(!this.appMenuConfig)
877 +                       this.appMenuConfig = {fullwidth: true};
878 +
879 +               if(this.appMenuConfig.fullwidth)
880 +                       Mojo.Dom.get('appmenu').className = "fullwidth";
881                                 
882 -               Mojo.Event.listen(Mojo.Dom.get('appmenu'),'mojo-tap', this.appMenuHandleTap.bindAsEventListener(this));
883 -               Mojo.Event.listen(Mojo.Dom.get('devicemenu'),'mojo-tap', this.deviceMenuHandleTap.bindAsEventListener(this));
884 -                                               
885 +               Mojo.Event.listen(Mojo.Dom.get('appmenu'),'mojo-tap', this.appMenuHandleTap.bindAsEventListener(this, false));
886 +               Mojo.Event.listen(Mojo.Dom.get('appmenu'),'mojo-hold', this.appMenuHandleTap.bindAsEventListener(this, true));
887 +               Mojo.Event.listen(Mojo.Dom.get('devicemenu'),'mojo-tap', this.deviceMenuHandleTap.bindAsEventListener(this, false));
888 +               Mojo.Event.listen(Mojo.Dom.get('devicemenu'),'mojo-hold', this.deviceMenuHandleTap.bindAsEventListener(this, true));
889 +               Mojo.Event.listen(Mojo.Dom.get('todaymenu'),'mojo-tap', this.todayMenuHandleTap.bindAsEventListener(this, false));
890 +               Mojo.Event.listen(Mojo.Dom.get('todaymenu'),'mojo-hold', this.todayMenuHandleTap.bindAsEventListener(this, true));
891 +               Mojo.Event.listen(Mojo.Dom.get('statusmenu'),'mojo-tap', this.statusMenuHandleTap.bindAsEventListener(this, false));
892 +               Mojo.Event.listen(Mojo.Dom.get('statusmenu'),'mojo-hold', this.statusMenuHandleTap.bindAsEventListener(this, true));
893 +                                                               
894                 this.registerForeGroundApp();
895                 this.registerStatusSettings();  
896                 
897 @@ -329,8 +402,9 @@
898         //If it is First Use, Do not change the App Name.
899         if(PalmSystem.isMinimal) {
900                 this.foregroundAppID = payload.id;
901 -               Mojo.Dom.get('appname').hide();
902 +               Mojo.Dom.get('appmenu').hide();
903                 Mojo.Dom.get('carrier').show();
904 +               Mojo.Dom.get('devicemenu').className = "";
905                 return;
906         }
907         
908 @@ -363,7 +437,8 @@
909                 
910                 if (!this.deviceLocked) {
911                         Mojo.Dom.get('carrier').hide();
912 -                       Mojo.Dom.get('appname').show();
913 +                       Mojo.Dom.get('appmenu').show();
914 +                       Mojo.Dom.get('devicemenu').className = "devicemenu-appmenu";
915                 }
916                 this.foregroundAppID = payload.id;
917                 
918 @@ -372,8 +447,9 @@
919                         this.closeTutorialDashboard();
920         }
921         else{
922 -               Mojo.Dom.get('appname').hide();
923 +               Mojo.Dom.get('appmenu').hide();
924                 Mojo.Dom.get('carrier').show();
925 +               Mojo.Dom.get('devicemenu').className = "";
926                 this.foregroundAppID=null;
927         }
928  },
929 @@ -460,11 +536,13 @@
930                 }
931                 if (payload.locked || this.foregroundAppID == null) {
932                         Mojo.Dom.get('carrier').show();
933 -                       Mojo.Dom.get('appname').hide();
934 +                       Mojo.Dom.get('appmenu').hide();
935 +                       Mojo.Dom.get('devicemenu').className = "";
936                 }
937                 else {
938                         Mojo.Dom.get('carrier').hide();
939 -                       Mojo.Dom.get('appname').show();
940 +                       Mojo.Dom.get('appmenu').show();
941 +                       Mojo.Dom.get('devicemenu').className = "devicemenu-appmenu";
942                 }
943         }       
944         
945 @@ -490,11 +568,30 @@
946         return false;
947  },
948  
949 -appMenuHandleTap: function(event) { //make service call here to show app's menu
950 +appMenuHandleTap: function(event, toggle) { //make service call here to show app's menu
951         //No App Menu for FirstUse.
952         if(PalmSystem.isMinimal)
953                 return;
954  
955 +       if(toggle) {
956 +               event.stop();
957 +       
958 +               if(this.appMenuConfig.fullwidth) {
959 +                       this.appMenuConfig.fullwidth = false;
960 +               
961 +                       Mojo.Dom.get('appmenu').className = "";
962 +               }
963 +               else{
964 +                       this.appMenuConfig.fullwidth = true;
965 +               
966 +                       Mojo.Dom.get('appmenu').className = "fullwidth";
967 +               }
968 +               
969 +               this.appMenuCookie.put(this.appMenuConfig);
970 +               
971 +               return;
972 +       }
973 +
974         var appMenuModel = this.appMenuModels[this.foregroundAppID];
975         var target = event.target;
976         while(target) {
977 @@ -537,7 +634,136 @@
978         }
979  },
980  
981 -deviceMenuHandleTap: function(event){//show/hide devicemenu
982 +// System menus
983 +
984 +initSystemMenus: function() {
985 +       this.showStatusMenu();
986 +       this.showTodayMenu();
987 +       this.showDeviceMenu();
988 +},
989 +
990 +closeSystemMenus: function(skip) {
991 +       if(skip != "status") {
992 +               var statusStageController = Mojo.Controller.getAppController().getStageController("StatusMenu");
993 +               
994 +               if(statusStageController)
995 +                       statusStageController.delegateToSceneAssistant("close");
996 +       }
997 +
998 +       if(skip != "today") {
999 +               var todayStageController = Mojo.Controller.getAppController().getStageController("TodayMenu");
1000 +               
1001 +               if(todayStageController)
1002 +                       todayStageController.delegateToSceneAssistant("close");
1003 +       }
1004 +       
1005 +       if(skip != "device") {
1006 +               var deviceStageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1007 +               
1008 +               if(deviceStageController)
1009 +                       deviceStageController.delegateToSceneAssistant("close");
1010 +       }
1011 +},
1012 +
1013 +// Status menu
1014 +
1015 +statusMenuHandleTap: function(event, edit) { //show/hide statusmenu
1016 +       // Ignore the notification if it's in First Use.
1017 +       
1018 +       if(edit)
1019 +               event.stop();
1020 +       
1021 +       if(PalmSystem.isMinimal)
1022 +               return;
1023 +       
1024 +       var target = event.target;
1025 +       var i = 0;
1026 +       var level = 2;
1027 +       
1028 +       while((target.getAttribute('id') != 'statusmenu') && (i < level)) {
1029 +               target = target.up();
1030 +               i++;
1031 +       }
1032 +       
1033 +       if(target) {
1034 +               if(target.getAttribute('id') == 'statusmenu') {
1035 +                       if((edit) || ((event.up) && (event.up.altKey)))
1036 +                               this.editStatusMenuFn();
1037 +                       else
1038 +                               this.showStatusMenuFn();
1039 +               }
1040 +       }
1041 +},
1042 +
1043 +showStatusMenu: function(edit) {
1044 +       var stageController = Mojo.Controller.getAppController().getStageController("StatusMenu");
1045 +       if (stageController) {
1046 +               this.closeSystemMenus("status");
1047 +               
1048 +               stageController.delegateToSceneAssistant("toggleStatusMenu", edit);
1049 +       } else {
1050 +               this.statusMenuCreatedHandler = this.statusMenuCreated.bind(this);
1051 +               Mojo.Controller.getAppController().createStageWithCallback({name:"StatusMenu",lightweight: true}, 
1052 +                       this.statusMenuCreatedHandler, "menu");
1053 +       }
1054 +},
1055 +
1056 +statusMenuCreated: function(stageController) {
1057 +       stageController.pushScene('statusmenu',this);
1058 +},
1059 +
1060 +// Today menu
1061 +
1062 +todayMenuHandleTap: function(event, edit) { //show/hide todaymenu
1063 +       //Ignore the notification if it's in First Use.
1064 +       
1065 +       if(edit)
1066 +               event.stop();
1067 +       
1068 +       if(PalmSystem.isMinimal)
1069 +               return;
1070 +       
1071 +       var target = event.target;
1072 +       var i = 0;
1073 +       var level = 2;
1074 +       
1075 +       while((target.getAttribute('id') != 'todaymenu') && (i < level)) {
1076 +               target = target.up();
1077 +               i++;
1078 +       }
1079 +       
1080 +       if(target) {
1081 +               if(target.getAttribute('id') == 'todaymenu') {
1082 +                       if((edit) || ((event.up) && (event.up.altKey)))
1083 +                               this.editTodayMenuFn();
1084 +                       else
1085 +                               this.showTodayMenuFn();
1086 +               }                       
1087 +       }
1088 +},
1089 +
1090 +showTodayMenu: function(edit) {
1091 +       var stageController = Mojo.Controller.getAppController().getStageController("TodayMenu");
1092 +       if (stageController) {
1093 +               this.closeSystemMenus("today");
1094 +               
1095 +               stageController.delegateToSceneAssistant("toggleTodayMenu", edit);
1096 +       } else {
1097 +               this.todayMenuCreatedHandler = this.todayMenuCreated.bind(this);
1098 +               Mojo.Controller.getAppController().createStageWithCallback({name:"TodayMenu",lightweight: true}, 
1099 +                       this.todayMenuCreatedHandler, "menu");
1100 +       }
1101 +},
1102 +
1103 +todayMenuCreated: function(stageController) {
1104 +       stageController.pushScene('todaymenu',this);
1105 +},
1106 +
1107 +// Device menu
1108 +
1109 +deviceMenuHandleTap: function(event, edit){//show/hide devicemenu
1110 +       if(edit)
1111 +               event.stop();
1112         
1113         //Ignore the notification if it's in First Use.
1114         if(PalmSystem.isMinimal)
1115 @@ -554,16 +780,21 @@
1116                 i++;
1117         }
1118         if (target) {
1119 -               if(target.getAttribute('id') == 'devicemenu'){//show/hide deviceMenu
1120 -                       this.showDeviceMenuFn();
1121 +               if(target.getAttribute('id') == 'devicemenu') {
1122 +                       if((edit) || ((event.up) && (event.up.altKey)))
1123 +                               this.editDeviceMenuFn();
1124 +                       else
1125 +                               this.showDeviceMenuFn();
1126                 }
1127         }
1128  },
1129  
1130 -showDeviceMenu: function() {
1131 +showDeviceMenu: function(edit) {
1132                 var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1133                 if (stageController) {
1134 -                       stageController.delegateToSceneAssistant("toggleDeviceMenu");
1135 +                       this.closeSystemMenus("device");
1136 +                       
1137 +                       stageController.delegateToSceneAssistant("toggleDeviceMenu", edit);                     
1138                 } else {
1139                         this.deviceMenuCreatedHandler = this.deviceMenuCreated.bind(this);
1140                         Mojo.Controller.getAppController().createStageWithCallback({
1141 @@ -701,6 +932,13 @@
1142                                 this.callForwardNotificationSession = null;     
1143                         }
1144                 }
1145 +               
1146 +               var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1147 +               
1148 +               if (stageController) {
1149 +                       stageController.delegateToSceneAssistant("updatePhoneState");
1150 +               }
1151 +               
1152                 this.updatePhoneAppName();
1153         }
1154  },
1155 @@ -835,6 +1073,13 @@
1156                         Mojo.Dom.get('roaming').hide();
1157                         break;                  
1158         }
1159 +       
1160 +       var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1161 +               
1162 +       if (stageController) {
1163 +               stageController.delegateToSceneAssistant("updatePhoneState");
1164 +       }
1165 +       
1166         this.updatePhoneAppName();
1167         this.handleNetworkStatus.cancel();
1168  },
1169 @@ -901,7 +1146,12 @@
1170                         this.updatePhoneAppName();
1171                         break;
1172         }       
1173 -       
1174 +
1175 +       var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1176 +               
1177 +       if (stageController) {
1178 +               stageController.delegateToSceneAssistant("updatePhoneState");
1179 +       }       
1180  },
1181  
1182  handleSignalStrengthQueryNotification: function(payload) {
1183 @@ -1426,8 +1676,14 @@
1184                                 this.createUSBDashboard();
1185                         }
1186                 }               
1187 -               
1188         }
1189 +
1190 +       var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1191 +       
1192 +       if (stageController) {
1193 +               stageController.delegateToSceneAssistant("updatePhoneState");
1194 +       }
1195 +
1196         this.updatePhoneAppName();
1197  },
1198  
1199 @@ -1825,6 +2081,51 @@
1200  },
1201  
1202  /*
1203 +* Initialize GPS status on device menu
1204 +*/
1205 +
1206 +gpsInit:function(payload) {
1207 +       // Initial value
1208 +       this.gpsState = 'Off';
1209 +       
1210 +       this.gpsGetRadioStatus();
1211 +},
1212 +
1213 +gpsGetRadioStatus:function() {
1214 +       if(this.gpsRadioStatusRequest) {
1215 +               this.gpsRadioStatusRequest.cancel();
1216 +       }
1217 +       
1218 +       this.gpsRadioStatusRequest = new Mojo.Service.Request('palm://com.palm.location/',{
1219 +               method:'getUseGps', parameters: {},
1220 +               onSuccess: this.gpsHandleRadioStatus.bind(this)
1221 +       });
1222 +},
1223 +
1224 +gpsHandleRadioStatus:function(payload) {
1225 +       if (payload.useGps != undefined) {
1226 +               if(payload.useGps) {
1227 +                       this.gpsState = 'On';
1228 +                       Mojo.Dom.get('gps').className = 'on';
1229 +               }                       
1230 +               else {
1231 +                       this.gpsState = 'Off';
1232 +                       Mojo.Dom.get('gps').className = 'off';
1233 +               }
1234 +
1235 +               // Update the Device Menu
1236 +               var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1237 +               
1238 +               if (stageController) {
1239 +                       stageController.delegateToSceneAssistant("updateGPSState");
1240 +               }
1241 +       }
1242 +},
1243 +
1244 +gpsDeinit:function(payload) {
1245 +},
1246 +
1247 +/*
1248   * Initialize Bluetooth icon on status bar 
1249   */
1250  btInit:function(payload){
1251 @@ -2037,6 +2338,8 @@
1252   * Handle power and charging notifications
1253   */
1254  handlePowerNotifications: function(payload) {
1255 +
1256 +       this.gpsGetRadioStatus();
1257         
1258         Mojo.Log.info("SystemUI Power Payload "+ Object.toJSON(payload));
1259         if(!this.powerdServiceUp) {
1260 @@ -2047,6 +2350,10 @@
1261                 this.queryBatteryStatusReq.cancel();
1262                 this.queryBatteryStatusReq = undefined;
1263         }       
1264 +       // Is the temperature info provided?
1265 +       if(payload.temperature_C) {
1266 +               this.batteryTemp = payload.temperature_C;
1267 +       }
1268         // Is the battery level provided?
1269         if (payload.percent_ui != undefined) {
1270                 
1271 @@ -2064,8 +2371,12 @@
1272                         // Show the battery level if not charging
1273                         if (!this.isCharging) {
1274                                 Mojo.Log.info("SystemUI- Is Charging "+ this.isCharging + " Battery level "+ i);
1275 -                               Mojo.Dom.get('power').className = 'battery-' + i;
1276 -                               
1277 +                               Mojo.Dom.get('power').className = this.powerIconClass + 'battery-' + i;
1278 +                               if(this.batteryIconMode != "icon") {
1279 +                                       Mojo.Dom.get('battery').className = this.batteryIconClass + this.getBatteryLevelColor();
1280 +                                       Mojo.Dom.get('battery').innerHTML = this.batteryLevel + unescape('%');
1281 +                               }
1282 +                                                               
1283                                 //Show Banner Message if the Battery level is below 20%
1284                                 var batteryalert = $L("#{percent_ui}% battery remaining").interpolate(payload); 
1285                                 if(this.batteryLevel <= 5 && !this.batteryLevel5Shown) {
1286 @@ -2099,10 +2410,14 @@
1287                         else {
1288                                 Mojo.Log.info("SystemUI- Is Charging "+ this.isCharging );
1289                                 if(payload.percent_ui == 100)
1290 -                                       Mojo.Dom.get('power').className = 'battery-charged';
1291 +                                       Mojo.Dom.get('power').className = this.powerIconClass + 'battery-charged';
1292                                 else
1293 -                                       Mojo.Dom.get('power').className = 'battery-charging-' + i;
1294 +                                       Mojo.Dom.get('power').className = this.powerIconClass + 'battery-charging-' + i;
1295                                         
1296 +                               if(this.batteryIconMode != "icon") {
1297 +                                       Mojo.Dom.get('battery').className = this.batteryIconClass + this.getBatteryLevelColor();
1298 +                                       Mojo.Dom.get('battery').innerHTML = this.batteryLevel + unescape('%');
1299 +                               }
1300                         }
1301                         
1302                         if(this.batteryLevel > 5 && this.batteryLevel <= 10) {                          
1303 @@ -2117,7 +2432,10 @@
1304                         //Update the System Menu
1305                         var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1306                         if (stageController) {
1307 -                               stageController.delegateToSceneAssistant("updateBatteryLevel", this.batteryLevel);                      
1308 +                               if(this.isCharging)
1309 +                                       stageController.delegateToSceneAssistant("updateBatteryInfo", this.batteryLevel, "Charging");
1310 +                               else
1311 +                                       stageController.delegateToSceneAssistant("updateBatteryInfo", this.batteryLevel, "Discharging");
1312                         }
1313                         
1314                          //Update the Software Update Alert
1315 @@ -2147,9 +2465,14 @@
1316                 if (this.isCharging) {
1317                         Mojo.Log.info("SystemUI- Charger Notification "+ this.isCharging + " Last battery level "+ this.lastBatteryLevel);
1318                         if(this.batteryLevel == 100)
1319 -                               Mojo.Dom.get('power').className = 'battery-charged';
1320 +                               Mojo.Dom.get('power').className = this.powerIconClass + 'battery-charged';
1321                         else
1322 -                               Mojo.Dom.get('power').className = 'battery-charging-' + this.lastBatteryLevel;
1323 +                               Mojo.Dom.get('power').className = this.powerIconClass + 'battery-charging-' + this.lastBatteryLevel;
1324 +
1325 +                       if(this.batteryIconMode != "icon") {
1326 +                               Mojo.Dom.get('battery').className = this.batteryIconClass + this.getBatteryLevelColor();
1327 +                               Mojo.Dom.get('battery').innerHTML = this.batteryLevel + unescape('%');
1328 +                       }
1329                                                 
1330                         var stageController = Mojo.Controller.getAppController().getStageController("LowBatteryAlert");
1331                         if (stageController) {
1332 @@ -2173,7 +2496,13 @@
1333                 else {
1334                         this.chargingBannerShown = false;                       
1335                         Mojo.Log.info("SystemUI- Charger Notification "+ this.isCharging + " Last battery level "+ this.lastBatteryLevel);
1336 -                       Mojo.Dom.get('power').className = 'battery-' + this.lastBatteryLevel;   
1337 +                       Mojo.Dom.get('power').className = this.powerIconClass + 'battery-' + this.lastBatteryLevel;     
1338 +
1339 +                       if(this.batteryIconMode != "icon") {
1340 +                               Mojo.Dom.get('battery').className = this.batteryIconClass + this.getBatteryLevelColor();
1341 +                               Mojo.Dom.get('battery').innerHTML = this.batteryLevel + unescape('%');
1342 +                       }
1343 +
1344                         Mojo.Controller.getAppController().removeBanner('chargingAlert');       
1345                         if (this.batteryLevel < this.minBatThresholdForUpdate) {
1346                                 Mojo.Log.info("SystemUI - OTA - Closing All Update Alerts due to battery level dropped below threshold level and charger disconnected.");
1347 @@ -2225,6 +2554,36 @@
1348         return this.batteryLevel;
1349  },
1350  
1351 +getBatteryState: function() {
1352 +       if(this.isCharging)
1353 +               return "Charging";
1354 +       else
1355 +               return "Discharging";
1356 +},
1357 +
1358 +getBatteryLevelColor: function() {
1359 +       var levelColor = "";
1360 +
1361 +       if(this.batteryIconMode.indexOf("icon") == -1) {
1362 +               if(this.isCharging)
1363 +                       levelColor = "charging";
1364 +               else if(this.batteryLevel >= 70) 
1365 +                       levelColor = "full";
1366 +               else if(this.batteryLevel < 70 && this.batteryLevel >= 45) 
1367 +                       levelColor = "medium";
1368 +               else if(this.batteryLevel < 45 && this.batteryLevel >= 20)
1369 +                       levelColor = "low";
1370 +               else if(this.batteryLevel < 20)
1371 +                       levelColor = "critical";
1372 +       }
1373 +       
1374 +       return levelColor;
1375 +},
1376 +
1377 +getBatteryTemp: function() {
1378 +       return this.batteryTemp;
1379 +},
1380 +
1381  queryBatteryStatus: function() {
1382         this.queryBatteryStatusReq = new Mojo.Service.Request('palm://com.palm.power/com/palm/power/', {
1383                 method: 'batteryStatusQuery',});
1384 @@ -2238,6 +2597,7 @@
1385         this.lastBatteryLevel = 0;
1386         this.chargingBannerShown = false;
1387         this.batteryLevel = 0;
1388 +       this.batteryTemp = 0;
1389         // Subscribe to Battery Power Notifications
1390         this.powerNotificationSession = new Mojo.Service.Request('palm://com.palm.bus/signal/', {
1391                 method: 'addmatch',
1392 @@ -2274,7 +2634,7 @@
1393  
1394  powerDeInit: function() {
1395         Mojo.Log.error("SystemUI - Power service not available on the bus!");
1396 -       Mojo.Dom.get('power').className = 'error';
1397 +       Mojo.Dom.get('power').className = this.powerIconClass + 'error';
1398         this.powerSource['usb'] = false;
1399         this.powerSource['inductive'] = false;
1400         this.powerdServiceUp = false;
1401 @@ -2287,6 +2647,27 @@
1402  },
1403  
1404  /*
1405 + * Initialize ringer switch
1406 + */
1407 +
1408 +ringerSwitchInit: function() {
1409 +       this.controller.serviceRequest('palm://com.palm.keys/switches', {
1410 +               method:'status', parameters: {"subscribe":true},
1411 +               onSuccess: function(payload) {
1412 +                       this.controller.serviceRequest('palm://com.palm.audio/media', {
1413 +                               method:'status',
1414 +                               onSuccess: function(response) {
1415 +                                       if(!response['ringer switch'])
1416 +                                               Mojo.Dom.get('ringer').className = 'off';
1417 +                                       else
1418 +                                               Mojo.Dom.get('ringer').className = 'on';   
1419 +                               }.bind(this)
1420 +                       });
1421 +               }.bind(this)
1422 +       });
1423 +},
1424 +
1425 +/*
1426   * Handle WAN notifications
1427   */
1428  handleWANNotifications: function(payload) {
1429 @@ -2296,6 +2677,22 @@
1430          if(payload.returnValue != undefined && payload.returnValue)
1431                 return;
1432                 
1433 +        if(payload.disablewan === 'on')
1434 +               this.dataConnState = false;
1435 +        else if(payload.disablewan === 'off')
1436 +               this.dataConnState = true;
1437 +
1438 +       var stageController = Mojo.Controller.getAppController().getStageController("DeviceMenu");
1439 +               
1440 +       if (stageController) {
1441 +               stageController.delegateToSceneAssistant("updateDataState");
1442 +       }
1443 +
1444 +        if(payload.roamGuard === 'disable')
1445 +               this.dataRoamState = true;
1446 +        else if(payload.roamGuard === 'enable')
1447 +               this.dataRoamState = false;
1448 +        
1449          var mipFailureCode, causeCode; 
1450                         
1451          if (payload.networkstatus == "attached" && payload.connectedservices && payload.connectedservices.length > 0) { 
1452 @@ -3023,6 +3420,10 @@
1453                 if (stageController) {
1454                         stageController.delegateToSceneAssistant("updateAirplaneModeProgress");
1455                 }       
1456 +               var stageController2 = Mojo.Controller.getAppController().getStageController("StatusMenu");     
1457 +               if (stageController2) {
1458 +                       stageController2.delegateToSceneAssistant("updateAirplaneModeProgress");
1459 +               }       
1460                 if (this.airplaneMode === false) 
1461                         this.disableFlightMode();
1462                 else {
1463 @@ -3034,6 +3435,10 @@
1464                 if (stageController) {
1465                         stageController.delegateToSceneAssistant("updateAirplaneModeSettings");
1466                 }
1467 +               var stageController2 = Mojo.Controller.getAppController().getStageController("StatusMenu");     
1468 +               if (stageController2) {
1469 +                       stageController2.delegateToSceneAssistant("updateAirplaneModeSettings");
1470 +               }       
1471         }       
1472         this.airplaneModeInitialQueryDone = true;
1473         if(this.telephonyPowerQueryPayload) {
1474 @@ -3057,6 +3462,14 @@
1475                 });     
1476  },
1477  
1478 +getAirplaneModeInProgress: function() {
1479 +       return this.apModeInProgress;
1480 +},
1481 +
1482 +setAirplaneModeInProgress: function(inprogress) {
1483 +       this.apModeInProgress = inprogress;
1484 +},
1485 +
1486  //Disable Airplane Mode by turning on Phone and other radios.
1487  disableFlightMode: function() {
1488         Mojo.Log.info("System UI - Disabling Airplane Mode");
1489 @@ -3192,6 +3605,12 @@
1490                 this.airplaneModeTriggered = false;
1491                 stageController.delegateToSceneAssistant("updateAirplaneModeSettings");
1492         }       
1493 +
1494 +       var stageController2 = Mojo.Controller.getAppController().getStageController("StatusMenu");     
1495 +
1496 +       if (apModeDone && stageController2) {
1497 +               stageController2.delegateToSceneAssistant("updateAirplaneModeProgress");
1498 +       }       
1499  },
1500  
1501  //Clear the Hash before enable / disable the Airplane mode
1502 @@ -3312,6 +3731,51 @@
1503                         
1504  },
1505  
1506 +getCurrentPhoneState: function() {
1507 +       if(this.phoneRadioState) {
1508 +               if((this.carrierText.length > 0) &&
1509 +                       (this.currentCarrierText != "Network search...") &&
1510 +                       (this.currentCarrierText != "Searching...") &&
1511 +                       (this.currentCarrierText != "Airplane Mode") &&
1512 +                       (this.currentCarrierText != "Phone offline") &&
1513 +                       (this.currentCarrierText != "SIM lock") &&
1514 +                       (this.currentCarrierText != "Check SIM") &&
1515 +                       (this.currentCarrierText != "No service") &&
1516 +                       (this.currentCarrierText != "Check SIM-SOS only") &&
1517 +                       (this.currentCarrierText != "SIM lock-SOS only") &&
1518 +                       (this.currentCarrierText != "SOS Only"))
1519 +               {
1520 +                       return this.carrierText;
1521 +               }
1522 +               else
1523 +                       return 'On';
1524 +       }
1525 +       else
1526 +               return 'Off';
1527 +},
1528 +
1529 +getCurrentDataState: function() {
1530 +       if(this.dataConnState) {
1531 +               if(this.carrierText.length > 0)
1532 +                       return this.carrierText;
1533 +               else
1534 +                       return 'On';
1535 +       }
1536 +       else
1537 +               return 'Off';
1538 +},
1539 +
1540 +getRoamingDataState: function() {      
1541 +       if(this.dataRoamState)
1542 +               return 'On';
1543 +       else
1544 +               return 'Off';
1545 +},
1546 +
1547 +getCurrentGpsState: function() {
1548 +       return this.gpsState;
1549 +},
1550 +
1551  getCurrentBluetoothState: function() {
1552         return this.bluetoothState;
1553  },
1554 @@ -4731,6 +5195,8 @@
1555         // Telephony Variables
1556         phoneType: null,
1557         phoneRadioState: null,
1558 +       dataConnState: null,
1559 +       dataRoamState: null,
1560         phoneRadioNotificationSession: null,
1561         signalNotificationSession: null,
1562         networkNotificationSession: null,
1563 --- .orig/usr/lib/luna/system/luna-systemui/app/views/bar/bar-scene.html
1564 +++ /usr/lib/luna/system/luna-systemui/app/views/bar/bar-scene.html
1565 @@ -5,15 +5,11 @@
1566                         <span id="today"></span> 
1567                 </div>
1568         </div>
1569 -       <div id="appmenu">
1570 -               <div id="carrier" class="carrier-wrapper truncating-text"></div>
1571 -               <div class="appname-container">
1572 -                       <div id="appname" class="appname-wrapper truncating-text"></div>
1573 -               </div>
1574 -       </div>
1575  
1576         <div id="devicemenu">
1577 +               <span id="battery" style="display:none;"></span>
1578                 <div id="power"></div>
1579 +               <div id="ringer"></div>
1580                 <div id="rssi"></div>
1581                 <div id="ev1x">
1582                         <div id="rssi-ev"></div>
1583 @@ -24,8 +20,21 @@
1584                 <div id="wifi"></div>
1585                 <div id="vpn"></div>
1586                 <div id="bluetooth"></div>
1587 +               <div id="gps"></div>
1588                 <div id="tty"></div>
1589                 <div id="callforward"></div>
1590                 <div id="hac"></div>
1591         </div>
1592 -</div>
1593 \ No newline at end of file
1594 +
1595 +       <div id="statusmenu">
1596 +               <div id="carrier" class="carrier-wrapper truncating-text"></div>                                
1597 +       </div>
1598 +       
1599 +       <div id="todaymenu"></div>
1600 +       
1601 +       <div id="appmenu">
1602 +               <div class="appname-container">
1603 +                       <div id="appname" class="appname-wrapper truncating-text"></div>
1604 +               </div>
1605 +       </div>
1606 +</div>
1607 --- .orig/usr/lib/luna/system/luna-systemui/stylesheets/systemui.css
1608 +++ /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css
1609 @@ -120,6 +120,7 @@
1610  
1611  /* device menu icons */
1612  
1613 +#battery,
1614  #power,
1615  #rssi,
1616  #roaming,
1617 @@ -130,6 +131,7 @@
1618  #tty,
1619  #hac,
1620  #callforward,
1621 +#ringer,
1622  #gps,
1623  #ev1x {
1624         float: right;
1625 @@ -141,11 +143,63 @@
1626         background-repeat: no-repeat;
1627  }
1628  
1629 +#battery { 
1630 +       margin-left: 2px;
1631 +       position: relative;
1632 +       bottom: 3px;
1633 +       font-size: 16px;
1634 +       margin-right: 2px;
1635 +       padding-top: 1px;
1636 +       min-width: 22px;
1637 +       text-align: center;
1638 +}
1639 +
1640 +#battery.small { 
1641 +       margin-left: 2px;
1642 +       position: relative;
1643 +       bottom: 11px;
1644 +       font-size: 10px;
1645 +       margin-right: 2px;
1646 +       min-width: 22px;
1647 +       text-align: center;
1648 +}
1649 +
1650 +#battery.charging {
1651 +       color: #33CCFF;
1652 +}
1653 +
1654 +#battery.full {
1655 +       color: #33FF33;
1656 +}
1657 +
1658 +#battery.medium {
1659 +       color: #FFFF33;
1660 +}
1661 +
1662 +#battery.low {
1663 +       color: #FFCC00;
1664 +}
1665 +
1666 +#battery.critical {
1667 +       color: #FF0000;
1668 +}
1669 +
1670  #power {
1671         margin-left: 2px;
1672         width: 17px;            
1673  }
1674  
1675 +#power.rotated {
1676 +       position:absolute;
1677 +       right: 2px;
1678 +       top: 9px;
1679 +       margin-top: 0px;
1680 +       margin-right: 1px;
1681 +       height: 20px;
1682 +       width: 20px;
1683 +       -webkit-transform: rotate(270deg);
1684 +}
1685 +
1686  #power.error { background-image: url(../images/battery-error.png); }
1687  #power.battery-0 { background-image: url(../images/battery-0.png); }
1688  #power.battery-1 { background-image: url(../images/battery-1.png); }
1689 @@ -174,6 +228,18 @@
1690  #power.battery-charging-11 { background-image: url(../images/battery-charging-11.png); }
1691  #power.battery-charged { background-image: url(../images/battery-charged.png); }
1692  
1693 +#ringer {
1694 +       width: 20px;
1695 +}
1696 +
1697 +#ringer.off {
1698 +       background: url(../../../../../palm/applications/com.palm.app.soundsandalerts/images/prefs-mute.png) center left no-repeat;
1699 +}
1700 +
1701 +#ringer.on {
1702 +       display: none;
1703 +}
1704 +
1705  #rssi {
1706         width: 19px;
1707  }
1708 @@ -274,6 +340,18 @@
1709  #bluetooth.connecting { background-image: url(../images/bluetooth-connecting.png); }
1710  #bluetooth.connected { background-image: url(../images/bluetooth-connected.png); }
1711  
1712 +#gps.off {
1713 +       display: none;
1714 +}
1715 +
1716 +#gps.on {
1717 +       background: url(../images/gps-on.png) center center no-repeat;
1718 +}
1719 +
1720 +#gps.active{
1721 +       background: url(../images/gps-active.png) center center no-repeat;
1722 +}
1723 +
1724  #tty {
1725         width: 16px;
1726         background-image: url(../images/tty.png);
1727 @@ -309,3 +387,27 @@
1728  .in-drawer-list .palm-row.last {
1729         background: url(../images/list-separator-dark-taper.png) bottom left no-repeat !important;
1730  }
1731 +
1732 +#statusmenu {
1733 +       color: #fff;
1734 +       position: fixed;
1735 +       margin: 0;
1736 +       top: 0;
1737 +       left: 0;
1738 +       height: 28px;
1739 +       width: 110px;
1740 +       padding: 0;
1741 +}
1742 +
1743 +#todaymenu {
1744 +       color: #fff;
1745 +       position: fixed;
1746 +       margin: 0;
1747 +       top: 0;
1748 +       left: 110px;
1749 +       right: 110px;
1750 +       height: 28px;
1751 +       width: 100px;
1752 +       padding: 0;
1753 +}
1754 +
1755 --- .orig/usr/palm/applications/com.palm.app.screenlock/resources/de/strings.json
1756 +++ /usr/palm/applications/com.palm.app.screenlock/resources/de/strings.json
1757 @@ -66,5 +66,9 @@
1758         "Wallpaper": "Hintergrund",
1759         "Zero": "Null",
1760         "confirm password...": "Kennwort bestätigen…",
1761 -       "enter password...": "Kennwort eingeben…"
1762 +       "enter password...": "Kennwort eingeben…",
1763 +       "Enter Password": "Kennwort eingeben",
1764 +       "Enter New Password": "Neues Kennwort eingeben",
1765 +       "Password...": "Kennwort...",
1766 +       "Password Again...": "Kennwort bestätigen..."
1767  }
1768 --- .orig/usr/palm/applications/com.palm.app.screenlock/resources/es/strings.json
1769 +++ /usr/palm/applications/com.palm.app.screenlock/resources/es/strings.json
1770 @@ -67,5 +67,9 @@
1771         "Wallpaper": "Imagen de fondo",
1772         "Zero": "Cero",
1773         "confirm password...": "confirmar contraseña…",
1774 -       "enter password...": "introducir contraseña…"
1775 +       "enter password...": "introducir contraseña…",
1776 +       "Enter Password": "Introducir contraseña",
1777 +       "Enter New Password": "Introducir nueva contraseña",
1778 +       "Password...": "Contraseña...",
1779 +       "Password Again...": "Repita contraseña..."
1780  }
1781 --- .orig/usr/palm/applications/com.palm.app.screenlock/resources/fr/strings.json
1782 +++ /usr/palm/applications/com.palm.app.screenlock/resources/fr/strings.json
1783 @@ -62,5 +62,9 @@
1784         "Wallpaper": "fond d'écran",
1785         "Zero": "Zéro",
1786         "confirm password...": "confirmer le mot de passe…",
1787 -       "enter password...": "entrer le mot de passe…"
1788 +       "enter password...": "entrer le mot de passe…",
1789 +       "Enter Password": "Entrer mot de passe",
1790 +       "Enter New Password": "Entrer nouveau mot de passe",
1791 +       "Password...": "Mot de passe...",
1792 +       "Password Again...": "Confirmer mot de passe..."
1793  }
1794 --- .orig/usr/palm/applications/com.palm.app.screenlock/resources/it/strings.json
1795 +++ /usr/palm/applications/com.palm.app.screenlock/resources/it/strings.json
1796 @@ -64,5 +64,9 @@
1797         "Unlock": "Sblocca",
1798         "Wallpaper": "Sfondo",
1799         "confirm password...": "confermare la password…",
1800 -       "enter password...": "inserire la password…"
1801 +       "enter password...": "inserire la password…",
1802 +       "Enter Password": "Inserire la password",
1803 +       "Enter New Password": "Inserire la nuova password",
1804 +       "Password...": "Password...",
1805 +       "Password Again...": "Password di nuovo..."
1806  }