Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 174213 Details for
Bug 250257
persist columns in attachments table
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
patch
250257V5.txt (text/plain), 11.02 KB, created by
Frank Becker
on 2010-07-13 15:06:56 EDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Frank Becker
Created:
2010-07-13 15:06:56 EDT
Size:
11.02 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java,v >retrieving revision 1.53 >diff -u -r1.53 TaskEditorAttachmentPart.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java 13 Jul 2010 18:32:12 -0000 1.53 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java 13 Jul 2010 19:01:54 -0000 >@@ -31,16 +31,15 @@ > import org.eclipse.jface.viewers.OpenEvent; > import org.eclipse.jface.viewers.StructuredSelection; > import org.eclipse.jface.viewers.Viewer; >+import org.eclipse.jface.viewers.ViewerSorter; > import org.eclipse.jface.window.ToolTip; > import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; > import org.eclipse.mylyn.internal.tasks.core.TaskAttachment; > import org.eclipse.mylyn.internal.tasks.ui.ITasksUiPreferenceConstants; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; > import org.eclipse.mylyn.internal.tasks.ui.commands.OpenTaskAttachmentHandler; >-import org.eclipse.mylyn.internal.tasks.ui.util.AttachmentUtil; > import org.eclipse.mylyn.internal.tasks.ui.util.ColumnState; > import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiMenus; >-import org.eclipse.mylyn.internal.tasks.ui.views.AbstractTableSorter; > import org.eclipse.mylyn.internal.tasks.ui.views.AbstractTableViewerConfigurator; > import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskAttachmentWizard.Mode; > import org.eclipse.mylyn.tasks.core.ITaskAttachment; >@@ -83,6 +82,7 @@ > private class AttachmentTableViewer extends AbstractTableViewerConfigurator { > public AttachmentTableViewer(File stateFile) { > super(stateFile); >+ // ignore > } > > @Override >@@ -121,123 +121,46 @@ > tableViewer.setUseHashlookup(true); > ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); > >- tableViewer.setSorter(tableSorter); >+ tableViewer.setSorter(new ViewerSorter() { >+ @Override >+ public int compare(Viewer viewer, Object e1, Object e2) { >+ ITaskAttachment attachment1 = (ITaskAttachment) e1; >+ ITaskAttachment attachment2 = (ITaskAttachment) e2; >+ Date created1 = attachment1.getCreationDate(); >+ Date created2 = attachment2.getCreationDate(); >+ if (created1 != null && created2 != null) { >+ return created1.compareTo(created2); >+ } else if (created1 == null && created2 != null) { >+ return -1; >+ } else if (created1 != null && created2 == null) { >+ return 1; >+ } else { >+ return 0; >+ } >+ } >+ }); > List<ITaskAttachment> attachmentList = new ArrayList<ITaskAttachment>(attachments.size()); > for (TaskAttribute attribute : attachments) { > TaskAttachment taskAttachment = new TaskAttachment(getModel().getTaskRepository(), > getModel().getTask(), attribute); > getTaskData().getAttributeMapper().updateTaskAttachment(taskAttachment, attribute); > attachmentList.add(taskAttachment); >- >- tableViewer.setContentProvider(new ArrayContentProvider()); >- tableViewer.setLabelProvider(new AttachmentTableLabelProvider(getModel(), >- getTaskEditorPage().getAttributeEditorToolkit())); >- tableViewer.addOpenListener(new IOpenListener() { >- public void open(OpenEvent event) { >- if (!event.getSelection().isEmpty()) { >- StructuredSelection selection = (StructuredSelection) event.getSelection(); >- ITaskAttachment attachment = (ITaskAttachment) selection.getFirstElement(); >- TasksUiUtil.openUrl(attachment.getUrl()); >- } >- } >- }); >- tableViewer.addSelectionChangedListener(getTaskEditorPage()); >- tableViewer.setInput(attachmentList.toArray()); > } >- } >- >- @Override >- protected AbstractTableSorter createTableSorter() { >- >- return new AbstractTableSorter() { >- >- @Override >- public void setDefault() { >- propertyIndex = 5; >- direction = SWT.UP; >- } > >- @Override >- public int compare(Viewer viewer, Object e1, Object e2) { >- int erg = 0; >- ITaskAttachment attachment1 = (ITaskAttachment) e1; >- ITaskAttachment attachment2 = (ITaskAttachment) e2; >- switch (propertyIndex) { >- case 0: >- String id1 = attachment1.getUrl(); >- String id2 = attachment2.getUrl(); >- int i = id1.indexOf("?id="); //$NON-NLS-1$ >- if (i != -1) { >- id1 = id1.substring(i + 4); >- } else { >- id1 = ""; //$NON-NLS-1$ >- } >- i = id2.indexOf("?id="); //$NON-NLS-1$ >- if (i != -1) { >- id2 = id2.substring(i + 4); >- } else { >- id2 = ""; //$NON-NLS-1$ >- } >- >- erg = id1.length() - id2.length(); >- if (erg == 0) { >- erg = id1.compareTo(id2); >- } >- break; >- >- case 1: >- String type1 = attachment1.getFileName(); >- String type2 = attachment2.getFileName(); >- if (AttachmentUtil.isContext(attachment1)) { >- type1 = Messages.AttachmentTableLabelProvider_Task_Context; >- } else if (attachment1.isPatch()) { >- type1 = Messages.AttachmentTableLabelProvider_Patch; >- } >- if (AttachmentUtil.isContext(attachment2)) { >- type2 = Messages.AttachmentTableLabelProvider_Task_Context; >- } else if (attachment2.isPatch()) { >- type2 = Messages.AttachmentTableLabelProvider_Patch; >- } >- erg = type1.compareTo(type2); >- break; >- case 2: >- String description1 = attachment1.getDescription(); >- String description2 = attachment2.getDescription(); >- erg = description1.compareTo(description2); >- break; >- case 3: >- Long length1 = attachment1.getLength(); >- Long idLength2 = attachment2.getLength(); >- length1 = length1 < 0 ? 0 : length1; >- idLength2 = idLength2 < 0 ? 0 : idLength2; >- erg = length1.compareTo(idLength2); >- break; >- case 4: >- String author1 = attachment1.getAuthor().toString(); >- String author2 = attachment2.getAuthor().toString(); >- erg = author1.compareTo(author2); >- break; >- case 5: >- Date created1 = attachment1.getCreationDate(); >- Date created2 = attachment2.getCreationDate(); >- if (created1 != null && created2 != null) { >- erg = created1.compareTo(created2); >- } else if (created1 == null && created2 != null) { >- erg = -1; >- } else if (created1 != null && created2 == null) { >- erg = 1; >- } else { >- erg = 0; >- } >- break; >+ tableViewer.setContentProvider(new ArrayContentProvider()); >+ tableViewer.setLabelProvider(new AttachmentTableLabelProvider(getModel(), >+ getTaskEditorPage().getAttributeEditorToolkit())); >+ tableViewer.addOpenListener(new IOpenListener() { >+ public void open(OpenEvent event) { >+ if (!event.getSelection().isEmpty()) { >+ StructuredSelection selection = (StructuredSelection) event.getSelection(); >+ ITaskAttachment attachment = (ITaskAttachment) selection.getFirstElement(); >+ TasksUiUtil.openUrl(attachment.getUrl()); > } >- // If descending order, flip the direction >- if (direction == DESCENDING) { >- erg = -erg; >- } >- return erg; > } >- }; >+ }); >+ tableViewer.addSelectionChangedListener(getTaskEditorPage()); >+ tableViewer.setInput(attachmentList.toArray()); > } > } > >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/AbstractTableViewerConfigurator.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/AbstractTableViewerConfigurator.java,v >retrieving revision 1.6 >diff -u -r1.6 AbstractTableViewerConfigurator.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/AbstractTableViewerConfigurator.java 13 Jul 2010 18:32:12 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/AbstractTableViewerConfigurator.java 13 Jul 2010 19:01:54 -0000 >@@ -31,8 +31,6 @@ > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.ControlEvent; > import org.eclipse.swt.events.ControlListener; >-import org.eclipse.swt.events.SelectionAdapter; >-import org.eclipse.swt.events.SelectionEvent; > import org.eclipse.swt.layout.GridLayout; > import org.eclipse.swt.widgets.Composite; > import org.eclipse.swt.widgets.Table; >@@ -53,20 +51,15 @@ > > protected int[] orderArray; > >- protected AbstractTableSorter tableSorter; >- > public AbstractTableViewerConfigurator(File stateFile) { > super(); > this.stateFile = stateFile; >- this.tableSorter = createTableSorter(); > } > > abstract protected void setDefaultColumnInfos(); > > abstract protected void setupTableViewer(); > >- abstract protected AbstractTableSorter createTableSorter(); >- > private void readStateFile() { > if (stateFile.exists()) { > try { >@@ -85,7 +78,6 @@ > for (int i = 0; i < orderStringArray.length; i++) { > orderArray[i] = Integer.parseInt(orderStringArray[i]); > } >- tableSorter.readState(memento); > } catch (WorkbenchException e) { > StatusHandler.log(new Status(IStatus.WARNING, TasksUiPlugin.ID_PLUGIN, > "The TableViewerState cache could not be read", e)); //$NON-NLS-1$ >@@ -122,7 +114,6 @@ > orderString += colPos; > } > child.putString("order", orderString); //$NON-NLS-1$ >- tableSorter.saveState(memento); > > try { > FileWriter writer = new FileWriter(stateFile); >@@ -143,42 +134,22 @@ > > public void create(FormToolkit toolkit, Composite parent, int initialColumnCount) { > table = createTable(parent, toolkit); >- tableViewer = new TableViewer(table); > columnInfos = new ArrayList<ColumnState>(initialColumnCount); > readStateFile(); > if (columnInfos.size() == 0) { > setDefaultColumnInfos(); > } > adjustColumInfos(); >- for (int i = 0; i < columnInfos.size(); i++) { >- final int index = i; >- ColumnState colState = columnInfos.get(i); >- final TableColumn column = new TableColumn(table, colState.getAlignment(), i); >+ for (int index = 0; index < columnInfos.size(); index++) { >+ ColumnState colState = columnInfos.get(index); >+ final TableColumn column = new TableColumn(table, colState.getAlignment(), index); > column.setText(colState.getName()); > column.setWidth(colState.getWidths()); > column.setMoveable(true); >- column.addControlListener(createColumnControlListener(table, column, i)); >- column.addSelectionListener(new SelectionAdapter() { >- @Override >- public void widgetSelected(SelectionEvent e) { >- tableSorter.setColumn(index); >- int dir = table.getSortDirection(); >- if (table.getSortColumn() == column) { >- dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; >- } else { >- dir = SWT.DOWN; >- } >- table.setSortDirection(dir); >- table.setSortColumn(column); >- tableViewer.refresh(); >- writeStateFile(); >- } >- }); >+ column.addControlListener(createColumnControlListener(table, column, index)); > } > >- table.setSortDirection(tableSorter.getDirection() == 1 ? SWT.DOWN : SWT.UP); >- table.setSortColumn(table.getColumn(tableSorter.getPropertyIndex())); >- >+ tableViewer = new TableViewer(table); > table.setColumnOrder(orderArray); > setupTableViewer(); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 250257
:
152248
|
152249
|
152640
|
152641
|
158913
|
158914
|
158915
|
158916
|
173981
|
173982
|
174179
|
174180
|
174213
|
174214
|
174251
|
174252
|
175449
|
175450