Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#316 "Include With Project" for All External Files

closed
5
2007-02-26
2007-02-14
Mathias Ricken
No

When in project mode, files outside the source root are put under a node labeled "[External Files]". These do not get stored in the project file and therefore aren't reopened when the project is opened the next time.

You can right-click on a file listed under "[External Files]" and select "Include With Project" in the context menu. This moves the file to a different node, "[Included External Files]". Files listed under this node are outside the source root, but do get stored in the project file and are therefore available when the project is opened again.

When you have a large number of files listed under "[External Files]", it is tremendously laborious to move all of them to "[Included External Files]", because it has to be done file by file, one at a time. It's impossible to select more than one file in the tree and select "Include With Project" for all of them.

The ideal solution would be to allow the user to select more than one file in the tree, e.g. by clicking and using Shift or Ctrl (or Command). Then, when the context menu is displayed, the selected action is performed for all selected files.

This is more difficult to implement, because DrJava currently very strongly ties the selected file to the active document displayed in the Definitions Pane. However, most lists make a distinction between "selected" and "active". Typically, this is done by shading the background of "selected" files, and additionally putting a dotted frame around the one "active" file. I think Swing's JTree already supports this, so it should be possible to allow the user to select multiple files, while still tying the active document to the only active file in the list.

If this is too difficult, then I propose to add "Include All With Project" to the context menu of the "[External Files]" node, and "Do Not Include Any With Project" to the context menu of the "[Included External Files]" node. This would allow the user to move all files back and forth between the two nodes.

Another option would be to create a modal dialog (i.e. one that blocks the execution of DrJava until it is closed) with two lists side by side. The left list contains the "External Files" not included with the project, the right list the "Included External Files". The lists allow the selection of more than one file at a time, and between the lists are two buttons with a left and a right arrow, respectively, that move the selected files from one list to the other. When the dialog is closed by pressing on the "OK" button, the files are moved as specified by the user. If the user closes the dialog by pressing "Cancel", no changes are made at all.

Discussion

  • Mathias Ricken
    Mathias Ricken
    2007-02-26

    • assigned_to: nobody --> mgricken
    • status: open --> closed
     
  • Mathias Ricken
    Mathias Ricken
    2007-02-26

    Logged In: YES
    user_id=1075744
    Originator: YES

    Multi-selection in project mode is now possible as of revision 4172. This allows the user to move any number of files back and forth between the two lists.