Commit eada341a7053f7b45d7953d0e26936e7348a95a2
- Diff rendering mode:
- inline
- side by side
|   | |||
| 1 | Name: Launcher Auto-Popup | ||
| 2 | Version: 1.3.5-1 | ||
| 3 | Author: Jason Robitaille | ||
| 4 | Description: Will bring up launcher on system boot. Also, upon turning the screen on, if no cards are in focus, the launcher will pop up. (MIT license) | ||
| 5 | |||
| 6 | --- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js | ||
| 7 | +++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js | ||
| 8 | @@ -58,6 +58,10 @@ | ||
| 9 | this.storageInit(); | ||
| 10 | |||
| 11 | //Initialize and Subscribe for Power Off Notification. | ||
| 12 | + this.controller.serviceRequest('palm://com.palm.systemmanager', { | ||
| 13 | + method: 'systemUi', | ||
| 14 | + parameters: {launcher:true} | ||
| 15 | + }); | ||
| 16 | this.powerOffInit(); | ||
| 17 | |||
| 18 | //Subscribe to Powerd Notification. | ||
| 19 | @@ -2318,6 +2322,22 @@ | ||
| 20 | }, | ||
| 21 | onSuccess: this.powerOffHandleNotifications.bind(this) | ||
| 22 | }); | ||
| 23 | + this.displayChanged = this.controller.serviceRequest('palm://com.palm.display/control', { | ||
| 24 | + method:'status', | ||
| 25 | + parameters:{ | ||
| 26 | + subscribe:true | ||
| 27 | + }, | ||
| 28 | + onSuccess: function(response) { | ||
| 29 | + if(response && response.event) { | ||
| 30 | + if(response.event=="displayOn" && this.foregroundAppID==null) { | ||
| 31 | + this.controller.serviceRequest('palm://com.palm.systemmanager', { | ||
| 32 | + method: 'systemUi', | ||
| 33 | + parameters: {launcher:true} | ||
| 34 | + }); | ||
| 35 | + } | ||
| 36 | + } | ||
| 37 | + }.bind(this) | ||
| 38 | + }); | ||
| 39 | }, | ||
| 40 | |||
| 41 |
|   | |||
| 1 | Name: Page Selection Tabs in App Launcher | ||
| 2 | Version: 1.0.0 | ||
| 3 | Author: l.m.orchard@pobox.com | ||
| 4 | Description: This patch adds a row of view menu tabs for quick access to any page of the App Launcher (MIT License) | ||
| 5 | |||
| 6 | Index: /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js | ||
| 7 | =================================================================== | ||
| 8 | --- .orig/usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js | ||
| 9 | +++ /usr/lib/luna/system/luna-applauncher/app/controllers/launcher-assistant.js | ||
| 10 | @@ -17,6 +17,7 @@ var LauncherAssistant = Class.create({ | ||
| 11 | kAppsPerRow: NaN, | ||
| 12 | kAppHeight: NaN, | ||
| 13 | kAppWidth: NaN, | ||
| 14 | + kMaxPageSelectorTabs: 5, | ||
| 15 | /* constant end */ | ||
| 16 | |||
| 17 | appMenuModel: { | ||
| 18 | @@ -76,6 +77,18 @@ var LauncherAssistant = Class.create({ | ||
| 19 | onAppUpdated: this.onAppUpdated.bind(this) | ||
| 20 | } | ||
| 21 | ); | ||
| 22 | + | ||
| 23 | + // Set up an initial blank view menu widget for page selection. (LMO) | ||
| 24 | + this.viewMenuModel = { | ||
| 25 | + label: $L('Launcher pages'), items: [ | ||
| 26 | + { items: [] }, | ||
| 27 | + { label: $L('Pages'), items: [] }, | ||
| 28 | + { items: [] } | ||
| 29 | + ] | ||
| 30 | + }; | ||
| 31 | + this.controller.setupWidget( | ||
| 32 | + Mojo.Menu.viewMenu, { menuClass: 'no-fade' }, this.viewMenuModel | ||
| 33 | + ); | ||
| 34 | |||
| 35 | this.globalSearchAssistant = new GlobalSearchAssistant(this.controller, this); | ||
| 36 | |||
| 37 | @@ -114,6 +127,14 @@ var LauncherAssistant = Class.create({ | ||
| 38 | |||
| 39 | handleCommand: function(event) { | ||
| 40 | if (event.type == Mojo.Event.command) { | ||
| 41 | + | ||
| 42 | + // Check for pageselect_{number} commands to switch pages. (LMO) | ||
| 43 | + var m; | ||
| 44 | + if (m = (/^pageselect_(\d+)$/.exec(event.command))) { | ||
| 45 | + // Note: parseInt() needed here so scroller math doesn't break | ||
| 46 | + return this.gotoPage(parseInt(m[1])); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | switch (event.command) { | ||
| 50 | case Mojo.Menu.helpCmd: | ||
| 51 | ApplicationService.launch(this.helpInfo.id, this.helpInfo.params); | ||
| 52 | @@ -260,6 +281,7 @@ var LauncherAssistant = Class.create({ | ||
| 53 | |||
| 54 | // tell our scroller widget that it has a new page element to snap | ||
| 55 | this.updatePageSnappingPoints(); | ||
| 56 | + this.rebuildPageSelector(); // (LMO) | ||
| 57 | }, | ||
| 58 | |||
| 59 | deletePage: function(pageIndex) { | ||
| 60 | @@ -312,6 +334,7 @@ var LauncherAssistant = Class.create({ | ||
| 61 | } | ||
| 62 | |||
| 63 | this.updatePageSnappingPoints(); | ||
| 64 | + this.rebuildPageSelector(); // (LMO) | ||
| 65 | }, | ||
| 66 | |||
| 67 | /* creates and appends a new application div in the provided page container */ | ||
| 68 | @@ -658,6 +681,9 @@ var LauncherAssistant = Class.create({ | ||
| 69 | |||
| 70 | /* Updates the positions of all page indicators. */ | ||
| 71 | updatePageIndicators: function() { | ||
| 72 | + | ||
| 73 | + // Ensure that the view menu tabs reflect the active page. (LMO) | ||
| 74 | + this.setPageSelectorState(this.activePageIndex); | ||
| 75 | |||
| 76 | if (this.indicators.length <= 0) { | ||
| 77 | return; | ||
| 78 | @@ -778,6 +804,91 @@ var LauncherAssistant = Class.create({ | ||
| 79 | onLaunchCompleted: function(response) { | ||
| 80 | |||
| 81 | delete this.launchRequest; | ||
| 82 | - } | ||
| 83 | + }, | ||
| 84 | + | ||
| 85 | + /** | ||
| 86 | + * Rebuild the page selector tabs and possible overflow submenu. (LMO) | ||
| 87 | + */ | ||
| 88 | + rebuildPageSelector: function () { | ||
| 89 | + | ||
| 90 | + var items = [], | ||
| 91 | + submenu_items = []; | ||
| 92 | + | ||
| 93 | + for (var i=0,l=this.pageDivs.length; i<l; i++) { | ||
| 94 | + | ||
| 95 | + // Build a new page selection item. | ||
| 96 | + var new_item = { label: '#'+(i+1), command: 'pageselect_' + i }; | ||
| 97 | + | ||
| 98 | + // If there are exactly 5 items, or this is item 4 or less, | ||
| 99 | + // drop it into the top-level items list. | ||
| 100 | + if (l<=this.kMaxPageSelectorTabs || i<(this.kMaxPageSelectorTabs-1)) { | ||
| 101 | + items.push(new_item); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + // If there are more than 5 items, the fifth top-level item | ||
| 105 | + // invokes a sub-menu containing the rest of the items. | ||
| 106 | + if (l>this.kMaxPageSelectorTabs) { | ||
| 107 | + if (i==(this.kMaxPageSelectorTabs-1)) { | ||
| 108 | + // Create the overflow submenu button. | ||
| 109 | + items.push({ label: '...', command: 'pageselect_more_pages', | ||
| 110 | + submenu: 'pageselect_more_pages' }); | ||
| 111 | + } | ||
| 112 | + if (i>=(this.kMaxPageSelectorTabs-1)) { | ||
| 113 | + // Add the current item to the overflow submenu. | ||
| 114 | + submenu_items.push(new_item); | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + // Update the view menu model for page selection. | ||
| 121 | + this.viewMenuModel.items[1].items = items; | ||
| 122 | + | ||
| 123 | + // If there was a submenu of items built, rebuild the submenu itself. | ||
| 124 | + if (submenu_items.length) { | ||
| 125 | + this.controller.setupWidget('pageselect_more_pages', undefined, | ||
| 126 | + this.pageselectSubmenuModel = { | ||
| 127 | + label: $('More pages'), items: submenu_items | ||
| 128 | + } | ||
| 129 | + ); | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + // Make the widget refresh with the new data, ensure state matches | ||
| 133 | + // active page state. | ||
| 134 | + this.controller.modelChanged(this.viewMenuModel); | ||
| 135 | + this.setPageSelectorState(this.activePageIndex); | ||
| 136 | + }, | ||
| 137 | + | ||
| 138 | + /** | ||
| 139 | + * Update the view menu tabs to reflect a given page index. (LMO) | ||
| 140 | + * | ||
| 141 | + * @param {int} idx Page index. | ||
| 142 | + */ | ||
| 143 | + setPageSelectorState: function (idx) { | ||
| 144 | + if (idx >= (this.kMaxPageSelectorTabs-1) && this.pageDivs.length > this.kMaxPageSelectorTabs) { | ||
| 145 | + // Tab selected belongs to the overflow submenu, so set a checkmark | ||
| 146 | + this.viewMenuModel.items[1].toggleCmd = 'pageselect_more_pages'; | ||
| 147 | + this.pageselectSubmenuModel.toggleCmd = 'pageselect_' + idx; | ||
| 148 | + } else { | ||
| 149 | + // Tab belongs to the visible tabs, so toggle one on. | ||
| 150 | + this.viewMenuModel.items[1].toggleCmd = 'pageselect_' + idx; | ||
| 151 | + if (this.pageselectSubmenuModel) { | ||
| 152 | + // If there happens to be a submenu, clear the checkmark. | ||
| 153 | + this.pageselectSubmenuModel.toggleCmd = ''; | ||
| 154 | + } | ||
| 155 | + } | ||
| 156 | + this.controller.modelChanged(this.viewMenuModel); | ||
| 157 | + }, | ||
| 158 | + | ||
| 159 | + /** | ||
| 160 | + * Switch directly to a page. (LMO) | ||
| 161 | + * | ||
| 162 | + * @param {int} idx Page index. | ||
| 163 | + */ | ||
| 164 | + gotoPage: function (idx) { | ||
| 165 | + $('launcher_root').mojo.setSnapIndex(idx, true); | ||
| 166 | + this.activePageIndex = idx; | ||
| 167 | + this.updatePageIndicators(); | ||
| 168 | + } | ||
| 169 | |||
| 170 | }); | ||
| 171 | Index: /usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css | ||
| 172 | =================================================================== | ||
| 173 | --- .orig/usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css | ||
| 174 | +++ /usr/lib/luna/system/luna-applauncher/stylesheets/launcher.css | ||
| 175 | @@ -59,7 +59,7 @@ body.palm-default | ||
| 176 | width: 100%; | ||
| 177 | z-index: 29; | ||
| 178 | height: 24px; | ||
| 179 | - top: 1px; | ||
| 180 | + top: 45px; /* Insert some space for the page selector (LMO) */ | ||
| 181 | background: url(../images/fade-arrow-up.png) center center no-repeat; | ||
| 182 | -webkit-palm-mouse-target: ignore; | ||
| 183 | } | ||
| 184 | @@ -106,7 +106,7 @@ body.palm-default | ||
| 185 | } | ||
| 186 | |||
| 187 | .page_scroller_container { | ||
| 188 | - margin-top: 10px; | ||
| 189 | + margin-top: 55px; /* Insert some space for the page selector (LMO) */ | ||
| 190 | margin-bottom: -20px; | ||
| 191 | } | ||
| 192 |
|   | |||
| 1 | --- /usr/palm/applications/com.palm.app.contacts/app/controllers/list-assistant.js.orig 2009-08-19 19:19:40.000000000 -0400 | ||
| 2 | +++ /usr/palm/applications/com.palm.app.contacts/app/controllers/list-assistant.js 2010-01-08 01:11:12.380734400 -0500 | ||
| 3 | @@ -284,6 +284,9 @@ | ||
| 4 | items: [Mojo.Menu.editItem,{ | ||
| 5 | label:$L("Send All to Car Kit"), | ||
| 6 | command:"sendcontacts" | ||
| 7 | + }, { | ||
| 8 | + label:$L("Save All via Email"), | ||
| 9 | + command:"emailcontacts" | ||
| 10 | }, prefsItem, { | ||
| 11 | label: $LL('Help'), | ||
| 12 | command: Mojo.Menu.helpCmd | ||
| 13 | @@ -463,12 +466,31 @@ | ||
| 14 | this.controller.stageController.pushScene('prefs'); | ||
| 15 | }else if (event.type == Mojo.Event.command && event.command == "sendcontacts") { | ||
| 16 | this.sendContacts(); | ||
| 17 | + }else if (event.type == Mojo.Event.command && event.command == "emailcontacts") { | ||
| 18 | + this.emailContacts(); | ||
| 19 | } | ||
| 20 | if (event.type == Mojo.Event.commandEnable && event.command == Mojo.Menu.prefsCmd) { | ||
| 21 | // funkay! this is apparently how you declare you want to activate the prefs menu item | ||
| 22 | event.stopPropagation(); | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | + | ||
| 26 | + emailContacts:function(){ | ||
| 27 | + this.vcardRequest = AppAssistant.contactsService.makeVCardList(this.controller, { | ||
| 28 | + stripPhoneNumbers:false | ||
| 29 | + }, this.gotVCard.bind(this, "email")); | ||
| 30 | + var cancelFn = function(){ | ||
| 31 | + this.vcardRequest.cancel(); | ||
| 32 | + this.vcardRequest = null; | ||
| 33 | + }.bind(this) | ||
| 34 | + console.log("Setting up a dialog"); | ||
| 35 | + this.sendContactsPopupAssistant = new SendContactsPopupAssistant(this.controller, cancelFn); | ||
| 36 | + this.controller.showDialog({ | ||
| 37 | + template: 'list/send-contact-popup', | ||
| 38 | + assistant: this.sendContactsPopupAssistant, | ||
| 39 | + preventCancel:true | ||
| 40 | + }); | ||
| 41 | + }, | ||
| 42 | |||
| 43 | sendContacts:function(){ | ||
| 44 | |||
| 45 | @@ -479,7 +501,7 @@ | ||
| 46 | |||
| 47 | bluetoothResponse:function(response){ | ||
| 48 | if (response == "BT-On" || response == "BT-StartingUp") { | ||
| 49 | - this.vcardRequest = AppAssistant.contactsService.makeVCardList(this.controller, {stripPhoneNumbers:true}, this.gotVCard.bind(this)); | ||
| 50 | + this.vcardRequest = AppAssistant.contactsService.makeVCardList(this.controller, {stripPhoneNumbers:true}, this.gotVCard.bind(this, "bluetooth")); | ||
| 51 | var cancelFn = function(){ | ||
| 52 | this.vcardRequest.cancel(); | ||
| 53 | this.vcardRequest = null; | ||
| 54 | @@ -494,18 +516,39 @@ | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | |||
| 58 | - gotVCard:function(resp){ | ||
| 59 | - var appArgs = { | ||
| 60 | - appId:"com.palm.app.bluetooth", | ||
| 61 | - name:"btopp" | ||
| 62 | - } | ||
| 63 | - var sceneArgs = { | ||
| 64 | - file:resp.file | ||
| 65 | - } | ||
| 66 | - | ||
| 67 | - this.sendContactsPopupAssistant.widget.mojo.close(); | ||
| 68 | - | ||
| 69 | - this.controller.stageController.pushScene(appArgs, sceneArgs) | ||
| 70 | + gotVCard:function(type, resp){ | ||
| 71 | + if (type == "bluetooth") { | ||
| 72 | + var appArgs = { | ||
| 73 | + appId:"com.palm.app.bluetooth", | ||
| 74 | + name:"btopp" | ||
| 75 | + } | ||
| 76 | + var sceneArgs = { | ||
| 77 | + file:resp.file | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + this.sendContactsPopupAssistant.widget.mojo.close(); | ||
| 81 | + | ||
| 82 | + this.controller.stageController.pushScene(appArgs, sceneArgs) | ||
| 83 | + } | ||
| 84 | + else if (type == "email") { | ||
| 85 | + var vcfPath = resp.file; | ||
| 86 | + | ||
| 87 | + this.sendContactsPopupAssistant.widget.mojo.close(); | ||
| 88 | + | ||
| 89 | + this.controller.serviceRequest('palm://com.palm.applicationManager', { | ||
| 90 | + method: 'open', | ||
| 91 | + parameters: { | ||
| 92 | + id: 'com.palm.app.email', | ||
| 93 | + params: { | ||
| 94 | + summary: 'Palm Contacts', | ||
| 95 | + attachments: [{ | ||
| 96 | + fullPath:vcfPath, | ||
| 97 | + mimeType:'text/x-vcard' | ||
| 98 | + }] | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + }); | ||
| 102 | + } | ||
| 103 | }, | ||
| 104 | |||
| 105 | handleListTap: function(event){ |
email/email-multi-patch.patch
(95 / 0)
|   | |||
| 1 | Name: email-multi | ||
| 2 | Version: 1.3.5.1-1 | ||
| 3 | Author: cwgtex | ||
| 4 | Description: Email multi patch. Combines confirm delete, enable landscape, and swap reply2all with move. All credit to jhoff80, SirWill, dBsooner, and Jason Robitaille for the original patches. | ||
| 5 | |||
| 6 | Index: /usr/palm/applications/com.palm.app.email/app/controllers/accounts-assistant.js | ||
| 7 | =================================================================== | ||
| 8 | --- .orig/usr/palm/applications/com.palm.app.email/app/controllers/accounts-assistant.js | ||
| 9 | +++ /usr/palm/applications/com.palm.app.email/app/controllers/accounts-assistant.js | ||
| 10 | @@ -57,6 +57,8 @@ | ||
| 11 | this.boundKeypressHandler = this.keypressHandler.bind(this); | ||
| 12 | this.controller.listen(this.controller.sceneElement, Mojo.Event.keypress, this.boundKeypressHandler); | ||
| 13 | |||
| 14 | + this.controller.window.PalmSystem.setWindowOrientation("free"); | ||
| 15 | + | ||
| 16 | //set up account folder's search | ||
| 17 | this.folderFilterField = this.controller.get('account_folders_filter'); | ||
| 18 | this.boundHandleFoldersSearch = this.handleFoldersSearch.bind(this); | ||
| 19 | @@ -138,8 +140,8 @@ | ||
| 20 | keypressHandler: function(e) { | ||
| 21 | this.orientationString += String.fromCharCode(e.originalEvent.charCode); | ||
| 22 | Mojo.Log.info(this.orientationString); | ||
| 23 | - if (this.orientationString.length === 12) { | ||
| 24 | - if (this.orientationString === "RocknRollHax") { | ||
| 25 | + if (this.orientationString.length === 4) { | ||
| 26 | + if (this.orientationString === "wide") { | ||
| 27 | Mojo.Log.info("Let's rock and roll"); | ||
| 28 | var targetWindow = this.controller.window; | ||
| 29 | if (targetWindow.PalmSystem.setWindowOrientation) { | ||
| 30 | |||
| 31 | Index: /usr/palm/applications/com.palm.app.email/app/controllers/compose-assistant.js | ||
| 32 | =================================================================== | ||
| 33 | --- .orig/usr/palm/applications/com.palm.app.email/app/controllers/compose-assistant.js | ||
| 34 | +++ /usr/palm/applications/com.palm.app.email/app/controllers/compose-assistant.js | ||
| 35 | @@ -233,6 +233,8 @@ | ||
| 36 | |||
| 37 | // Delayed a little, since we want the header part of render as quickly as possible | ||
| 38 | ComposeAssistant.onLoad.defer(this.controller, this.email); | ||
| 39 | + | ||
| 40 | + this.controller.window.PalmSystem.setWindowOrientation("free"); | ||
| 41 | }, | ||
| 42 | |||
| 43 | cleanup: function() { | ||
| 44 | |||
| 45 | Index: /usr/palm/applications/com.palm.app.email/app/controllers/list-assistant.js | ||
| 46 | =================================================================== | ||
| 47 | --- .orig/usr/palm/applications/com.palm.app.email/app/controllers/list-assistant.js | ||
| 48 | +++ /usr/palm/applications/com.palm.app.email/app/controllers/list-assistant.js | ||
| 49 | @@ -50,6 +50,7 @@ | ||
| 50 | visible:true}; | ||
| 51 | |||
| 52 | this.controller.setupWidget(Mojo.Menu.appMenu, undefined, this.appMenuModel); | ||
| 53 | + this.controller.window.PalmSystem.setWindowOrientation("free"); | ||
| 54 | }, | ||
| 55 | |||
| 56 | // NOTE: this is called by app_scene's _setup function | ||
| 57 | @@ -66,7 +67,7 @@ | ||
| 58 | fixedHeightItems:true, | ||
| 59 | itemTemplate: 'list/email_entry', | ||
| 60 | swipeToDelete: true, | ||
| 61 | - autoconfirmDelete: true, | ||
| 62 | + autoconfirmDelete: false, | ||
| 63 | uniquenessProperty: 'id', | ||
| 64 | dividerTemplate: 'list/date_separator', | ||
| 65 | dividerFunction: function(email) { return email.dateCategory; }, | ||
| 66 | |||
| 67 | Index: /usr/palm/applications/com.palm.app.email/app/controllers/message-assistant.js | ||
| 68 | =================================================================== | ||
| 69 | --- .orig/usr/palm/applications/com.palm.app.email/app/controllers/message-assistant.js | ||
| 70 | +++ /usr/palm/applications/com.palm.app.email/app/controllers/message-assistant.js | ||
| 71 | @@ -72,6 +72,7 @@ | ||
| 72 | this.cmdMenuModel = { | ||
| 73 | visible:true, | ||
| 74 | items: [ | ||
| 75 | + {label:$L('Move'), icon:'file', command:'move'}, | ||
| 76 | {label:$L('Reply'), icon:'reply', command:'reply'}, | ||
| 77 | {label:$L('Reply all'), icon:'reply-all', command:'replyAll'}, | ||
| 78 | {label:$L('Forward'), icon:'forward-email', command:'forward'}, | ||
| 79 | @@ -73,7 +74,6 @@ | ||
| 80 | visible:true, | ||
| 81 | items: [ | ||
| 82 | {label:$L('Reply'), icon:'reply', command:'reply'}, | ||
| 83 | - {label:$L('Reply all'), icon:'reply-all', command:'replyAll'}, | ||
| 84 | {label:$L('Forward'), icon:'forward-email', command:'forward'}, | ||
| 85 | {label:$L('Delete'), icon:'delete', command:'delete'} | ||
| 86 | ]}; | ||
| 87 | @@ -106,7 +106,7 @@ | ||
| 88 | emailEditItems, | ||
| 89 | this.markUnreadMenuItem, | ||
| 90 | this.markSetFlagMenuItem, | ||
| 91 | - {label:$L('Move to Folder...'), shortcut:'m', command:'move'}, | ||
| 92 | + {label:$L('Reply all'), command:'replyAll'}, | ||
| 93 | this.showRecipientsMenuItem, | ||
| 94 | Mojo.Menu.prefsItem, | ||
| 95 | Mojo.Menu.helpItem |
|   | |||
| 1 | Name: Really Silent Ringer Switch Mute | ||
| 2 | Version: 1.3.5.1-1 | ||
| 3 | Author: Jason Robitaille | ||
| 4 | Description: Flicking the ringer switch to off will mute every aspect of the webOS, music and games included. (MIT license) | ||
| 5 | |||
| 6 | --- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js | ||
| 7 | +++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js | ||
| 8 | @@ -2891,6 +2891,71 @@ | ||
| 9 | method: 'status', | ||
| 10 | parameters: {"subscribe":true}, | ||
| 11 | onSuccess: this.handleVoiceDialingAudioNotifications.bind(this)}); | ||
| 12 | + | ||
| 13 | + this.controller.serviceRequest('palm://com.palm.audio/media', { | ||
| 14 | + method:'status', | ||
| 15 | + parameters: {}, | ||
| 16 | + onSuccess: function(response) { | ||
| 17 | + this.setMutedSystem(!response['ringer switch']); | ||
| 18 | + this.setMutedRingtone(!response['ringer switch']); | ||
| 19 | + this.setMutedMedia(!response['ringer switch']); | ||
| 20 | + this.setMutedPhone(!response['ringer switch']); | ||
| 21 | + }.bind(this) | ||
| 22 | + }); | ||
| 23 | + | ||
| 24 | + this.controller.serviceRequest('palm://com.palm.keys/switches', { | ||
| 25 | + method:'status', | ||
| 26 | + parameters: {subscribe:true}, | ||
| 27 | + onSuccess: this.handleRingerNotifications.bind(this) | ||
| 28 | + }); | ||
| 29 | +}, | ||
| 30 | + | ||
| 31 | +handleRingerNotifications: function(payload) { | ||
| 32 | + if(payload.key=="ringer") { | ||
| 33 | + if(payload.state=="up") { //unmute | ||
| 34 | + this.setMutedSystem(false); | ||
| 35 | + this.setMutedRingtone(false); | ||
| 36 | + this.setMutedMedia(false); | ||
| 37 | + this.setMutedPhone(false); | ||
| 38 | + } else if(payload.state=="down") { //mute | ||
| 39 | + this.setMutedSystem(true); | ||
| 40 | + this.setMutedRingtone(true); | ||
| 41 | + this.setMutedMedia(true); | ||
| 42 | + this.setMutedPhone(true); | ||
| 43 | + } | ||
| 44 | + } | ||
| 45 | +}, | ||
| 46 | + | ||
| 47 | +setMutedPhone: function(mute) { | ||
| 48 | + this.controller.serviceRequest('palm://com.palm.audio/phone', { | ||
| 49 | + method:'setMuted', | ||
| 50 | + parameters:{muted:mute} | ||
| 51 | + }); | ||
| 52 | +}, | ||
| 53 | + | ||
| 54 | +setMutedSystem: function(mute) { | ||
| 55 | + this.controller.serviceRequest('palm://com.palm.audio/system', { | ||
| 56 | + method:'setMuted', | ||
| 57 | + parameters:{muted:mute} | ||
| 58 | + }); | ||
| 59 | +}, | ||
| 60 | + | ||
| 61 | +setMutedRingtone: function(mute) { | ||
| 62 | + this.controller.serviceRequest('palm://com.palm.audio/ringtone', { | ||
| 63 | + method:'setMuted', | ||
| 64 | + parameters:{muted:mute} | ||
| 65 | + }); | ||
| 66 | +}, | ||
| 67 | + | ||
| 68 | +setMutedMedia: function(mute) { | ||
| 69 | + var value = "up"; | ||
| 70 | + if(mute) { | ||
| 71 | + value = "down"; | ||
| 72 | + } | ||
| 73 | + this.controller.serviceRequest('palm://com.palm.audio/media', { | ||
| 74 | + method:'ramp', | ||
| 75 | + parameters:{command:value} | ||
| 76 | + }); | ||
| 77 | }, | ||
| 78 | |||
| 79 | handlePhoneAudioNotifications: function(payload) { |
|   | |||
| 195 | 195 | ||
| 196 | 196 | wifiAPList: [], | |
| 197 | 197 | btdeviceList: [], | |
| 198 | @@ -169,13 +304,13 @@ | ||
| 199 | //this.apSpinnerModel.spinning = false; | ||
| 200 | //this.controller.modelChanged(this.apSpinnerModel); | ||
| 201 | |||
| 202 | - if(this.barAssistant.getAirplaneMode()) { | ||
| 203 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 204 | - } | ||
| 205 | - else { | ||
| 206 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 207 | - } | ||
| 208 | - this.apModeInProgress = false; | ||
| 209 | + //if(this.barAssistant.getAirplaneMode()) { | ||
| 210 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 211 | + //} | ||
| 212 | + //else { | ||
| 213 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 214 | + //} | ||
| 215 | + //this.apModeInProgress = false; | ||
| 216 | }, | ||
| 217 | |||
| 218 | toggleBTRadio: function(event) { | ||
| 198 | 219 | @@ -932,6 +1067,8 @@ | |
| 199 | 220 | this.controller.hideWidgetContainer(this.controller.get('wifidetails')); | |
| 200 | 221 | this.wifidrawer.mojo.setOpenState(false); |
|   | |||
| 60 | 60 | + method: 'setProperty', | |
| 61 | 61 | + parameters:{maximumBrightness:Math.round(event.value)} | |
| 62 | 62 | + }); | |
| 63 | + this.controller.get('dm_brightness').innerText = "Brightness: " + Math.round(event.value) + "%"; | ||
| 63 | + this.controller.get('dm_brightness').innerText = "Brightness: " + Math.round(event.value) + " %"; | ||
| 64 | 64 | + }, | |
| 65 | 65 | + | |
| 66 | 66 | + toggleGPS: function(event) { | |
| … | … | ||
| 107 | 107 | ||
| 108 | 108 | wifiAPList: [], | |
| 109 | 109 | btdeviceList: [], | |
| 110 | @@ -169,13 +222,13 @@ | ||
| 111 | //this.apSpinnerModel.spinning = false; | ||
| 112 | //this.controller.modelChanged(this.apSpinnerModel); | ||
| 113 | |||
| 114 | - if(this.barAssistant.getAirplaneMode()) { | ||
| 115 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 116 | - } | ||
| 117 | - else { | ||
| 118 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 119 | - } | ||
| 120 | - this.apModeInProgress = false; | ||
| 121 | + //if(this.barAssistant.getAirplaneMode()) { | ||
| 122 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 123 | + //} | ||
| 124 | + //else { | ||
| 125 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 126 | + //} | ||
| 127 | + //this.apModeInProgress = false; | ||
| 128 | }, | ||
| 129 | |||
| 130 | toggleBTRadio: function(event) { | ||
| 110 | 131 | @@ -932,6 +985,7 @@ | |
| 111 | 132 | this.controller.hideWidgetContainer(this.controller.get('wifidetails')); | |
| 112 | 133 | this.wifidrawer.mojo.setOpenState(false); | |
| … | … | ||
| 149 | 149 | + if(response.maximumBrightness != undefined) { | |
| 150 | 150 | + this.brightModel.value = parseInt(response.maximumBrightness); | |
| 151 | 151 | + this.controller.modelChanged(this.brightModel); | |
| 152 | + this.controller.get('dm_brightness').innerText = "Brightness: " + response.maximumBrightness + "%"; | ||
| 152 | + this.controller.get('dm_brightness').innerText = "Brightness: " + response.maximumBrightness + " %"; | ||
| 153 | 153 | + } else { | |
| 154 | + this.controller.get('dm_brightness').innerText = "Brightness: ??%"; | ||
| 154 | + this.controller.get('dm_brightness').innerText = "Brightness: ?? %"; | ||
| 155 | 155 | + } | |
| 156 | 156 | + }.bind(this) | |
| 157 | 157 | + }); |
|   | |||
| 95 | 95 | ||
| 96 | 96 | wifiAPList: [], | |
| 97 | 97 | btdeviceList: [], | |
| 98 | @@ -169,13 +203,13 @@ | ||
| 99 | //this.apSpinnerModel.spinning = false; | ||
| 100 | //this.controller.modelChanged(this.apSpinnerModel); | ||
| 101 | |||
| 102 | - if(this.barAssistant.getAirplaneMode()) { | ||
| 103 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 104 | - } | ||
| 105 | - else { | ||
| 106 | - this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 107 | - } | ||
| 108 | - this.apModeInProgress = false; | ||
| 109 | + //if(this.barAssistant.getAirplaneMode()) { | ||
| 110 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn off Airplane Mode'); | ||
| 111 | + //} | ||
| 112 | + //else { | ||
| 113 | + // this.controller.get('dm_airplanemode_status').innerHTML = $L('Turn on Airplane Mode'); | ||
| 114 | + //} | ||
| 115 | + //this.apModeInProgress = false; | ||
| 116 | }, | ||
| 117 | |||
| 118 | toggleBTRadio: function(event) { | ||
| 98 | 119 | @@ -932,6 +966,7 @@ | |
| 99 | 120 | this.controller.hideWidgetContainer(this.controller.get('wifidetails')); | |
| 100 | 121 | this.wifidrawer.mojo.setOpenState(false); |

