diff --git a/astrid/plugin-src/com/todoroo/astrid/notes/NotesDecorationExposer.java b/astrid/plugin-src/com/todoroo/astrid/notes/NotesDecorationExposer.java
index 30fa02d60..1c69a60d4 100644
--- a/astrid/plugin-src/com/todoroo/astrid/notes/NotesDecorationExposer.java
+++ b/astrid/plugin-src/com/todoroo/astrid/notes/NotesDecorationExposer.java
@@ -3,6 +3,8 @@
*/
package com.todoroo.astrid.notes;
+import android.app.PendingIntent;
+import android.content.Intent;
import android.widget.RemoteViews;
import com.timsu.astrid.R;
@@ -27,9 +29,17 @@ public class NotesDecorationExposer implements TaskDecorationExposer {
if(task == null || !NotesPlugin.hasNotes(task))
return null;
+ Intent intent = new Intent(ContextManager.getContext(), EditNoteActivity.class);
+ intent.setAction(EditNoteActivity.class.getName());
+ intent.putExtra(EditNoteActivity.EXTRA_TASK_ID, task.getId());
+ PendingIntent pi = PendingIntent.getActivity(ContextManager.getContext(),
+ (int)task.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
+
TaskDecoration decoration;
RemoteViews remoteViews = new RemoteViews(ContextManager.getContext().getPackageName(),
R.layout.note_decoration);
+ remoteViews.setOnClickPendingIntent(R.id.icon, pi);
+
decoration = new TaskDecoration(remoteViews, TaskDecoration.POSITION_RIGHT, 0);
return decoration;
diff --git a/astrid/res/layout/task_adapter_row.xml b/astrid/res/layout/task_adapter_row.xml
index 3c4ad4588..a15c28e9b 100644
--- a/astrid/res/layout/task_adapter_row.xml
+++ b/astrid/res/layout/task_adapter_row.xml
@@ -12,24 +12,24 @@
+ android:layout_height="fill_parent" />
+ android:layout_height="wrap_content">
+
+
+
diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
index a3e6575be..6731cd148 100644
--- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
+++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
@@ -230,6 +230,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
viewHolder.nameView = (TextView)view.findViewById(R.id.title);
viewHolder.picture = (AsyncImageView)view.findViewById(R.id.picture);
viewHolder.completeBox = (CheckBox)view.findViewById(R.id.completeBox);
+ viewHolder.completeArea = view.findViewById(R.id.completeArea);
viewHolder.dueDate = (TextView)view.findViewById(R.id.dueDate);
viewHolder.details1 = (TextView)view.findViewById(R.id.details1);
viewHolder.details2 = (TextView)view.findViewById(R.id.details2);
@@ -285,6 +286,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
public ViewGroup rowBody;
public TextView nameView;
public CheckBox completeBox;
+ public View completeArea;
public AsyncImageView picture;
public TextView dueDate;
public TextView details1, details2;
@@ -447,10 +449,16 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
* created.
*/
protected void addListeners(final View container) {
- ViewHolder viewHolder = (ViewHolder)container.getTag();
+ final ViewHolder viewHolder = (ViewHolder)container.getTag();
// check box listener
viewHolder.completeBox.setOnClickListener(completeBoxListener);
+ viewHolder.completeArea.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewHolder.completeBox.performClick();
+ }
+ });
if(applyListenersToRowBody) {
viewHolder.rowBody.setOnCreateContextMenuListener(listener);