Made tag view stuff work together in tandem with subtasks

pull/14/head
Tim Su 12 years ago
parent c7e5b524fb
commit 04c92a3915

@ -65,4 +65,11 @@ public final class Table extends SqlTable {
return Field.field(alias + "." + property.name);
return Field.field(name + "." + property.name);
}
@Override
public String toString() {
if(hasAlias())
return expression + " AS " + alias; //$NON-NLS-1$
return expression;
}
}

@ -46,7 +46,7 @@ public abstract class DBObject<T extends DBObject<?>> implements Cloneable {
}
@Override
public final String toString() {
public String toString() {
if (hasAlias()) {
return alias;
}

@ -200,6 +200,7 @@ public class TagViewFragment extends TaskListFragment {
cursor.close();
}
postLoadTagData();
setUpMembersGallery();
super.onNewIntent(intent);
@ -210,6 +211,10 @@ public class TagViewFragment extends TaskListFragment {
}
}
protected void postLoadTagData() {
// stub
}
@Override
public TagData getActiveTagData() {
return tagData;

@ -156,6 +156,7 @@ abstract public class OrderedListUpdater<LIST> {
if(list == null)
return;
System.err.println("u wanna? " + targetTaskId + " before " + moveBeforeTaskId);
Node root = buildTreeModel(filter, list);
Node target = findNode(root, targetTaskId);
@ -166,6 +167,7 @@ abstract public class OrderedListUpdater<LIST> {
target.parent = root;
} else {
Node sibling = findNode(root, moveBeforeTaskId);
System.err.println("siblin found: " + sibling);
if(sibling != null && !ancestorOf(target, sibling)) {
int index = sibling.parent.children.indexOf(sibling);
@ -211,6 +213,7 @@ abstract public class OrderedListUpdater<LIST> {
metadata.setValue(indentProperty(), indent);
if(parentProperty() != null)
metadata.setValue(parentProperty(), node.parent.taskId);
System.err.println("updated metadata " + metadata.getSetValues() + " where " + metadata.getMergedValues());
saveAndUpdateModifiedDate(metadata, node.taskId);
}

@ -83,7 +83,7 @@ public class SubtasksFragmentHelper {
}
public void beforeSetUpTaskList(Filter filter) {
updater.applySubtasksToFilter(filter, null);
updater.applySubtasksToFilter(filter, list);
updater.sanitizeTaskList(filter, list);
}
@ -101,11 +101,18 @@ public class SubtasksFragmentHelper {
long targetTaskId = taskAdapter.getItemId(from);
long destinationTaskId = taskAdapter.getItemId(to);
System.err.println("move " + from + " to " + to);
updater.debugPrint(getFilter(), list);
if(to == getListView().getCount() - 1)
updater.moveTo(getFilter(), list, targetTaskId, -1);
else
updater.moveTo(getFilter(), list, targetTaskId, destinationTaskId);
System.err.println(" --- after ---");
updater.debugPrint(getFilter(), list);
fragment.loadTaskListContent(true);
}
};

@ -1,6 +1,5 @@
package com.todoroo.astrid.subtasks;
import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
@ -21,10 +20,10 @@ public class SubtasksTagListFragment extends TagViewFragment {
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
protected void postLoadTagData() {
String list = "td:" + tagData.getId(); //$NON-NLS-1$
helper.setList(list);
System.err.println("set list to " + list);
}
/* (non-Javadoc)
@ -52,6 +51,7 @@ public class SubtasksTagListFragment extends TagViewFragment {
@Override
protected void setUpTaskList() {
helper.beforeSetUpTaskList(filter);
System.err.println("sql: " + filter.sqlQuery);
super.setUpTaskList();

@ -81,7 +81,8 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
filter.color = Color.GRAY;
}
TagData tagData = PluginServices.getTagDataService().getTag(tag.tag, TagData.ID, TagData.USER_ID, TagData.MEMBER_COUNT);
TagData tagData = PluginServices.getTagDataService().getTag(tag.tag, TagData.ID,
TagData.USER_ID, TagData.MEMBER_COUNT);
int deleteIntentLabel;
if (tagData != null && tagData.getValue(TagData.MEMBER_COUNT) > 0 && tagData.getValue(TagData.USER_ID) != 0)
deleteIntentLabel = R.string.tag_cm_leave;

@ -132,8 +132,10 @@ public final class TagService {
* @return
*/
public QueryTemplate queryTemplate(Criterion criterion) {
return new QueryTemplate().join(Join.inner(Metadata.TABLE,
Task.ID.eq(Metadata.TASK))).where(tagEqIgnoreCase(tag, criterion));
return new QueryTemplate().join(Join.inner(Metadata.TABLE.as("mtags"),
Criterion.and(Task.ID.eq(Field.field("mtags." + Metadata.TASK.name)),
Field.field("mtags." + Metadata.KEY.name).eq(KEY),
Field.field("mtags." + TAG.name).eqCaseInsensitive(tag)))).where(criterion);
}
}

@ -205,12 +205,9 @@ public class AstridActivity extends FragmentActivity
public final void setupTasklistFragmentWithFilter(Filter filter) {
Class<?> customTaskList = TaskListFragment.class;
System.err.println("default time - " + ((filter != null) ? filter.title : "null")); //$NON-NLS-1$
if(filter == null || CoreFilterExposer.isInbox(filter)) {
System.err.println("is inbox"); //$NON-NLS-1$
SharedPreferences publicPrefs = AstridPreferences.getPublicPrefs(this);
int sortFlags = publicPrefs.getInt(SortHelper.PREF_SORT_FLAGS, 0);
System.err.println("is manual sort? " + SortHelper.isManualSort(sortFlags)); //$NON-NLS-1$
if(SortHelper.isManualSort(sortFlags))
customTaskList = SubtasksListFragment.class;
}

@ -218,7 +218,7 @@ public class DraggableListView extends ListView {
} else if (i == childnum) {
if (mDragPos < getCount() - 1) {
marginTop = mItemHeightNormal;
// height = mItemHeightExpanded;
height = 2 * mItemHeightNormal;
}
}

Loading…
Cancel
Save