/plugins/ProjectViewer/tags/pv_2_1_3_3/docs/CHANGELOG

# · #! · 914 lines · 732 code · 182 blank · 0 comment · 0 complexity · 27a88ed02b873ac8e52ab4ee8f4c5fd7 MD5 · raw file

  1. /*
  2. * This program is free software; you can redistribute it and/or
  3. * modify it under the terms of the GNU General Public License
  4. * as published by the Free Software Foundation; either version 2
  5. * of the License, or any later version.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. *
  12. * You should have received a copy of the GNU General Public License
  13. * along with this program; if not, write to the Free Software
  14. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  15. *
  16. * CHANGELOG version: $Id: CHANGELOG 6406 2006-05-24 05:01:22Z vanza $
  17. */
  18. VERSION 2.1.3.3:
  19. [marcelo vanzin]
  20. - better handle the PV dockable being closed; old code was more
  21. prone to not freeing memory that could be freed.
  22. - fix SF bug # 1493976: when re-importing, need to check if the
  23. VPTDirectory.getFile() is under the old root, since getNodePath()
  24. is changed when the directory doesn't exist anymore.
  25. VERSION 2.1.3.2:
  26. [marcelo vanzin]
  27. - fix IconComposer again: fix in 2.1.3.1 disabled icon composing
  28. altogether.
  29. VERSION 2.1.3.1:
  30. [marcelo vanzin]
  31. - fix IconComposer: VFSFile provides null as the file argument
  32. when asking for the status icon, and this was causing an NPE.
  33. VERSION 2.1.3:
  34. [marcelo vanzin]
  35. - added filtered view contributed by Rudolf Widmann
  36. - some cosmetic/usability changes to external app config pane
  37. (also done for filter config pane)
  38. - fix a nasty problem in the base64 decoding function: padding
  39. was not being ignored when decoding encoded string.
  40. - fix more AWT thread-safety issues.
  41. - add a scroll bar to the config pane.
  42. - force reading config files in UTF-8; hopefully fixes problem
  43. with reading paths in different code pages (SF bug 1464040).
  44. VERSION 2.1.2:
  45. [marcelo vanzin]
  46. - fix calling GUIUtilities.getParentDialog() with a null parameter,
  47. which caused jEdit to throw an NPE.
  48. - fix ProjectOptions.save(); use OptionDialog's ok() method instead
  49. of trying to be smart, since that one has access to OptionDialog's
  50. private members.
  51. - fix NPE in VPTProject.fireFilesChanged()
  52. - fix a weird infinite recursion when trying to load a corrupt XML
  53. file from ProjectManager.
  54. - add a "deferred property" object to lazy-load object properties set
  55. in the projects in an attempt to avoid ClassCastExceptions and other
  56. fun problems with java class loaders. Apparently there's something
  57. broken with jEdit's JarClassLoader, since this is not really
  58. working (apparently PV is hanging on to an old class loader of an
  59. unloaded plugin and using that when re-instantiating the objects,
  60. causing the plugin trying to get the property to fail with a
  61. ClassCastException).
  62. - add "import file on double-click" support to ImportDialog.
  63. - fixed yet another issue w.r.t. getting rid of references to
  64. other plugins when they're unloaded.
  65. - fix bug when executing actions through the PVActions wrapper
  66. method: was not checking correctly whether the action should be
  67. executed or not; also make the error message slightly more
  68. useful.
  69. VERSION 2.1.1
  70. [marcelo vanzin]
  71. - set the viewer in PVActions.pvActionWrapper() also when forcing
  72. execution of the action. It might still be null, though.
  73. - don't mess up the DockableWindowManager by calling setVisible(true)
  74. on the PV windows; execute the "Open Project Viewer" action instead.
  75. - changes to the build file suggested by the packagers.
  76. - fix problems in external app config pane
  77. - show some error dialogs for more critical errors (bug 1191408)
  78. - don't allow renaming the directories on disk
  79. - Mozilla doesn't like paths with backslashes, so always
  80. use normal slashes when launching a web browser.
  81. - fix NPE in ContextOptionPane caused by hitting "OK" with an empty
  82. selection.
  83. - added OkCancelButtons class to make it easy to add buttons to an
  84. EnhancedDialog instance.
  85. - new GlobFilter (generic version of ImportSettingsFilter).
  86. - new importer dialog: avoid two dialogs popping up in succession
  87. by having all the other options below the JFileChooser UI, and
  88. add some other options such as custom filters and "flattening"
  89. of paths.
  90. - when changing the active buffer (or opening a new buffer), try
  91. to focus the corresponding node in the project tree.
  92. - when editing a project, check whether the project is loaded or
  93. not, since when a group is active projects might not have been
  94. loaded yet.
  95. - add .svn/entries support to CVSEntriesFilter
  96. - fix possible Swing thread safety issues in the importer code.
  97. - fixed way that PV unloads extensions from other plugins; the
  98. "compare the class loaders" approach was not working because
  99. for some unexplainable reason the class loader returned by
  100. getClass().getClassLoader() was the right object upon loading
  101. of the plugin, and magically turned into "null" by the time
  102. the plugin was unloaded. And did I mention this only happened
  103. to a few classes, not all?
  104. - the "EditPaneUpdate" message is not sent when focusing a
  105. different view, so remove the code that handled that (it was
  106. causing weird events to be sent when the user had a split pane,
  107. though). I'll have to find a different way to handle that case
  108. (WindowListener?).
  109. - show project/group information on the view title. can be
  110. disabled in the options.
  111. [alan ezust]
  112. - add nodeSelected() to ProjectViewerEventListener
  113. VERSION 2.1.0
  114. [marcelo vanzin]
  115. This version provides some API incompatibilities with other versions,
  116. so the version number is being bumped up a little bit.
  117. Feature changes:
  118. - dropped jEdit 4.1 compatibility (with related code cleanups)
  119. - clean up inactive projects when switching from "All Projects" view
  120. - use directory name as project name when creating project, if no
  121. name has been provided
  122. - use current project's root's parent (or buffer path) as default path
  123. when creating new project
  124. - option to automatically import newly created files that are under
  125. the project root
  126. - can re-import single directories; tree state is maintained after
  127. re-importing (may not work perfectly)
  128. - tree actions now can be accessed by jEdit's action mechanism; it's
  129. not automatic, though, actions have to be manually added to the
  130. actions.xml file.
  131. - added CompactView mode contributed by Francis Dobi
  132. - projects now are active in a view even if no dockable is visible if
  133. the user uses the plugin menu. This means that the user doesn't need
  134. to open the dockable to run (most of) the actions in PV's plugin
  135. menu. Made sure that the actions are prepared for this case.
  136. - 4.2-style API to load custom node handlers.
  137. - Added API to allow other plugins to add custom file filters to the
  138. import dialogs of Project Viewer. Also made the file filter choosing
  139. method more generic so it can be used in more places.
  140. - When asking to import a new file from a buffer save, show an option
  141. to enable automatic importing (and a message that it is possible
  142. to disable it later, if the option is chosen)
  143. - added ability to organize the projects into groups; groups are shown
  144. (hierarchically) in All Projects mode, and in the plugin's menu,
  145. but not in the project combo. Also, allow moving od projects
  146. and groups to other groups in the tree, aside from all the changes
  147. needed in the trees for the groups to work.
  148. - keeps the trees synchronized when expanding/collapsing projects and
  149. groups, so the user doesn't have to do that manually.
  150. - follow the FileSystemBrowser configuration for closing opened files
  151. on double click.
  152. - added ability to open files in an external application by default.
  153. The application is picked from the file extension mapping tool,
  154. and this is only enabled for VPTFile nodes.
  155. - added ability to provide incremental updates to the import properties
  156. list, based on the plugin version number. This updates the
  157. user-modified lists, not only the default plugin configuration.
  158. - added action to focus the project viewer tree; this allows for easier
  159. keyboard navigation to select a node, thus making the actions
  160. available via jEdit's action mechanism more useful.
  161. - import settings are now simplified and more flexible: PV now uses
  162. globs to decide whether to import files and directories. Old config
  163. is translated automatically.
  164. - created new widget to substitute the old project combo box; the new
  165. widget shows the menu created by the new GroupMenu class allowing
  166. the user to choose either groups or projects in the tree. As a result,
  167. removed a lot of code from the ProjectViewer class.
  168. - use EnhancedMenuItems for the PV actions that have jEdit actions
  169. available, so that the shortcuts are displayed in the context menu.
  170. Bug fixes:
  171. - fixed possible problem in ReImporter (could lose nodes if they
  172. were not VPTFile or VPTDirectory).
  173. - fix NPE in OpenWithEncodingAction.java
  174. - fixed bug: VPTNode.setParent() was not working correctly, making
  175. renaming nodes not work right (and probably other stuff too).
  176. - removed unneeded check for ErrorList plugin in IconComposer
  177. - fixed project being saved twice when changing projects, leading to
  178. loss of project data (thanks to Stefan for pointing this out).
  179. - properly clean up edit bus when unloading the plugin.
  180. - re-added the entry for the PV dockable to the plugin menu.
  181. - fixed possible ClassCastException in PVActions.openAllNodes()
  182. - plugin was not receiving EditorExiting message, so a workaround
  183. was made to save project state when the EditorExitRequestedMessage
  184. is received, but being careful to avoid the data loss bug that
  185. we had in a previous version.
  186. - after loading the project, clear the open file list so that opening
  187. a new view does not cause user-closed files that were on the list
  188. to be re-opened.
  189. - when activating the plugin, check which other plugins have already
  190. been loaded and create a fake "PluginUpdate" msg in the ProjectPlugin
  191. class (the msg is *not* sent to the EditBus).
  192. - properly cleanup when closing dockable (e.g., when changing the
  193. docking position; the current dockable is closed and a new one is
  194. created, so we need to clean up after the old one)
  195. - ImportSettingsFilter: ignore case if the file VFS has the
  196. "CASE_INSENSITIVE_CAP" capability set.
  197. - Changed way the underline is drawn; FontMetrics.getAscent() was
  198. causing some weird drawing problems on Linux (at least).
  199. - fix double-loading of other plugins' extensions in ProjectViewer.java.
  200. - disable node rename action for dirty buffers. it was causing trouble.
  201. - when loading extensions or when loading nodes from the project file,
  202. catch any possible errors due to misbehaving plugins so that at least
  203. ProjectViewer won't crash.
  204. - fix error icon showing for files that only had warnings, when other
  205. files had errors reported in the error list plugin.
  206. - fix some possible NPEs when calling nodeChanged() on the flat
  207. tree models by not calling the super class' nodeChanged()
  208. method.
  209. Other changes:
  210. - added methods to ProjectViewer to get/set the folder tree state from
  211. a node in the tree, so re-importing can work better.
  212. - use a new JFileChooser implementation that properly chooses the parent
  213. when instantiated from a dialog and not from the main window; also
  214. allows to force the viewing of hidden files.
  215. - added the beginnings of a version control extension to the
  216. IconComposer class. Not too happy about it yet.
  217. - there's now code in place to enable clipping of the node strings
  218. when they don't fit in the tree viewport. It's only enabled for the
  219. compact view mode, though, since it doesn't make a lot of sense for
  220. the other modes and it also doesn't work perfectly.
  221. - updated a lot of developer documentation in the javadocs.
  222. - created method to write strings to XML files, escaping any needed
  223. chars (instead of having the code copied all over as before)
  224. - got rid of VPTNode.VPTNodeComparator; implemented the logic in
  225. each node implementation (much easier to understand now)
  226. - focus text area after opening a file from the tree.
  227. - new locking mechanism to avoid possible race conditions when loading
  228. a project in a separate thread.
  229. - allow EditProjectAction to receive a default parent group for the
  230. project being created.
  231. - made SearchAction.NodeFileSet public by request.
  232. - add a method to ProjectOptions to return the project being
  233. edited. Lack of this method pretty much made the while
  234. ProjectOptions idea useless for other plugins.
  235. VERSION 2.0.4
  236. [marcelo vanzin]
  237. - fixed LaunchBrowserAction remembering the last opened file and
  238. ignoring the current selection.
  239. - fixed bug in IconComposer that prevented PV from working in jEdit 4.1
  240. - moved several methods to static "Helper" classes to avoid beanshell
  241. complaints about classes not existing.
  242. - backported: clean up edit bus when unloading plugin.
  243. - backported: fixed double-save of project data.
  244. - backported: VPTNode.setParent() fix
  245. - backported: fix for NPE in OpenWithEncodingAction
  246. - fixed NPE when creating project with no viewer open
  247. VERSION 2.0.3
  248. [marcelo vanzin]
  249. Enhancements:
  250. - added context menu action to open nodes with a specific encoding
  251. - added jEdit action to launch current buffer in browser
  252. - updated to used the jEdit 4.2 deferred plugin loading API
  253. - use a jEdit 4.2-style API for PV plugins (option panes, listeners
  254. and context menu items); updated dev docs (package javadocs)
  255. - clean the project when it's deactivated; saves memory in exchange
  256. of a little slow down when reloading the project.
  257. - do not calculate canonical paths when using jEdit 4.2, since jEdit's
  258. behavior has been fixed.
  259. - reimporting now also traverses directories not under the root,
  260. removing stale files and reimporting when the directory exists.
  261. - added ability to add a file from a jEdit VFS. It's not a "first-class"
  262. citizen such as VPTFile, but the main stuff is there.
  263. - got tired of trying to contact the JarMaker maintainer and added an
  264. enhanced version of JarMaker to ProjectViewer, in the place of the
  265. former ProjectZipper.
  266. - for jEdit 4.2, use a dynamic menu provider that shows a submenu with
  267. all projects so the user doesn't need to use the dockable to change
  268. project.
  269. Bug fixes:
  270. - "project loaded" event was being fired when "create project" was
  271. chosen on the combo and the current project was set again as the
  272. current value, creating a "fake" event.
  273. - VPTFile.close() was not using canonical paths, so buffers would not
  274. close in some cases under jEdit 4.1.
  275. - Fixed a not very easy to reproduce misbehavior of the mouse clicks on
  276. the tree changing the active buffer when they shouldn't.
  277. - projectPropertiesChanged was being fired when options dialog was
  278. canceled.
  279. - fixed possible ClassCastException in FileImporter.java.
  280. - fixed bug in OldStyleImporter / Importer#makePathTo() - PV was not
  281. importing in "old style" correctly.
  282. - added some work arounds in OldStyleFileImporter to deal with Swing's
  283. Metal L&F bug when navigating symlinks in the file chooser (it
  284. resolves canonical paths when it shouldn't)
  285. - fixed many possible NPEs in ProjectViewer for the rare case when all
  286. trees are disabled; fixed also some possible NPEs in VPTProject.
  287. - renaming the node was causing the tree to stay out of order
  288. - trying to rename a file that does not exist was causing an "infinite
  289. loop" when pressing only OK on the rename dialog
  290. - fixed importing of configuration from older versions of PV (<= 1.0.2)
  291. - fixed saving of tree state when changing project in the combo box by
  292. calling closeProject() before touching the tree (and then changing
  293. its root).
  294. - fixed data loss bug when canceling jEdit's exit operation (was closing
  295. the project before being sure that jEdit was really going to exit).
  296. - fixed rename action to operate correctly on any node.
  297. Other changes:
  298. - removed the VPTNodeType class; it was just adding bloat, and could be
  299. easily substituted by comparing the objects' classes.
  300. - removed the "saveOnChange" option. It's assumed to be true now.
  301. - remodeled VPTProject and the "flat lists" to map paths to any node
  302. that reports itself as being "openable", not only VPTFile nodes. Some
  303. methods have been deprecated in the process.
  304. - hacked ActionSeparator a little more to deal with nodes that are not
  305. Root/Project/Directory/File.
  306. - ProjectLoader uses its own thread instead of using a jEdit IO request.
  307. This was done to prevent IO requests that run in the AWT thread being
  308. locked by requests that don't care about AWT, since the current work
  309. thread pool does that.
  310. - added rb (Ruby) to the list of default extensions to import.
  311. - when renaming a file, if it does not exist or can't be written, only
  312. allow the "fake" rename (the one that does not affect the file on disk)
  313. - put all references to classes that may not be available in inner
  314. "Helper" classes. If the reference was on a different method of the
  315. same class, it would work OK, but throw an Exception if the class was
  316. called from a BeanShell script.
  317. [stefan kost]
  318. - added icon composing capabilities; tree now show "status icons" for the
  319. files.
  320. VERSION 2.0.2
  321. [stefan kost]
  322. - rename action shows old value as initial selection
  323. [marcelo vanzin]
  324. - added add/remove file and property change events for projects
  325. - optional InfoViewer integration
  326. - option to use system icons for files
  327. - editable context menus (can add any jEdit action)
  328. - several import routines bug fixes
  329. - re-enabled "virtual folders"
  330. - possibility to rename files/folders without modifying the file name
  331. on disk
  332. - use MicroStar's XML parser (bundled with jEdit) to avoid problems
  333. with JAXP
  334. - some bug fixes in config file saving code
  335. - fixed for jEdit 4.2pre3
  336. VERSION 2.0.0
  337. [marcelo vanzin]
  338. - Complete rewrite. Too many changes to list here. Most notable userland
  339. changes are:
  340. * project tree does not follow fs layout anymore. Any file/directory can
  341. be added to any directory.
  342. * project properties dialog is extensible, so other plugins can add their
  343. own options to the project.
  344. * other plugins can add entries to the toolbar and to the context menu.
  345. * performance should be better, and many old bugs should disappear due to
  346. the new tree code.
  347. * config files are now XML, mostly.
  348. VERSION 1.0.5
  349. [matthew payne]
  350. - added functionality to load/store properties for associating external
  351. applications with specific file extentions. For instances, (".gif" can
  352. optionally be opened up with gimp or paintshop, or "css" with w/topstyle).
  353. - added menu item to JTree for launching the ext. apps ("Open with (xxx)")
  354. - added new configuration layout pane for external applications
  355. (more)
  356. - if application is in assoicated with the current application, AppLauncher
  357. will prompt the user for select an application
  358. [stefan kost]
  359. - fixed NPE in TabNumber to Model resolving code
  360. - switching buffers in jEdit now activates them in the trees too
  361. - switching views now corectly activates the files too (but makes
  362. projectviewer depended on jedit 4.1)
  363. - switching the trees via the tabs, keeps the cur. file active in the trees
  364. - removed obsolete action.xml
  365. - use new RolloverButton class of jEdit 4.1
  366. - use jEdit 4.1 icons for toolbar and trees
  367. - use bold font for folders/projects (like Filesystembrowser does)
  368. - fixed NPE in RemovalManager when removing projects
  369. - added "Create new project ..." to combo box
  370. - refactorised the filter to be an external class, so that one day it can be
  371. extensible
  372. - added CVSFilter
  373. - added ProjectFileSet to specity a set of files to search in
  374. VERSION 1.0.4
  375. [stefan kost]
  376. - open files are now visualized underlined like the filesystem-browser does.
  377. - updated docs
  378. VERSION 1.0.4
  379. [dale anson]
  380. - improved persistence of project files
  381. - added ability to designate a file as a "build file" for the project. This
  382. will notify registered listeners that may be interested when the project
  383. changes.
  384. - added persistence of the state of the folder tree so that it will automa-
  385. tically expand to where it was when the project was last used.
  386. VERSION 1.0.4
  387. [marcelo vanzin]
  388. - changed configuration file layout. Each project has its own configuration
  389. file now (under projects/). Project configuration is "lazy loaded" (loaded
  390. only when needed).
  391. - added configuration panel to jEdit configuration dialog and added config
  392. class holding all configuration data for the plugin. Also, added some
  393. configuration options.
  394. - added properties dialog for projects, used to create new project and to
  395. modify existing ones.
  396. - added context menus to the trees, and implemented multiple selections in
  397. the tree (only in single project view). Remove buttons and context menu
  398. entries now can handle multiple selections.
  399. - opened files are remembered on a per-project basis. Also, the last opened
  400. project is remembered between jEdit sessions.
  401. - Lots of small changes/fixes.
  402. [stefan kost]
  403. - fixed bug when importing files from dirs not below project root
  404. VERSION 1.0.3
  405. [stefan kost]
  406. - cleanups (source-code formatting, adding missing scope identifiers,
  407. adding final if possible)
  408. - initial user documentation (using docbook-xsl)
  409. - the red '-' can now even remove whole directories (after asking)
  410. - fixed build.xml, so that docs are now included
  411. - slight speedup in treehandling (made most members static)
  412. - project files are colored according to the setting of the filesystem browser
  413. - toolbar is now JToolBar and has roll-over buttons
  414. - removed deprecation warning (updated to jEdit 4.0 dockable API)
  415. - sorted extensions in import-sample.properties
  416. - added CVS policy file
  417. [?]
  418. - Project parsing does not start at jEdit start up unless the the viewer is
  419. set to be displayed on start up.
  420. - Fixed NPE when a click occurs over a non-node port of project tree
  421. - Added 'py' (Python) extension to supported import extensions
  422. - Project directories are now sorted
  423. - Double click interval have been shortened from 2 seconds to .5 seconds
  424. VERSION 1.0.2
  425. - Major rewrite of the plugin. All features that existed pre 1.0.2 should still be
  426. valid, except for the bugs. That also means that all previously noted changes
  427. may or may not be valid in this release.
  428. - Added drag and drop support to the edit pane.
  429. - Fixed bugs with tree node synchonization where the different tree views are
  430. not notified of changes such as additions and removal of project files, and
  431. the opening and closing or project files in the edit pane.
  432. - Tree rendering on file and directory additions should be faster because the
  433. trees are not being rebuilt on these events.
  434. - Project viewer will ask if you want to import a file if you save it under
  435. the current project's root directory.
  436. - The project viewer and project can will now generate events so that other
  437. plugins can interact with the current project.
  438. - Project properties will now be stored under <settings directory>/projectviewer. The
  439. plugin should move old properties files to this directory, as well as rename them.
  440. VERSION 0.095
  441. - (DONE) (SERIOUS) ProjectViewer *won't* open any files that it thinks are
  442. subscribed but aren't actually open.
  443. - (DONE) anytime you double click on a file... and it fails to open or close
  444. a buffer.... and it isn't the current buffer. select it or open it.
  445. - (DONE) fix ProjectViewer so that it can get jEdit events and
  446. unsubscribe/subscribe to new buffers.
  447. - within File.setSubscribed() have it keep track of subscribed files
  448. within a hashtable in ProjectResources. This is a kludge but
  449. reliable. Then events can just enumerate through this hashtable
  450. instead of all files. When a file is closed due to an event
  451. setSubscribe(false) and remove it from the hashtable.
  452. VERSION 0.094
  453. - (DONE) double clicking doesn't work correctly.
  454. - (DONE) if you single click on an item that isn't the last item you double
  455. clicked on... then set the previous double clicked item to null
  456. - (DONE) if you double click on a file... and it isn't the current buffer.
  457. then don't unsubscribe it.
  458. - (DONE) (Behavior not noticed) Currently when you double click on a
  459. "working file" it doesn't remove it from the current jTree. How long has
  460. this been broken?
  461. - (DONE) Add .css, .vbs and .js support.
  462. - (DONE) less chatty
  463. - (DONE) When the plugin is stop'd... save the Project Resources
  464. VERSION 0.090
  465. - (DONE) Adding a single file for some reason sets it's starting record to 0
  466. - (DONE) NPE when adding file to a Project with no other files
  467. - (DONE) Adding new projects stoped working... problem caused with new
  468. resources.
  469. VERSION 0.089
  470. - (DONE) "Folders" view is not getting rendered correctly. It is missing anything
  471. outside of the projects root directory and it is also just plain missing
  472. things.
  473. - (DONE) There seems to be a timing problem where if you click on a file.. and it
  474. takes time for jEdit to load and JBrowse also loads it that the jTree
  475. won't highlight the selected node until everythign is done
  476. - (DONE) find out how to increase performance of initial rendering time of large
  477. projects... really slow right now. maybe serialize it or increase the
  478. performance of ProjectResources
  479. - (DONE) nows threading off initial Resource parsing
  480. - (DONE) File names are getting truncated by the jTree. You will need to
  481. build in a buffer... something like 40% of the number of chars.
  482. - (DONE) increase performance when loading large project sets with tons of files.
  483. - (DONE) if the user selects a project that is already visible... don't reload it.
  484. - (DONE) Add an Open All button now that everything won't be loaded by default.
  485. - (DONE) when loading a project or all projects... set the status bar back to
  486. nothing... since no files are selected saying that a file (or anything
  487. other than a project) would be a bad thing.
  488. - (DONE) remove all references to "options"
  489. - (DONE) (HIGH PRIORITY) Ability to sort files alphabetically.
  490. - (DONE) Sometimes... after PV is loaded it isn't set to the foreground... do this
  491. progmatically so that nothing ever happens.
  492. - (DONE) Fix bug where ProjectViewer is not instantly visible
  493. - (DONE)fix status bar rendering... dirs should be like "/dir1/dir2/" (trailing
  494. file.separator and fiels should be "dir1/dir2/file.txt" (no trialing
  495. file.separator)
  496. - (DONE)Project.gif added to cvs as binary
  497. - (DONE) move the jTree "contents" into 3 separate jTrees "folders" "files" and
  498. "workingfiles". This way nothing will need to get redrawn when moving
  499. between projects and the jTree state will always stay the same. This also
  500. fixes my problem of not being able to have multiplle JTabbedPane tabs
  501. pointing to the same object. make sure expansion of nodes still works and
  502. that when you add a file to one jTree that the ProjectResources becomes
  503. dirty and you re-read it. The best way to bootstrap this is to take
  504. contents and find out all access to it... then replace all that code with
  505. getCurrentTree() with will return one of the three JTrees.
  506. - (DONE) everytime you go to working files... reload the view...
  507. - (DONE)when you unsubscribe from a file when in WORKING_FILES make sure to
  508. remove it from the JTree.
  509. VERSION 0.081
  510. - (DONE) getCurrentDirectory() does not work correctly when changing projects. It
  511. looks like Project and files aren't changing the dir... this may be a
  512. problem in loadProject() where it should call
  513. setCurrentDirectory( project.getRoot() )
  514. - (DONE) Do nothing ever when changing projects. This gets confusing when
  515. projects and files are opened and closed.
  516. - (DONE)add a JStatusBar to the bottom of ProjectViewer
  517. - (DONE) make Resources static and synchronized so that it is totally thread
  518. safe also... parse it out when the first Project Viewer loads up so that
  519. future applications (IE JCompiler) can request projects, directories,
  520. files, etc without loadup time.
  521. - should increase speed when working with multiple ProjectViewers in
  522. multiple views.
  523. - should provide inter ProjectViewer adding of files and directories.
  524. VERSION 0.075
  525. - (DONE) (RFE)when you double click on a file... it takes a second to react
  526. to become bold. Rewrite this so that you manually set it to bold and then
  527. open file file so reaction time is somewhat faster.
  528. - (DONE) Have getCurrentDirectory() return a Directory and not a String
  529. - (DONE) (EASY) Get rid of the "Projects" tab. It really is not longer
  530. needed.
  531. - (DONE) (HIGH PRIORITY)MISC Buffer NullPointerExceptions
  532. - (DONE) BUG keep track of the opened (but not subscribed) files and close
  533. then when you change projects. This became an issue when I implemented
  534. multiple views.
  535. - (DONE)(BUG) if there are files within the projects root they are not shown.
  536. - (DONE) (HIGH PRIORITY) FEATURE: Multiple views... Just different ways to display the
  537. JTree. This includes:
  538. Folder View - standard hierarchy view
  539. File View - no hierarchy.. just alphabetically list all the files.
  540. Open File View - no hierarcy.. just a list of open files.
  541. - (DONE) (HIGH PRIORITY) globalStringReplace requires JDK 1.2 because a
  542. "replace" method is not available within JDK 1.1. Try making you own
  543. StringBuffer class by taking the necessary "replace" method from the JDK
  544. 1.2 StringBuffer.
  545. - (DONE)Remove "." Directory. should be placed under the projects root.
  546. When working on projects with mixed directorys the "." directory can
  547. sometimes show up in the middle which looks very bad.
  548. - (DONE) (HIGH PRIORITY) Have a currently editing file. This way if I am
  549. working on "myfile.java" and change projects and then change back,
  550. "myfile.java" should be the buffer currently selected.
  551. - (DONE) (BUG) set the cursor to busy when loading all files in a project.
  552. For some reason this isn't getting set during the import of a file.
  553. - (DONE) Do Hierarchical directories:
  554. - instead of ./ProjectViewer
  555. ./ProjectViewer/projectviewer
  556. do: ./ProjectViewer
  557. projectviewer
  558. - you might want do consider redoing the Resource datastore at this
  559. point to be something like
  560. Project -> (1 to many) Directory -> (1 to many) Files
  561. Directory -> Directory
  562. - (DONE) (BUG) when loading a project... getCurrentDirectory() should be set
  563. to getCurrentDirectory().getRoot()
  564. - patched the code.. see if it works.
  565. - (DONE)JTree enhancement... when loading the jTree use
  566. jTree.getModel().setRoot()... this should allow you to have a method which
  567. returns a DefaultMutableTreeNode depicting the root.
  568. - (DONE) (HIGH PRIORITY) Have a currently editing file. This way if I am
  569. working on "myfile.java" and change projects and then change back,
  570. "myfile.java" should be the buffer currently selected.
  571. - (DONE) (BUG) show a busy mouse when loading projects...
  572. - (DONE) (RFE) while ProjectViewer is loading set the cursor on view to busy
  573. and then back to normal after instantiation.
  574. - (DONE) (EASY) Get rid of the "Projects" tab. It really is not longer
  575. needed.
  576. - (DONE) Project.getRoot() doesn't work under NT. The reason is that "\"
  577. needs to be escaped as "\\"
  578. - (DONE) Under JDK 1.2 Swing wasn't loading all the GUI's projectCombo
  579. correctly
  580. - (DONE) (NT was escaping \ )(HIGH PRIORITY) (BUG) Under NT projects are
  581. created fine but when you re-load then they don't load any files... why
  582. is this?
  583. - (DONE) Button bar Images corrupt under NT. Try to get fresh ones not from
  584. CVS.. could be a binary commit problem.
  585. - (DONE) Under JDK 1.2 JDialog was overloaded so that passing a "null" as
  586. the first parameter caused it to be ambigious.
  587. - (DONE) (BUG) NullPointerExceptions are being thrown when clicking on
  588. subscribed files.
  589. - (DONE) (just called repaint)(BUG) When changing the subscribed status of
  590. a file... the JTree isn't updated to reflect it's current bold/normal
  591. status.. you have to click on another leaf for this to work. find out why
  592. the GUI isn't getting refreshed.
  593. - (DONE) (BUG) When parsing projects... the first one is always discarded.
  594. Basically this means that if you have 2 projects within your property
  595. files... only 1 is loaded. If you have 1... 0 are loaded.
  596. - (DONE) (BUG)if you choose to import a file... that is already within the
  597. project, don't add it again. This will be done through
  598. ProjectResources.addFile() rewrite it to add support for return a boolean.
  599. On multiple imports (IE Project imports) you should just ignore this but
  600. on singleton imports you should tell the user with a with a dialog that
  601. their file was not added to the project.
  602. - (DONE) (Appears to be working now) (BUG) When "All Projects" is selected
  603. and you try to delete a project it totally screws up... doesn't delete
  604. the project.
  605. - (DONE) "All Projects" should only browse files... not load them. When you
  606. select "All Projects" close the current project so that no subscribed
  607. files are shown... then you can view subscribed files if you want.
  608. - (DONE)ClassCastException when trying to add a file to a directory when
  609. "All Projects" is selected
  610. - (DONE) Are Projects and their files getting mixed up? It looks like when
  611. you exit and come back in your files aren't setup correctly.. This
  612. appears to happen when you have multiple projects and then add another one.
  613. - (DONE) When you are importing files during project creation. On the file
  614. import directory prompt tell the the name of the project.
  615. VERSION 0.060
  616. - (DONE) Removing a single subscribed file doesn't work.
  617. - (DONE) removed parse button
  618. - (DONE) BUG 4: When you delete a project... remove all (subscribed)
  619. buffers from jEdit
  620. - (DONE) Add an "Contract All" option that will contrct all the shown
  621. TreeNodes.
  622. - (DONE) Add an "Expand All" option that will expand all the shown TreeNodes.
  623. - (DONE) Do not close all files when creating a new project... only remove
  624. the files for a current project... if one is open.
  625. - (DONE) Keep track of opened files. When you call Launcher.launchFile()
  626. add it to ProjectResources via a new method. ProjectResources.addOpenFile(File)
  627. ( also a ProjectResources.removeOpenFile(File) and a
  628. ProjectResources.getOpenFiles(Project) ). Then when you load up a project
  629. via Launcher.launchProject() only open the files that the user opened last
  630. time.
  631. - (DONE) when you select a project... don't close ALL files. Only close
  632. files thatare part of the current project. This way you can edit specific
  633. files outside any projects.
  634. - (DONE) Removed all extra logging code.
  635. - (DONE) Move everything over to a Makefile
  636. - (DONE) When you double click on a <BOLD> subscribed file... unsubscribe to
  637. it and set the font back to normal.
  638. - (DONE) Single clicking a subscribed file selects the jEdit buffer...
  639. - (DONE) Double click subscription should only work for files... not
  640. directories.
  641. - (DONE) When you double click on a subscribed file... nothing should happen
  642. (IE don't load it again)
  643. - (DONE) HoldablePlugin no longer needed
  644. VERSION 0.045
  645. - (DONE) Move the button action listeners into another class and their
  646. action methods as well.
  647. - (DONE)Change the font for subscribed TreeNode's.
  648. - (DONE) Fix how I am handling views? ... currently I am just calling
  649. jEdit.getViews and using the
  650. [0] reference. This won't work for more than 1 window
  651. - (DONE)Project.setRoot() should not allow a root like this: "/tmp/" They
  652. should
  653. be with this format "/tmp" or "/test/tmp" also "/" would be valid in this
  654. situation
  655. - (DONE)... open all files within a project...
  656. - (DONE) No trailing file.separator on Directory nodes.
  657. IE "./ProjectViewer/" should be "./ProjectViewer"
  658. - (DONE) when adding a single file, start the JFileChooser from the projects
  659. currently selected directory. There should be a new method named
  660. getCurrentDirectory() which returns the directory the user is currently
  661. viewing. This is changed when the user clicks on a Directory object.
  662. If the user clicks on the Project object the directory will be set to
  663. Project.getRoot(). If they select on a root node. The directory should
  664. be set to the default dir. (thus getCurrentDirectory() would return null)
  665. - (DONE) When deleting projects... tell the user the project they are about
  666. to delete.
  667. - (DONE) Move all inner classes withing ProjectViewer into their own files.
  668. - (DONE) BUG 7: When loading files into from ProjectResources make sure
  669. that they exist before returning them. IE getFiles() (when loading from
  670. disk) verifies that the actual file it is about to return a reference to
  671. is there.
  672. - (DONE) Import "Makefile"s
  673. - (DONE) Clicking on "Cancel" when importing directories during project
  674. creation causes a NullPointerException
  675. - (DONE) Make sure that duplicate projects can't be added. With no project
  676. adding "test" should work but if you try to add another "test" this will
  677. fail.
  678. - (DONE) Improve parse generation speed. Do not do the "project" substring gathering anymore. Just try to count from 1 to
  679. the last enumeration and get the actual project file string. When you get back null you know there are no more entries
  680. Also "break" at this point because there is no use in going through the rest of the Enumeration.
  681. - (DONE) loadProject and loadAllProjects should set the cursor to mouse_wait
  682. - (DONE) PUT in comments about not editing the file directly... but if they do then "here is the file
  683. format"
  684. - (DONE) when creating a new project.. after the user has selected his root dir and is prompted
  685. to import... tell them the directory
  686. - (DONE) Optional directory for a project. This way you can specify that /tmp is your
  687. home and then in the future when you add files to the project they start from
  688. here.
  689. - (DONE) BUG 5: When you delete a project... the JComboBox doesn't get populated correctly.
  690. The deleted entry should be removed.
  691. - (DONE) BUG 6: (might depenend on bug 5) If you delete a project, the combo box does not
  692. let you choose any more projects.
  693. - (DONE) BUG 8: When you are importing files... and none are found... tell the user.
  694. Also tell them the total number of files imported.
  695. - (DONE) BUG 9: test out how files would be rendered it their directory were the same as
  696. Project.root
  697. - (DONE) View files by directory
  698. - (DONE)currently working but when all files are removed from a directory, the directory
  699. needs to be removed.
  700. VERSION 0.27
  701. - (DONE)Include source in distribution.
  702. - (DONE)don't launch the project just when someone clicks on the node... only do it when necessary
  703. - (DONE) when you are viewing "All Projects" and select a file that is actually NO_FILE
  704. it appears that the UserObject is a file and this throws an Exception
  705. - (DONE) remove all files from project feature.
  706. - (DONE)When you single click a tree node... make sure to bring that one up in jEdit.
  707. - (DONE)make the root JFrame into a JDialog
  708. - (DONE)ability to look at a directory and import all files.
  709. - (DONE)when you have multiple files in the current project... and you select one...
  710. if it is open in JEdit then select this buffer. if it isn't open.. then
  711. open it.
  712. - (DONE)when you single click on a file that is already loaded... select that buffer
  713. under JEdit
  714. VERSION 0.20
  715. - (BETA)html documentation
  716. - (DONE)add to plugin menu so that it isnt' always activated on startup.
  717. - (DONE)add GPL to the source
  718. - (DONE)Create new Project
  719. - (DONE)Add file to Project
  720. - (DONE)Saving the current open files within JEdit when the project is closed
  721. - (DONE)use a correct temp dir
  722. - (DONE)test it out when there aren't any files define...
  723. - (DONE)add SAVE functionality.
  724. - (DONE)delete a project
  725. - (DONE)remove a file from a project
  726. - (Do I need any)configuration options.
  727. - (DONE)create distribution that includes source
  728. - (DONE)icons
  729. - (Done)remove project
  730. - (Done)remove file
  731. - (Done)create project
  732. - (Done)add file