diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui')
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 |