Timeline


and

3/11/2008:

15:07 Changeset [249] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Use separate strings for singular and plural forms. This is more translatable.

15:07 Changeset [248] by lowjoel
  • branches/eraser6/Manager/Method.cs

Implement the PassBasedErasureMethod? class. The majority of erasure methods do a full file overwrite using a predefined set of passes. The PassBasedErasureMethod? implements majority of the functionality, save the passes to run. This helps keep the code compact and concise. We all hate copy and pastes.

15:06 Changeset [247] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs

The method names seem to be growing excessively long.

15:05 Changeset [246] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/RNGISAAC.cs

Likewise for the PRNGs.

15:05 Changeset [245] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/EraseDoD.cs
  • branches/eraser6/DefaultPlugins/EraseGutmann.cs
  • branches/eraser6/DefaultPlugins/EraseRandom.cs
  • branches/eraser6/DefaultPlugins/EraseSchneier.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs

-Added the remaining passes from Eraser v5
-Renamed Gutmann.cs to EraseGutmann?.cs to group all the erase passes together.

14:26 Changeset [244] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

Show the plugin version.

14:19 Changeset [243] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/LogForm.Designer.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/LogForm.resx
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/Task.cs

Added a task Log Viewer, and added live log broadcast events in the Task object.

14:18 Changeset [242] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Restore the log IDs after the tasks have been loaded to ensure the uniqueness of new IDs generated.

13:40 Changeset [241] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/Schedule.cs

-Immediately-run tasks should have no UIText - their NextRun? state depends on the Queued property, not visible to the Schedule object
-Refactor the DisplayTask? function even more
-Update the list view when the user clicks OK to a task edit request

13:39 Changeset [240] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Reschedule the task before saying that it is complete.

13:38 Changeset [239] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

Check the correct erasure target.

13:38 Changeset [238] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

-Check for --restart before running those run-on-restart tasks
-Moved the Settings initialization to the Program startup code instead in the SettingsPanel? constructor

13:10 Changeset [237] by lowjoel
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs

Combine all the partial class definitions of the Manager.Globals class into one definition in Manager.cs. This allows me to specify the initialization order of the managers so that plugins can load without crashing.

12:48 Changeset [236] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

Do run those Erase on Restart tasks.

12:36 Changeset [235] by lowjoel
  • branches/eraser6/Util/File.cs

Better size fitting algorithm - the first guess may be a good match.

12:35 Changeset [234] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Implemented task list saving/loading

12:35 Changeset [233] by lowjoel
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Task.cs

Made the following classes serializable:
-LogEntry?
-Schedule, RunNowSchedule?, RunOnRestartSchedule?, RecurringSchedule?
-Task, Task.ErasureTarget?, Task.FilesystemObject?, Task.UnusedSpace?, Task.File, Task.Folder

12:32 Changeset [232] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

-Replaced Task.Entries with Task.Targets since that is a more intuitive name
-Added LoadTaskList?, SaveTaskList? and GetTasks? to the Executor class. This allows for task lists to be saved and loaded from stream.

03/11/08:

10:15 Changeset [231] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Implemented task editing.

10:15 Changeset [230] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/Util.csproj

Use the PathCompactPathEx? function to code a GetCompactPath? function for use with the progress dialog.

08:33 Changeset [229] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

Added the ReplaceTask? API to get unexecuted tasks replaced with new parameters.

08:32 Changeset [228] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Fixed an infinite recursion.

07:54 Changeset [227] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SchedulerPanel.resx

Implemented a context menu for the Scheduler.
-Allow users to run immediate tasks
-Allow users to cancel running and queued tasks
-Allow users to delete tasks

07:53 Changeset [226] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Task.cs

-Allow Executor.QueueTask? to queue any sort of tasks - queueing means that the task needs to be executed when the thread is no longer busy
-Allow CancelTask? to cancel queued tasks as well
-Added Task.Queued to allow clients to see if a task is being queued on top of whether it is being executed

06:19 Changeset [225] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

Define a QueueTask? function for immediate tasks to be executed repeatedly.

06:18 Changeset [224] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs

Slightly better immediate tasks group header.

06:13 Changeset [223] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Allow the program to quit.

06:10 Changeset [222] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Move the Eraser Client object to the Program class for client access. Consequently move the task addition job to the SchedulerPanel?.

06:06 Changeset [221] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Task.cs

Added code to allow tasks to be cancelled if they are being executed.

06:04 Changeset [220] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.cs

Separate the time remaining to a different label.

05:32 Changeset [219] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Task.cs

Implemented time left for erasures.

05:30 Changeset [218] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs

Hasten the erasure of short files by generating a buffer of the required size and not more

04:31 Changeset [217] by lowjoel
  • branches/eraser6/DefaultPlugins/ISAAC.cs

Optimized copy algorithm.

03:03 Changeset [216] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs

More intuitive behaviour.

03:03 Changeset [215] by lowjoel
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Task.cs

Don't use Invoke since that will only call one handler.

03:02 Changeset [214] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser/Eraser.csproj

Set the Unsafe flag for release builds, too.

02:53 Changeset [213] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

-Define the Task start and completion events
-Added the UIText property. This was a copy from the GenerateTaskName? function in the Scheduler panel earlier
-Added the TaskEventArgs? base class to allow for other simpler events (mainly start and finish events)
-Added the current erasure target for erase tasks.

02:51 Changeset [212] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/ProgressForm.resx

Implemented the ProgressForm? properly with code. It now works, except the stop button.

02:49 Changeset [211] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Schedule.cs

-Warning fixes
-Removed unnecessary this references

02:48 Changeset [210] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Implemented progress statuses in the Scheduler window.

02:47 Changeset [209] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs

Pass numbers are always positive integers.

01:24 Changeset [208] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Implemented secure folder removal.

01:23 Changeset [207] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs

Removed unused declaration

00:23 Changeset [206] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/DefaultPlugins/ISAAC.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Task.cs

Don't be overparanoid with the use of uint.

00:10 Changeset [205] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Settings.cs

-Slightly more intuitive names for the settings regarding locked file erasures
-Implemented our own Settings class which implements registry setting retrieval and commit

03/10/08:

14:07 Changeset [204] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs

Instead of just warning the user, use naive defaults. TODO: Implement this at a higher level?

14:06 Changeset [203] by lowjoel
  • branches/eraser6/Manager/Task.cs

Missed out the files if they did not have an exclusion mask.

13:47 Changeset [202] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Method.cs

Reimplement the erasure method progress calculation to use floating point instead of fixed point, since floating point allows for significant figures, which is what's more important currently.

13:30 Changeset [201] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Implemented progress update callbacks.

13:29 Changeset [200] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs

Fixed the progress calculation for the Gutmann algorithm.

12:28 Changeset [199] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs

Gutmann 35-pass wipe.

12:28 Changeset [198] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Manager.csproj

-Round up the stream size to the cluster size so cluster tips are erased.
-Rename the file 7 times to erase the MFT record

12:26 Changeset [197] by lowjoel
  • branches/eraser6/Manager/Method.cs

Implemented the Method helper functions allowing a memory buffer to be filled with random data or a selected pattern.

12:26 Changeset [196] by lowjoel
  • branches/eraser6/Util/Volume.cs

An implementation of GetDriveClusterSize? used for rounding up file sizes to the cluster size to remove cluster tips.

12:25 Changeset [195] by lowjoel
  • branches/eraser6/Manager/PRNG.cs

Warning fix.

12:24 Changeset [194] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/ISAAC.cs

Implement NextBytes? properly for ISAAC.

09:30 Changeset [193] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Method.cs

Don't directly utilize the DefaultMethod? variable.

09:22 Changeset [192] by lowjoel
  • branches/eraser6/Manager/Method.cs

Compilo.

09:21 Changeset [191] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Handle FatalExceptions? in the DirectExecutor? thread.

09:21 Changeset [190] by lowjoel
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Manager.csproj

Added Manage.cs, a local utility class declaration file.

09:20 Changeset [189] by lowjoel
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs

-Added GetInstance? to both the ErasureMethodManager? and PRNGManager classes to retrieve the algorithm by GUID.
-If the GUID was not found, it is a FatalException?.

09:12 Changeset [188] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx

Added error checking when saving settings to the Manager.

09:05 Changeset [187] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Settings.cs

Added a combobox for the user to select the acting PRNG used for randomness.

09:05 Changeset [186] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/Method.cs

Replaced GetMethods? with GetAll?

09:04 Changeset [185] by lowjoel
  • branches/eraser6/DefaultPlugins/ISAAC.cs
  • branches/eraser6/DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/Manager/PRNG.cs

Added the GUID field to the PRNG class since it too is plugin based.

08:49 Changeset [184] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

Removed the Executor.GetIterator? function since it's rather... weird.

08:49 Changeset [183] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Settings.cs

Added a Settings Manager class.

08:48 Changeset [182] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Task.cs

-Replaced Free Space with Unused Space
-Added a Save Settings button to the SettingsPanel?
-Implemented some logic for the SettingsPanel?

08:47 Changeset [181] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs

-Don't register the default erase function as a erasure method, since it is merely a placeholder
-Add a GUID to the Erasure method class since that's how we're gunna identify methods
-Make the Manager.Settings class global, and make its members internal instead

08:09 Changeset [180] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/PRNG.cs

-For the DirectExecutor?, implemented FilesystemObject? erasures
-Implemented the number of file rename passes to remove the file name from the MFT

06:54 Changeset [179] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Task.cs

-Modify the ErasureMethod? class to include the Passes property
-Add a callback function for callers to get progress on the erasure
-Create the TaskProgressEventArgs? class for full information about the progress of an erasure

06:11 Changeset [178] by lowjoel
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Task.cs

Implemented a simple logger structure holding details about a log entry and fitted it into the Task class.

00:39 Changeset [177] by lowjoel
  • branches/eraser6/Manager/Task.cs

Implemented the GetPaths? function for the Folder task type.

00:38 Changeset [176] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/ISAAC.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/RNGCrypto.cs

Added the ISAAC and RNGCryptoServiceProvider CSPRNGs.

00:36 Changeset [175] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Plugins.cs

-Replace IErasureMethod with ErasureMethod?, since we don't need an interface and we have a few members we want to override at the class level
-More Erase Method => Erasure Method changes
-Declare the PRNG class and the PRNGManager class

03/09/08:

15:11 Changeset [174] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Plugins.cs

Added the Plugin Loaded event and implemented the Settings Panel to intercept that event.

14:47 Changeset [173] by lowjoel
  • branches/eraser6/Eraser/LightGroup.Designer.cs

Fixed the positioning of the line.

14:46 Changeset [172] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Task.cs

Replaced all occurrences of Erase Method with Erasure Method.

14:32 Changeset [171] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs

Allow the DirectExecutor? class to be disposable, thus ending the thread when the program is exiting thus allowing immediate exit.

14:31 Changeset [170] by lowjoel
  • branches/eraser6/Resources/Eraser.ico

New Eraser icon.

14:31 Changeset [169] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/Resources/AboutDialog.png

Use the Red about dialog.

14:21 Changeset [168] by lowjoel
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Task.cs

-Remove IEraseMethod and IPRNG since they just duplicate what IPlugin is meant for
-Have a decently good default implementation for the Host base class
-Separate the EraseMethod? class into IEraseMethod (not the Plugin one) and ErasureMethodManager?

13:21 Changeset [167] by lowjoel
  • branches/eraser6
  • branches/eraser6/DefaultPlugins
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Manager
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util
  • branches/eraser6/Util/Util.csproj

Move all the binaries to the same folder as the solution file, since Plugins need a fixed folder structure.

13:05 Changeset [166] by lowjoel
  • branches/eraser6/DefaultPlugins
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/Gutmann.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/Properties
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser.sln

Added the DefaultPlugins? project. This project will contain the default erasure methods as well as the ISAAC CSPRNG.

13:04 Changeset [165] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Plugins.cs

-Reshuffle the Method class declaration to be generic across the pluggable types (PRNG, Erasure method etc)
-Added the PRNG base class
-Define the basic Plugin interface

12:27 Changeset [164] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs

Align the Eraser logo centrally on the frame.

12:27 Changeset [163] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Added Docs for the DirectExecutor? class.

12:25 Changeset [162] by lowjoel
  • branches/eraser6/Manager/Method.cs

Added the RegisterMethod? API to allow plug-ins to register their objects.

11:13 Changeset [161] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Don't let the task be rescheduled by other classes; only allow the classes within the DLL to modify the rescheduling. The classes would be the Executed-derived classes.

11:00 Changeset [160] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs

Display the Next Run time for recurring schedules.

11:00 Changeset [159] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Fixed an ArgumentException?.

11:00 Changeset [158] by lowjoel
  • branches/eraser6/Eraser/BasePanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs

Resized all forms to have the default size of the panel space for more intuitive sizing.

10:52 Changeset [157] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

-Added the executionTime variable for recurring schedules
-Added descriptive UIText for recurring schedules
-Added (partially working and buggy) recurring schedule next-run scheduler calculation code

10:49 Changeset [156] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Slightly friendlier ErrorProvider? behaviour - display the error icon by switching to the tasks page otherwise the dialog seems to remain stubbornly open.

10:45 Changeset [155] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Capture the Execution time of the task as well.

09:01 Changeset [154] by lowjoel
  • trunk/ShellListView.cpp

Warning fix.

09:01 Changeset [153] by lowjoel
  • trunk/Eraser.cpp
  • trunk/EraserDoc.cpp

Added possibility of compiling a Portable version of Eraser

03/08/08:

13:11 Changeset [152] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Implemented locks for the variables used across threads
-Implemented the polling loop used for processing the tasks

13:10 Changeset [151] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Implemented most of the RecurringSchedule? class; only thing which needs some refining is the RecurringSchedule?.NextRun? property - it seems a little shaky.

13:09 Changeset [150] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

-Implemented scheduling
-Removed the X day of Y week every month, it doesn't seem necessary

13:08 Changeset [149] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs

Added actual task adding. The Executor variable in MainForm? should be changed depending on type of program (client, direct, etc)

10:32 Changeset [148] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Manager.csproj

Renamed the Manager file to be called Executor, since that more accurately reflects the purpose.

06:20 Changeset [147] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/Schedule.cs

-Group the tasks according to their schedules
-Make the Restart schedule description more... fluent

06:14 Changeset [146] by lowjoel
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Task.cs

Declare the types which will represent the types of schedules

06:14 Changeset [145] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Standardize the terminology, tasks which do not have schedules either run immediately or are going to be run on restart.

05:57 Changeset [144] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs

Added the Run on Restart task type.

05:50 Changeset [143] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Schedule.cs

Added a blank Schedule class.

05:49 Changeset [142] by lowjoel
  • branches/eraser6/Manager/Manager.cs

Implemented fundamental stubs for the Executor class which is the interface which Eraser clients will use.

05:48 Changeset [141] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Added code to display the new task when created by the user.

05:47 Changeset [140] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/Task.cs

Move the text generation for UI display into the Manager.Task class since it should be an unified identifier.

04:35 Changeset [139] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.resx

Added half the dialog close event handler. The remaining bit is dependant on the scheduler class implementation in the Manager library.

3/8/2008:

04:27 Changeset [138] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/Resources/Information.png
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs

Added an Information icon for use in the Task properties dialog.

04:19 Changeset [137] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Util.csproj

Set the assembly information on the Eraser DLLs

04:16 Changeset [136] by lowjoel
  • branches/eraser6/Manager/Method.cs

Added the support methods required to query the Manager DLL on the registered methods.

04:15 Changeset [135] by lowjoel
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/Util.csproj

Use SHGetFileInfo to get not only the description but also the icon for the file.

04:15 Changeset [134] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

Added an ErrorProvider? so that the user will not unintentionally create an empty task.

04:14 Changeset [133] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Added the scheduler editor tab of the task properties dialog.

01:42 Changeset [132] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

Implemented custom draw for the unused drive space erase drive selector, like in v5.

01:13 Changeset [131] by lowjoel
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Method.cs

Added the Method class which will be implemented later on.

01:12 Changeset [130] by lowjoel
  • branches/eraser6/Manager/Task.cs

Reshuffled the task types - All tasks derive from a base EraseTarget? class which stores the method for erasure.

01:11 Changeset [129] by lowjoel
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Util
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/Properties
  • branches/eraser6/Util/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Util/Volume.cs

Added the Eraser Utility DLL. This DLL deals with native code interop for the target OS

01:10 Changeset [128] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

-Implement the Public API for the TaskDataSelectionForm?
-Populate the Erase Unused Space drive combobox

3/7/2008:

11:50 Changeset [127] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.resx

First implementation of the New Task dialogs.

11:50 Changeset [126] by lowjoel
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Properties
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/Manager/Task.cs

Added the Eraser Manager DLL project

11:49 Changeset [125] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Manager

-Standardize: Use Erase Schedule as the title.
-Insert proper Schedule toolbar menu items.

09:41 Changeset [124] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs

Prepare the SchedulerPanel? for implementation

09:39 Changeset [123] by lowjoel
  • branches/eraser6/Eraser/BasePanel.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Move the Fill call to a path where the Designer won't parse or else it will really mess up the form

07:26 Changeset [122] by lowjoel
  • branches/eraser6/Eraser/BasePanel.Designer.cs
  • branches/eraser6/Eraser/BasePanel.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

-Resize the BasePanel? to reflect the height of the default dialog
-Set the BasePanel?'s Dock property as a hint to the panel manager of the MainForm?

06:54 Changeset [121] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Resources/Eraser.ico

-Removed the duplicate icon
-Remove unused icon sizes

06:52 Changeset [120] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.resx

Added program icons.

06:47 Changeset [119] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/AboutForm.resx
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/Resources/AboutDialog.png

Added the About dialog

06:19 Changeset [118] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs

First implementation of the Settings dialog

06:06 Changeset [117] by lowjoel
  • branches/eraser6/Eraser/LightGroup.Designer.cs

Minor tweaks to make the LightGroup? class of higher quality

05:18 Changeset [116] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs

-Implemented page changing between pages of the main dialog.
-Allow the dialog to add scrollbars if the child control is too large.

05:17 Changeset [115] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/LightGroup.Designer.cs
  • branches/eraser6/Eraser/LightGroup.cs
  • branches/eraser6/Eraser/LightGroup.resx

Added the LightGroup? class which is meant to act like a GroupBox? but with less visual weight.

04:24 Changeset [114] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx

Update the toolbar code to use the ContextMenuStrip? for toolbar drop downs.

04:23 Changeset [113] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs

-Implement toolbar item clicking
-Implement drop-down menus using the standard ContextMenuStrip? since that can be done using the designer
-Place all ToolBarItem? public variables to be properties for future compatibility with the designer

02:25 Changeset [112] by lowjoel
  • branches/eraser6/Eraser/BasePanel.Designer.cs
  • branches/eraser6/Eraser/BasePanel.cs
  • branches/eraser6/Eraser/BasePanel.resx
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx

Refactored the dialog inheritance such that each panel will derive from a base BasePanel? for easier management later on

3/5/2008:

11:54 Changeset [111] by lowjoel
  • trunk/Eraser.sln
  • trunk/Eraser.vcproj
  • trunk/EraserDll/EraserDll.vcproj
  • trunk/EraserUI/EraserUI.vcproj
  • trunk/Erasext/Erasext.vcproj
  • trunk/Launcher/Launcher.vcproj
  • trunk/Verify/Verify.vcproj
  • trunk/shared/Shared.vcproj

Added a Standalone Release build configuration.

11:51 Changeset [110] by lowjoel
  • trunk/EraserDll/Eraser.cpp
  • trunk/EraserDll/Eraser.h

Rename the CEraserApp class to CEraserDll since it more accurately reflects the DLL

11:49 Changeset [109] by lowjoel
  • trunk/EraserDll/resource.h

Removed a conflicting dialog ID in case EraserDll? has to be statically compiled with the main EXE

2/29/2008:

13:00 Changeset [108] by lowjoel
  • trunk/README.txt
  • trunk/bin/Eraser.iss
  • trunk/version.h

Changes to release a 5.87 beta 1.

12:57 Changeset [107] by lowjoel
  • trunk/EraserDoc.cpp

Fixed Schedlog.txt appearing everywhere!

12:03 Changeset [106] by lowjoel
  • trunk/EraserDll/Eraser.cpp
  • trunk/TaskDataPage.cpp

-Allow users to specify the shut-down post-task action only if they are running win2k or later
-Adjust the privileges of the process to shut down the computer, otherwise the shutdown call will fail!

11:32 Changeset [105] by lowjoel
  • trunk/Launcher/LauncherDlg.cpp

Don't erase the recycle bin contents if the erase was cancelled.

11:05 Changeset [104] by lowjoel
  • trunk/Eraser.vcproj

Fixed Windows 98 compatibility

2/27/2008:

08:45 Changeset [103] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs

Fixed resizing issues.

08:41 Changeset [102] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SchedulerPanel.resx

Base panels don't work the way I thought it does, lol.

08:39 Changeset [101] by lowjoel
  • branches/eraser6/Eraser/BasePanel.Designer.cs
  • branches/eraser6/Eraser/BasePanel.cs
  • branches/eraser6/Eraser/BasePanel.resx
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/ToolBar.Designer.cs
  • branches/eraser6/Eraser/ToolBar.cs

Added the Base panel for UI screens and the Toolbar control

08:15 Changeset [100] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png
  • branches/eraser6/Eraser/Resources/ToolbarHelp.png

Draw the logo and add a Help button.

02/27/08:

08:13 Changeset [99] by lowjoel
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Settings.Designer.cs

Add the properties.

08:02 Changeset [98] by lowjoel
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/Resources/BackgroundGradient.bmp
  • branches/eraser6/Eraser/Resources/ToolbarArrow.png
  • branches/eraser6/Eraser/Resources/ToolbarSchedule.png
  • branches/eraser6/Eraser/Resources/ToolbarSettings.png

Added the Toolbar bitmaps.

02/25/08:

12:41 Changeset [97] by lowjoel
  • branches/eraser6/Resources/Eraser.ico

Use the new Eraser icon which Dennis created.

12:40 Changeset [96] by lowjoel
  • branches/eraser6/Resources/Source
  • branches/eraser6/Resources/Source/nuke_128.psd
  • branches/eraser6/Resources/Source/nuke_16.psd
  • branches/eraser6/Resources/Source/nuke_24.psd
  • branches/eraser6/Resources/Source/nuke_256.psd
  • branches/eraser6/Resources/Source/nuke_32.psd
  • branches/eraser6/Resources/Source/nuke_48.psd
  • branches/eraser6/Resources/Source/nuke_64.psd
  • branches/eraser6/Resources/Source/nuke_96.psd

Added source PSDs on behalf of Dennis.

Note: See TracTimeline for information about the timeline view.