Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java741
1 files changed, 0 insertions, 741 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
deleted file mode 100644
index 980a1ff75..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
+++ /dev/null
@@ -1,741 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 Willian Mitsuda 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:
- * Willian Mitsuda - initial API and implementation
- * Tasktop Technologies - improvements
- * Eugene Kuleshov - improvements
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.mylyn.internal.provisional.commons.ui.CommonColors;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
-import org.eclipse.mylyn.internal.tasks.core.TaskActivationHistory;
-import org.eclipse.mylyn.internal.tasks.core.TaskList;
-import org.eclipse.mylyn.internal.tasks.ui.TaskSearchPage;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskDetailLabelProvider;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskListFilteredTree;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
-import org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater;
-import org.eclipse.mylyn.internal.tasks.ui.workingsets.WorkingSetLabelComparator;
-import org.eclipse.mylyn.tasks.core.ITask;
-import org.eclipse.mylyn.tasks.core.ITaskContainer;
-import org.eclipse.mylyn.tasks.ui.TaskElementLabelProvider;
-import org.eclipse.search.internal.ui.SearchDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.dialogs.SearchPattern;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-
-/**
- * @author Willian Mitsuda
- * @author Mik Kersten
- * @author Eugene Kuleshov
- * @author Shawn Minto
- */
-public class TaskSelectionDialog extends FilteredItemsSelectionDialog {
-
- private class DeselectWorkingSetAction extends Action {
-
- public DeselectWorkingSetAction() {
- super(Messages.TaskSelectionDialog_Deselect_Working_Set, IAction.AS_PUSH_BUTTON);
- }
-
- @Override
- public void run() {
- setSelectedWorkingSet(null);
- }
- }
-
- private class EditWorkingSetAction extends Action {
-
- public EditWorkingSetAction() {
- super(Messages.TaskSelectionDialog_Edit_Active_Working_Set_, IAction.AS_PUSH_BUTTON);
- }
-
- @Override
- public void run() {
- IWorkingSetEditWizard wizard = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetEditWizard(
- selectedWorkingSet);
- if (wizard != null) {
- WizardDialog dlg = new WizardDialog(getShell(), wizard);
- dlg.open();
- }
- }
- }
-
- private class FilterWorkingSetAction extends Action {
-
- private final IWorkingSet workingSet;
-
- public FilterWorkingSetAction(IWorkingSet workingSet, int shortcutKeyNumber) {
- super("", IAction.AS_RADIO_BUTTON); //$NON-NLS-1$
- this.workingSet = workingSet;
- if (shortcutKeyNumber >= 1 && shortcutKeyNumber <= 9) {
- setText("&" + String.valueOf(shortcutKeyNumber) + " " + workingSet.getLabel()); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- setText(workingSet.getLabel());
- }
- setImageDescriptor(workingSet.getImageDescriptor());
- }
-
- @Override
- public void run() {
- setSelectedWorkingSet(workingSet);
- }
- }
-
- private class SelectWorkingSetAction extends Action {
-
- public SelectWorkingSetAction() {
- super(Messages.TaskSelectionDialog_Select_Working_Set_, IAction.AS_PUSH_BUTTON);
- }
-
- @Override
- public void run() {
- IWorkingSetSelectionDialog dlg = PlatformUI.getWorkbench()
- .getWorkingSetManager()
- .createWorkingSetSelectionDialog(getShell(), false,
- new String[] { TaskWorkingSetUpdater.ID_TASK_WORKING_SET });
- if (selectedWorkingSet != null) {
- dlg.setSelection(new IWorkingSet[] { selectedWorkingSet });
- }
- if (dlg.open() == Window.OK) {
- IWorkingSet[] selection = dlg.getSelection();
- if (selection.length == 0) {
- setSelectedWorkingSet(null);
- } else {
- setSelectedWorkingSet(selection[0]);
- }
- }
- }
- }
-
- private class ShowCompletedTasksAction extends Action {
-
- public ShowCompletedTasksAction() {
- super(Messages.TaskSelectionDialog_Show_Completed_Tasks, IAction.AS_CHECK_BOX);
- }
-
- @Override
- public void run() {
- showCompletedTasks = isChecked();
- applyFilter();
- }
-
- }
-
- private class TaskHistoryItemsComparator implements Comparator<Object> {
-
- Map<AbstractTask, Integer> positionByTask = new HashMap<AbstractTask, Integer>();
-
- public TaskHistoryItemsComparator(List<AbstractTask> history) {
- for (int i = 0; i < history.size(); i++) {
- positionByTask.put(history.get(i), i);
- }
- }
-
- public int compare(Object o1, Object o2) {
- Integer p1 = positionByTask.get(o1);
- Integer p2 = positionByTask.get(o2);
- if (p1 != null && p2 != null) {
- return p2.compareTo(p1);
- }
- return labelProvider.getText(o1).compareTo(labelProvider.getText(o2));
- }
-
- }
-
- /**
- * Integrates {@link FilteredItemsSelectionDialog} history management with Mylyn's task list activation history
- * <p>
- * Due to {@link SelectionHistory} use of memento-based history storage, many methods are overridden
- */
- private class TaskSelectionHistory extends SelectionHistory {
-
- @Override
- public synchronized void accessed(Object object) {
- // ignore, handled by TaskActivationHistory
- }
-
- @Override
- public synchronized boolean contains(Object object) {
- return history.contains(object);
- }
-
- @Override
- public synchronized Object[] getHistoryItems() {
- return history.toArray();
- }
-
- @Override
- public synchronized boolean isEmpty() {
- return history.isEmpty();
- }
-
- @Override
- public void load(IMemento memento) {
- // do nothing because tasklist history handles this
- }
-
- @Override
- public synchronized boolean remove(Object object) {
- taskActivationHistory.removeTask((ITask) object);
- return history.remove(object);
- }
-
- @Override
- protected Object restoreItemFromMemento(IMemento memento) {
- // do nothing because tasklist history handles this
- return null;
- }
-
- @Override
- public void save(IMemento memento) {
- // do nothing because tasklist history handles this
- }
-
- @Override
- protected void storeItemToMemento(Object item, IMemento memento) {
- // do nothing because tasklist history handles this
- }
- }
-
- /**
- * Supports filtering of completed tasks.
- */
- private class TasksFilter extends ItemsFilter {
-
- private Set<ITask> allTasksFromWorkingSets;
-
- /**
- * Stores the task containers from selected working set; empty, which can come from no working set selection or
- * working set with no task containers selected, means no filtering
- */
- private final Set<AbstractTaskContainer> elements;
-
- private final boolean showCompletedTasks;
-
- public TasksFilter(boolean showCompletedTasks, IWorkingSet selectedWorkingSet) {
- super(new SearchPattern());
- // Little hack to force always a match inside any part of task text
- patternMatcher.setPattern("*" + patternMatcher.getPattern()); //$NON-NLS-1$
- this.showCompletedTasks = showCompletedTasks;
-
- elements = new HashSet<AbstractTaskContainer>();
- if (selectedWorkingSet != null) {
- for (IAdaptable adaptable : selectedWorkingSet.getElements()) {
- AbstractTaskContainer container = (AbstractTaskContainer) adaptable.getAdapter(AbstractTaskContainer.class);
- if (container != null) {
- elements.add(container);
- }
- }
- }
- }
-
- @Override
- public boolean equalsFilter(ItemsFilter filter) {
- if (!super.equalsFilter(filter)) {
- return false;
- }
- if (filter instanceof TasksFilter) {
- TasksFilter tasksFilter = (TasksFilter) filter;
- if (showCompletedTasks != tasksFilter.showCompletedTasks) {
- return false;
- }
- return elements.equals(tasksFilter.elements);
- }
- return true;
- }
-
- @Override
- public boolean isConsistentItem(Object item) {
- return item instanceof ITask;
- }
-
- @Override
- public boolean isSubFilter(ItemsFilter filter) {
- if (!super.isSubFilter(filter)) {
- return false;
- }
- if (filter instanceof TasksFilter) {
- TasksFilter tasksFilter = (TasksFilter) filter;
- if (!showCompletedTasks && tasksFilter.showCompletedTasks) {
- return false;
- }
- if (elements.isEmpty()) {
- return true;
- }
- if (tasksFilter.elements.isEmpty()) {
- return false;
- }
- return elements.containsAll(tasksFilter.elements);
- }
- return true;
- }
-
- @Override
- public boolean matchItem(Object item) {
- if (!(item instanceof ITask)) {
- return false;
- }
- if (!showCompletedTasks && ((ITask) item).isCompleted()) {
- return false;
- }
- if (!elements.isEmpty()) {
- if (allTasksFromWorkingSets == null) {
- populateTasksFromWorkingSets();
- }
- if (!allTasksFromWorkingSets.contains(item)) {
- return false;
- }
- }
- return matches(labelProvider.getText(item));
- }
-
- private void populateTasksFromWorkingSets() {
- allTasksFromWorkingSets = new HashSet<ITask>(1000);
- for (ITaskContainer container : elements) {
- allTasksFromWorkingSets.addAll(container.getChildren());
- }
- }
- }
-
- private static final int SEARCH_ID = IDialogConstants.CLIENT_ID + 1;
-
- private static final int CREATE_ID = SEARCH_ID + 1;
-
- private static final String IS_USING_WINDOW_WORKING_SET_SETTING = "IsUsingWindowWorkingSet"; //$NON-NLS-1$
-
- private static final String OPEN_IN_BROWSER_SETTING = "OpenInBrowser"; //$NON-NLS-1$
-
- private static final String SHOW_COMPLETED_TASKS_SETTING = "ShowCompletedTasks"; //$NON-NLS-1$
-
- private static final String TASK_SELECTION_DIALOG_SECTION = "TaskSelectionDialogSection"; //$NON-NLS-1$
-
- private static final String WORKING_SET_NAME_SETTING = "WorkingSetName"; //$NON-NLS-1$
-
- /**
- * Caches all tasks; populated at first access
- */
- private Set<AbstractTask> allTasks;
-
- private Button createTaskButton;
-
- /**
- * Mylyn's task activation history
- */
- private final LinkedHashSet<AbstractTask> history;
-
- private final TaskHistoryItemsComparator itemsComparator;
-
- private final TaskElementLabelProvider labelProvider;
-
- private boolean needsCreateTask;
-
- private boolean openInBrowser;
-
- private Button openInBrowserCheck;
-
- /**
- * Set of filtered working sets
- */
- private IWorkingSet selectedWorkingSet;
-
- private boolean showCompletedTasks;
-
- private final ShowCompletedTasksAction showCompletedTasksAction;
-
- private boolean showExtendedOpeningOptions;
-
- /**
- * Caches the window working set
- */
- private final IWorkingSet windowWorkingSet;
-
- /**
- * Refilters if the current working set content has changed
- */
- private final IPropertyChangeListener workingSetListener = new IPropertyChangeListener() {
-
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE)) {
- if (event.getNewValue().equals(selectedWorkingSet)) {
- applyFilter();
- }
- }
- }
-
- };
-
- private final TaskActivationHistory taskActivationHistory;
-
- public TaskSelectionDialog(Shell parent) {
- super(parent);
- this.taskActivationHistory = TasksUiPlugin.getTaskActivityManager().getTaskActivationHistory();
- this.history = new LinkedHashSet<AbstractTask>(taskActivationHistory.getPreviousTasks());
- this.itemsComparator = new TaskHistoryItemsComparator(new ArrayList<AbstractTask>(history));
- this.needsCreateTask = true;
- this.labelProvider = new TaskElementLabelProvider(false);
- this.showCompletedTasksAction = new ShowCompletedTasksAction();
-
- setSelectionHistory(new TaskSelectionHistory());
- setListLabelProvider(labelProvider);
-
-// setListLabelProvider(new DecoratingLabelProvider(labelProvider, PlatformUI.getWorkbench()
-// .getDecoratorManager()
-// .getLabelDecorator()));
- setDetailsLabelProvider(new TaskDetailLabelProvider());
- setSeparatorLabel(TaskListView.LABEL_VIEW + Messages.TaskSelectionDialog__matches);
-
- // If there is a text selection, use it as the initial filter
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- ISelection selection = window.getSelectionService().getSelection();
- if (selection instanceof ITextSelection) {
- // Get only get first line
- String text = ((ITextSelection) selection).getText();
- int n = text.indexOf('\n');
- if (n > -1) {
- text.substring(0, n);
- }
- setInitialPattern(text);
- }
-
- windowWorkingSet = window.getActivePage().getAggregateWorkingSet();
- selectedWorkingSet = windowWorkingSet;
-
- PlatformUI.getWorkbench().getWorkingSetManager().addPropertyChangeListener(workingSetListener);
- }
-
- @Override
- public boolean close() {
- PlatformUI.getWorkbench().getWorkingSetManager().removePropertyChangeListener(workingSetListener);
- if (openInBrowserCheck != null) {
- openInBrowser = openInBrowserCheck.getSelection();
- }
- return super.close();
- }
-
- @Override
- protected Control createButtonBar(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 0; // create
- layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
- layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- // create help control if needed
- if (isHelpAvailable()) {
- createHelpControl(composite);
- }
- if (needsCreateTask) {
- createTaskButton = createButton(composite, CREATE_ID, Messages.TaskSelectionDialog_New_Task_, true);
- createTaskButton.addSelectionListener(new SelectionListener() {
-
- public void widgetDefaultSelected(SelectionEvent e) {
- // ignore
- }
-
- public void widgetSelected(SelectionEvent e) {
- close();
- new NewTaskAction().run();
- }
- });
- }
-
- createAdditionalButtons(composite);
-
- Label filler = new Label(composite, SWT.NONE);
- filler.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
- layout.numColumns++;
- super.createButtonsForButtonBar(composite); // cancel button
-
- return composite;
- }
-
- /**
- * Allows to add new buttons at the bottom of this dialog next to New Task button
- *
- * @param parent
- * the parent composite to contain the button bar
- */
- protected void createAdditionalButtons(Composite parent) {
- // we don't want to add any new button
- }
-
- @Override
- protected Control createExtendedContentArea(Composite parent) {
- if (!showExtendedOpeningOptions) {
- return null;
- }
-
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(GridLayoutFactory.swtDefaults().margins(0, 5).create());
- composite.setLayoutData(GridDataFactory.fillDefaults().create());
-
- openInBrowserCheck = new Button(composite, SWT.CHECK);
- openInBrowserCheck.setText(Messages.TaskSelectionDialog_Open_with_Browser);
- openInBrowserCheck.setSelection(openInBrowser);
-
- ImageHyperlink openHyperlink = new ImageHyperlink(composite, SWT.NONE);
- openHyperlink.setText(TaskListFilteredTree.LABEL_SEARCH);
- openHyperlink.setForeground(CommonColors.HYPERLINK_WIDGET);
- openHyperlink.setUnderlined(true);
- openHyperlink.addHyperlinkListener(new HyperlinkAdapter() {
-
- @Override
- public void linkActivated(HyperlinkEvent e) {
- getShell().close();
- new SearchDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), TaskSearchPage.ID).open();
- }
-
- });
-
- return composite;
- }
-
- @Override
- protected ItemsFilter createFilter() {
- return new TasksFilter(showCompletedTasks, selectedWorkingSet);
- }
-
- @Override
- protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter,
- IProgressMonitor progressMonitor) throws CoreException {
- progressMonitor.beginTask(Messages.TaskSelectionDialog_Search_for_tasks, 100);
-
- if (allTasks == null) {
- allTasks = new HashSet<AbstractTask>();
- TaskList taskList = TasksUiPlugin.getTaskList();
- allTasks.addAll(taskList.getAllTasks());
- }
- progressMonitor.worked(10);
-
- SubProgressMonitor subMonitor = new SubProgressMonitor(progressMonitor, 90);
- subMonitor.beginTask(Messages.TaskSelectionDialog_Scanning_tasks, allTasks.size());
- for (ITask task : allTasks) {
- contentProvider.add(task, itemsFilter);
- subMonitor.worked(1);
- }
- subMonitor.done();
-
- progressMonitor.done();
- }
-
- @Override
- protected void fillViewMenu(IMenuManager menuManager) {
- super.fillViewMenu(menuManager);
- menuManager.add(showCompletedTasksAction);
- menuManager.add(new Separator());
-
- // Fill existing tasks working sets
- menuManager.add(new SelectWorkingSetAction());
- final DeselectWorkingSetAction deselectAction = new DeselectWorkingSetAction();
- menuManager.add(deselectAction);
- final EditWorkingSetAction editAction = new EditWorkingSetAction();
- menuManager.add(editAction);
- menuManager.add(new Separator("lruActions")); //$NON-NLS-1$
- final FilterWorkingSetAction windowWorkingSetAction = new FilterWorkingSetAction(windowWorkingSet, 1);
- menuManager.add(windowWorkingSetAction);
-
- menuManager.addMenuListener(new IMenuListener() {
-
- private final List<ActionContributionItem> lruActions = new ArrayList<ActionContributionItem>();
-
- public void menuAboutToShow(IMenuManager manager) {
- deselectAction.setEnabled(selectedWorkingSet != null);
- editAction.setEnabled(selectedWorkingSet != null && selectedWorkingSet.isEditable());
-
- // Remove previous LRU actions
- for (ActionContributionItem action : lruActions) {
- manager.remove(action);
- }
- lruActions.clear();
-
- // Adds actual LRU actions
- IWorkingSet[] workingSets = PlatformUI.getWorkbench().getWorkingSetManager().getRecentWorkingSets();
- Arrays.sort(workingSets, new WorkingSetLabelComparator());
- int count = 2;
- for (IWorkingSet workingSet : workingSets) {
- if (workingSet.getId().equalsIgnoreCase(TaskWorkingSetUpdater.ID_TASK_WORKING_SET)) {
- IAction action = new FilterWorkingSetAction(workingSet, count++);
- if (workingSet.equals(selectedWorkingSet)) {
- action.setChecked(true);
- }
- ActionContributionItem ci = new ActionContributionItem(action);
- lruActions.add(ci);
- manager.appendToGroup("lruActions", ci); //$NON-NLS-1$
- }
- }
- windowWorkingSetAction.setChecked(windowWorkingSet.equals(selectedWorkingSet));
- }
-
- });
- }
-
- @Override
- protected IDialogSettings getDialogSettings() {
- IDialogSettings settings = TasksUiPlugin.getDefault().getDialogSettings();
- IDialogSettings section = settings.getSection(TASK_SELECTION_DIALOG_SECTION);
- if (section == null) {
- section = settings.addNewSection(TASK_SELECTION_DIALOG_SECTION);
- section.put(OPEN_IN_BROWSER_SETTING, false);
- section.put(SHOW_COMPLETED_TASKS_SETTING, true);
- section.put(IS_USING_WINDOW_WORKING_SET_SETTING, true);
- section.put(WORKING_SET_NAME_SETTING, ""); //$NON-NLS-1$
- }
- return section;
- }
-
- @Override
- public String getElementName(Object item) {
- return labelProvider.getText(item);
- }
-
- /**
- * Sort tasks by summary
- */
- @SuppressWarnings("unchecked")
- @Override
- protected Comparator getItemsComparator() {
- return itemsComparator;
- }
-
- public boolean getOpenInBrowser() {
- return openInBrowser;
- }
-
- public boolean getShowExtendedOpeningOptions() {
- return showExtendedOpeningOptions;
- }
-
- public boolean needsCreateTask() {
- return needsCreateTask;
- }
-
- @Override
- protected void restoreDialog(IDialogSettings settings) {
- openInBrowser = settings.getBoolean(OPEN_IN_BROWSER_SETTING);
- showCompletedTasks = settings.getBoolean(SHOW_COMPLETED_TASKS_SETTING);
- showCompletedTasksAction.setChecked(showCompletedTasks);
- boolean isUsingWindowWorkingSet = settings.getBoolean(IS_USING_WINDOW_WORKING_SET_SETTING);
- if (isUsingWindowWorkingSet) {
- selectedWorkingSet = windowWorkingSet;
- } else {
- String workingSetName = settings.get(WORKING_SET_NAME_SETTING);
- if (workingSetName != null) {
- selectedWorkingSet = PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(workingSetName);
- }
- }
- super.restoreDialog(settings);
- }
-
- public void setNeedsCreateTask(boolean value) {
- needsCreateTask = value;
- }
-
- public void setOpenInBrowser(boolean openInBrowser) {
- this.openInBrowser = openInBrowser;
- }
-
- /**
- * All working set filter changes should be made through this method; ensures proper history handling and triggers
- * refiltering
- */
- private void setSelectedWorkingSet(IWorkingSet workingSet) {
- selectedWorkingSet = workingSet;
- if (workingSet != null) {
- PlatformUI.getWorkbench().getWorkingSetManager().addRecentWorkingSet(workingSet);
- }
- applyFilter();
- }
-
- public void setShowExtendedOpeningOptions(boolean showExtendedOpeningOptions) {
- this.showExtendedOpeningOptions = showExtendedOpeningOptions;
- }
-
- @Override
- protected void storeDialog(IDialogSettings settings) {
- settings.put(OPEN_IN_BROWSER_SETTING, openInBrowser);
- settings.put(SHOW_COMPLETED_TASKS_SETTING, showCompletedTasks);
- settings.put(IS_USING_WINDOW_WORKING_SET_SETTING, selectedWorkingSet == windowWorkingSet);
- if (selectedWorkingSet == null) {
- settings.put(WORKING_SET_NAME_SETTING, ""); //$NON-NLS-1$
- } else {
- settings.put(WORKING_SET_NAME_SETTING, selectedWorkingSet.getName());
- }
- super.storeDialog(settings);
- }
-
- @Override
- protected IStatus validateItem(Object item) {
- if (item instanceof ITask) {
- return Status.OK_STATUS;
- }
- return new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
- Messages.TaskSelectionDialog_Selected_item_is_not_a_task);
- }
-
-}

Back to the top