Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/TaskAttachmentPage.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/TaskAttachmentPage.java311
1 files changed, 0 insertions, 311 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/TaskAttachmentPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/TaskAttachmentPage.java
deleted file mode 100644
index 17ea9a924..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/wizards/TaskAttachmentPage.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 Jeff Pound 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:
- * Jeff Pound - initial API and implementation
- * Tasktop Technologies - improvements
- *******************************************************************************/
-
-package org.eclipse.mylyn.tasks.ui.wizards;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.mylyn.context.core.ContextCore;
-import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages;
-import org.eclipse.mylyn.internal.tasks.core.data.FileTaskAttachmentSource;
-import org.eclipse.mylyn.internal.tasks.ui.wizards.Messages;
-import org.eclipse.mylyn.tasks.core.data.TaskAttachmentMapper;
-import org.eclipse.mylyn.tasks.core.data.TaskAttachmentModel;
-import org.eclipse.mylyn.tasks.ui.TasksUiImages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * A wizard page to enter details of a new attachment.
- *
- * @author Jeff Pound
- * @author Mik Kersten
- * @author Steffen Pingel
- * @since 3.0
- */
-public class TaskAttachmentPage extends WizardPage {
-
- private static List<String> contentTypes;
-
- static {
- contentTypes = new LinkedList<String>();
- contentTypes.add("text/plain"); //$NON-NLS-1$
- contentTypes.add("text/html"); //$NON-NLS-1$
- contentTypes.add("application/xml"); //$NON-NLS-1$
- contentTypes.add("image/gif"); //$NON-NLS-1$
- contentTypes.add("image/jpeg"); //$NON-NLS-1$
- contentTypes.add("image/png"); //$NON-NLS-1$
- contentTypes.add(FileTaskAttachmentSource.APPLICATION_OCTET_STREAM);
- }
-
- private Button attachContextButton;
-
- private Text commentText;
-
- private Text descriptionText;
-
- private Combo contentTypeList;
-
- private Text fileNameText;
-
- private Button isPatchButton;
-
- private final TaskAttachmentModel model;
-
- private boolean needsDescription;
-
- private final TaskAttachmentMapper taskAttachment;
-
- private boolean first = true;
-
- public TaskAttachmentPage(TaskAttachmentModel model) {
- super("AttachmentDetails"); //$NON-NLS-1$
- this.model = model;
- this.taskAttachment = TaskAttachmentMapper.createFrom(model.getAttribute());
- setTitle(Messages.TaskAttachmentPage_Attachment_Details);
- setNeedsDescription(true);
- }
-
- public void createControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 3;
- composite.setLayout(gridLayout);
- setControl(composite);
-
- composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- composite.setLayout(new GridLayout(3, false));
-
- new Label(composite, SWT.NONE).setText(Messages.TaskAttachmentPage_File);
- fileNameText = new Text(composite, SWT.BORDER);
- fileNameText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-
- if (needsDescription) {
- new Label(composite, SWT.NONE).setText(Messages.TaskAttachmentPage_Description);
- descriptionText = new Text(composite, SWT.BORDER);
- descriptionText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
- descriptionText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- taskAttachment.setDescription(descriptionText.getText().trim());
- validate();
- }
-
- });
- }
-
- Label label = new Label(composite, SWT.NONE);
- label.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false));
- label.setText(Messages.TaskAttachmentPage_Comment);
- commentText = new Text(composite, SWT.V_SCROLL | SWT.BORDER | SWT.WRAP);
- commentText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
- commentText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- apply();
- }
-
- });
-
- new Label(composite, SWT.NONE).setText(Messages.TaskAttachmentPage_Content_Type);// .setBackground(parent.getBackground());
-
- contentTypeList = new Combo(composite, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
- contentTypeList.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, false, false, 2, 1));
- Iterator<String> iter = contentTypes.iterator();
- int i = 0;
- while (iter.hasNext()) {
- String next = iter.next();
- contentTypeList.add(next);
- i++;
- }
-
- /* Update attachment on select content type */
- contentTypeList.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- // ignore
- }
-
- public void widgetSelected(SelectionEvent e) {
- taskAttachment.setContentType(contentTypeList.getItem(contentTypeList.getSelectionIndex()));
- validate();
- }
- });
- contentTypeList.select(0);
- taskAttachment.setContentType(contentTypeList.getItem(0));
-
- // TODO: is there a better way to pad?
- new Label(composite, SWT.NONE);
-
- isPatchButton = new Button(composite, SWT.CHECK);
- isPatchButton.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, false, false, 2, 1));
- isPatchButton.setText(Messages.TaskAttachmentPage_Patch);
-
- // TODO: is there a better way to pad?
- new Label(composite, SWT.NONE);
-
- attachContextButton = new Button(composite, SWT.CHECK);
- attachContextButton.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, false, false, 2, 1));
- attachContextButton.setText(Messages.TaskAttachmentPage_ATTACHE_CONTEXT);
- attachContextButton.setImage(CommonImages.getImage(TasksUiImages.CONTEXT_ATTACH));
- attachContextButton.setEnabled(ContextCore.getContextManager()
- .hasContext(model.getTask().getHandleIdentifier()));
-
- /*
- * Attachment file name listener, update the local attachment
- * accordingly
- */
- fileNameText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- // determine type by extension
- taskAttachment.setFileName(fileNameText.getText());
- setContentTypeFromFilename(fileNameText.getText());
- validate();
- }
- });
-
- fileNameText.setText(taskAttachment.getFileName() == null ? "" : taskAttachment.getFileName()); //$NON-NLS-1$
-
- /* Listener for isPatch */
- isPatchButton.addSelectionListener(new SelectionAdapter() {
- private int lastSelected;
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- taskAttachment.setPatch(isPatchButton.getSelection());
- if (isPatchButton.getSelection()) {
- lastSelected = contentTypeList.getSelectionIndex();
- contentTypeList.select(0);
- contentTypeList.setEnabled(false);
- if (attachContextButton.isEnabled()) {
- attachContextButton.setSelection(true);
- }
- } else {
- contentTypeList.setEnabled(true);
- contentTypeList.select(lastSelected);
- }
- validate();
- }
- });
- attachContextButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- validate();
- }
- });
-
- validate();
- setErrorMessage(null);
-
- if (descriptionText != null) {
- descriptionText.setFocus();
- } else {
- commentText.setFocus();
- }
-
- Dialog.applyDialogFont(composite);
- }
-
- private void validate() {
- apply();
- if (fileNameText != null && "".equals(fileNameText.getText().trim())) { //$NON-NLS-1$
- setMessage(Messages.TaskAttachmentPage_Enter_a_file_name);
- setPageComplete(false);
- } else if (descriptionText != null && "".equals(descriptionText.getText().trim())) { //$NON-NLS-1$
- setMessage(Messages.TaskAttachmentPage_Enter_a_description);
- setPageComplete(false);
- } else {
- setMessage(Messages.TaskAttachmentPage_Verify_the_content_type_of_the_attachment);
- setPageComplete(true);
- }
- }
-
- public TaskAttachmentModel getModel() {
- return model;
- }
-
- private void apply() {
- taskAttachment.applyTo(model.getAttribute());
- model.setComment(commentText.getText());
- model.setAttachContext(attachContextButton.getSelection());
- model.setContentType(taskAttachment.getContentType());
- }
-
- private void setContentType(String contentType) {
- String[] typeList = contentTypeList.getItems();
- for (int i = 0; i < typeList.length; i++) {
- if (typeList[i].equals(contentType)) {
- contentTypeList.select(i);
- taskAttachment.setContentType(contentType);
- validate();
- break;
- }
- }
- }
-
- private void setContentTypeFromFilename(String fileName) {
- setContentType(FileTaskAttachmentSource.getContentTypeFromFilename(fileName));
- }
-
- private void setFilePath(String path) {
- fileNameText.setText(path);
- taskAttachment.setFileName(path);
- if (path.endsWith(".patch")) { //$NON-NLS-1$
- isPatchButton.setSelection(true);
- taskAttachment.setPatch(true);
- if (attachContextButton.isEnabled()) {
- attachContextButton.setSelection(true);
- }
- }
- validate();
- }
-
- public void setNeedsDescription(boolean supportsDescription) {
- this.needsDescription = supportsDescription;
- }
-
- public boolean supportsDescription() {
- return needsDescription;
- }
-
- @Override
- public void setVisible(boolean visible) {
- if (visible) {
- if (fileNameText.getText().length() == 0) {
- setFilePath(getModel().getSource().getName());
- setContentType(getModel().getSource().getContentType());
- }
- }
- super.setVisible(visible);
- if (first) {
- if (descriptionText != null) {
- descriptionText.setFocus();
- } else {
- commentText.setFocus();
- }
- first = false;
- }
- }
-
-}

Back to the top