Commit 8c38c4378e9a3a4deda5bce42ce83c92ab149c6b

  • avatar
  • dBsooner's Stuff <dbsooner @del…ge.vision5.com>
  • Tue Jan 19 22:38:52 CET 2010
4 New, 2 updated patches.
  
1313 Mojo.Menu.helpItem
1414 ]
1515 },
16@@ -115,6 +116,77 @@
16@@ -115,6 +116,84 @@
1717 handleCommand: function(event) {
1818 if (event.type == Mojo.Event.command) {
1919 switch (event.command) {
2020+ case 'advanced':
21+ SystemManagerService.showQuickLaunch(false);
21+ this.showQLBar = true;
22+ if(this.kQuickLaunchHeight==0) {
23+ this.showQLBar = false;
24+ } else {
25+ SystemManagerService.showQuickLaunch(false);
26+ }
2227+ this.controller.serviceRequest('palm://com.palm.connectionmanager', {
2328+ method: 'getnovacommode',
2429+ parameters: {},
4747+ onChoose: function(value){
4848+ if(value=='reset') {
4949+ this.controller.serviceRequest('palm://com.palm.connectionmanager', {
50+ method: 'setnovacommode',
50+ method: 'getnovacommode',
5151+ parameters: {
5252+ isEnabled:!this.inDevMode
5353+ },
6161+ }.bind(this)
6262+ });
6363+ }
64+ SystemManagerService.showQuickLaunch(true);
64+ SystemManagerService.showQuickLaunch(this.showQLBar);
6565+ }.bind(this),
6666+ title: "Restart Device?",
6767+ message: "Your device needs to restart for this action to happen.",
68+ preventCancel: false,
6869+ choices: [
6970+ {label:"Continue and reset", value:'reset', type:'negative'},
7071+ {label:"Cancel", value:'cancel'}
7676+ method: 'rescanFileindexer',
7777+ parameters: {}
7878+ });
79+ SystemManagerService.showQuickLaunch(true);
79+ SystemManagerService.showQuickLaunch(this.showQLBar);
8080+ } else if(value=='rescanapps') {
8181+ this.controller.serviceRequest('com.palm.applicationManager', {
8282+ method: 'rescan',
8383+ parameters: {}
8484+ });
85+ SystemManagerService.showQuickLaunch(true);
85+ SystemManagerService.showQuickLaunch(this.showQLBar);
8686+ } else {
87+ SystemManagerService.showQuickLaunch(true);
87+ SystemManagerService.showQuickLaunch(this.showQLBar);
8888+ }
8989+ }.bind(this),
9090+ title: "Advanced Options",
9191+ message: "",
92+ preventCancel: false,
9293+ choices: choices
9394+ });
9495+ }.bind(this)
  
1Name: Browser Mega Mix
2Version: 1.3.5-1
3Author: mamouton, Suggestions from chrislo combination of fritos1406's No Icons in browser app, full screen, and no refresh
4Description: Hides All Icons In The Browser shows icon while loading. Fullscreen Browser and No Refresh
5Description: Adds Enable Disable options in the app menu for the scroll feature using the gesture area in landscape
6Enable Gesture Scroll: Gesture+e
7Disable Gesture Scroll: Gesture+d
8
9Adds shortcut keys to the launcher. Hold onto Gesture+key to execute
10New Card: Gesture+n
11Add Bookmark: Gesture+m
12Add To Launcher: Gesture+l
13Bookmarks: Gesture+b
14History: Gesture+h
15Share Page: Gesture+s
16
17--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/widget_webview.js
18+++ /usr/palm/applications/com.palm.app.browser/app/controllers/widget_webview.js
19@@ -1542,7 +1542,7 @@
20 }
21 else {
22 if (this._serverConnectTimer === undefined) {
23- this._serverConnectTimer = this.controller.window.setTimeout(this._connectAdapterToServer, 3000);
24+ this._serverConnectTimer = this.controller.window.setTimeout(this._connectAdapterToServer, 60000);
25 }
26 }
27 },
28
29--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/page-assistant.js
30+++ /usr/palm/applications/com.palm.app.browser/app/controllers/page-assistant.js
31@@ -299,6 +299,9 @@
32
33 this._updateOrientation();
34
35+ // FullScreen Browser
36+ this.controller.enableFullScreenMode(true);
37+
38 // Update any pending web preferences changes
39 AppAssistant.WebPreferences.activate(this._webView.mojo);
40
41@@ -1862,7 +1865,7 @@
42 if (!this._addressBar.hasFocus()) {
43 this._addressBar.hide();
44 this.chrome.hide();
45-
46+ this.controller.enableFullScreenMode(true);
47 // Only focus this webview widget if this assistant has
48 // focus. All page-assisants can receive 'moved' events
49 // so we have to be careful when explicitly setting the
50@@ -1885,7 +1888,7 @@
51 //Mojo.Log.info("-> TOP > 0 SO SHOWING");
52 this._addressBar.show();
53 this.chrome.show();
54-
55+ this.controller.enableFullScreenMode(false);
56 } else {
57 //Mojo.Log.info("-> TOP == 0 Do Nothing.");
58 // Do nothing.
59--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/page-controls.js
60+++ /usr/palm/applications/com.palm.app.browser/app/controllers/page-controls.js
61@@ -98,7 +98,8 @@
62 type: 'idle',
63 label: MenuData.NavigationMenu.Reload.label,
64 icon: MenuData.NavigationMenu.Reload.icon,
65- command: MenuData.NavigationMenu.Reload.command
66+ command: MenuData.NavigationMenu.Reload.command,
67+
68 };
69
70 if (this._animation) {
71@@ -111,6 +112,7 @@
72 // The spacer... right aligns the following button.
73 this._model.items.push(idleModel);
74 this._controller.modelChanged(this._model);
75+ this._controller.setMenuVisible(Mojo.Menu.commandMenu, false);
76
77 this._currentPageModel = idleModel;
78 },
79@@ -141,6 +143,7 @@
80 this._model.items.push(progressModel);
81 this._controller.modelChanged(this._model);
82 this._animation.start(0);
83+ this._controller.setMenuVisible(Mojo.Menu.commandMenu, true);
84
85 this._currentPageModel = progressModel;
86
87@@ -186,6 +189,7 @@
88 this._model.items.push(searchModel);
89 this._controller.modelChanged(this._model);
90 this._animation.start();
91+ this._controller.setMenuVisible(Mojo.Menu.commandMenu, true);
92
93 this._currentPageModel = searchModel;
94
95--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/page-assistant.js
96+++ /usr/palm/applications/com.palm.app.browser/app/controllers/page-assistant.js
97@@ -90,7 +90,7 @@
98 this._updateOrientation();
99
100 // Allow override of 'back' gesture in landscape mode.
101- this.controller.useLandscapePageUpDown(true);
102+ this.controller.useLandscapePageUpDown(false);
103
104 // Create the browser server status control.
105 this._browserServerStatus = new BrowserServerStatus(this.controller);
106@@ -787,8 +787,15 @@
107 this.appMenuModel = {
108 visible: true,
109 items: [
110- MenuData.ApplicationMenu.NewCard,
111- MenuData.ApplicationMenu.AddBookmark,
112+ {
113+ label: $L("On/Off Gesture"),
114+ items: [
115+ {label:$L('Enable Gesture'), shortcut:'e', command:'enable-gesture-cmd'},
116+ {label:$L('Disable Gesture'), shortcut:'d', command:'disable-gesture-cmd'},
117+ ]
118+ },
119+ {label:$L('New Card'), shortcut:'n', command:'new-page-cmd'},
120+ {label:$L('Add Bookmark'), shortcut:'m', command:'add-bookmark-cmd'},
121 {
122 label: $L("Page"),
123 items: [
124@@ -792,8 +792,10 @@
125 {
126 label: $L("Page"),
127 items: [
128- MenuData.ApplicationMenu.AddToLauncher,
129- MenuData.ApplicationMenu.SharePage]
130+ {label:$L('Add To Launcher'), shortcut:'l', command:'add-launch-icon-cmd'},
131+ {label:$L('Share Page'), shortcut:'s', command:'share-page-cmd'},
132+ {label:$L('Refresh Page'), shortcut:'r', command:'refresh'},
133+ ]
134 },
135 MenuData.ApplicationMenu.ShowBookmarks,
136 MenuData.ApplicationMenu.ShowHistory]
137@@ -795,8 +796,9 @@
138 MenuData.ApplicationMenu.AddToLauncher,
139 MenuData.ApplicationMenu.SharePage]
140 },
141- MenuData.ApplicationMenu.ShowBookmarks,
142- MenuData.ApplicationMenu.ShowHistory]
143+ {label:$L('Bookmarks'), shortcut:'b', command:'show-bookmarks-cmd'},
144+ {label:$L('History'), shortcut:'h', command:'show-history-cmd'},
145+ ]
146 };
147
148 this.controller.setupWidget(Mojo.Menu.appMenu, undefined, this.appMenuModel);
149@@ -2077,6 +2084,10 @@
150 case MenuData.ApplicationMenu.NewCard.command:
151 this._newBrowserPage();
152 break;
153+
154+ case MenuData.ApplicationMenu.EnableGesture.command:
155+ this.controller.useLandscapePageUpDown(true);
156+ break;
157
158 case MenuData.ApplicationMenu.AddBookmark.command:
159 urlReference = new UrlReference(this.currentUrl, this.currentTitle, new Date());
160@@ -2078,6 +2089,10 @@
161 this._newBrowserPage();
162 break;
163
164+ case MenuData.ApplicationMenu.DisableGesture.command:
165+ this.controller.useLandscapePageUpDown(false);
166+ break;
167+
168 case MenuData.ApplicationMenu.AddBookmark.command:
169 urlReference = new UrlReference(this.currentUrl, this.currentTitle, new Date());
170 this._createDefaultBookmarkImages(urlReference);
171--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/page-applicationmenu.js
172+++ /usr/palm/applications/com.palm.app.browser/app/controllers/page-applicationmenu.js
173@@ -11,6 +11,18 @@
174 command: 'new-page-cmd'
175 },
176
177+ EnableGesture: {
178+ label: $L('Enable Gesture'),
179+ command: 'enable-gesture-cmd',
180+ checkEnabled: true
181+ },
182+
183+ DisableGesture: {
184+ label: $L('Disable Gesture'),
185+ command: 'disable-gesture-cmd',
186+ checkEnabled: true
187+ },
188+
189 SharePage: {
190 label: $L('Share'),
191 command: 'share-page-cmd',
192
193--- .orig/usr/palm/applications/com.palm.app.browser/app/controllers/startpage-assistant.js
194+++ /usr/palm/applications/com.palm.app.browser/app/controllers/startpage-assistant.js
195@@ -23,7 +23,7 @@
196 this._updateOrientation();
197
198 // Allow override of 'back' gesture in landscape mode.
199- this.controller.useLandscapePageUpDown(true);
200+ this.controller.useLandscapePageUpDown(false);
201
202 // Listen for scene scope keyboard events.
203 this.controller.listen(this.controller.sceneElement, Mojo.Event.keydown, this._onKeyDownEventHandler);
204@@ -42,6 +42,13 @@
205 this.appMenuModel = {
206 visible: true,
207 items: [
208+ {
209+ label: $L("On/Off Gesture"),
210+ items: [
211+ {label:$L('Enable Gesture'), shortcut:'e', command:'enable-gesture-cmd'},
212+ {label:$L('Disable Gesture'), shortcut:'d', command:'disable-gesture-cmd'},
213+ ]
214+ },
215 MenuData.ApplicationMenu.NewCard,
216 MenuData.ApplicationMenu.AddBookmark,
217 {
  
1diff --git a/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js b/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
2index aa6a2b7..f08ef3f 100644
1Name: Personal Avatar Left Side
2Version: 1.3.5-4
3Author: Elryon, dBsooner, Jason Robitaille
4Description: This will enable a personal avatar on the left side of the conversation (MIT license)
5
36--- a/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
47+++ b/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
58@@ -1409,7 +1409,7 @@ var ChatviewAssistant = Class.create({
5252 }
5353 .their-chat .avatar {
5454 width: 40px;
55@@ -637,14 +647,23 @@ img.avatar-overlay {
55@@ -637,10 +647,20 @@ img.avatar-overlay {
5656 }
5757
5858 /* Disabling MY avatar because we are not doing this for 1.0 2008-11-05*/
7575+.my-chat .avatar {
7676 width: 40px;
7777 height: 40px;
78 }
79-
80 .message.status-success {
81 color: #000000;
8278 }
  
1Index: /usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
2===================================================================
3--- .orig/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
4+++ /usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js
5@@ -1669,9 +1669,210 @@
6 this.addTextToClipboard(text);
7 } else if (value == 'delete-cmd') {
8 this.handleMessageDeleteFromContextMenu(messageId, index);
9+ } else if (value === "twitter-retweet-cmd") {
10+ Mojo.Log.info("twitter-retweet-cmd");
11+ this.twitterRetweet(text);
12+ } else if (value === "twitter-reply-cmd") {
13+ Mojo.Log.info("twitter-reply-cmd");
14+ this.twitterReply(text);
15+ } else if (value === "twitter-leave-user-cmd") {
16+ Mojo.Log.info("twitter-leave-user-cmd");
17+ this.twitterLeaveUser(text);
18 }
19 },
20
21+ twitterSkipChain: function (body) {
22+ var originally_from, chainlink, result;
23+ var modified = false;
24+ Mojo.Log.info("twitterSkipChain(%j)", body);
25+ while (true) {
26+ // skip past any RT/via chains.
27+ if (/^\s*rt(?:\s*@\s*|\s+)([_A-Za-z0-9]+)(?:\s*:\s*|\s+)/i.test(body)) {
28+ // RT@user:... (space optional before or after @ and :)
29+ // RT user ...
30+ chainlink = RegExp.match;
31+ originally_from = RegExp.$1;
32+ body = RegExp.rightContext;
33+ Mojo.Log.info("twitterSkipChain: skipping 'RT' chain link: %j", chainlink);
34+ modified = true;
35+ }
36+ else if (/^\s*(?:[\(\[\{]\s*)?via(?:\s*@\s*|\s+)[_A-Za-z0-9]+(?:\s*[\)\]\}])?(?:\s*:\s*|\s+)/i.test(body)) {
37+ // (via@user):...
38+ // via user ...
39+ chainlink = RegExp.match;
40+ body = RegExp.rightContext;
41+ Mojo.Log.info("twitterSkipChain: skipping 'via' chain link: %j", chainlink);
42+ modified = true;
43+ }
44+ else {
45+ break;
46+ }
47+ }
48+ if (modified) {
49+ result = {
50+ body: body,
51+ originally_from: originally_from
52+ };
53+ }
54+ Mojo.Log.info("twitterSkipChain: returning %j", result);
55+ return result;
56+ },
57+
58+ twitterParseMessage: function (text) {
59+ var from, originally_from, body, chain, result;
60+ Mojo.Log.info("twitterParseMessage(%j)", text);
61+ if (/^Direct from (\S+):\s*(.*)/i.test(text)) {
62+ from = RegExp.$1;
63+ body = RegExp.$2;
64+ result = {
65+ direct: true,
66+ from: from,
67+ body: body
68+ };
69+ }
70+ else if (/^(\S+):\s*(.*)/.test(text)) {
71+ from = RegExp.$1;
72+ originally_from = from;
73+ body = RegExp.$2;
74+ chain = this.twitterSkipChain(body);
75+ if (chain) {
76+ if ("originally_from" in chain) {
77+ originally_from = chain.originally_from;
78+ }
79+ body = chain.body;
80+ }
81+ result = {
82+ direct: false,
83+ from: from,
84+ originally_from: originally_from,
85+ body: body
86+ };
87+ }
88+ Mojo.Log.info("twitterParseMessage: returning %j", result);
89+ return result;
90+ },
91+
92+ twitterRetweet: function (text) {
93+ Mojo.Log.info("twitterRetweet(%j)", text);
94+ var tweet = this.twitterParseMessage(text);
95+ if (tweet) {
96+ Mojo.Log.info("twitterRetweet: is an actionable tweet.");
97+ if (tweet.direct) {
98+ this.twitterErrorDialog("You cannot retweet a direct message.");
99+ }
100+ else {
101+ if (tweet.originally_from === tweet.from) {
102+ this.twitterSetTextFieldValue(
103+ "RT @" + tweet.originally_from + ": " + tweet.body
104+ );
105+ }
106+ else {
107+ this.twitterSetTextFieldValue(
108+ "RT @" + tweet.originally_from +
109+ " via @" + tweet.from + ": " + tweet.body
110+ );
111+ }
112+ }
113+ }
114+ else {
115+ Mojo.Log.info("twitterRetweet: is not an actionable tweet.");
116+ }
117+ },
118+
119+ twitterErrorDialog: function (error) {
120+ this.controller.showAlertDialog({
121+ onChoose: function () { },
122+ title: $L("Error"),
123+ message: $L(error),
124+ preventCancel: false,
125+ choices: [{ label: $L('Dismiss'), value: 'Dismiss' }]
126+ });
127+ },
128+
129+ twitterWarningDialog: function (warning) {
130+ this.controller.showAlertDialog({
131+ onChoose: function () { },
132+ title: $L("Warning"),
133+ message: $L(warning),
134+ preventCancel: false,
135+ choices: [{ label: $L('OK'), value: 'OK' }]
136+ });
137+ },
138+
139+ twitterSetTextFieldValue: function (text) {
140+ var self = this;
141+ var value = this.messageTextElement.value;
142+ if (/\S/.test(value)) {
143+ this.controller.showAlertDialog({
144+ onChoose: function (choice) {
145+ if (choice) {
146+ self.twitterSetTextFieldValueRaw(text);
147+ }
148+ },
149+ title: "Erase existing message?",
150+ message: "Your current message:\n" + value,
151+ preventCancel: false,
152+ choices: [{ label: $L('Yes'), value: true },
153+ { label: $L('No'), value: false }]
154+ });
155+ }
156+ else {
157+ this.twitterSetTextFieldValueRaw(text);
158+ }
159+ },
160+
161+ twitterSetTextFieldValueRaw: function (text) {
162+ this.setTextFieldValue(text);
163+ this.moveCursorToEndOfTextField();
164+ if (text.length > 140) {
165+ this.twitterWarningDialog("Your submission is longer than 140 characters. " +
166+ "Please shorten before sending.");
167+ }
168+ },
169+
170+ twitterReply: function (text) {
171+ Mojo.Log.info("twitterReply(%j)", text);
172+ var tweet = this.twitterParseMessage(text);
173+ if (tweet) {
174+ Mojo.Log.info("twitterReply: is an actionable tweet.");
175+ if (tweet.direct) {
176+ this.twitterSetTextFieldValue("D " + tweet.from + " ");
177+ }
178+ else {
179+ this.twitterSetTextFieldValue("@" + tweet.from + " ");
180+ }
181+ }
182+ else {
183+ Mojo.Log.info("twitterReply: is not an actionable tweet.");
184+ }
185+ },
186+
187+ twitterLeaveUser: function (text) {
188+ Mojo.Log.info("twitterLeaveUser(%j)", text);
189+ var tweet = this.twitterParseMessage(text);
190+ if (tweet) {
191+ Mojo.Log.info("twitterLeaveUser: is an actionable tweet.");
192+ if (tweet.direct) {
193+ this.twitterSetTextFieldValue("leave " + tweet.from);
194+ }
195+ else {
196+ this.twitterSetTextFieldValue("leave " + tweet.from);
197+ }
198+ }
199+ else {
200+ Mojo.Log.info("twitterLeaveUser: is not an actionable tweet.");
201+ }
202+ },
203+
204+ moveCursorToEndOfTextField: function () {
205+ var widget = this.controller.get('messageTextWidget');
206+ if (widget) {
207+ widget = widget.mojo;
208+ }
209+ var len = widget.getValue().length;
210+ widget.setCursorPosition(len, len);
211+ },
212+
213 /**
214 * context menu handler for tap on MMS in chat list
215 *
216@@ -1794,14 +1995,31 @@
217
218 var composeParams;
219 if ((messageType == "SMS") || (messageType == "IM")) {
220- this.controller.popupSubmenu({
221- onChoose: this.handleContextMenuSelectSmsIm.bind(this, event.item.textForCopying, messageId, event.index),
222- placeNear: eventTarget.target,
223- items: [
224+ var menuItems = [
225 {label: $L('Forward'), command: 'forward-cmd'},
226 {label: $L('Copy Text'), command: 'copy-cmd'},
227 {label: $L('Delete'), command: 'delete-cmd'}
228- ]
229+ ];
230+ var lcDisplayName = this.chatDisplayName.toLowerCase();
231+ if (lcDisplayName === "twitter" ||
232+ lcDisplayName === "40404") {
233+ var text = event.item.textForCopying;
234+ var tweet = this.twitterParseMessage(text);
235+ if (tweet) {
236+ if (!tweet.direct) {
237+ menuItems.push({ label: $L('Retweet'),
238+ command: 'twitter-retweet-cmd' });
239+ }
240+ menuItems.push({ label: $L('Reply'),
241+ command: 'twitter-reply-cmd' });
242+ menuItems.push({ label: $L('Leave User'),
243+ command: 'twitter-leave-user-cmd' });
244+ }
245+ }
246+ this.controller.popupSubmenu({
247+ onChoose: this.handleContextMenuSelectSmsIm.bind(this, event.item.textForCopying, messageId, event.index),
248+ placeNear: eventTarget.target,
249+ items: menuItems
250 });
251
252 } else if (messageType == "MMS") {
  
1--- .orig/usr/palm/applications/com.palm.app.messaging/app/controllers/notification-assistant.js
2+++ /usr/palm/applications/com.palm.app.messaging/app/controllers/notification-assistant.js
3@@ -157,6 +157,10 @@
4
5 if (Object.keys(notificationData).length > 0 && this.Messaging.messagingPrefs.enableNotification) {
6 var notificationType = notificationData.notificationType;
7+ this.serviceRequest = new Mojo.Service.Request
8+ ("palm://com.palm.vibrate", {
9+ method: 'vibrate', parameters: { 'period': 0,'duration': 2000 }
10+ });
11 if (notificationType == this.Messaging.notificationTypes.newMessage) {
12 // if the new message is an MMS, retrieve the part data
13 if (notificationData.messageType == "MMS") {
  
1Name: Top Bar Ringer Switch
2Version: 1.3.5.2-4
3Author: frause
4Description: Adds icon to top bar when ringer switch is activated. If my Top Bar Icon And Percent Small White patch is installed, the percent value is removed when the mute icon is displayed to reduce witdh of the icon row. (MIT license)
5
6
7--- /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js.orig Fri Jan 15 23:04:41 2010
8+++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js Fri Jan 15 23:30:12 2010
9@@ -2870,7 +2871,15 @@
10 },
11
12 audioInit: function() {
13-
14+
15+ this.controller.serviceRequest('palm://com.palm.audio/ringtone', {
16+ method:'status',
17+ parameters: {subscribe:true},
18+ onSuccess: function(response) {
19+ this.displayMutedIcon(!response['ringer switch']);
20+ }.bind(this)
21+ });
22+
23 //Subscribe to Audio Manager for Phone status Notifications.
24 this.audioPhoneNotificationSession = new Mojo.Service.Request('palm://com.palm.audio/phone', {
25 method: 'status',
26@@ -2902,6 +2911,17 @@
27 return;
28
29 this.handleAudioNotifications(payload,'phone');
30+},
31+
32+displayMutedIcon: function(mute) {
33+ if(mute) {
34+ $('ringer').className = 'off';
35+ $('batpercent').className = 'hide';
36+ }
37+ else {
38+ $('ringer').className = 'on';
39+ $('batpercent').className = 'show';
40+ }
41 },
42
43 handleMediaAudioNotifications: function(payload) {
44--- /usr/lib/luna/system/luna-systemui/app/views/bar/bar-scene.html.orig Fri Jan 15 23:17:58 2010
45+++ /usr/lib/luna/system/luna-systemui/app/views/bar/bar-scene.html Fri Jan 15 22:57:11 2010
46@@ -19,6 +19,8 @@
47 <div id="devicemenu">
48 <div id="power">
49 </div>
50+ <div id="ringer">
51+ </div>
52 <div id="rssi">
53 </div>
54 <div id="roaming">
55--- /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css.orig Fri Jan 15 23:20:50 2010
56+++ /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css Fri Jan 15 23:31:21 2010
57@@ -122,6 +122,7 @@
58 #tty,
59 #hac,
60 #callforward,
61+#ringer,
62 #gps {
63 float: right;
64 height: 20px;
65@@ -217,6 +218,21 @@
66 background: url(../images/battery-charged.png) center center no-repeat;
67 }
68
69+#ringer {
70+ width: 20px;
71+ margin-left: 2px;
72+}
73+#ringer.off {
74+ background: url(../../../../../palm/applications/com.palm.app.clock/images/prefs-mute.png) center left no-repeat;
75+}
76+#ringer.on {
77+ display: none;
78+}
79+#batpercent.hide {
80+ display: none;
81+}
82+#batpercent.show {
83+}
84
85 #rssi {
86 width: 19px;