12 new, 4 updated for 1.3.5
[webos-internals:modifications.git] / app-launcher / app-launcher-reset-to-middle-page.patch
1 --- /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js.orig    Sat Dec  5 11:48:12 2009
2 +++ /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js Thu Dec  3 19:42:03 2009
3 @@ -183,6 +183,22 @@
4                 delete this.launchRequest;
5                 
6                 this.removeLaunchFeedback();
7 +       
8 +               /**
9 +                * Calculate middle page. For an even number of pages,
10 +                * this will be the lower side of the mid-point.
11 +                */
12 +               var numPages=this.pagesModel.getNumPages();
13 +               var middlePage = (numPages % 2) ? (numPages - 1) / 2: numPages / 2 - 1;
14 +               
15 +               /* Reset launcher to middle page */
16 +               $('launcher_root').mojo.setSnapIndex(middlePage, false);
17 +               
18 +               /* Jump scroll position back to top for all pages */
19 +               for (var i=0; i<numPages; i++) {
20 +                       var scroller = this.getPageScroller(i);
21 +                       if (scroller && scroller.mojo) { scroller.mojo.revealTop(); }
22 +               }
23         },
24         
25         onResize: function(event) {
26 @@ -529,6 +545,15 @@
27                 }
28                 
29                 this.globalSearchAssistant.enable(true);
30 +               
31 +               /**
32 +                * Calculate middle page. For an even number of pages,
33 +                * this will be the lower side of the mid-point.
34 +                */
35 +               var middlePage = (numPages % 2) ? (numPages - 1) / 2: numPages / 2 - 1;
36 +               
37 +               /* Set launcher to middle page */
38 +               $('launcher_root').mojo.setSnapIndex(middlePage, false);
39         },
40         
41         /* re-acquires the set of page elements the scroller needs to snap */