Patch Tasks Always Show Details of New Tasks

From WebOS Internals
Revision as of 02:26, 30 July 2009 by JackieRipper (talk | contribs) (Added patch repo information)
Jump to navigation Jump to search
Tasks.png

Introduction

I've made a small modification that changes how new tasks are handled. Ordinarily, new tasks appear at the bottom of the task list. In this view, you need to tap again to enter details like a due date. With this modification when add a task, the details card appears (pictured). At this window you can immediately set the task name, due date, task list, and priority. You're not forced to fill out each of those fields, they're just available. Enter your info, then swipe back and you'll see your new task in the list, or close the new task card (flick up) and the task is saved automatically.

Disclaimer

This has been tested on v1.03, v1.04 and v1.1.0 with no problems yet. Use at your own risk. And make a backup!

Note

This mod has been added to the webOS-internals gitorious modifications repository. See Applying_Patches for details.

Editing Process

Accessing linux is required. These directions assume you have already done so.

1. Mount for rw access:

mount -o remount,rw /


2. Make a backup of the file! Don't be lazy!

cd /usr/palm/applications/com.palm.app.tasks/app/controllers/
cp tasks-assistant.js tasks-assistant.js.bak

3. Then open the file /usr/palm/applications/com.palm.app.tasks/app/controllers/tasks-assistant.js

vi tasks-assistant.js

4. In _newTask: function(previousTask)

Replace line 917 (line 921 in os 1.1):

this.listElement.mojo.focusItem(task);

with this code:

this.state.edit.call(this, index);

5. Also, replace line 940 of the same file (line 944 in os 1.1):

self.listElement.mojo.focusItem(task);

with this code:

self.state.edit.call(self, index);

6. Save and reboot.

mount -o remount,ro /
reboot

Enjoy!

(os 1.1 changes verified by tcurtin on 7/24/09)

Contact Me

Please leave me a note if it works for you: http://www.everythingpre.com/forum/webos-development/new-mod-always-show-new-task-details-21326.html#post106281

//-Tuckmobile//

Patching Process

Procedure

Run the following commands:

In this example, I have the patch file located in my home directory under patches <source lang="bash"> cd / sudo patch -p0 --backup-if-mismatch < ~/patches/tasks.patch </source>

This is what you should see if it ran properly: <source lang="text"> patching file /usr/palm/applications/com.palm.app.tasks/app/controllers/tasks-assistant.js </source>

These modifications will require LunaSysMgr to be restarted. A rescan will not work. After you've run the commands above, run one more command: <source lang="bash"> pkill LunaSysMgr </source>

tasks.patch

<source lang="diff"> diff -ur /usr/palm/applications/com.palm.app.tasks/app/controllers/tasks-assistant.js /usr/palm/app-modified/com.palm.app.tasks/app/controllers/tasks-assistant.js --- /usr/palm/applications/com.palm.app.tasks/app/controllers/tasks-assistant.js 2009-07-18 00:22:06.000000000 -0500 +++ /usr/palm/app-modified/com.palm.app.tasks/app/controllers/tasks-assistant.js 2009-07-28 10:50:52.000000000 -0500 @@ -918,7 +918,7 @@

			this.listElement.mojo.insertItemsAt(index, [task]);
			this.listElement.mojo.revealItem(index);
			this.addWidgets(this.listElement.mojo.getNodeByIndex(index).querySelector('[name="subject"]'), task);

- this.listElement.mojo.focusItem(task); + this.state.edit.call(this, index); //this.listElement.mojo.focusItem(task);

			task.priority = previousTask.priority; // Attempt to inherit the priority
			

@@ -941,7 +941,7 @@

				{
					// If we find the node we just added, focus on it.  We might not find the node however if the list is being refreshed
					self.addWidgets(node.querySelector('[name="subject"]'), task);

- self.listElement.mojo.focusItem(task); + self.state.edit.call(self, index); //self.listElement.mojo.focusItem(task);

				}
				
				Mojo.Log.info("New task %j %j", task, self.task);

</source>