Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2007-06-13 01:38:34 +0000
committerrelves2007-06-13 01:38:34 +0000
commit368b22b262a7bdd71f18b49980424696acf8e99e (patch)
tree2206fc70b317c5819c16cb68e3af6146be699e60
parent34bfd2edfe7f66169a4d515f29b2faccffa2d39d (diff)
downloadorg.eclipse.mylyn.tasks-368b22b262a7bdd71f18b49980424696acf8e99e.tar.gz
org.eclipse.mylyn.tasks-368b22b262a7bdd71f18b49980424696acf8e99e.tar.xz
org.eclipse.mylyn.tasks-368b22b262a7bdd71f18b49980424696acf8e99e.zip
REOPENED - bug 124321: [api] merge local tasks with repository tasks
https://bugs.eclipse.org/bugs/show_bug.cgi?id=124321
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaConfigurationTest.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java8
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java8
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java6
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java132
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java47
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTaskExternalizer.java44
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java3
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java3
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java3
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java12
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java10
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java30
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java67
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java8
-rw-r--r--org.eclipse.mylyn.tasks.ui/plugin.xml56
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/LocalRepositoryUi.java55
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewLocalTaskAction.java126
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewRepositoryTaskAction.java75
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RenameAction.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ReportBugAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java42
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java13
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java23
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewLocalTaskWizard.java63
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryTaskWizard.java30
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java20
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java3
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java101
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java59
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java17
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/NewWebTaskWizard.java2
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java2
-rw-r--r--org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/wizard/NewTracTaskWizard.java2
36 files changed, 637 insertions, 451 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaConfigurationTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaConfigurationTest.java
index 29adf019e..d388b3ec9 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaConfigurationTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaConfigurationTest.java
@@ -130,7 +130,7 @@ public class BugzillaConfigurationTest extends TestCase {
assertEquals(7, config.getSeverities().size());
assertTrue(config.getProducts().size() > 50);
assertEquals(4, config.getOpenStatusValues().size());
- assertEquals(13, config.getComponents("Mylar").size());
+ assertEquals(13, config.getComponents("Mylyn").size());
assertEquals(23, config.getKeywords().size());
// assertEquals(10, config.getComponents("Hyades").size());
// assertEquals(1, config.getTargetMilestones("TestProduct").size());
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
index 4710e46f8..09a91f058 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
@@ -55,7 +55,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
assertEquals(0, taskList.getAllTasks().size());
BugzillaRepositoryQuery bugQuery = new BugzillaRepositoryQuery(
IBugzillaConstants.TEST_BUGZILLA_222_URL,
- "http://mylar.eclipse.org/bugs222/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Read+Only+Test+Cases&long_desc_type=allwordssubstr&long_desc=&bug_status=NEW&order=Importance",
+ "http://mylyn.eclipse.org/bugs222/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=Read+Only+Test+Cases&long_desc_type=allwordssubstr&long_desc=&bug_status=NEW&order=Importance",
"testFocedQuerySynchronization");
taskList.addQuery(bugQuery);
@@ -107,10 +107,10 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
// collector.setProgressMonitor(new NullProgressMonitor());
// BugzillaSearchOperation operation = new BugzillaSearchOperation(
// repository,
- // "http://mylar.eclipse.org/bugs218/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=search-match-test&product=TestProduct&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&deadlinefrom=&deadlineto=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=",
+ // "http://mylyn.eclipse.org/bugs218/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=search-match-test&product=TestProduct&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&deadlinefrom=&deadlineto=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=",
// null, collector, "-1");
//
- String queryUrl = "http://mylar.eclipse.org/bugs218/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=search-match-test&product=TestProduct&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&deadlinefrom=&deadlineto=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=";
+ String queryUrl = "http://mylyn.eclipse.org/bugs218/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=search-match-test&product=TestProduct&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&deadlinefrom=&deadlineto=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=";
BugzillaRepositoryQuery bugzillaQuery = new BugzillaRepositoryQuery(repository.getUrl(), queryUrl, "search");
SearchHitCollector collector = new SearchHitCollector(taskList, repository, bugzillaQuery, taskFactory);
@@ -145,7 +145,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
// assertEquals("2007-04-18 14:21:40",
// task.getCompletionDate().toString());
assertFalse(task.isCompleted());
- assertEquals("http://mylar.eclipse.org/bugs222/show_bug.cgi?id=3", task.getTaskUrl());
+ assertEquals("http://mylyn.eclipse.org/bugs222/show_bug.cgi?id=3", task.getTaskUrl());
}
public void testUpdateWithSubTasks() throws Exception {
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java
index 7048e2db2..e0a8ac452 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/EncodingTest.java
@@ -52,7 +52,7 @@ public class EncodingTest extends AbstractBugzillaTest {
BugzillaTask task = (BugzillaTask) connector.createTaskFromExistingId(repository, "57", new NullProgressMonitor());
assertNotNull(task);
//TasksUiPlugin.getSynchronizationManager().synchronize(connector, task, true, null);
- assertTrue(task.getSummary().equals("\u05D0"));
+ assertTrue(task.getSummary().equals("\u00E6"));//"\u05D0"));
taskList.deleteTask(task);
connector.getClientManager().repositoryRemoved(repository);
repository.setCharacterEncoding("ISO-8859-1");
@@ -60,7 +60,7 @@ public class EncodingTest extends AbstractBugzillaTest {
assertNotNull(task);
//TasksUiPlugin.getSynchronizationManager().synchronize(connector, task, true, null);
// iso-8859-1 'incorrect' interpretation
- assertFalse(task.getSummary().equals("\u05D0"));
+ assertFalse(task.getSummary().equals("\u00E6"));//"\u05D0"));
}
public void testProperEncodingUponPost() throws CoreException {
@@ -69,7 +69,7 @@ public class EncodingTest extends AbstractBugzillaTest {
BugzillaTask task = (BugzillaTask) connector.createTaskFromExistingId(repository, "57", new NullProgressMonitor());
RepositoryTaskData taskData = TasksUiPlugin.getDefault().getTaskDataManager().getNewTaskData(task.getHandleIdentifier());
assertNotNull(task);
- assertTrue(task.getSummary().equals("\u05D0"));
+ assertTrue(task.getSummary().equals("\u00E6"));//"\u05D0"));
String priority = null;
if (task.getPriority().equals("P1")) {
priority = "P2";
@@ -83,7 +83,7 @@ public class EncodingTest extends AbstractBugzillaTest {
taskList.deleteTask(task);
task = (BugzillaTask) connector.createTaskFromExistingId(repository, "57", new NullProgressMonitor());
assertNotNull(task);
- assertTrue(task.getSummary().equals("\u05D0"));
+ assertTrue(task.getSummary().equals("\u00E6"));//"\u05D0"));
}
}
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
index d9dcfe238..e9e5494cf 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
@@ -55,7 +55,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedTasksRetrieved() throws InvocationTargetException, InterruptedException {
- Task task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ Task task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
CompletedTaskCollector collector = new CompletedTaskCollector(new Date(0));
@@ -71,7 +71,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedTasksDateBoundsRetrieved() throws InvocationTargetException, InterruptedException {
- Task task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ Task task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
task1.setCompleted(true);
Thread.sleep(1000);
@@ -109,7 +109,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedTasksInCategoryRetrieved() throws InvocationTargetException, InterruptedException {
- Task task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ Task task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
task1.setCompleted(true);
TaskCategory cat1 = new TaskCategory("TaskReportGeneratorTest Category");
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java
new file mode 100644
index 000000000..baca70ac3
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java
@@ -0,0 +1,132 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylyn.internal.tasks.core;
+
+import java.util.Collections;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
+import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
+import org.eclipse.mylyn.tasks.core.AbstractRepositoryTask;
+import org.eclipse.mylyn.tasks.core.IAttachmentHandler;
+import org.eclipse.mylyn.tasks.core.ITaskDataHandler;
+import org.eclipse.mylyn.tasks.core.QueryHitCollector;
+import org.eclipse.mylyn.tasks.core.RepositoryTaskData;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
+
+/**
+ * @author Rob Elves
+ */
+public class LocalRepositoryConnector extends AbstractRepositoryConnector {
+
+ public static final String REPOSITORY_LABEL = "Local Tasks";
+
+ public static final String REPOSITORY_KIND = "local";
+
+ public static final String REPOSITORY_URL = "local";
+
+ public static final String REPOSITORY_VERSION = "1";
+
+ public static final String DEFAULT_SUMMARY = "New Task";
+
+ @Override
+ public boolean canCreateNewTask(TaskRepository repository) {
+ return true;
+ }
+
+ @Override
+ public boolean canCreateTaskFromKey(TaskRepository repository) {
+ return true;
+ }
+
+ @Override
+ public AbstractRepositoryTask createTask(String repositoryUrl, String id, String summary) {
+ return new LocalTask(repositoryUrl, id, summary);
+ }
+
+ @Override
+ public IAttachmentHandler getAttachmentHandler() {
+ // TODO: Implement local attachments
+ return null;
+ }
+
+ @Override
+ public Set<AbstractRepositoryTask> getChangedSinceLastSync(TaskRepository repository,
+ Set<AbstractRepositoryTask> tasks, IProgressMonitor monitor) throws CoreException {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public String getLabel() {
+ return "Local Task Repository";
+ }
+
+ @Override
+ public String getRepositoryType() {
+ return REPOSITORY_KIND;
+ }
+
+ @Override
+ public String getRepositoryUrlFromTaskUrl(String taskFullUrl) {
+ // ignore
+ return null;
+ }
+
+ @Override
+ public ITaskDataHandler getTaskDataHandler() {
+ // not currently needed
+ return null;
+ }
+
+ @Override
+ public String getTaskIdFromTaskUrl(String taskFullUrl) {
+ // ignore
+ return null;
+ }
+
+ @Override
+ public String getTaskWebUrl(String repositoryUrl, String taskId) {
+ // ignore
+ return null;
+ }
+
+ @Override
+ public IStatus performQuery(AbstractRepositoryQuery query, TaskRepository repository, IProgressMonitor monitor,
+ QueryHitCollector resultCollector, boolean forced) {
+ // ignore
+ return null;
+ }
+
+ @Override
+ public void updateAttributes(TaskRepository repository, IProgressMonitor monitor) throws CoreException {
+ // ignore
+
+ }
+
+ @Override
+ public void updateTaskFromRepository(TaskRepository repository, AbstractRepositoryTask repositoryTask,
+ IProgressMonitor monitor) throws CoreException {
+ // ignore
+
+ }
+
+ @Override
+ public void updateTaskFromTaskData(TaskRepository repository, AbstractRepositoryTask repositoryTask,
+ RepositoryTaskData taskData) {
+ // ignore
+
+ }
+
+}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java
new file mode 100644
index 000000000..332871858
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylyn.internal.tasks.core;
+
+import org.eclipse.mylyn.tasks.core.AbstractRepositoryTask;
+
+/**
+ * @author Rob Elves
+ */
+public class LocalTask extends AbstractRepositoryTask {
+
+ public LocalTask(String repositoryUrl, String taskId, String summary) {
+ super(LocalRepositoryConnector.REPOSITORY_URL, taskId, summary);
+ }
+
+ @Override
+ public String getRepositoryKind() {
+ return LocalRepositoryConnector.REPOSITORY_KIND;
+ }
+
+ public boolean isNotified() {
+ return true;
+ }
+
+ public String getLastSyncDateStamp() {
+ return "now";
+ }
+
+ public String getOwner() {
+ return LocalRepositoryConnector.REPOSITORY_KIND;
+ }
+
+ @Override
+ public String getTaskKey() {
+ return null;
+ }
+
+}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTaskExternalizer.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTaskExternalizer.java
new file mode 100644
index 000000000..d91d620e9
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTaskExternalizer.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylyn.internal.tasks.core;
+
+import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
+import org.eclipse.mylyn.tasks.core.DelegatingTaskExternalizer;
+import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.core.TaskExternalizationException;
+import org.eclipse.mylyn.tasks.core.TaskList;
+import org.w3c.dom.Element;
+
+/**
+ * @author Rob Elves
+ */
+public class LocalTaskExternalizer extends DelegatingTaskExternalizer {
+
+ @Override
+ public boolean canCreateElementFor(ITask task) {
+ return task instanceof LocalTask;
+ }
+
+ @Override
+ public ITask createTask(String repositoryUrl, String taskId, String summary, Element element, TaskList taskList,
+ AbstractTaskContainer category, ITask parent) throws TaskExternalizationException {
+// String handle;
+// if (element.hasAttribute(KEY_HANDLE)) {
+// handle = element.getAttribute(KEY_HANDLE);
+// } else {
+// throw new TaskExternalizationException("Handle not stored for task");
+// }
+ LocalTask task = new LocalTask(repositoryUrl, taskId, summary);
+ return task;
+ }
+
+}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
index 12465fad9..0d415d10e 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
@@ -218,6 +218,9 @@ public class Task extends AbstractTaskContainer implements ITask {
}
+ /**
+ * Use TaskList for moving tasks between containers
+ */
public void setContainer(AbstractTaskContainer cat) {
this.parentCategory = cat;
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
index 5ff7a34c6..eb558af13 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
@@ -23,6 +23,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil;
/**
@@ -620,7 +621,7 @@ public class TaskList {
int ihandle = 0;
int max = 0;
for (ITask task : tasks) {
- if (!(task instanceof AbstractRepositoryTask)) {
+ if (task instanceof LocalTask) {
String string = task.getHandleIdentifier().substring(task.getHandleIdentifier().lastIndexOf('-') + 1,
task.getHandleIdentifier().length());
try {
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
index 4ae5399d1..c8f4500d7 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
@@ -23,6 +23,7 @@ import java.util.Set;
import org.eclipse.core.runtime.Platform;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.TaskRepositoriesExternalizer;
/**
@@ -229,6 +230,7 @@ public class TaskRepositoryManager {
repositoryMap.clear();
orphanedRepositories.clear();
+
loadRepositories(repositoriesFilePath);
for (ITaskRepositoryListener listener : listeners) {
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java
index 55101e3ec..c87b72562 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java
@@ -23,7 +23,6 @@ import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataExportWizard;
import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataExportWizardPage;
import org.eclipse.mylyn.monitor.core.InteractionEvent;
import org.eclipse.mylyn.tasks.core.ITask;
-import org.eclipse.mylyn.tasks.core.Task;
import org.eclipse.mylyn.tasks.ui.TaskListManager;
import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
import org.eclipse.swt.widgets.Shell;
@@ -72,7 +71,7 @@ public class TaskDataExportTest extends AbstractContextTest {
assertTrue(destinationDir.exists());
// Create a task and context with an interaction event to be saved
- task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "Export Test Task");
+ task1 = manager.createNewLocalTask("Export Test Task");
manager.getTaskList().moveToRoot(task1);
mockContext = ContextCorePlugin.getContextManager().loadContext(task1.getHandleIdentifier());
InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.EDIT, "structureKind", "handle", "originId");
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java
index 03f927c12..911645ac2 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java
@@ -16,6 +16,8 @@ import java.util.Collection;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.context.tests.AbstractContextTest;
import org.eclipse.mylyn.internal.context.core.InteractionContext;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizard;
import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage;
import org.eclipse.mylyn.tasks.core.ITask;
@@ -77,8 +79,7 @@ public class TaskDataImportTest extends AbstractContextTest {
}
/**
- * Tests the wizard when it has been asked to import all task data from a
- * zip file
+ * Tests the wizard when it has been asked to import all task data from a zip file
*/
public void testImportRepositoriesZip() {
TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList();
@@ -110,9 +111,9 @@ public class TaskDataImportTest extends AbstractContextTest {
assertNotNull(historyContext);
assertTrue(taskList.getAllTasks().size() == 0);
assertTrue(historyContext.getInteractionHistory().size() == 0);
- assertEquals(0, TasksUiPlugin.getRepositoryManager().getAllRepositories().size());
+ assertEquals(2, TasksUiPlugin.getRepositoryManager().getAllRepositories().size());
- Task task1 = new Task("handle", "label");
+ Task task1 = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, "999", "label");
taskList.addTask(task1);
Collection<ITask> tasks = taskList.getAllTasks();
assertEquals(1, tasks.size());
@@ -129,8 +130,7 @@ public class TaskDataImportTest extends AbstractContextTest {
historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext();
assertNotNull(historyContext);
assertTrue(historyContext.getInteractionHistory().size() > 0);
- assertEquals(2, TasksUiPlugin.getRepositoryManager().getAllRepositories().size());
-
+ assertEquals(3, TasksUiPlugin.getRepositoryManager().getAllRepositories().size());
}
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java
index 2f2906d3c..c13549191 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java
@@ -57,19 +57,19 @@ public class TaskHistoryTest extends TestCase {
resetHistory();
- task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
- task2 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 2");
+ task2 = manager.createNewLocalTask("task 2");
manager.getTaskList().moveToRoot(task2);
- task3 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 3");
+ task3 = manager.createNewLocalTask("task 3");
manager.getTaskList().moveToRoot(task3);
- task4 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 4");
+ task4 = manager.createNewLocalTask("task 4");
manager.getTaskList().moveToRoot(task4);
- task5 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 5");
+ task5 = manager.createNewLocalTask("task 5");
manager.getTaskList().moveToRoot(task5);
history = manager.getTaskActivationHistory();
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
index 6ca2e9410..50891e309 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
@@ -26,10 +26,11 @@ import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylyn.internal.tasks.ui.ScheduledTaskListSynchJob;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.TaskListSynchronizationScheduler;
+import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskReadAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskUnreadAction;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
@@ -85,13 +86,13 @@ public class TaskListManagerTest extends TestCase {
}
public void testUniqueTaskID() {
- Task task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "label");
+ LocalTask task1 = manager.createNewLocalTask("label");
manager.getTaskList().addTask(task1);
- Task task2 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "label");
+ LocalTask task2 = manager.createNewLocalTask("label");
manager.getTaskList().addTask(task2);
assertEquals(2, manager.getTaskList().getLastTaskNum());
manager.getTaskList().deleteTask(task2);
- Task task3 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "label");
+ LocalTask task3 = manager.createNewLocalTask("label");
manager.getTaskList().addTask(task3);
assertTrue(task3.getHandleIdentifier() + " should end with 3", task3.getHandleIdentifier().endsWith("3"));
assertEquals(3, manager.getTaskList().getLastTaskNum());
@@ -104,7 +105,7 @@ public class TaskListManagerTest extends TestCase {
manager.readExistingOrCreateNewList();
assertEquals(2, manager.getTaskList().getAllTasks().size());
assertEquals(3, manager.getTaskList().getLastTaskNum());
- Task task4 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "label");
+ Task task4 =manager.createNewLocalTask("label");
assertTrue(task4.getHandleIdentifier() + " should end with 4", task4.getHandleIdentifier().endsWith("4"));
}
@@ -510,15 +511,15 @@ public class TaskListManagerTest extends TestCase {
public void testCreationAndExternalization() {
Set<ITask> rootTasks = new HashSet<ITask>();
- Task task1 = new Task(manager.genUniqueTaskHandle(), "task 1");
+ Task task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
rootTasks.add(task1);
- Task sub1 = new Task("subtask-1", "sub 1");
- //manager.getTaskList().addTask(sub1);
+ Task sub1 = manager.createNewLocalTask("sub 1");
manager.getTaskList().addTask(sub1, task1);
+ manager.getTaskList().moveToContainer(manager.getTaskList().getArchiveContainer(), sub1);
- Task task2 = new Task(manager.genUniqueTaskHandle(), "task 2");
+ Task task2 = manager.createNewLocalTask("task 2");
manager.getTaskList().moveToRoot(task2);
rootTasks.add(task2);
@@ -527,14 +528,15 @@ public class TaskListManagerTest extends TestCase {
TaskCategory cat1 = new TaskCategory("Category 1");
manager.getTaskList().addCategory(cat1);
categories.add(cat1);
- Task task3 = new Task(manager.genUniqueTaskHandle(), "task 3");
+ Task task3 =manager.createNewLocalTask("task 3");
manager.getTaskList().moveToContainer(cat1, task3);
cat1Contents.add(task3);
assertEquals(cat1, task3.getContainer());
- Task sub2 = new Task(manager.genUniqueTaskHandle(), "sub 2");
+ Task sub2 = manager.createNewLocalTask("sub 2");
manager.getTaskList().addTask(sub2, task3);
+ manager.getTaskList().moveToContainer(manager.getTaskList().getArchiveContainer(), sub2);
- Task task4 = new Task(manager.genUniqueTaskHandle(), "task 4");
+ Task task4 = manager.createNewLocalTask("task 4");
manager.getTaskList().moveToContainer(cat1, task4);
cat1Contents.add(task4);
@@ -558,7 +560,7 @@ public class TaskListManagerTest extends TestCase {
manager.readExistingOrCreateNewList();
assertNotNull(manager.getTaskList());
- assertEquals(rootTasks, manager.getTaskList().getRootTasks());
+ assertTrue(rootTasks.containsAll(manager.getTaskList().getRootTasks()));
Set<ITask> readList = manager.getTaskList().getRootTasks();
for (ITask task : readList) {
@@ -584,7 +586,7 @@ public class TaskListManagerTest extends TestCase {
// String handle = AbstractRepositoryTask.getHandle("http://url/repo-location",
// 1);
- Task task1 = new Task("http://url/repo-location-1", "task 1");
+ Task task1 = manager.createNewLocalTask("task 1");
manager.getTaskList().moveToRoot(task1);
rootTasks.add(task1);
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java
index 0c2b01bf8..3959b35c8 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java
@@ -46,7 +46,7 @@ import org.eclipse.ui.PartInitException;
*
*/
public class TaskListUiTest extends TestCase {
-
+
private TaskListManager manager = null;
private TaskCategory cat1 = null;
@@ -90,34 +90,33 @@ public class TaskListUiTest extends TestCase {
manager = TasksUiPlugin.getTaskListManager();
cat1 = new TaskCategory("First Category");
- cat1task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ cat1task1 = manager.createNewLocalTask("task 1");
cat1task1.setPriority(Task.PriorityLevel.P1.toString());
- cat1task1.setCompleted(true);
- cat1task1.setContainer(cat1);
+ cat1task1.setCompleted(true);
manager.getTaskList().moveToContainer(cat1, cat1task1);
- cat1task1sub1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "sub task 1");
+ cat1task1sub1 = manager.createNewLocalTask("sub task 1");
cat1task1sub1.setPriority(Task.PriorityLevel.P1.toString());
cat1task1sub1.setCompleted(true);
manager.getTaskList().addTask(cat1task1sub1, cat1task1);
- cat1task2 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 2");
+ cat1task2 = manager.createNewLocalTask("task 2");
cat1task2.setPriority(Task.PriorityLevel.P2.toString());
cat1task2.setContainer(cat1);
manager.getTaskList().moveToContainer(cat1, cat1task2);
- cat1task3 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 3");
+ cat1task3 = manager.createNewLocalTask("task 3");
cat1task3.setPriority(Task.PriorityLevel.P3.toString());
cat1task3.setCompleted(true);
cat1task3.setContainer(cat1);
manager.getTaskList().moveToContainer(cat1, cat1task3);
- cat1task4 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 4");
+ cat1task4 = manager.createNewLocalTask("task 4");
cat1task4.setPriority(Task.PriorityLevel.P4.toString());
cat1task4.setContainer(cat1);
manager.getTaskList().moveToContainer(cat1, cat1task4);
- cat1task5 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 5");
+ cat1task5 = manager.createNewLocalTask("task 5");
cat1task5.setPriority(Task.PriorityLevel.P5.toString());
cat1task5.setCompleted(true);
cat1task5.setContainer(cat1);
@@ -128,33 +127,33 @@ public class TaskListUiTest extends TestCase {
cat2 = new TaskCategory("Second Category");
- cat2task1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1");
+ cat2task1 = manager.createNewLocalTask("task 1");
cat2task1.setPriority(Task.PriorityLevel.P1.toString());
cat2task1.setContainer(cat2);
manager.getTaskList().moveToContainer(cat2, cat2task1);
- cat2task1sub1 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "sub task 1");
+ cat2task1sub1 = manager.createNewLocalTask("sub task 1");
cat2task1sub1.setPriority(Task.PriorityLevel.P1.toString());
manager.getTaskList().addTask(cat2task1sub1, cat2task1);
- cat2task2 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 2");
+ cat2task2 = manager.createNewLocalTask("task 2");
cat2task2.setPriority(Task.PriorityLevel.P2.toString());
cat2task2.setCompleted(true);
cat2task2.setContainer(cat2);
manager.getTaskList().moveToContainer(cat2, cat2task2);
- cat2task3 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 3");
+ cat2task3 = manager.createNewLocalTask("task 3");
cat2task3.setPriority(Task.PriorityLevel.P3.toString());
cat2task3.setContainer(cat2);
manager.getTaskList().moveToContainer(cat2, cat2task3);
- cat2task4 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 4");
+ cat2task4 = manager.createNewLocalTask("task 4");
cat2task4.setPriority(Task.PriorityLevel.P4.toString());
cat2task4.setCompleted(true);
cat2task4.setContainer(cat2);
manager.getTaskList().moveToContainer(cat2, cat2task4);
- cat2task5 = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 5");
+ cat2task5 = manager.createNewLocalTask("task 5");
cat2task5.setPriority(Task.PriorityLevel.P5.toString());
cat2task5.setContainer(cat2);
manager.getTaskList().moveToContainer(cat2, cat2task5);
@@ -199,8 +198,7 @@ public class TaskListUiTest extends TestCase {
TaskListView.getFromActivePerspective().removeFilter(
TaskListView.getFromActivePerspective().getCompleteFilter());
- TaskPriorityFilter filter = TaskListView.getFromActivePerspective()
- .getPriorityFilter();
+ TaskPriorityFilter filter = TaskListView.getFromActivePerspective().getPriorityFilter();
filter.displayPrioritiesAbove("P2");
TaskListView.getFromActivePerspective().addFilter(filter);
viewer.refresh();
@@ -247,8 +245,7 @@ public class TaskListUiTest extends TestCase {
assertEquals(numListenersBefore, numListenersAfter);
}
-
-
+
/**
* Tests whether an additional NewCategory action is added to the category
*/
@@ -266,7 +263,7 @@ public class TaskListUiTest extends TestCase {
// execute sytem under test
MenuManager menuManager = moveToMenuContrib.getSubMenuManager(selectedElements);
IContributionItem[] items = menuManager.getItems();
- IContributionItem item = items[menuManager.getItems().length-1];
+ IContributionItem item = items[menuManager.getItems().length - 1];
// +1 for separator
assertEquals(expectedNrOfSubMenuEntries, menuManager.getItems().length);
@@ -275,49 +272,47 @@ public class TaskListUiTest extends TestCase {
NewCategoryAction action = (NewCategoryAction) item;
assertEquals(newCatActon.getText(), action.getText());
}
-
+
// teardown
}
-
/**
* Tests visibility of SubMenuManager
*/
- public void testVisibilityOfSubMenuManager(){
+ public void testVisibilityOfSubMenuManager() {
//setup
MoveToCategoryMenuContributor moveToMenuContrib = new MoveToCategoryMenuContributor();
MenuManager menuManager = null;
List<ITaskListElement> selectedElements = new Vector<ITaskListElement>();
selectedElements.add(cat1task1);
-
+
List<ITaskListElement> emptySelection = new Vector<ITaskListElement>();
List<ITaskListElement> categorySelection = new Vector<ITaskListElement>();
categorySelection.add(cat1);
-
+
List<ITaskListElement> querySelection = new Vector<ITaskListElement>();
querySelection.add(new MockRepositoryQuery("query", null));
-
+
//execute system under test & assert
menuManager = moveToMenuContrib.getSubMenuManager(selectedElements);
assertTrue(menuManager.isVisible());
-
+
menuManager = null;
menuManager = moveToMenuContrib.getSubMenuManager(emptySelection);
assertFalse(menuManager.isVisible());
-
+
menuManager = null;
menuManager = moveToMenuContrib.getSubMenuManager(categorySelection);
assertFalse(menuManager.isVisible());
-
+
menuManager = null;
menuManager = moveToMenuContrib.getSubMenuManager(querySelection);
assertFalse(menuManager.isVisible());
-
+
//teardown
}
-
-
+
/**
* Tests that the category name is shown in the Move To Category submenu, even when they have an @ in their name
*/
@@ -325,16 +320,16 @@ public class TaskListUiTest extends TestCase {
String catNameWithAtBefore = "@CatName";
String catNameWithAtExpected = "@CatName@";
String catNameWithAtActual = "";
-
+
String catNameNoAtBefore = "CatName";
String catNameNoAtExpected = "CatName";
String catNameNoAtActual = "";
-
+
MoveToCategoryMenuContributor menuContrib = new MoveToCategoryMenuContributor();
-
+
catNameWithAtActual = menuContrib.handleAcceleratorKeys(catNameWithAtBefore);
catNameNoAtActual = menuContrib.handleAcceleratorKeys(catNameNoAtBefore);
-
+
assertEquals(catNameWithAtExpected, catNameWithAtActual);
assertEquals(catNameNoAtExpected, catNameNoAtActual);
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java
index 7a490a85a..fa01639f1 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java
@@ -12,6 +12,8 @@
package org.eclipse.mylyn.tasks.tests;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskPlanningEditor;
import org.eclipse.mylyn.tasks.core.Task;
import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
@@ -51,7 +53,7 @@ public class TaskPlanningEditorTest extends TestCase {
public void testDirtyOnEdit() {
- Task task = new Task(MOCK_HANDLE, MOCK_LABEL);
+ LocalTask task = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, "1", MOCK_LABEL);
task.setSummary(DESCRIPTION);
TasksUiPlugin.getTaskListManager().getTaskList().addTask(task);
TasksUiUtil.openEditor(task, false, true);
@@ -73,7 +75,7 @@ public class TaskPlanningEditorTest extends TestCase {
}
public void testNotDirtyOnRename() {
- Task task = new Task(MOCK_HANDLE, MOCK_LABEL);
+ LocalTask task = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, "1", MOCK_LABEL);
task.setSummary(DESCRIPTION);
TasksUiPlugin.getTaskListManager().getTaskList().addTask(task);
TasksUiUtil.openEditor(task, false, true);
@@ -97,7 +99,7 @@ public class TaskPlanningEditorTest extends TestCase {
* editor remains dirty
*/
public void testRenameInDirtyState() {
- Task task = new Task(MOCK_HANDLE, MOCK_LABEL);
+ LocalTask task = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, "1", MOCK_LABEL);
task.setSummary(DESCRIPTION);
TasksUiPlugin.getTaskListManager().getTaskList().addTask(task);
TasksUiUtil.openEditor(task, false, true);
diff --git a/org.eclipse.mylyn.tasks.ui/plugin.xml b/org.eclipse.mylyn.tasks.ui/plugin.xml
index e0aeee1f3..2fab5f6e1 100644
--- a/org.eclipse.mylyn.tasks.ui/plugin.xml
+++ b/org.eclipse.mylyn.tasks.ui/plugin.xml
@@ -89,14 +89,14 @@
</factory>
</extension>
<extension point="org.eclipse.ui.newWizards">
- <wizard
+ <!--<wizard
canFinishEarly="true"
category="org.eclipse.mylyn.wizards"
class="org.eclipse.mylyn.internal.tasks.ui.wizards.NewLocalTaskWizard"
hasPages="false"
icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.wizards.new.task"
- name="Task"/>
+ name="Task"/> -->
<wizard
canFinishEarly="true"
category="org.eclipse.mylyn.wizards"
@@ -108,10 +108,10 @@
</wizard>
<wizard
category="org.eclipse.mylyn.wizards"
- class="org.eclipse.mylyn.internal.tasks.ui.wizards.NewRepositoryTaskWizard"
- icon="icons/etool16/task-repository-new.gif"
+ class="org.eclipse.mylyn.internal.tasks.ui.wizards.NewTaskWizard"
+ icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.wizards.new.repository.task"
- name="Repository Task"/>
+ name="Task"/>
<wizard
category="org.eclipse.mylyn.wizards"
class="org.eclipse.mylyn.internal.tasks.ui.wizards.NewQueryWizard"
@@ -323,16 +323,16 @@
</action>
<action
- class="org.eclipse.mylyn.internal.tasks.ui.actions.NewRepositoryTaskAction"
+ class="org.eclipse.mylyn.internal.tasks.ui.actions.NewTaskAction"
enablesFor="*"
- icon="icons/etool16/task-repository-new.gif"
+ icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.actions.new.repository.task"
- label="New Repository Task"
+ label="New Task"
style="push"
toolbarPath="new"
- tooltip="New Repository Task">
+ tooltip="New Task">
</action>
- <action
+ <!--<action
class="org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction"
icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.actions.new.task"
@@ -340,7 +340,7 @@
style="push"
toolbarPath="new"
tooltip="New Task">
- </action>
+ </action> -->
<!--
<action
class="org.eclipse.mylyn.internal.tasklist.ui.actions.CopyDetailsAction"
@@ -375,13 +375,13 @@
</action>
<action
- class="org.eclipse.mylyn.internal.tasks.ui.actions.NewRepositoryTaskAction"
+ class="org.eclipse.mylyn.internal.tasks.ui.actions.NewTaskAction"
enablesFor="*"
- icon="icons/etool16/task-repository-new.gif"
+ icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.new.repository.task"
- label="Repository Task..."
+ label="Task..."
menubarPath="org.eclipse.mylyn.tasks.ui.menu.new/repository"
- tooltip="New Repository Task"/>
+ tooltip="New Task"/>
<action
class="org.eclipse.mylyn.internal.tasks.ui.actions.NewQueryAction"
@@ -404,7 +404,7 @@
name="repository">
</separator>
</menu>
- <action
+ <!--<action
class="org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction"
icon="icons/etool16/task-new.gif"
id="org.eclipse.mylyn.tasks.ui.actions.new.task"
@@ -412,7 +412,7 @@
menubarPath="org.eclipse.mylyn.tasks.ui.menu.new/local"
style="push"
tooltip="New Task">
- </action>
+ </action>-->
<action
class="org.eclipse.mylyn.internal.tasks.ui.actions.NewCategoryAction"
icon="icons/etool16/category-new.gif"
@@ -814,4 +814,26 @@
id="org.eclipse.mylyn.tasks.ui.elementFactory">
</factory>
</extension>
+ <extension
+ id="org.eclipse.mylyn.tasks.local.repository"
+ name="Local Task Repository"
+ point="org.eclipse.mylyn.tasks.ui.repositories">
+
+ <connectorCore
+ class="org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector"
+ id="org.eclipse.mylyn.tasks.connector.local"
+ name="Local Repository Connector"
+ type="local"
+ userManaged="false"/>
+
+ <connectorUi
+ brandingIcon="icons/etool16/bug-report.gif"
+ class="org.eclipse.mylyn.internal.tasks.ui.LocalRepositoryUi"
+ name="Local Repository Ui"
+ overlayIcon="icons/eview16/overlay-due.gif"/>
+
+ <externalizer
+ class="org.eclipse.mylyn.internal.tasks.core.LocalTaskExternalizer"
+ id="org.eclipse.mylyn.tasks.local.externalizer"/>
+ </extension>
</plugin>
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/LocalRepositoryUi.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/LocalRepositoryUi.java
new file mode 100644
index 000000000..4efe6fc4e
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/LocalRepositoryUi.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 Mylar committers and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.mylyn.internal.tasks.ui;
+
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
+import org.eclipse.mylyn.internal.tasks.ui.wizards.NewLocalTaskWizard;
+import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
+import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
+import org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositorySettingsPage;
+
+/**
+ * @author Rob Elves
+ */
+public class LocalRepositoryUi extends AbstractRepositoryConnectorUi {
+
+ @Override
+ public IWizard getNewTaskWizard(TaskRepository taskRepository) {
+ return new NewLocalTaskWizard();
+ }
+
+
+ @Override
+ public IWizard getQueryWizard(TaskRepository repository, AbstractRepositoryQuery queryToEdit) {
+ return null;
+ }
+
+ @Override
+ public String getRepositoryType() {
+ return LocalRepositoryConnector.REPOSITORY_KIND;
+ }
+
+ @Override
+ public AbstractRepositorySettingsPage getSettingsPage() {
+ return null;
+ }
+
+ @Override
+ public boolean hasRichEditor() {
+ return false;
+ }
+
+ @Override
+ public boolean hasSearchPage() {
+ return false;
+ }
+
+}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewLocalTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewLocalTaskAction.java
deleted file mode 100644
index a3c275ba4..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewLocalTaskAction.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 University Of British Columbia and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * University Of British Columbia - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.actions;
-
-import java.util.Calendar;
-import java.util.Date;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskInputDialog;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
-import org.eclipse.mylyn.tasks.core.ITask;
-import org.eclipse.mylyn.tasks.core.Task;
-import org.eclipse.mylyn.tasks.core.TaskCategory;
-import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * @author Mik Kersten
- */
-public class NewLocalTaskAction extends Action implements IViewActionDelegate {
-
- public static final String DESCRIPTION_DEFAULT = "New Task";
-
- public static final String ID = "org.eclipse.mylyn.tasks.ui.actions.create.task";
-
- public NewLocalTaskAction() {
- this(null);
- }
-
- public NewLocalTaskAction(TaskListView view) {
- setText(TaskInputDialog.LABEL_SHELL);
- setToolTipText(TaskInputDialog.LABEL_SHELL);
- setId(ID);
- setImageDescriptor(TasksUiImages.TASK_NEW);
- }
-
- public void init(IViewPart view) {
- }
-
- public void run(IAction action) {
- run();
- }
-
- @Override
- public void run() {
- Task newTask = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), DESCRIPTION_DEFAULT);
- scheduleNewTask(newTask);
-
- Object selectedObject = null;
- TaskListView view = TaskListView.getFromActivePerspective();
- if (view != null) {
- selectedObject = ((IStructuredSelection) view.getViewer().getSelection()).getFirstElement();
- }
- if (selectedObject instanceof TaskCategory) {
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, (TaskCategory) selectedObject);
- } else if (selectedObject instanceof ITask) {
- ITask task = (ITask) selectedObject;
- if (task.getContainer() instanceof TaskCategory) {
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, task.getContainer());
- } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
- view.getDrilledIntoCategory());
- } else {
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
- TasksUiPlugin.getTaskListManager().getTaskList().getUncategorizedCategory());
- }
- } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
- view.getDrilledIntoCategory());
- } else {
- if (view != null && view.getDrilledIntoCategory() != null) {
- MessageDialog
- .openInformation(Display.getCurrent().getActiveShell(), ITasksUiConstants.TITLE_DIALOG,
- "The new task has been added to the root of the list, since tasks can not be added to a query.");
- }
- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
- TasksUiPlugin.getTaskListManager().getTaskList().getUncategorizedCategory());
- }
-
- TasksUiUtil.openEditor(newTask, true);
-
- // if (view != null) {
- // view.getViewer().refresh();
- // view.setInRenameAction(true);
- // view.getViewer().editElement(newTask, 4);
- // view.setInRenameAction(false);
- // }
- }
-
- public static void scheduleNewTask(ITask newTask) {
- newTask.setCreationDate(new Date());
-
- Calendar newTaskSchedule = Calendar.getInstance();
- int scheduledEndHour = TasksUiPlugin.getDefault().getPreferenceStore().getInt(
- TasksUiPreferenceConstants.PLANNING_ENDHOUR);
- // If past scheduledEndHour set for following day
- if (newTaskSchedule.get(Calendar.HOUR_OF_DAY) >= scheduledEndHour) {
- TasksUiPlugin.getTaskListManager().setSecheduledIn(newTaskSchedule, 1);
- } else {
- TasksUiPlugin.getTaskListManager().setScheduledEndOfDay(newTaskSchedule);
- }
- TasksUiPlugin.getTaskListManager().setScheduledFor(newTask, newTaskSchedule.getTime());
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewRepositoryTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewRepositoryTaskAction.java
deleted file mode 100644
index 7a3b12bd0..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/NewRepositoryTaskAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 University Of British Columbia and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * University Of British Columbia - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.mylyn.internal.tasks.ui.wizards.NewRepositoryTaskWizard;
-import org.eclipse.mylyn.tasks.core.TaskRepository;
-import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
-import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Mik Kersten
- * @author Eugene Kuleshov
- */
-public class NewRepositoryTaskAction extends Action implements IViewActionDelegate {
-
- public static final String ID = "org.eclipse.mylyn.tasklist.ui.repositories.actions.create";
-
- @Override
- public void run() {
-
- IWizard wizard;
- List<TaskRepository> repositories = TasksUiPlugin.getRepositoryManager().getAllRepositories();
- if (repositories.size() == 1) {
- // NOTE: this click-saving should be generalized
- TaskRepository taskRepository = repositories.get(0);
- AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getRepositoryUi(taskRepository.getKind());
-
- wizard = connectorUi.getNewTaskWizard(taskRepository);
- } else {
- wizard = new NewRepositoryTaskWizard();
- }
-
- Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- if (shell != null && !shell.isDisposed()) {
-
- WizardDialog dialog = new WizardDialog(shell, wizard);
- dialog.setBlockOnOpen(true);
- dialog.open();
-
- } else {
- // ignore
- }
- }
-
- public void run(IAction action) {
- run();
- }
-
- public void init(IViewPart view) {
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RenameAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RenameAction.java
index 930475d04..58d682320 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RenameAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RenameAction.java
@@ -11,6 +11,7 @@
package org.eclipse.mylyn.internal.tasks.ui.actions;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylyn.tasks.core.ITaskListElement;
import org.eclipse.swt.SWT;
@@ -47,9 +48,6 @@ public class RenameAction extends BaseSelectionListenerAction {
@Override
protected boolean updateSelection(IStructuredSelection selection) {
-// Object selected = selection.getFirstElement();
- setEnabled(false);
- return false;
-// return super.updateSelection(selection);
+ return selection.getFirstElement() instanceof LocalTask;
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ReportBugAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ReportBugAction.java
index abf92bb36..5d11321d3 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ReportBugAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ReportBugAction.java
@@ -14,7 +14,7 @@ import org.eclipse.ui.IWorkbenchWindowActionDelegate;
/**
* @author Mik Kersten
*/
-public class ReportBugAction extends NewRepositoryTaskAction implements IWorkbenchWindowActionDelegate {
+public class ReportBugAction extends NewTaskAction implements IWorkbenchWindowActionDelegate {
public void dispose() {
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
index 62027feb0..053e62826 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
@@ -20,9 +20,10 @@ import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.text.TextViewer;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.RetrieveTitleFromUrlJob;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
-import org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylyn.monitor.core.DateUtil;
import org.eclipse.mylyn.monitor.ui.MonitorUiPlugin;
@@ -79,7 +80,7 @@ import org.eclipse.ui.forms.widgets.Section;
public class TaskPlanningEditor extends TaskFormPage {
public static final String ID_EDITOR = "org.eclipse.mylyn.tasks.ui.editors.planning";
-
+
private static final String CLEAR = "Clear";
private static final String LABEL_DUE = "Due:";
@@ -229,14 +230,14 @@ public class TaskPlanningEditor extends TaskFormPage {
statusCombo.select(1);
}
}
- if (!(updateTask instanceof AbstractRepositoryTask) && !endDate.isDisposed()) {
+ if ((updateTask instanceof LocalTask) && !endDate.isDisposed()) {
endDate.setText(getTaskDateString(updateTask));
}
}
@Override
public void doSave(IProgressMonitor monitor) {
- if (!(task instanceof AbstractRepositoryTask)) {
+ if (task instanceof LocalTask) {
String label = summary.getText();
// task.setDescription(label);
TasksUiPlugin.getTaskListManager().getTaskList().renameTask((Task) task, label);
@@ -307,17 +308,13 @@ public class TaskPlanningEditor extends TaskFormPage {
editorLayout.verticalSpacing = 3;
editorComposite.setLayout(editorLayout);
editorComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
- // try {
- if (task instanceof AbstractRepositoryTask) {
- // form.setText("Planning");
- } else {
+ if (task instanceof LocalTask) {
createSummarySection(editorComposite);
- // form.setText("Task: " + task.getSummary());
}
createPlanningSection(editorComposite);
createNotesSection(editorComposite);
- if (summary != null && NewLocalTaskAction.DESCRIPTION_DEFAULT.equals(summary.getText())) {
+ if (summary != null && LocalRepositoryConnector.DEFAULT_SUMMARY.equals(summary.getText())) {
summary.setSelection(0, summary.getText().length());
summary.setFocus();
} else if (summary != null) {
@@ -370,7 +367,7 @@ public class TaskPlanningEditor extends TaskFormPage {
summary.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
GridDataFactory.fillDefaults().minSize(100, SWT.DEFAULT).grab(true, false).applyTo(summary);
- if (task instanceof AbstractRepositoryTask) {
+ if (!(task instanceof LocalTask)) {
summary.setEnabled(false);
} else {
summary.addModifyListener(new ModifyListener() {
@@ -409,7 +406,7 @@ public class TaskPlanningEditor extends TaskFormPage {
priorityCombo.select(prioritySelectionIndex);
}
- if (task instanceof AbstractRepositoryTask) {
+ if (!(task instanceof LocalTask)) {
priorityCombo.setEnabled(false);
} else {
priorityCombo.addSelectionListener(new SelectionAdapter() {
@@ -434,7 +431,7 @@ public class TaskPlanningEditor extends TaskFormPage {
} else {
statusCombo.select(1);
}
- if (task instanceof AbstractRepositoryTask) {
+ if (!(task instanceof LocalTask)) {
statusCombo.setEnabled(false);
} else {
statusCombo.addSelectionListener(new SelectionAdapter() {
@@ -477,7 +474,7 @@ public class TaskPlanningEditor extends TaskFormPage {
issueReportURL = toolkit.createText(urlComposite, task.getTaskUrl(), SWT.FLAT);
issueReportURL.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- if (task instanceof AbstractRepositoryTask) {
+ if (!(task instanceof LocalTask)) {
issueReportURL.setEditable(false);
} else {
issueReportURL.addModifyListener(new ModifyListener() {
@@ -536,8 +533,7 @@ public class TaskPlanningEditor extends TaskFormPage {
}
/**
- * Sets the Get Description button enabled or not depending on whether there
- * is a URL specified
+ * Sets the Get Description button enabled or not depending on whether there is a URL specified
*/
protected void setButtonStatus() {
String url = issueReportURL.getText();
@@ -660,12 +656,12 @@ public class TaskPlanningEditor extends TaskFormPage {
}
});
- if (task instanceof AbstractRepositoryTask) {
- AbstractRepositoryConnectorUi connector = TasksUiPlugin.getRepositoryUi(((AbstractRepositoryTask)task).getRepositoryKind());
- if(connector != null && connector.handlesDueDates((AbstractRepositoryTask)task)){
- dueDatePicker.setEnabled(false);
- clearDueDate.setEnabled(false);
- }
+ if (task instanceof AbstractRepositoryTask && !(task instanceof LocalTask)) {
+ AbstractRepositoryConnectorUi connector = TasksUiPlugin.getRepositoryUi(((AbstractRepositoryTask) task).getRepositoryKind());
+ if (connector != null && connector.handlesDueDates((AbstractRepositoryTask) task)) {
+ dueDatePicker.setEnabled(false);
+ clearDueDate.setEnabled(false);
+ }
}
// Estimated time
@@ -771,7 +767,7 @@ public class TaskPlanningEditor extends TaskFormPage {
container.setLayoutData(new GridData(GridData.FILL_BOTH));
TaskRepository repository = null;
- if (task instanceof AbstractRepositoryTask) {
+ if (task instanceof AbstractRepositoryTask && !(task instanceof LocalTask)) {
AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask) task;
repository = TasksUiPlugin.getRepositoryManager().getRepository(repositoryTask.getRepositoryKind(),
repositoryTask.getRepositoryUrl());
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
index 761b674a3..104a471fb 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
@@ -29,7 +29,6 @@ import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.core.MylarStatusHandler;
import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants;
import org.eclipse.mylyn.internal.tasks.ui.RetrieveTitleFromUrlJob;
-import org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.TaskActivateAction;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
@@ -39,6 +38,7 @@ import org.eclipse.mylyn.tasks.core.ITaskListElement;
import org.eclipse.mylyn.tasks.core.Task;
import org.eclipse.mylyn.tasks.core.TaskCategory;
import org.eclipse.mylyn.tasks.core.TaskRepository;
+import org.eclipse.mylyn.tasks.ui.TaskListManager;
import org.eclipse.mylyn.tasks.ui.TaskTransfer;
import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
@@ -222,14 +222,11 @@ public class TaskListDropAdapter extends ViewerDropAdapter {
// }
retrieveTaskDescription(url);
- newTask = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), urlTitle);
- NewLocalTaskAction.scheduleNewTask(newTask);
+ newTask = TasksUiPlugin.getTaskListManager().createNewLocalTask(urlTitle);
if (newTask == null) {
return false;
}
-
- newTask.setPriority(Task.PriorityLevel.P3.toString());
newTask.setTaskUrl(url);
// NOTE: setting boolean param as false so that we go directly to
@@ -241,13 +238,13 @@ public class TaskListDropAdapter extends ViewerDropAdapter {
}
public boolean createTaskFromString(String title) {
- newTask = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), title);
- NewLocalTaskAction.scheduleNewTask(newTask);
+ //newTask = new Task(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), title);
+ newTask = TasksUiPlugin.getTaskListManager().createNewLocalTask(title);
if (newTask == null) {
return false;
} else {
- newTask.setPriority(Task.PriorityLevel.P3.toString());
+ //newTask.setPriority(Task.PriorityLevel.P3.toString());
TasksUiUtil.openEditor(newTask, false);
return true;
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
index 773465fac..b944756b1 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
@@ -56,10 +56,10 @@ import org.eclipse.mylyn.internal.tasks.ui.TaskArchiveFilter;
import org.eclipse.mylyn.internal.tasks.ui.TaskCompletionFilter;
import org.eclipse.mylyn.internal.tasks.ui.TaskListColorsAndFonts;
import org.eclipse.mylyn.internal.tasks.ui.TaskListPatternFilter;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.TaskPriorityFilter;
import org.eclipse.mylyn.internal.tasks.ui.TaskWorkingSetFilter;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
+import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.actions.CollapseAllAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.DeleteAction;
@@ -72,7 +72,6 @@ import org.eclipse.mylyn.internal.tasks.ui.actions.GoUpAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.LinkWithEditorAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskCompleteAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskIncompleteAction;
-import org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.OpenTasksUiPreferencesAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.OpenWithBrowserAction;
@@ -85,6 +84,7 @@ import org.eclipse.mylyn.internal.tasks.ui.actions.TaskActivateAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.TaskDeactivateAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.TaskListElementPropertiesAction;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter.SortByIndex;
+import org.eclipse.mylyn.internal.tasks.ui.wizards.NewLocalTaskWizard;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
@@ -222,7 +222,7 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
private OpenWithBrowserAction openWithBrowser;
- private NewLocalTaskAction newLocalTaskAction;
+ //private NewLocalTaskAction newLocalTaskAction;
private RenameAction renameAction;
@@ -843,14 +843,14 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
public void keyPressed(KeyEvent e) {
if (e.keyCode == SWT.INSERT) {
- newLocalTaskAction.run();
- } else if ((e.keyCode & SWT.KEYCODE_BIT) != 0) {
- // Do nothing here since it is key code
+ new NewLocalTaskWizard().performFinish();
} else if (e.keyCode == SWT.F2 && e.stateMask == 0) {
if (renameAction.isEnabled()) {
renameAction.run();
}
- } else if (e.keyCode == 'c' && e.stateMask == SWT.MOD1) {
+ } else if ((e.keyCode & SWT.KEYCODE_BIT) != 0) {
+ // Do nothing here since it is key code
+ } else if (e.keyCode == 'c' && e.stateMask == SWT.MOD1) {
copyDetailsAction.run();
} else if (e.keyCode == SWT.DEL) {
deleteAction.run();
@@ -1228,8 +1228,6 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
}
} else if (action instanceof DeleteAction) {
action.setEnabled(true);
- } else if (action instanceof NewLocalTaskAction) {
- action.setEnabled(false);
} else if (action instanceof OpenTaskListElementAction) {
action.setEnabled(true);
} else if (action instanceof CopyTaskDetailsAction) {
@@ -1247,11 +1245,6 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
action.setEnabled(false);
else
action.setEnabled(true);
- } else if (action instanceof NewLocalTaskAction) {
- if (element instanceof TaskArchive)
- action.setEnabled(false);
- else
- action.setEnabled(true);
} else if (action instanceof GoIntoAction) {
TaskCategory cat = (TaskCategory) element;
if (cat.getChildren().size() > 0) {
@@ -1288,7 +1281,7 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
goIntoAction = new GoIntoAction();
goUpAction = new GoUpAction(drillDownAdapter);
- newLocalTaskAction = new NewLocalTaskAction(this);
+ //newLocalTaskAction = new NewLocalTaskAction(this);
removeFromCategoryAction = new RemoveFromCategoryAction(this);
renameAction = new RenameAction(this);
filteredTree.getViewer().addSelectionChangedListener(renameAction);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewLocalTaskWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewLocalTaskWizard.java
index 48ef94a7b..079bb35a2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewLocalTaskWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewLocalTaskWizard.java
@@ -10,28 +10,79 @@ package org.eclipse.mylyn.internal.tasks.ui.wizards;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.mylyn.internal.tasks.ui.actions.NewLocalTaskAction;
+import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
+import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
+import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
/**
- * @author Mik Kersten
+ * @author Rob Elves
*/
public class NewLocalTaskWizard extends Wizard implements INewWizard {
+ public NewLocalTaskWizard() {
+ setDefaultPageImageDescriptor(TasksUiImages.BANNER_REPOSITORY);
+ setNeedsProgressMonitor(true);
+ }
+
public void init(IWorkbench workbench, IStructuredSelection selection) {
setForcePreviousAndNextButtons(false);
}
-
+
+ @Override
+ public void addPages() {
+ // ignore
+ }
+
@Override
public boolean canFinish() {
return true;
}
-
+
@Override
public boolean performFinish() {
- new NewLocalTaskAction().run();
- return true;
+
+// LocalTask newTask = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, TasksUiPlugin.getTaskListManager()
+// .genUniqueTaskHandle(), LocalRepositoryConnector.DEFAULT_SUMMARY);
+// TaskListManager.scheduleNewTask(newTask);
+//
+// Object selectedObject = null;
+// TaskListView view = TaskListView.getFromActivePerspective();
+// if (view != null) {
+// selectedObject = ((IStructuredSelection) view.getViewer().getSelection()).getFirstElement();
+// }
+// if (selectedObject instanceof TaskCategory) {
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, (TaskCategory) selectedObject);
+// } else if (selectedObject instanceof ITask) {
+// ITask task = (ITask) selectedObject;
+// if (task.getContainer() instanceof TaskCategory) {
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, task.getContainer());
+// } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, view.getDrilledIntoCategory());
+// } else {
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
+// TasksUiPlugin.getTaskListManager().getTaskList().getUncategorizedCategory());
+// }
+// } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, view.getDrilledIntoCategory());
+// } else {
+// if (view != null && view.getDrilledIntoCategory() != null) {
+// MessageDialog.openInformation(Display.getCurrent().getActiveShell(), ITasksUiConstants.TITLE_DIALOG,
+// "The new task has been added to the root of the list, since tasks can not be added to a query.");
+// }
+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask,
+// TasksUiPlugin.getTaskListManager().getTaskList().getUncategorizedCategory());
+// }
+ ITask task = TasksUiPlugin.getTaskListManager().createNewLocalTask(null);
+ if (task != null) {
+ TasksUiUtil.openEditor(task, true);
+ return true;
+ } else {
+ return false;
+ }
+
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryTaskWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryTaskWizard.java
deleted file mode 100644
index 2a9e4c151..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewRepositoryTaskWizard.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 University Of British Columbia and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * University Of British Columbia - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.wizards;
-
-import org.eclipse.mylyn.tasks.core.TaskRepositoryFilter;
-
-/**
- * @author Mik Kersten
- * @author Eugene Kuleshov
- * @author Steffen Pingel
- */
-public class NewRepositoryTaskWizard extends MultiRepositoryAwareWizard {
-
- private static final String TITLE = "New Repository Task";
-
- public NewRepositoryTaskWizard() {
- super(new NewRepositoryTaskPage(TaskRepositoryFilter.CAN_CREATE_NEW_TASK), TITLE);
- setNeedsProgressMonitor(true);
- }
-
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java
index 3836d5acb..3770429c2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java
@@ -96,8 +96,7 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
List<TaskRepository> repositories = new ArrayList<TaskRepository>();
TaskRepositoryManager repositoryManager = TasksUiPlugin.getRepositoryManager();
for (AbstractRepositoryConnector connector : repositoryManager.getRepositoryConnectors()) {
- Set<TaskRepository> connectorRepositories = repositoryManager
- .getRepositories(connector.getRepositoryType());
+ Set<TaskRepository> connectorRepositories = repositoryManager.getRepositories(connector.getRepositoryType());
for (TaskRepository repository : connectorRepositories) {
if (taskRepositoryFilter.accept(repository, connector)) {
repositories.add(repository);
@@ -114,7 +113,7 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
Table table = createTableViewer(container);
viewer.setSorter(new TaskRepositoriesSorter());
-
+
GridData gridData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
table.setLayoutData(gridData);
@@ -140,8 +139,8 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
viewer = new TableViewer(container, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
viewer.setContentProvider(new RepositoryContentProvider());
// viewer.setLabelProvider(new TaskRepositoryLabelProvider());
- viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(), PlatformUI
- .getWorkbench().getDecoratorManager().getLabelDecorator()));
+ viewer.setLabelProvider(new DecoratingLabelProvider(new TaskRepositoryLabelProvider(),
+ PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
viewer.setInput(TasksUiPlugin.getRepositoryManager().getRepositoryConnectors());
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
@@ -149,9 +148,10 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
if (selection.getFirstElement() instanceof TaskRepository) {
setSelectedNode(new CustomWizardNode((TaskRepository) selection.getFirstElement()));
- setPageComplete(true);
+ setPageComplete(true);
+ } else {
+ setPageComplete(false);
}
- setPageComplete(false);
}
});
@@ -175,7 +175,7 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
public boolean canFlipToNextPage() {
return getSelectedNode() != null && getNextPage() != null;
}
-
+
public boolean canFinish() {
return getSelectedNode() != null && getNextPage() == null;
}
@@ -186,10 +186,10 @@ public abstract class SelectRepositoryPage extends WizardSelectionPage {
// by container
return false;
}
-
+
return getSelectedNode().getWizard().performFinish();
}
-
+
private class CustomWizardNode implements IWizardNode {
private final TaskRepository repository;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
index a00d0ac0c..e70a87f25 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
@@ -19,6 +19,7 @@ import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.WebTask;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
import org.eclipse.mylyn.internal.tasks.ui.wizards.CommonAddExistingTaskWizard;
@@ -121,7 +122,7 @@ public abstract class AbstractRepositoryConnectorUi {
* Task kind overlay, recommended to override with connector-specific overlay.
*/
public ImageDescriptor getTaskKindOverlay(AbstractRepositoryTask task) {
- if (!hasRichEditor() || task instanceof WebTask) {
+ if (!(task instanceof LocalTask) && (!hasRichEditor() || task instanceof WebTask)) {
return TasksUiImages.OVERLAY_WEB;
}
return null;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
index 757ff071f..c44c549fa 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
@@ -28,22 +28,28 @@ import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.context.core.IInteractionContext;
import org.eclipse.mylyn.context.core.IInteractionContextListener;
import org.eclipse.mylyn.context.core.IInteractionElement;
import org.eclipse.mylyn.core.MylarStatusHandler;
import org.eclipse.mylyn.internal.context.core.InteractionContextManager;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylyn.internal.tasks.core.TaskDataManager;
import org.eclipse.mylyn.internal.tasks.core.WebTask;
+import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.WorkspaceAwareContextStore;
import org.eclipse.mylyn.internal.tasks.ui.util.TaskListSaveManager;
import org.eclipse.mylyn.internal.tasks.ui.util.TaskListWriter;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskActivationHistory;
+import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylyn.monitor.core.InteractionEvent;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
@@ -56,9 +62,10 @@ import org.eclipse.mylyn.tasks.core.ITaskListElement;
import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute;
import org.eclipse.mylyn.tasks.core.RepositoryTaskData;
import org.eclipse.mylyn.tasks.core.Task;
+import org.eclipse.mylyn.tasks.core.TaskCategory;
import org.eclipse.mylyn.tasks.core.TaskList;
import org.eclipse.mylyn.tasks.core.TaskRepository;
-import org.eclipse.mylyn.tasks.core.TaskRepositoryManager;
+import org.eclipse.swt.widgets.Display;
/**
* TODO: pull task activity management out into new TaskActivityManager
@@ -175,7 +182,8 @@ public class TaskListManager implements IPropertyChangeListener {
}
public void interestChanged(List<IInteractionElement> elements) {
- List<InteractionEvent> events = ContextCorePlugin.getContextManager().getActivityMetaContext()
+ List<InteractionEvent> events = ContextCorePlugin.getContextManager()
+ .getActivityMetaContext()
.getInteractionHistory();
InteractionEvent event = events.get(events.size() - 1);
parseInteractionEvent(event);
@@ -267,7 +275,8 @@ public class TaskListManager implements IPropertyChangeListener {
if (!TasksUiPlugin.getTaskListManager().isTaskListInitialized()) {
return;
}
- List<InteractionEvent> events = ContextCorePlugin.getContextManager().getActivityMetaContext()
+ List<InteractionEvent> events = ContextCorePlugin.getContextManager()
+ .getActivityMetaContext()
.getInteractionHistory();
for (InteractionEvent event : events) {
parseInteractionEvent(event);
@@ -343,8 +352,8 @@ public class TaskListManager implements IPropertyChangeListener {
for (DateRangeContainer day : activityWeekDays) {
if (day.includes(tempCalendar) && !day.getChildren().contains(task)) {
- day.addTask(new DateRangeActivityDelegate(day, task, tempCalendar, tempCalendar, this
- .getElapsedTime(task)));
+ day.addTask(new DateRangeActivityDelegate(day, task, tempCalendar, tempCalendar,
+ this.getElapsedTime(task)));
}
}
}
@@ -686,13 +695,11 @@ public class TaskListManager implements IPropertyChangeListener {
}
/**
- * Every call to this method generates a unique handle, subsequent calls
- * will have incremented task numbers
+ * Every call to this method generates a unique handle, subsequent calls will have incremented task numbers
*/
- public String genUniqueTaskHandle() {
- return TaskRepositoryManager.PREFIX_LOCAL + taskList.getNextTaskNum();
- }
-
+// public String genUniqueTaskHandle() {
+// return TaskRepositoryManager.PREFIX_LOCAL + taskList.getNextTaskNum();
+// }
public void refactorRepositoryUrl(String oldUrl, String newUrl) {
if (oldUrl == null || newUrl == null || oldUrl.equals(newUrl)) {
return;
@@ -740,10 +747,8 @@ public class TaskListManager implements IPropertyChangeListener {
if (task instanceof AbstractRepositoryTask) {
AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask) task;
if (repositoryTask.getRepositoryUrl().equals(oldRepositoryUrl)) {
- RepositoryTaskData newTaskData = taskDataManager.getNewTaskData(repositoryTask
- .getHandleIdentifier());
- RepositoryTaskData oldTaskData = taskDataManager.getOldTaskData(repositoryTask
- .getHandleIdentifier());
+ RepositoryTaskData newTaskData = taskDataManager.getNewTaskData(repositoryTask.getHandleIdentifier());
+ RepositoryTaskData oldTaskData = taskDataManager.getOldTaskData(repositoryTask.getHandleIdentifier());
Set<RepositoryTaskAttribute> edits = taskDataManager.getEdits(repositoryTask.getHandleIdentifier());
taskDataManager.remove(repositoryTask.getHandleIdentifier());
@@ -1119,12 +1124,10 @@ public class TaskListManager implements IPropertyChangeListener {
/**
* @param element
- * tasklist element to retrieve a task for currently will work
- * for (ITask, AbstractQueryHit)
+ * tasklist element to retrieve a task for currently will work for (ITask, AbstractQueryHit)
* @param force -
- * if a query hit is passed you can either force construction of
- * the task or not (if not and no task, null is returned) TODO:
- * Move into TaskList?
+ * if a query hit is passed you can either force construction of the task or not (if not and no task,
+ * null is returned) TODO: Move into TaskList?
*/
public ITask getTaskForElement(ITaskListElement element, boolean force) {
ITask task = null;
@@ -1150,4 +1153,62 @@ public class TaskListManager implements IPropertyChangeListener {
public int getStartHour() {
return START_HOUR;
}
+
+ public static void scheduleNewTask(ITask newTask) {
+ newTask.setCreationDate(new Date());
+
+ Calendar newTaskSchedule = Calendar.getInstance();
+ int scheduledEndHour = TasksUiPlugin.getDefault().getPreferenceStore().getInt(
+ TasksUiPreferenceConstants.PLANNING_ENDHOUR);
+ // If past scheduledEndHour set for following day
+ if (newTaskSchedule.get(Calendar.HOUR_OF_DAY) >= scheduledEndHour) {
+ TasksUiPlugin.getTaskListManager().setSecheduledIn(newTaskSchedule, 1);
+ } else {
+ TasksUiPlugin.getTaskListManager().setScheduledEndOfDay(newTaskSchedule);
+ }
+ TasksUiPlugin.getTaskListManager().setScheduledFor(newTask, newTaskSchedule.getTime());
+ }
+
+ /**
+ * Creates a new local task and schedules for today
+ * @param summary if null DEFAULT_SUMMARY (New Task) used.
+ */
+ public LocalTask createNewLocalTask(String summary) {
+ if (summary == null) {
+ summary = LocalRepositoryConnector.DEFAULT_SUMMARY;
+ }
+ LocalTask newTask = new LocalTask(LocalRepositoryConnector.REPOSITORY_URL, "" + taskList.getNextTaskNum(),
+ summary);
+ newTask.setPriority(Task.PriorityLevel.P3.toString());
+
+ scheduleNewTask(newTask);
+
+ Object selectedObject = null;
+ TaskListView view = TaskListView.getFromActivePerspective();
+ if (view != null) {
+ selectedObject = ((IStructuredSelection) view.getViewer().getSelection()).getFirstElement();
+ }
+ if (selectedObject instanceof TaskCategory) {
+ taskList.addTask(newTask, (TaskCategory) selectedObject);
+ } else if (selectedObject instanceof ITask) {
+ ITask task = (ITask) selectedObject;
+ if (task.getContainer() instanceof TaskCategory) {
+ taskList.addTask(newTask, task.getContainer());
+ } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
+ taskList.addTask(newTask, view.getDrilledIntoCategory());
+ } else {
+ taskList.addTask(newTask, TasksUiPlugin.getTaskListManager().getTaskList().getUncategorizedCategory());
+ }
+ } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) {
+ taskList.addTask(newTask, view.getDrilledIntoCategory());
+ } else {
+ if (view != null && view.getDrilledIntoCategory() != null) {
+ MessageDialog.openInformation(Display.getCurrent().getActiveShell(), ITasksUiConstants.TITLE_DIALOG,
+ "The new task has been added to the root of the list, since tasks can not be added to a query.");
+ }
+ taskList.addTask(newTask, taskList.getUncategorizedCategory());
+ }
+ return newTask;
+ }
+
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
index 62eb889de..b4e11afc9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
@@ -40,6 +40,7 @@ import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.core.MylarStatusHandler;
import org.eclipse.mylyn.internal.context.core.ContextPreferenceContstants;
+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.TaskDataManager;
import org.eclipse.mylyn.internal.tasks.ui.IDynamicSubMenuContributor;
import org.eclipse.mylyn.internal.tasks.ui.ITaskHighlighter;
@@ -380,29 +381,8 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup {
// instantiates taskDataManager
readOfflineReports();
-
- // add the automatically created templates
- for (AbstractRepositoryConnector connector : taskRepositoryManager.getRepositoryConnectors()) {
- connector.setTaskDataManager(taskDataManager);
-
- for (RepositoryTemplate template : connector.getTemplates()) {
- if (template.addAutomatically) {
- try {
- TaskRepository taskRepository = taskRepositoryManager.getRepository(
- connector.getRepositoryType(), template.repositoryUrl);
- if (taskRepository == null) {
- taskRepository = new TaskRepository(connector.getRepositoryType(),
- template.repositoryUrl, template.version);
- taskRepository.setRepositoryLabel(template.label);
- taskRepository.setAnonymous(true);
- taskRepositoryManager.addRepository(taskRepository, getRepositoriesFilePath());
- }
- } catch (Throwable t) {
- MylarStatusHandler.fail(t, "Could not load repository template", false);
- }
- }
- }
- }
+
+ loadTemplateRepositories();
// NOTE: task list must be read before Task List view can be
// initialized
@@ -506,6 +486,38 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup {
}
}
+ private void loadTemplateRepositories() {
+
+ // Add standard local task repository
+ TaskRepository localRepository = new TaskRepository(LocalRepositoryConnector.REPOSITORY_KIND, LocalRepositoryConnector.REPOSITORY_URL, LocalRepositoryConnector.REPOSITORY_VERSION);
+ localRepository.setRepositoryLabel(LocalRepositoryConnector.REPOSITORY_LABEL);
+ localRepository.setAnonymous(true);
+ taskRepositoryManager.addRepository(localRepository, getRepositoriesFilePath());
+
+ // Add the automatically created templates
+ for (AbstractRepositoryConnector connector : taskRepositoryManager.getRepositoryConnectors()) {
+ connector.setTaskDataManager(taskDataManager);
+
+ for (RepositoryTemplate template : connector.getTemplates()) {
+ if (template.addAutomatically) {
+ try {
+ TaskRepository taskRepository = taskRepositoryManager.getRepository(
+ connector.getRepositoryType(), template.repositoryUrl);
+ if (taskRepository == null) {
+ taskRepository = new TaskRepository(connector.getRepositoryType(),
+ template.repositoryUrl, template.version);
+ taskRepository.setRepositoryLabel(template.label);
+ taskRepository.setAnonymous(true);
+ taskRepositoryManager.addRepository(taskRepository, getRepositoriesFilePath());
+ }
+ } catch (Throwable t) {
+ MylarStatusHandler.fail(t, "Could not load repository template", false);
+ }
+ }
+ }
+ }
+ }
+
private void checkForCredentials() {
for (TaskRepository repository : taskRepositoryManager.getAllRepositories()) {
if (!repository.isAnonymous()
@@ -591,6 +603,7 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup {
getTaskListManager().resetTaskList();
getTaskListManager().getTaskActivationHistory().clear();
getRepositoryManager().readRepositories(getRepositoriesFilePath());
+ loadTemplateRepositories();
ContextCorePlugin.getContextManager().loadActivityMetaContext();
getTaskListManager().setTaskListFile(
new File(getDataDirectory() + File.separator + ITasksUiConstants.DEFAULT_TASK_LIST_FILE));
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
index 0b029d181..b15a20daa 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
@@ -38,6 +38,7 @@ import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.editors.CategoryEditor;
import org.eclipse.mylyn.internal.tasks.ui.editors.CategoryEditorInput;
@@ -198,7 +199,10 @@ public class TasksUiUtil {
task = (ITask) element;
}
- if (task instanceof AbstractRepositoryTask) {
+
+ if(task instanceof LocalTask) {
+ TasksUiUtil.openEditor(task, false);
+ } else if (task instanceof AbstractRepositoryTask) {
final AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask) task;
String repositoryKind = repositoryTask.getRepositoryKind();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
index b62e09c7f..a2de68ea3 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
@@ -22,6 +22,7 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.mylyn.core.MylarStatusHandler;
+import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorActionContributor;
@@ -57,7 +58,7 @@ import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
public class TaskEditor extends SharedHeaderFormEditor implements IBusyEditor {
public static final String ID_EDITOR = "org.eclipse.mylyn.tasks.ui.editors.task";
-
+
private static final String ISSUE_WEB_PAGE_LABEL = "Browser";
protected ITask task;
@@ -210,9 +211,8 @@ public class TaskEditor extends SharedHeaderFormEditor implements IBusyEditor {
}
/**
- * Saves the multi-page editor's document as another file. Also updates the
- * text for page 0's tab, and updates this multi-page editor's input to
- * correspond to the nested editor's.
+ * Saves the multi-page editor's document as another file. Also updates the text for page 0's tab, and updates this
+ * multi-page editor's input to correspond to the nested editor's.
*
* @see org.eclipse.ui.ISaveablePart#doSaveAs()
*/
@@ -486,12 +486,12 @@ public class TaskEditor extends SharedHeaderFormEditor implements IBusyEditor {
IEditorInput input = getEditorInput();
if (input instanceof TaskEditorInput) {
ITask task = ((TaskEditorInput) input).getTask();
- if (task instanceof AbstractRepositoryTask) {
+ if (task instanceof LocalTask) {
+ getHeaderForm().getForm().setText("Task: " + task.getSummary());
+ } else {
setFormHeaderImage(((AbstractRepositoryTask) task).getRepositoryKind());
setFormHeaderLabel((AbstractRepositoryTask) task);
return;
- } else {
- getHeaderForm().getForm().setText("Task: " + task.getSummary());
}
} else if (input instanceof RepositoryTaskEditorInput) {
ITask task = ((RepositoryTaskEditorInput) input).getRepositoryTask();
@@ -511,8 +511,7 @@ public class TaskEditor extends SharedHeaderFormEditor implements IBusyEditor {
private void setFormHeaderImage(String repositoryKind) {
ImageDescriptor overlay = TasksUiPlugin.getDefault().getOverlayIcon(repositoryKind);
- Image image = TasksUiImages.getImageWithOverlay(TasksUiImages.REPOSITORY, overlay, false,
- false);
+ Image image = TasksUiImages.getImageWithOverlay(TasksUiImages.REPOSITORY, overlay, false, false);
if (getHeaderForm() != null) {
getHeaderForm().getForm().setImage(image);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/NewWebTaskWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/NewWebTaskWizard.java
index fe740f3b0..9c5c05aab 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/NewWebTaskWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/NewWebTaskWizard.java
@@ -36,7 +36,7 @@ public class NewWebTaskWizard extends Wizard implements INewWizard {
this.taskRepository = taskRepository;
this.newTaskUrl = newTaskUrl;
- setWindowTitle("New Repository Task");
+ setWindowTitle("New Task");
setDefaultPageImageDescriptor(TasksUiImages.BANNER_REPOSITORY);
}
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java
index 0720548bc..2b51002f4 100644
--- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java
@@ -40,7 +40,7 @@ public class TracWebClientTest extends AbstractTracClientRepositoryTest {
}
public void testValidateAnyPage() throws Exception {
- connect("http://mylar.eclipse.org/");
+ connect("http://mylyn.eclipse.org/");
try {
repository.validate();
fail("Expected TracException");
diff --git a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/wizard/NewTracTaskWizard.java b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/wizard/NewTracTaskWizard.java
index 0cf84b6b0..41b13d85b 100644
--- a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/wizard/NewTracTaskWizard.java
+++ b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/wizard/NewTracTaskWizard.java
@@ -39,7 +39,7 @@ public class NewTracTaskWizard extends Wizard implements INewWizard {
newTaskPage = new NewTracTaskPage(taskRepository);
- setWindowTitle("New Repository Task");
+ setWindowTitle("New Task");
setDefaultPageImageDescriptor(TasksUiImages.BANNER_REPOSITORY);
setNeedsProgressMonitor(true);

Back to the top