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);