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 84223 Details for
Bug 211080
[mac] drag-n-drop of a task to a category doesn't work
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]
refactoring of TaskListDragSourceListener
dnd.txt (text/plain), 15.33 KB, created by
Leo Dos Santos
on 2007-11-30 14:47:21 EST
(
hide
)
Description:
refactoring of TaskListDragSourceListener
Filename:
MIME Type:
Creator:
Leo Dos Santos
Created:
2007-11-30 14:47:21 EST
Size:
15.33 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: .refactorings/2007/11/48/refactorings.history >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/.refactorings/2007/11/48/refactorings.history,v >retrieving revision 1.2 >diff -u -r1.2 refactorings.history >--- .refactorings/2007/11/48/refactorings.history 30 Nov 2007 03:18:02 -0000 1.2 >+++ .refactorings/2007/11/48/refactorings.history 30 Nov 2007 19:43:21 -0000 >@@ -1,3 +1,3 @@ > <?xml version="1.0" encoding="UTF-8"?> >-<session version="1.0">
<refactoring comment="Extract local variable 'activeTask2' from expression 'TasksUiPlugin.getTaskListManager().getTaskList().getActiveTask()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'activeTask2'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.TaskTrimWidget.createStatusComposite().new MouseAdapter() {...}.mouseDown()'
- Variable expression: 'TasksUiPlugin.getTaskListManager().getTaskList().getActiveTask()'
- Replace occurrences of expression with variable" description="Extract local variable 'activeTask2'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskTrimWidget.java" name="activeTask2" replace="true" selection="7622 71" stamp="1196284515789" version="1.0"/>
<refactoring comment="Extract local variable 'fromActivePerspective' from expression 'TaskListView.getFromActivePerspective()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'fromActivePerspective'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.TaskTrimWidget.createStatusComposite().new MouseAdapter() {...}.mouseDown()'
- Variable expression: 'TaskListView.getFromActivePerspective()'
- Replace occurrences of expression with variable" description="Extract local variable 'fromActivePerspective'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskTrimWidget.java" name="fromActivePerspective" replace="true" selection="7288 39" stamp="1196284610386" version="1.0"/>
<refactoring comment="Extract constant 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskPlanningEditor.WIDTH_SUMMARY' from expression '500'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Constant name: 'WIDTH_SUMMARY'
- Constant expression: '500'
- Declared visibility: 'private'" description="Extract constant 'WIDTH_SUMMARY'" flags="786432" id="org.eclipse.jdt.ui.extract.constant" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskPlanningEditor.java" name="WIDTH_SUMMARY" qualify="false" replace="false" selection="14226 3" stamp="1196392562365" version="1.0" visibility="2"/> >+<session version="1.0">
<refactoring comment="Extract local variable 'activeTask2' from expression 'TasksUiPlugin.getTaskListManager().getTaskList().getActiveTask()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'activeTask2'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.TaskTrimWidget.createStatusComposite().new MouseAdapter() {...}.mouseDown()'
- Variable expression: 'TasksUiPlugin.getTaskListManager().getTaskList().getActiveTask()'
- Replace occurrences of expression with variable" description="Extract local variable 'activeTask2'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskTrimWidget.java" name="activeTask2" replace="true" selection="7622 71" stamp="1196284515789" version="1.0"/>
<refactoring comment="Extract local variable 'fromActivePerspective' from expression 'TaskListView.getFromActivePerspective()'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Variable name: 'fromActivePerspective'
- Destination method: 'org.eclipse.mylyn.internal.tasks.ui.TaskTrimWidget.createStatusComposite().new MouseAdapter() {...}.mouseDown()'
- Variable expression: 'TaskListView.getFromActivePerspective()'
- Replace occurrences of expression with variable" description="Extract local variable 'fromActivePerspective'" final="false" id="org.eclipse.jdt.ui.extract.temp" input="/src<org.eclipse.mylyn.internal.tasks.ui{TaskTrimWidget.java" name="fromActivePerspective" replace="true" selection="7288 39" stamp="1196284610386" version="1.0"/>
<refactoring comment="Extract constant 'org.eclipse.mylyn.internal.tasks.ui.editors.TaskPlanningEditor.WIDTH_SUMMARY' from expression '500'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Constant name: 'WIDTH_SUMMARY'
- Constant expression: '500'
- Declared visibility: 'private'" description="Extract constant 'WIDTH_SUMMARY'" flags="786432" id="org.eclipse.jdt.ui.extract.constant" input="/src<org.eclipse.mylyn.internal.tasks.ui.editors{TaskPlanningEditor.java" name="WIDTH_SUMMARY" qualify="false" replace="false" selection="14226 3" stamp="1196392562365" version="1.0" visibility="2"/>
<refactoring comment="Extract method 'private void createFiles(StructuredSelection selection)' from 'org.eclipse.mylyn.internal.tasks.ui.views.TaskListDragSourceListener.dragStart()' to 'org.eclipse.mylyn.internal.tasks.ui.views.TaskListDragSourceListener'
- Original project: 'org.eclipse.mylyn.tasks.ui'
- Method name: 'createFiles'
- Destination type: 'org.eclipse.mylyn.internal.tasks.ui.views.TaskListDragSourceListener'
- Declared visibility: 'private'" comments="false" description="Extract method 'createFiles'" destination="0" exceptions="false" flags="786434" id="org.eclipse.jdt.ui.extract.method" input="/src<org.eclipse.mylyn.internal.tasks.ui.views{TaskListDragSourceListener.java" name="createFiles" replace="false" selection="2183 2399" stamp="1196450524200" version="1.0" visibility="2"/> > </session> >\ No newline at end of file >Index: .refactorings/2007/11/48/refactorings.index >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/.refactorings/2007/11/48/refactorings.index,v >retrieving revision 1.2 >diff -u -r1.2 refactorings.index >--- .refactorings/2007/11/48/refactorings.index 30 Nov 2007 03:18:02 -0000 1.2 >+++ .refactorings/2007/11/48/refactorings.index 30 Nov 2007 19:43:21 -0000 >@@ -1,3 +1,4 @@ > 1196284515789 Extract local variable 'activeTask2' > 1196284610386 Extract local variable 'fromActivePerspective' > 1196392562365 Extract constant 'WIDTH_SUMMARY' >+1196450524200 Extract method 'createFiles' >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java,v >retrieving revision 1.45 >diff -u -r1.45 TaskListDropAdapter.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java 30 Nov 2007 04:02:04 -0000 1.45 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java 30 Nov 2007 19:43:22 -0000 >@@ -101,8 +101,7 @@ > String path = names[0]; > File file = new File(path); > if (ContextCorePlugin.getContextManager().isValidContextFile(file)) { >- ContextCorePlugin.getContextManager().copyContext( >- targetTask.getHandleIdentifier(), file); >+ ContextCorePlugin.getContextManager().copyContext(targetTask.getHandleIdentifier(), file); > new TaskActivateAction().run(targetTask); > } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDragSourceListener.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDragSourceListener.java,v >retrieving revision 1.13 >diff -u -r1.13 TaskListDragSourceListener.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDragSourceListener.java 11 Sep 2007 22:06:36 -0000 1.13 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDragSourceListener.java 30 Nov 2007 19:43:22 -0000 >@@ -42,8 +42,11 @@ > private final TaskListView view; > > private File[] queryTempFiles; >+ > private File[] taskTempFiles; > >+ private StructuredSelection selection; >+ > // static final String ID_DATA_TASK_DRAG = "task-drag"; > > /** >@@ -56,87 +59,95 @@ > public void dragStart(DragSourceEvent event) { > StructuredSelection selection = (StructuredSelection) this.view.getViewer().getSelection(); > if (selection.isEmpty()) { >+ this.selection = null; > event.doit = false; > } else { >- // prepare temporary directory >- File tempDir = new File(TasksUiPlugin.getDefault().getDataDirectory() + File.separator + "temp"); >- if (!tempDir.exists()) { >- tempDir.mkdir(); >- } >- >- // prepare query files >- List<AbstractRepositoryQuery> queries = new ArrayList<AbstractRepositoryQuery>(); >- List<AbstractTask> tasks = new ArrayList<AbstractTask>(); >- >- for (Iterator<?> it = selection.iterator(); it.hasNext();) { >- Object element = it.next(); >- if (element instanceof AbstractRepositoryQuery) { >- queries.add((AbstractRepositoryQuery) element); >- } else if (element instanceof AbstractTask) { >- tasks.add((AbstractTask) element); >- } >+ this.selection = selection; >+ } >+ } >+ >+ private void createFiles(StructuredSelection selection) { >+ // prepare temporary directory >+ File tempDir = new File(TasksUiPlugin.getDefault().getDataDirectory() + File.separator + "temp"); >+ if (!tempDir.exists()) { >+ tempDir.mkdir(); >+ } >+ >+ // prepare query files >+ List<AbstractRepositoryQuery> queries = new ArrayList<AbstractRepositoryQuery>(); >+ List<AbstractTask> tasks = new ArrayList<AbstractTask>(); >+ >+ for (Iterator<?> it = selection.iterator(); it.hasNext();) { >+ Object element = it.next(); >+ if (element instanceof AbstractRepositoryQuery) { >+ queries.add((AbstractRepositoryQuery) element); >+ } else if (element instanceof AbstractTask) { >+ tasks.add((AbstractTask) element); > } >+ } >+ >+ try { > >- try { >- >- // queries >- { >- int counter = 0; >- queryTempFiles = new File[queries.size()]; >- for (AbstractRepositoryQuery query : queries) { >- List<AbstractRepositoryQuery> queryList = new ArrayList<AbstractRepositoryQuery>(); >- queryList.add(query); >- >- String encodedName = "query"; >- try { >- encodedName = URLEncoder.encode(query.getHandleIdentifier(), >- ITasksUiConstants.FILENAME_ENCODING); >- } catch (UnsupportedEncodingException e) { >- StatusHandler.fail(e, "Could not determine path for context", false); >- } >- >- queryTempFiles[counter] = File.createTempFile(encodedName, ITasksUiConstants.FILE_EXTENSION, >- tempDir); >- queryTempFiles[counter].deleteOnExit(); >- TasksUiPlugin.getTaskListManager().getTaskListWriter().writeQueries(queryList, >- queryTempFiles[counter]); >- counter++; >+ // queries >+ { >+ int counter = 0; >+ queryTempFiles = new File[queries.size()]; >+ for (AbstractRepositoryQuery query : queries) { >+ List<AbstractRepositoryQuery> queryList = new ArrayList<AbstractRepositoryQuery>(); >+ queryList.add(query); >+ >+ String encodedName = "query"; >+ try { >+ encodedName = URLEncoder.encode(query.getHandleIdentifier(), >+ ITasksUiConstants.FILENAME_ENCODING); >+ } catch (UnsupportedEncodingException e) { >+ StatusHandler.fail(e, "Could not determine path for context", false); > } >+ >+ queryTempFiles[counter] = File.createTempFile(encodedName, ITasksUiConstants.FILE_EXTENSION, >+ tempDir); >+ queryTempFiles[counter].deleteOnExit(); >+ TasksUiPlugin.getTaskListManager().getTaskListWriter().writeQueries(queryList, >+ queryTempFiles[counter]); >+ counter++; > } >+ } > >- // tasks >- { >- int counter = 0; >- taskTempFiles = new File[tasks.size()]; >- for (AbstractTask task : tasks) { >- String encodedName = "task" + counter; >- try { >- encodedName = URLEncoder.encode(task.getHandleIdentifier(), >- ITasksUiConstants.FILENAME_ENCODING); >- } catch (UnsupportedEncodingException e) { >- StatusHandler.fail(e, "Could not determine path for context", false); >- } >- >- taskTempFiles[counter] = File.createTempFile(encodedName, ITasksUiConstants.FILE_EXTENSION, >- tempDir); >- taskTempFiles[counter].deleteOnExit(); >- TasksUiPlugin.getTaskListManager().getTaskListWriter().writeTask(task, taskTempFiles[counter]); >- counter++; >+ // tasks >+ { >+ int counter = 0; >+ taskTempFiles = new File[tasks.size()]; >+ for (AbstractTask task : tasks) { >+ String encodedName = "task" + counter; >+ try { >+ encodedName = URLEncoder.encode(task.getHandleIdentifier(), ITasksUiConstants.FILENAME_ENCODING); >+ } catch (UnsupportedEncodingException e) { >+ StatusHandler.fail(e, "Could not determine path for context", false); > } >+ >+ taskTempFiles[counter] = File.createTempFile(encodedName, ITasksUiConstants.FILE_EXTENSION, tempDir); >+ taskTempFiles[counter].deleteOnExit(); >+ TasksUiPlugin.getTaskListManager().getTaskListWriter().writeTask(task, taskTempFiles[counter]); >+ counter++; > } >- } catch (IOException e) { >- StatusHandler.fail(e, "Cannot create a temp query file for Drag&Drop", true); > } >+ } catch (IOException e) { >+ StatusHandler.fail(e, "Cannot create a temp query file for Drag&Drop", true); > } > } > > public void dragSetData(DragSourceEvent event) { >- StructuredSelection selection = (StructuredSelection) this.view.getViewer().getSelection(); >+ if (selection == null || selection.isEmpty()) { >+ event.doit = false; >+ return; >+ } >+ >+ //StructuredSelection selection = (StructuredSelection) this.view.getViewer().getSelection(); > AbstractTaskContainer selectedElement = null; > if (((IStructuredSelection) selection).getFirstElement() instanceof AbstractTaskContainer) { > selectedElement = (AbstractTaskContainer) ((IStructuredSelection) selection).getFirstElement(); > } >- >+ > if (TaskTransfer.getInstance().isSupportedType(event.dataType)) { > List<AbstractTask> tasks = new ArrayList<AbstractTask>(); > for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { >@@ -147,6 +158,8 @@ > } > event.data = tasks.toArray(); > } else if (FileTransfer.getInstance().isSupportedType(event.dataType)) { >+ createFiles(selection); >+ > // detect context paths > String[] taskPaths = new String[taskTempFiles.length]; > for (int i = 0; i < taskTempFiles.length; i++) { >@@ -158,12 +171,12 @@ > for (int i = 0; i < queryTempFiles.length; i++) { > queryPaths[i] = queryTempFiles[i].getAbsolutePath(); > } >- >+ > // combine paths if needed > String[] paths = new String[taskTempFiles.length + queryTempFiles.length]; > System.arraycopy(taskPaths, 0, paths, 0, taskTempFiles.length); > System.arraycopy(queryPaths, 0, paths, taskTempFiles.length, queryTempFiles.length); >- >+ > if (paths.length > 0) { > event.data = paths; > }
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 211080
:
84110
|
84111
| 84223 |
84224