Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java39
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java9
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java40
7 files changed, 71 insertions, 31 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java
index ce0ef1407..7c4df46f9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskSummaryEditor.java
@@ -26,7 +26,6 @@ import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.ITaskActivityListener;
import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
import org.eclipse.mylar.tasklist.contribution.DatePicker;
-import org.eclipse.mylar.tasklist.internal.RelativePathUtil;
import org.eclipse.mylar.tasklist.ui.views.TaskListView;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
@@ -527,15 +526,12 @@ public class TaskSummaryEditor extends EditorPart {
String mylarDir = MylarPlugin.getDefault().getMylarDataDirectory()
+ "/";
mylarDir = mylarDir.replaceAll("\\\\", "/");
- // mylarDir = formatPath(mylarDir);
dialog.setFilterPath(mylarDir);
String res = dialog.open();
if (res != null) {
res = res.replaceAll("\\\\", "/");
- res = RelativePathUtil.findRelativePath(mylarDir, res);
pathText.setText("<MylarDir>/" + res + ".xml");
-// task.setPath(res);
markDirty(true);
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java
index 479a7045a..68c59ba68 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/DropDownTaskNavigateAction.java
@@ -34,7 +34,7 @@ public abstract class DropDownTaskNavigateAction extends Action implements IMenu
protected TaskListLabelProvider labelProvider = new TaskListLabelProvider();
/** Maximum number of items to appear in the drop-down menu */
- protected final static int MAX_ITEMS = 5;
+ protected final static int MAX_ITEMS_TO_DISPLAY = 10;
public DropDownTaskNavigateAction(TaskListView view, TaskActivationHistory history){
super();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java
index d04ac4ccc..320209acb 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/NextTaskDropDownAction.java
@@ -37,8 +37,8 @@ public class NextTaskDropDownAction extends DropDownTaskNavigateAction {
protected void addActionsToMenu(){
List<ITask> tasks = taskHistory.getNextTasks();
- if(tasks.size() > MAX_ITEMS){
- tasks = tasks.subList(0, MAX_ITEMS);
+ if(tasks.size() > MAX_ITEMS_TO_DISPLAY){
+ tasks = tasks.subList(0, MAX_ITEMS_TO_DISPLAY);
}
for(int i = 0; i < tasks.size(); i++){
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java
index 3e04120a9..fd05b3948 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/actions/PreviousTaskDropDownAction.java
@@ -37,8 +37,8 @@ public class PreviousTaskDropDownAction extends DropDownTaskNavigateAction {
protected void addActionsToMenu(){
List<ITask> tasks = taskHistory.getPreviousTasks();
- if(tasks.size() > MAX_ITEMS){
- tasks = tasks.subList(tasks.size() - MAX_ITEMS, tasks.size());
+ if(tasks.size() > MAX_ITEMS_TO_DISPLAY){
+ tasks = tasks.subList(tasks.size() - MAX_ITEMS_TO_DISPLAY, tasks.size());
}
for(int i = tasks.size() - 1; i >= 0; i--){
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java
index cfd20c4f8..d5be7ec01 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/preferences/MylarTasklistPreferencePage.java
@@ -38,9 +38,10 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
public class MylarTasklistPreferencePage extends PreferencePage implements
IWorkbenchPreferencePage {
- private Text taskDirectoryText;
- private Text taskURLPrefixText;
- private Button browse;
+ private Text taskDirectoryText = null;
+ private Text taskURLPrefixText = null;
+ private Button browse = null;
+ private Button copyExistingDataCheckbox = null;
private Button reportEditor = null;
private Button reportInternal = null;
// private Button reportExternal = null;
@@ -104,9 +105,18 @@ public class MylarTasklistPreferencePage extends PreferencePage implements
@Override
public boolean performOk() {
String taskDirectory = taskDirectoryText.getText();
- taskDirectory = taskDirectory.replaceAll("\\\\", "/");
- getPreferenceStore().setValue(MylarPlugin.MYLAR_DIR, taskDirectory);
+ taskDirectory = taskDirectory.replaceAll("\\\\", "/");
+ if (!taskDirectory.equals(MylarPlugin.getDefault().getMylarDataDirectory())){
+ //Order matters:
+ MylarTasklistPlugin.getDefault().saveTaskListAndContexts();
+ if (copyExistingDataCheckbox.getSelection()){
+ MylarTasklistPlugin.getDefault().copyDataDirContentsTo(taskDirectory);
+ }
+ getPreferenceStore().setValue(MylarPlugin.MYLAR_DIR, taskDirectory);
+ MylarTasklistPlugin.getDefault().setDataDirectory(MylarPlugin.getDefault().getMylarDataDirectory());
+ }
+ getPreferenceStore().setValue(MylarTasklistPlugin.COPY_TASK_DATA, copyExistingDataCheckbox.getSelection());
getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_EDITOR, reportEditor.getSelection());
getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_INTERNAL, reportInternal.getSelection());
// getPreferenceStore().setValue(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL, reportExternal.getSelection());
@@ -130,9 +140,10 @@ public class MylarTasklistPreferencePage extends PreferencePage implements
super.performDefaults();
IPath rootPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
- String taskDirectory = rootPath.toString() + "/" +MylarPlugin.MYLAR_DIR_NAME;
+ String taskDirectory = rootPath.toString() + "/" + MylarPlugin.MYLAR_DIR_NAME;
taskDirectoryText.setText(taskDirectory);
-
+
+ copyExistingDataCheckbox.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.COPY_TASK_DATA));
reportEditor.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_EDITOR));
reportInternal.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_INTERNAL));
// reportExternal.setSelection(getPreferenceStore().getDefaultBoolean(MylarTasklistPlugin.REPORT_OPEN_EXTERNAL));
@@ -162,14 +173,7 @@ public class MylarTasklistPreferencePage extends PreferencePage implements
taskDirectoryText.setEditable(false);
taskDirectoryText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
browse = createButton(taskDirComposite, "Browse...");
- if (!MylarPlugin.getContextManager().hasActiveContext()) {
- browse.setEnabled(true);
- } else {
- browse.setEnabled(false);
- createLabel(taskDirComposite, "NOTE: if you have a task active, deactivate it before changing directories");
- }
browse.addSelectionListener(new SelectionAdapter() {
@Override
@@ -186,7 +190,12 @@ public class MylarTasklistPreferencePage extends PreferencePage implements
return;
taskDirectoryText.setText(dir);
}
- });
+ });
+
+ copyExistingDataCheckbox = new Button(taskDirComposite, SWT.CHECK);
+ copyExistingDataCheckbox.setText("Copy existing data to new location");
+ copyExistingDataCheckbox.setSelection(getPreferenceStore().getBoolean(MylarTasklistPlugin.COPY_TASK_DATA));
+
}
private void createCreationGroup(Composite parent) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java
index 2bc7de6ab..72efb0cb2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java
@@ -28,8 +28,11 @@ public class TaskActivationHistory {
private int currentIndex = -1;
- /** The number of tasks from the previous session to load into the history*/
- private static final int PERSISTENT_HISTORY_SIZE = 16;
+ /**
+ * The number of tasks from the previous Eclipse session to load into the history
+ * at startup. (This is not the maximum size of the history, which is currently unbounded)
+ */
+ private static final int NUM_SAVED_HISTORY_ITEMS_TO_LOAD = 10;
private boolean persistentHistoryLoaded = false;
@@ -49,7 +52,7 @@ public class TaskActivationHistory {
history.add(0, prevTask);
currentIndex++;
tasksAdded++;
- if (tasksAdded == PERSISTENT_HISTORY_SIZE){
+ if (tasksAdded == NUM_SAVED_HISTORY_ITEMS_TO_LOAD){
break;
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
index 7706325cc..f6c76a4a2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
@@ -185,6 +185,11 @@ public class TaskListView extends ViewPart {
// private boolean canEnableGoInto = false;
+ /**
+ * True if the view should indicate that interaction monitoring is paused
+ */
+ protected boolean isPaused = false;
+
private final class PriorityDropDownAction extends Action implements IMenuCreator {
private Menu dropDownMenu = null;
@@ -1289,12 +1294,39 @@ public class TaskListView extends ViewPart {
}
return null;
}
-
+
+ //TODO: Need a better way to indicate paused and/or the shared folder
public void indicatePaused(boolean paused) {
- if (paused) {
- setPartName("(paused) " + PART_NAME);
+ isPaused = paused;
+ if (isPaused) {
+ setPartName("(paused) " + getPartName());
} else {
- setPartName(PART_NAME);
+ setPartName(getPartName().replaceAll("\\(paused\\) ", ""));
}
}
+
+ /**
+ * Show the shared data folder currently in use.
+ * Call with "" to turn off the indication.
+ * TODO: Need a better way to indicate paused and/or the shared folder
+ */
+ public void indicateSharedFolder(String folderName){
+ if (folderName.equals("")){
+ if (isPaused){
+ setPartName("(paused) " + PART_NAME);
+ }
+ else{
+ setPartName(PART_NAME);
+ }
+ }
+ else{
+ if (isPaused){
+ setPartName("(paused) " + folderName + " " + PART_NAME);
+ }
+ else{
+ setPartName(folderName + " " + PART_NAME);
+ }
+ }
+
+ }
} \ No newline at end of file

Back to the top