8 Commits

Author SHA1 Message Date
Jonathan Bernard
d08d054fbe Finished version 2.1.
Updated .gitignore, excluding vim temp filesn and build directories.
Promoted version number in application.properties.
Switched to SLF4J for logging from LOG4J.
Switched to jdb-util SmartConfig for configuration from  java.util.Properties
Added plugin architecture:
    * Plugins implement com.jdbernard.timestamper.gui.plugin.TimestamperPlugin
    * Provides five hooks into the application:
        - onStartup: called as the aaplication is starting.
        - onExit: called as the application is exiting.
        - onTimelineLoad: called when the application loads a timeline.
        - onNewTask: called when the user creates a new task.
        - onDeleteTask: called when the user deletes a task.
    * Plugins must be on the classpath to be enabled.
    * A new timestamperrc property allows the user to specify a plugin
      directory. That directory and any JAR files in it will be added to the
      classpath used to load plugins. This property is 'plugin.dir' and may
      contain the path, If no directory exists at that path, one will be
      created. The default path is './plugins'.
    * A new timestamperrc property allows the user to specify which plugins
      to load when the application is started: 'plugin.classes'. It expects
      a comma-seperated list of plugin class names. The default value is
      ''.
    * Two default plugins have been created:
        - 'com.jdbernard.timestamper.gui.plugin.HookLogger'. This plugin logs
          an info message every time one of the plugin hooks is called.
        - 'com.jdbernard.timestamper.gui.plugin.XMPPStatusUpdater'. This
          plugin updates a user's XMPP (Jabber) presence with their current
          task each time a new task is entered.
Various other changes on TimeStamperMainController:
    * Timeline loading is now broken out into a load() closure.
    * Plugin hooks described above added at appropriate places.
    * Added a general wrapPluginCall method to catch any exceptions from a
      plugin call and sanitize the return value.
    * The exitGracefully closure now hides the GUI before starting its shutdown
      sequence so the user and the OS are less likely to assume the app has
      hung.
    * Added the functionality for the 'persistOnUpdate' feature (introduced on
      TimelineProperties, below).
Removed the automatically generated logging functions, traceIfEnabled and
  debugIfEnabled--which were redundant and pointless overhead.
Added check box menu option on TimeStamperMainView for the 'persistOnUpdate'
  feature
Changes on TimelineProperties:
    * Switched to using SmartConfig and renamed several properties:
        - remote.timeline.<name>.push -> remote.timeline.<name>.push?
        - remote.timeline.<name>.pull -> remote.timeline.<name>.pull?
        - remote.timeline.<name>.save-on-exit -> remote.timeline.<name>.syncOnExit?
        - remote.timeline.<name>.update-interval -> remote.timeline.<name>.updateInterval
    * Added a feature, 'persistOnUpdate'. If set to true, this signals the
      application that it should persist the Timeline on each update.
    * Added a property 'timeline.persistOnUpdate?'.
2011-01-22 20:45:08 -06:00
Jonathan Bernard
6d212ea771 Finished catching up to 1.7 functionality. 2009-12-26 14:49:46 -06:00
Jonathan Bernard
5b19542355 Added PropertyChangeSupport to TimelineDayDisplay and decoupled it from the GUI
Added log4j lib
2009-12-23 16:14:18 -06:00
Jonathan Bernard
f1ab340b11 Iterative development on GUI 2009-12-18 16:15:14 -06:00
Jonathan Bernard
e08d6d6c5d Begin restructuring using Griffon 2009-12-17 23:12:09 -06:00
Jonathan Bernard
6d451c42fd Small changes to generalize build environment.
The jcalendar lib path in nbproject/project.properties was pointing to
  the absolute path rather than a relative one.

committer: Jonathan Bernard <jdbernard@gmail.com>
2008-10-19 20:01:33 -05:00
Jonathan Bernard
ffdce9c00d Finished version 1.5
Added timeline viewer for a single day
  Added icon resources
  Modified build file to clean more stuff

committer: Jonathan Bernard <jdbernard@gmail.com>
2008-10-18 18:18:51 -05:00
Jonathan Bernard
34e52d78bf Referencing libraries in an IDE-independant way using relative paths to the
'lib' directory so that build scripts can run on any platform and outside
  the IDE

committer: Jonathan Bernard <jdbernard@jdbernard-desktop.(none)>
2008-08-30 00:29:22 -05:00