Commit b716d6bb47d3cf0a6f3780b8c133591de8c0a21a

  • avatar
  • dBsooner's Stuff <dbsooner @del…ge.vision5.com>
  • Mon Mar 08 08:05:42 CET 2010
4 Updated patches.
  
11diff --git a/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js b/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
2index 9ba9c70..8ae0f19 100644
2index 9ba9c70..3f54a2d 100644
33--- a/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
44+++ b/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
55@@ -444,7 +444,10 @@ var EditAssistant = Class.create({
1313 '-P1D' // Do NOT Localize
1414 ]
1515 },
16@@ -1186,4 +1189,4 @@ var EditAssistant = Class.create({
17 this.controller.stageController.popScene();
18
19 },
20-});
21\ No newline at end of file
22+});
2316diff --git a/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-assistant.js b/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-assistant.js
2417index cebe803..9591ca7 100644
2518--- a/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-assistant.js
  
11diff --git a/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js b/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
2index 9ba9c70..207275b 100644
2index 9ba9c70..9a7a9dc 100644
33--- a/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
44+++ b/usr/palm/applications/com.palm.app.calendar/app/controllers/edit-assistant.js
55@@ -512,6 +512,7 @@ var EditAssistant = Class.create({
1010 runTextLinker:true
1111
1212 };
13@@ -1186,4 +1187,4 @@ var EditAssistant = Class.create({
14 this.controller.stageController.popScene();
15
16 },
17-});
18\ No newline at end of file
19+});
  
11diff --git a/usr/palm/applications/com.palm.app.maps/app/assistants/mapshell-assistant.js b/usr/palm/applications/com.palm.app.maps/app/assistants/mapshell-assistant.js
2index 7c96cbf..0d05179 100644
2index 7c96cbf..a38c125 100644
33--- a/usr/palm/applications/com.palm.app.maps/app/assistants/mapshell-assistant.js
44+++ b/usr/palm/applications/com.palm.app.maps/app/assistants/mapshell-assistant.js
55@@ -5,6 +5,8 @@ var MapshellAssistant = Class.create({
1111
1212 // event handlers
1313 this._onWebViewCreatePageH = this._onWebViewCreatePage.bind(this);
14@@ -85,6 +87,8 @@ var MapshellAssistant = Class.create({
15 Mojo.Log.info("Maps: mapshell-assistant: activate")
16 Mojo.Log.info("Maps: setting focus on webview widget: %s", this.controller.get('webview'))
17 this.controller.setInitialFocusedElement(this.controller.get('webview'));
14@@ -16,6 +18,7 @@ var MapshellAssistant = Class.create({
15 this._onWebViewTitleUrlChangedH = this._onWebViewTitleUrlChanged.bind(this);
16 this._onAdapterConnectH = this._onAdapterConnect.bind(this);
17 this._onAdapterDisconnectH = this._onAdapterDisconnect.bind(this);
18+ this._holdHandlerH = this._holdHandler.bind(this);
19
20 /*
21 var curr = new Date();
22@@ -42,6 +45,8 @@ var MapshellAssistant = Class.create({
23 };
24 this.controller.setupWidget(Mojo.Menu.appMenu, appMenuAttrs, this.appMenuModel);
25
1826+ //set fs mode
1927+ this.controller.enableFullScreenMode(this.paramFS);
28 // setup spinner
29 this.controller.setupWidget('disconnected_spinner',
30 {spinnerSize: Mojo.Widget.spinnerLarge}, this.spinnerModel);
31@@ -66,6 +71,7 @@ var MapshellAssistant = Class.create({
32 this.controller.listen('webview', Mojo.Event.webViewTitleUrlChanged, this._onWebViewTitleUrlChangedH);
33 this.controller.listen('webview', Mojo.Event.webViewServerConnect, this._onAdapterConnectH);
34 this.controller.listen('webview', Mojo.Event.webViewServerDisconnect, this._onAdapterDisconnectH);
35+ this.controller.listen('webview', Mojo.Event.hold, this._holdHandlerH);
2036 },
21
22 ready: function(event) {
23@@ -284,6 +288,16 @@ var MapshellAssistant = Class.create({
24 Mojo.Log.info("Maps: handleCommand do nothing... app should go to card mode");
25 }
26 }
27+ else if (event.type == Mojo.Event.forward) {
28+ if (this.paramFS) {
29+ this.paramFS = false
30+ this.controller.enableFullScreenMode(this.paramFS);
31+ }
32+ else {
33+ this.paramFS = true
34+ this.controller.enableFullScreenMode(this.paramFS);
35+ }
36+ }
37
38 cleanup: function() {
39@@ -79,6 +85,7 @@ var MapshellAssistant = Class.create({
40 this.controller.stopListening('webview', Mojo.Event.webViewTitleUrlChanged, this._onWebViewTitleUrlChangedH);
41 this.controller.stopListening('webview', Mojo.Event.webViewServerConnect, this._onAdapterConnectH);
42 this.controller.stopListening('webview', Mojo.Event.webViewServerDisconnect, this._onAdapterDisconnectH);
43+ this.controller.stopListening('webview', Mojo.Event.hold, this._holdHandlerH);
3744 },
3845
39 handleLoadTimedOut: function() {
46 activate: function() {
47@@ -271,6 +278,16 @@ var MapshellAssistant = Class.create({
48 this.controller.modelChanged(this.spinnerModel);
49 },
50
51+ _holdHandler: function(event) {
52+ if (this.paramFS) {
53+ this.paramFS = false
54+ this.controller.enableFullScreenMode(this.paramFS);
55+ }
56+ else {
57+ this.paramFS = true
58+ this.controller.enableFullScreenMode(this.paramFS);
59+ }
60+ },
61
62 handleCommand: function(event) {
63 if (event.type == Mojo.Event.back) {
  
1diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/app-assistant.js b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/app-assistant.js
2index 2ae0e7f..72afed5 100644
3--- a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/app-assistant.js
4+++ b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/app-assistant.js
5@@ -2,6 +2,12 @@
6 /*global Mojo, Class, $L, Template, WordAssistant, ExcelAssistant, PowerPointAssistant */
7 /*jslint rhino:true, undef:true */
8
9+PDFVIEW = {};
10+PDFVIEW.prefs = {
11+ openLastDoc: false,
12+ autoRotate: false
13+};
14+
15 function AppAssistant(appController)
16 {
17 }
18@@ -21,6 +27,13 @@ AppAssistant.prototype.handleLaunch = function(params) {
19
20 if (Mojo.Controller.appInfo.noWindow)
21 {
22+ var cookieModel = new Mojo.Model.Cookie('preferences');
23+ var cookie = cookieModel.get();
24+ if (cookie) {
25+ PDFVIEW.prefs.openLastDoc = cookie.openLastDoc;
26+ PDFVIEW.prefs.autoRotate = cookie.autoRotate;
27+ }
28+
29 var f = function(stageController) {
30
31 if (launchParams.target) {
132diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/document-assistant.js b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/document-assistant.js
2index 708a648..bfb8e84 100644
33index 708a648..9eee05a 100644
334--- a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/document-assistant.js
435+++ b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/document-assistant.js
5@@ -16,13 +16,19 @@ var DocumentAssistant = Class.create({
36@@ -9,6 +9,7 @@ var DocumentAssistant = Class.create({
37 items: [
38 { label:$L('Open'), command:'file-open-cmd' },
39 { label:$L('Save As...'), command:'file-saveas-cmd' },
40+ { label:$L('Preferences'), command:'prefs-cmd' },
41 { label:$L('Share'), command:'share-cmd' },
42 { label:$L('Find'), command:'find-cmd', chosen:false },
43 { label:$L('Bookmarks'), command:'pdf-outline', chosen:false },
44@@ -16,13 +17,19 @@ var DocumentAssistant = Class.create({
645 ]},
746
847 cmdMenuModel: { visible: false, items: [
6262 ]},
6363
6464 numericMap: {
65@@ -43,6 +49,13 @@ var DocumentAssistant = Class.create({
65@@ -43,6 +50,13 @@ var DocumentAssistant = Class.create({
6666
6767 deactivate: function() {
6868 this.findField.mojo.blur();
7676 },
7777
7878 initialize: function(parameters) {
79@@ -52,6 +65,7 @@ var DocumentAssistant = Class.create({
79@@ -52,6 +66,7 @@ var DocumentAssistant = Class.create({
8080 this.document_noext = undefined;
8181 this.saveShowing = false;
8282 this.currentpage = 1;
8484 this.wrongpasscount = -1;
8585 this.jumptimeout = undefined;
8686 this.outline_depth = 1;
87@@ -70,6 +84,7 @@ var DocumentAssistant = Class.create({
87@@ -70,6 +85,8 @@ var DocumentAssistant = Class.create({
8888 this._loadingSpinnerTimeout = null;
8989 this._spinnerShowTime = 0;
9090 this.documentPassword = null;
9191+ this.currentOrientation = "up";
92+ this.autoRotate = PDFVIEW.prefs.autoRotate;
9293
9394 // Variables need for find / search
9495 this.findShowing = false;
95@@ -97,6 +112,14 @@ var DocumentAssistant = Class.create({
96@@ -97,6 +114,23 @@ var DocumentAssistant = Class.create({
9697 this.filename = this.filename.substr(7);
9798 }
9899
100+ var lastDocModel = new Mojo.Model.Cookie('lastdoc');
101+ lastDocModel.put({
102+ lastdoc: this.filename
103+ });
104+
99105+ this.cookieModel = new Mojo.Model.Cookie(this.filename);
100106+ var cookie = this.cookieModel.get();
101107+ if (cookie) {
102108+ this.currentpage = cookie.currentpage;
103109+ this.lastjumpsource = cookie.lastjumpsource;
104+ this.currentOrientation = cookie.currentOrientation;
110+ if (!this.autoRotate) {
111+ this.currentOrientation = cookie.currentOrientation;
112+ }
105113+ }
106114+
115+ this.cmdMenuModel.items[0].items[0].disabled = this.autoRotate;
116+
107117 Mojo.Log.info("Filename = '%s'", this.filename);
108118 },
109119
110@@ -105,13 +128,16 @@ var DocumentAssistant = Class.create({
120@@ -105,13 +139,16 @@ var DocumentAssistant = Class.create({
111121
112122 try {
113123
136136
137137 // Set up the command buttons (footer)
138138 this.controller.setupWidget(Mojo.Menu.commandMenu,
139@@ -241,6 +267,27 @@ var DocumentAssistant = Class.create({
140 */
141 },
139@@ -220,9 +257,7 @@ var DocumentAssistant = Class.create({
142140
141 orientationChanged: function(orientation) {
142
143- return;
144-/*
145- if (this.currentOrientation === orientation)
146+ if (!this.autoRotate || this.currentOrientation === orientation)
147 {
148 return;
149 }
150@@ -238,7 +273,27 @@ var DocumentAssistant = Class.create({
151
152 // Re-create the adapter
153 this.dosetup();
154-*/
155+ },
156+
143157+ rotateView: function() {
144158+ var orientation;
145159+ if (this.currentOrientation === "left") {
173173+
174174+ // Re-create the adapter
175175+ this.dosetup();
176+ },
177+
176 },
177
178178 NeedPassword: function(docid) {
179@@ -332,8 +387,8 @@ var DocumentAssistant = Class.create({
179180
180 this.document_id = docid;
181@@ -332,8 +379,8 @@ var DocumentAssistant = Class.create({
182
183181 if (this.currentpage !== undefined) {
184182
185183- this.cmdMenuModel.items[1].items[0].disabled = (this.currentpage == 1);
187187 this.controller.modelChanged(this.cmdMenuModel);
188188
189189 // rebind key event
190@@ -375,6 +422,13 @@ var DocumentAssistant = Class.create({
190@@ -375,6 +430,13 @@ var DocumentAssistant = Class.create({
191191 this.JumpToPage( this.currentpage );
192192 },
193193
201201 forceFootChange: function () {
202202
203203 var goto_page = parseInt(this.controller.get('page_foot_cur_ent').value, 10);
204@@ -462,7 +516,7 @@ var DocumentAssistant = Class.create({
204@@ -462,7 +524,7 @@ var DocumentAssistant = Class.create({
205205
206206 // Set up the command buttons (footer)
207207 var page_len = (this.pagecount+'').length;
210210 this.controller.modelChanged(this.cmdMenuModel);
211211
212212 this.controller.setMenuVisible(Mojo.Menu.commandMenu, true);
213@@ -568,6 +622,7 @@ var DocumentAssistant = Class.create({
213@@ -568,6 +630,7 @@ var DocumentAssistant = Class.create({
214214
215215 if (e.keyCode == Mojo.Char.enter) {
216216 var goto_page = parseInt(this.controller.get('page_foot_cur_ent').value, 10);
218218 this.JumpToPage(goto_page);
219219 this.showFootPageOf();
220220 }
221@@ -783,7 +838,7 @@ var DocumentAssistant = Class.create({
221@@ -783,7 +846,7 @@ var DocumentAssistant = Class.create({
222222 var splittext = this.filename.split('/');
223223 this.document_name = splittext[splittext.length-1];
224224 this.document_noext = this.document_name.substr(0, this.document_name.indexOf('.pdf'));
227227 new_obj.eventListener = this;
228228
229229 this.adapter = new_obj;
230@@ -860,6 +915,14 @@ var DocumentAssistant = Class.create({
230@@ -809,9 +872,10 @@ var DocumentAssistant = Class.create({
231 openFilePicker: function () {
232
233 // Right now lets just open a new window and send it to the recent scene
234+ var openParams = { disableOpenLast: true };
235 this.controller.serviceRequest('palm://com.palm.applicationManager', {
236 method: 'open',
237- parameters: { 'id': 'com.palm.app.pdfviewer' }
238+ parameters: { 'id': 'com.palm.app.pdfviewer', params: openParams }
239 });
240 },
241
242@@ -835,6 +899,10 @@ var DocumentAssistant = Class.create({
243 this.saveAsDialog();
244 break;
245
246+ case 'prefs-cmd':
247+ this.controller.stageController.pushScene('preferences', this);
248+ break;
249+
250 case 'share-cmd':
251 this.shareDocument();
252 break;
253@@ -860,6 +928,14 @@ var DocumentAssistant = Class.create({
231254 this.showFootPageOf();
232255 break;
233256
265265 case 'pdf-outline':
266266
267267 // Create the PDF outline/bookmarks
268@@ -919,7 +982,7 @@ var DocumentAssistant = Class.create({
268@@ -919,7 +995,7 @@ var DocumentAssistant = Class.create({
269269 var menuAssistant = this.controller._menu.assistant;
270270 menuAssistant.viewSpacerHeight = 0;
271271
274274 }
275275 },
276276
277@@ -1281,7 +1344,7 @@ SaveAsDialogAssistant = Class.create({
277@@ -1281,7 +1357,7 @@ SaveAsDialogAssistant = Class.create({
278278 this.documentAssistant.document_name = save_input;
279279 this.documentAssistant.document_noext = this.documentAssistant.document_name.substr(0, this.documentAssistant.document_name.indexOf('.pdf'));
280280
283283
284284 }
285285 catch(e)
286diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/preferences-assistant.js b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/preferences-assistant.js
287new file mode 100644
288index 0000000..e8fa320
289--- /dev/null
290+++ b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/preferences-assistant.js
291@@ -0,0 +1,44 @@
292+function PreferencesAssistant() {
293+}
294+
295+PreferencesAssistant.prototype.setup = function() {
296+ this.controller.setupWidget('lastDoc',
297+ this.lastDocAttributes = {
298+ trueLabel: $L('On'),
299+ falseLabel: $L('Off')
300+ },
301+ this.lastDocModel = {
302+ value: PDFVIEW.prefs.openLastDoc,
303+ disabled: false
304+ });
305+
306+ this.controller.setupWidget('autoRotate',
307+ this.autoRotateAttributes = {
308+ trueLabel: $L('On'),
309+ falseLabel: $L('Off')
310+ },
311+ this.autoRotateModel = {
312+ value: PDFVIEW.prefs.autoRotate,
313+ disabled: false
314+ });
315+
316+ this.prefsappMenuModel = {
317+ visible: true,
318+ items: [
319+ Mojo.Menu.editItem,
320+ { label: $L("Help") + "...", command: Mojo.Menu.helpCmd, disabled: true }
321+ ]
322+ };
323+ this.controller.setupWidget(Mojo.Menu.appMenu, {omitDefaultItems: true}, this.prefsappMenuModel);
324+ this.controller.setInitialFocusedElement(null);
325+}
326+
327+PreferencesAssistant.prototype.deactivate = function(event) {
328+ this.cookieModel = new Mojo.Model.Cookie('preferences');
329+ PDFVIEW.prefs.openLastDoc = this.lastDocModel.value;
330+ PDFVIEW.prefs.autoRotate = this.autoRotateModel.value;
331+ this.cookieModel.put({
332+ openLastDoc: PDFVIEW.prefs.openLastDoc,
333+ autoRotate: PDFVIEW.prefs.autoRotate
334+ });
335+}
336diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/recent-assistant.js b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/recent-assistant.js
337index ad54e64..d1ae625 100644
338--- a/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/recent-assistant.js
339+++ b/usr/palm/applications/com.palm.app.pdfviewer/app/controllers/recent-assistant.js
340@@ -56,6 +56,17 @@ var RecentAssistant = Class.create({
341 {
342 //Mojo.Log.info("RecentAssistant: activate");
343
344+ if (!this.disableOpenLast && PDFVIEW.prefs.openLastDoc && this.lastdoc != null) {
345+ this.disableOpenLast = true;
346+ // Push the new document scene
347+ var args = { name: 'document', disableSceneScroller: true };
348+ var params = { hidemode: 'none', filename: this.lastdoc };
349+
350+ this.controller.stageController.pushScene(args, params);
351+ } else {
352+
353+ this.disableOpenLast = true;;
354+
355 var params = {
356 // Only show files
357 kind: 'file',
358@@ -78,10 +89,21 @@ var RecentAssistant = Class.create({
359
360 Mojo.FilePicker.pickFile(params, this.controller.stageController);
361
362+ }
363 },
364
365- initialize: function()
366+ initialize: function(parameters)
367 {
368+ this.disableOpenLast = false;
369+ this.lastdoc = null;
370+ this.cookieModel = new Mojo.Model.Cookie('lastdoc');
371+ var cookie = this.cookieModel.get();
372+ if (cookie) {
373+ this.lastdoc = cookie.lastdoc;
374+ }
375+ if (parameters.launchParams) {
376+ this.disableOpenLast = parameters.launchParams.disableOpenLast;
377+ }
378 //Mojo.Log.info("RecentAssistant: initialize");
379 },
380
286381diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/views/document/command_bar.html b/usr/palm/applications/com.palm.app.pdfviewer/app/views/document/command_bar.html
287382index 8fe00ff..96851f0 100644
288383--- a/usr/palm/applications/com.palm.app.pdfviewer/app/views/document/command_bar.html
411411 <div id="my_spinner" x-mojo-element="Spinner"> </div>
412412- <div id="documentname" x-mojo-loc="" class="truncating-text"></div>
413413 </div>
414diff --git a/usr/palm/applications/com.palm.app.pdfviewer/app/views/preferences/preferences-scene.html b/usr/palm/applications/com.palm.app.pdfviewer/app/views/preferences/preferences-scene.html
415new file mode 100644
416index 0000000..caa5024
417--- /dev/null
418+++ b/usr/palm/applications/com.palm.app.pdfviewer/app/views/preferences/preferences-scene.html
419@@ -0,0 +1,41 @@
420+<div id="prefs_view" class="prefs-main">
421+ <div class="palm-page-header">
422+ <div class="header-icon pdfview"></div>
423+ <div class="header-text">
424+ <span x-mojo-loc=''>Preferences</span>
425+ </div>
426+ </div>
427+
428+ <div class="palm-group">
429+ <div class="palm-group-title">
430+ <span x-mojo-loc=''>Startup</span>
431+ </div>
432+ <div class="palm-list">
433+ <div class="palm-row single">
434+ <div class="palm-row-wrapper">
435+ <div x-mojo-element="ToggleButton" id="lastDoc"></div>
436+ <div class="title capitalize" x-mojo-loc='' id='lastDocLabel'>Load last document on startup</div>
437+ </div>
438+ </div>
439+ </div>
440+ </div>
441+
442+ <div class="palm-group">
443+ <div class="palm-group-title">
444+ <span x-mojo-loc=''>Rotation</span>
445+ </div>
446+ <div class="palm-list">
447+ <div class="palm-row single">
448+ <div class="palm-row-wrapper">
449+ <div x-mojo-element="ToggleButton" id="autoRotate"></div>
450+ <div class="title capitalize" x-mojo-loc=''>Use accelerometer for rotation</div>
451+ </div>
452+ </div>
453+ </div>
454+ </div>
455+
456+ <div class="palm-info-text single" x-mojo-loc=''>
457+ Changes will take effect next time a document is opened.
458+ </div>
459+
460+</div>
461diff --git a/usr/palm/applications/com.palm.app.pdfviewer/sources.json b/usr/palm/applications/com.palm.app.pdfviewer/sources.json
462index ef04afe..b213095 100644
463--- a/usr/palm/applications/com.palm.app.pdfviewer/sources.json
464+++ b/usr/palm/applications/com.palm.app.pdfviewer/sources.json
465@@ -6,5 +6,6 @@
466 { "source": "app\/controllers\/error-assistant.js" },
467 { "source": "app\/controllers\/pagetext-assistant.js" },
468 { "source": "app\/controllers\/password-assistant.js" },
469+ { "source": "app\/controllers\/preferences-assistant.js" },
470 { "source": "javascripts\/widget_find.js" }
471 ]
414472diff --git a/usr/palm/applications/com.palm.app.pdfviewer/stylesheets/pdf-viewer.css b/usr/palm/applications/com.palm.app.pdfviewer/stylesheets/pdf-viewer.css
415index 572f564..8872a4d 100644
473index 572f564..76dabb2 100644
416474--- a/usr/palm/applications/com.palm.app.pdfviewer/stylesheets/pdf-viewer.css
417475+++ b/usr/palm/applications/com.palm.app.pdfviewer/stylesheets/pdf-viewer.css
418476@@ -166,7 +166,7 @@ div.foot-page
499499 color: white;
500500 font-size: 14px;
501501 font-style: normal;
502@@ -200,3 +210,46 @@ span.foot-page-cnt
502@@ -200,3 +210,52 @@ span.foot-page-cnt
503503 text-transform: none;
504504 text-decoration: none;
505505 }
545545+.palm-menu-group .palm-menu-label.palm-disabled:last-child,
546546+.palm-menu-group .palm-menu-button.palm-disabled:last-child {
547547+ -webkit-border-image: url(../images/textfield-noshadow.png) 0 20 0 20 stretch stretch;
548+}
549+
550+.palm-page-header .header-icon.pdfview {
551+ width: 32px;
552+ height: 32px;
553+ background: url(../images/pdfsmall.png) center center no-repeat;
548554+}