Timeline


and

10/25/2008:

20:36 Changesets [451-459] by cjax
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt

10/25/08:

20:06 Changesets [449-450] by cjax
  • branches/erasershellext/out.txt
  • branches/erasershellext/out.txt

!

10/18/08:

16:16 Changeset [448] by cjax
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

Some GUI work

10/17/08:

17:18 Changeset [447] by cjax
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/UserAPI.cs

Better exception handling (avoiding it in first place, well caused the program to crash during shutdown)

17:03 Changeset [446] by cjax
  • branches/eraser6/Util/VolumeInfo.cs

less warnings by the compiler

16:42 Changeset [445] by cjax
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Added procedure EraseRecycleBin? - erases RecycleBin? contents.

16:27 Changeset [444] by cjax
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.nl.resx
  • branches/eraser6/Eraser/ProgressForm.resx
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.nl.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.nl.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.resx

Minor changes -

10:04 Changeset [443] by cjax
  • branches/eraser6/Manager/PRNG.cs

More source of entropy, and some optimizations.

10:00 Changeset [442] by cjax
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/VolumeInfo.cs

Minor bug fixes

09:57 Changeset [441] by cjax
  • branches/erasershellext
  • branches/erasershellext/cpp
  • branches/erasershellext/cpp/CtxMenu.cpp
  • branches/erasershellext/cpp/CtxMenu.h
  • branches/erasershellext/cpp/CtxMenu.rgs
  • branches/erasershellext/cpp/EraserCtxMenu.aps
  • branches/erasershellext/cpp/EraserCtxMenu.cpp
  • branches/erasershellext/cpp/EraserCtxMenu.def
  • branches/erasershellext/cpp/EraserCtxMenu.idl
  • branches/erasershellext/cpp/EraserCtxMenu.rc
  • branches/erasershellext/cpp/EraserCtxMenu.rgs
  • branches/erasershellext/cpp/EraserCtxMenu.vcproj
  • branches/erasershellext/cpp/EraserCtxMenu_i.c
  • branches/erasershellext/cpp/EraserCtxMenu_i.h
  • branches/erasershellext/cpp/EraserCtxMenu_p.c
  • branches/erasershellext/cpp/ReadMe.txt
  • branches/erasershellext/cpp/compreg.cpp
  • branches/erasershellext/cpp/compreg.h
  • branches/erasershellext/cpp/dlldata.c
  • branches/erasershellext/cpp/dlldatax.c
  • branches/erasershellext/cpp/dlldatax.h
  • branches/erasershellext/cpp/dllmain.cpp
  • branches/erasershellext/cpp/dllmain.h
  • branches/erasershellext/cpp/resource.h
  • branches/erasershellext/cpp/stdafx.cpp
  • branches/erasershellext/cpp/stdafx.h
  • branches/erasershellext/cpp/targetver.h

C++: Eraser Shell Extension added

10/2/2008:

03:27 Changeset [440] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Compilo.

03:25 Changeset [439] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Rescheduled (recurring) tasks need to be removed from the priority queue for tasks since their placement may change.

03:20 Changeset [438] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs

The minimum number of months between runs should be 1!

03:19 Changeset [437] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

Select the appropriate scheduling checkbox when a task is loaded into the task editor.

03:07 Ticket #54 (FAT directory entries not cleared.) created by Joel
In DirectExecutor.EraseUnusedSpace, directory entries are not cleared. …
02:42 Changeset [436] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Util/VolumeInfo.cs

Renamed the "Drive" class to the "VolumeInfo?" class since the latter is a more accurate description of what the class does.

02:36 Ticket #53 (Missed task rescheduling) created by Joel
Allow the user to decide whether he wants missed tasks to run immediately …
02:32 Ticket #24 (Next Scheduled run) closed by Joel
fixed: Completely Implemented in r435.
02:32 Changeset [435] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

-Set the DaysOfWeek? enumeration to use the values in the DayOfWeek? enumeration, so that corresponding values can be computed from the other.
-Implemented Monthly scheduling.

02:23 Changeset [434] by lowjoel
  • branches/eraser6/Manager/Schedule.cs

Implemented Weekly scheduling.

01:23 Ticket #3 (Scheduler exits on Main Frame Close) closed by Joel
fixed: This behaviour is negated in v6 since the notification area icon will …
01:19 Ticket #51 (Support non-drive mountpoints) closed by Joel
fixed: Implemented in r401 to r407.
01:18 Changeset [433] by lowjoel
  • branches/eraser6/Eraser/Resources/AboutDialog.png

Replaced the About dialog bitmap - Dennis added a beta # to the bitmap.

01:15 Ticket #29 (Allow Eraser to be minimized to the system tray) closed by Joel
fixed

9/28/2008:

15:25 Changeset [432] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj

Replaced the filenames of the erasure animation.

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

Have a "hide when minimised" behaviour to Eraser.

15:22 Changeset [430] by lowjoel
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png

Replaced the Background logo - Dennis added a beta # to the logo.

15:20 Changeset [429] by lowjoel
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/Manager/Settings.cs

Changed the Settings for plugins API. Now you can just call Settings.PluginSettings? and retrieve the dictionary object.

13:17 Changeset [428] by lowjoel
  • branches/eraser6/Dialog Designs/About Dialog.psd

Dennis made a few changes for the versioning.

9/27/2008:

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

Allow for the minimising to the notification area.

14:27 Ticket #26 (Custom erasure methods) closed by Joel
duplicate: Superseded by #52.
14:25 Ticket #17 (Allow custom erasure methods to be exported) closed by Joel
duplicate: Superseded by #52.
14:23 Ticket #52 (Implement custom method editor) created by Joel
The custom method editor in v5 was alright to use, so it should be ported …
12:10 Changeset [426] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.resx

-Added a context menu for the notification area icon
-Disable the toolbar menu entries which are dummy for the moment.

11:56 Changeset [425] by lowjoel
  • branches/eraser6/Eraser/Strings.en.resx

These new strings can just use the culture-invariant text.

11:50 Changeset [424] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs

Check for the presence of the EraseCustom? key before trying to load the methods.

11:48 Changeset [423] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.nl.resx
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/Resources/NotifyIcon1.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon10.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon2.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon3.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon4.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon5.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon6.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon7.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon8.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon9.ico
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

For fun's sake, I've implemented a system notification area icon. Like in v5 but with cooler icons. And the tray icon animates when a task is being executed.

11:02 Changeset [422] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Schedule.cs

Implemented scheduled tasks: however only weekday and daily tasks.

10:32 Changeset [421] by lowjoel
  • branches/eraser6/Util/StreamInfo.cs

Fixed a wrong function declaration.

09:57 Changeset [420] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Manager/Settings.cs

Removed the settings changed event since after reimplementing a few bits of code I can't find any more use for them.

09:54 Changeset [419] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs

Register the SettingsPanel? as a Erasure method addition change event handler. This is so that when new erasure methods are defined they will appear in the list of erasure methods.

09:52 Changeset [418] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs

-Added a Method Registered event
-Standardised the delegate nomenclature. For an event Event:

-delegate is named EventFunction?
-event is named Event
-event executor is named OnEvent?

09:49 Changeset [417] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs

Pardon me, that was not necessary.

09:47 Changeset [416] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs

Register an event handler for the settings changed event from the FL16 class. It needs to be kept updated on the default erasure method.

09:46 Changeset [415] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs

-Register all the defined custom erase methods at plugin load time.
-Also display the defined erasure methods when the plugin settings dialog is opened.

09:26 Changeset [414] by lowjoel
  • branches/eraser6/Manager/Plugins.cs

No need for the host to provide a register set of functions since we directly depend on the Manager assembly anyway.

09:02 Changeset [413] by lowjoel
  • branches/eraser6/Manager/Plugins.cs

Added an AssemblyResolve? handler since the Initialisation phase of plugins may require unserialisation. Loading plugins should be looked to for the assembly objects.

09:00 Changeset [412] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Settings.cs

Redesigned the Manager.Settings class.
-The plugin settings are no longer kept in a single dictionary; instead, they are distributed to be dealt with by the implementer of the Settings class. The GetSettings? and SetSettings? functions now are overloaded internally such that these values along with the plugins' GUID are sent together to the implementer class. The implementer class then stores it directly. This prevents unnecessary resource utilisation for large plugins and for plugins which are disabled
-This new design also allows for the serialisation and unserialisation of plugin settings which are non-primitive types, since the settings are loaded only on the initialisation of the plugin, not the initialisation of the settings object
-Created a SettingsChanged? event for classes to register callback functions to. This is useful when classes need to know when a setting is changed. Currently unimplemented though.
-Load is now a protected internal function which implementer classes must implement, this allows for the refreshing of settings whenever the program is running.

08:54 Changeset [411] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs

Implemented custom erasure methods: the creation, storage, and retrieval bits.

09/27/08:

06:26 Changeset [410] by lowjoel
  • branches/eraser6/Util/File.cs

SHGetFileInfo's SHFILEINFO structure should be declared as Unicode too.

06:25 Changeset [409] by lowjoel
  • branches/eraser6/Util/KernelAPI.cs

Use the Unicode version of GetStartupInfo?

06:24 Changeset [408] by lowjoel
  • branches/eraser6/Util/Drive.cs

Silly me. I could have just used StringBuilders? for those functions parameters where strings are passed out through a buffer.

05:42 Changeset [407] by lowjoel
  • branches/eraser6/Util/CryptAPI.cs
  • branches/eraser6/Util/Drive.cs
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/StreamInfo.cs

Replaced all the clumsy MarshalAs?(UnmanagedType?.LPWStr) with the DllImport? declaration: declare always the charset to be CharSet?.Unicode and the strings will be automatically marshalled as Unicode.

05:09 Changeset [406] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Upgrade the EraseFilesystemRecords? function to support non-drive mountpoints.

04:59 Changeset [405] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

-Make the DirectExecutor? support non-drive mountpoints, ie reparse points. Incomplete though, there are a few places which will change in the next commit.
-Fixed a potentially serious bug: Users with quotas should only fill to the AvailableFreeSpace? value, not the TotalFreeSpace? value since the latter will never be reached.

04:55 Changeset [404] by lowjoel
  • branches/eraser6/Util/Drive.cs

-Always use Marshal.PtrToStringUni? since we are specifically using the Unicode functions
-Implement almost all the other members of System.IO.DriveInfo?, for drop-in replacement in Eraser
-Added the Volume.FromMountpoint? function to create a Volume object from the path to the mount point or Drive (since the constructor takes a volume ID, unlike the usual DriveInfo? function)
-Changed the Get functions to properties since we are a full class now

03:45 Changeset [403] by lowjoel
  • branches/eraser6/Util/Drive.cs

-Fixed a documentation error with a few of the Volume functions after the class restructuring.
-Tell the Marshaller to use LPWStr because we are using the Unicode functions (we explicitly state we use the <func>W functions)
-GetDriveType? can handle volume ID's, just that I didn't specify a marshalling type so it used the ANSI function when we provided a Unicode string.

03:29 Ticket #51 (Support non-drive mountpoints) created by Joel
Support non-drive mountpoints introduced with NTFS5.0 and Windows 2000. …
03:27 Changeset [402] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

Use the new Drive API to determine the available volumes for free space erasure.

03:25 Changeset [401] by lowjoel
  • branches/eraser6/Util/Drive.cs

Changed the Static drive class to work like the DriveInfo? class, only that this one works on the basis of volumes, not paths.

This implements support for non-drive mount points supported in Windows since Windows 2000.

09/26/08:

13:52 Changeset [400] by lowjoel
  • trunk/EraserDll/Eraser.cpp

Fixed a warning: I placed the calling convention on the wrong side of the typedef.

05:18 Changeset [399] by lowjoel
  • trunk/README.txt
  • trunk/bin/Eraser.iss
  • trunk/version.h

We are now at Eraser 5.8.7-beta3. Not 5.8.8

04:58 Ticket #48 (Inaccurate determination of process elevation) closed by Joel
fixed: Okay, I think the main issue is that users think the elevated process will …
04:57 Changeset [398] by lowjoel
  • trunk/Eraser.cpp

Alert the user is the current process is running at a higher privilege level than the previous process. Should fix many elevation issues. Fixes #48

04:54 Changeset [397] by lowjoel
  • trunk/EraserDll/FreeSpace.cpp

The HasPrivileges? function has been broken up for client apps to determine if the current user is elevated (IsProcessElevated?). Also fixed a resource leak in the process.

04:53 Changeset [396] by lowjoel
  • trunk/EraserDll/EraserDllInternal.h

Don't round up files whose size are multiples of the cluster size is 0.

03:11 Ticket #34 (Erase on a write-protected floppy subfolder does nothing) closed by Joel
invalid: There's a Show Results check box at the bottom of the progress screen. If …
01:43 Changesets [393-395] by gtrant
  • trunk/EraserDll/NTFS.cpp
  • trunk/EraserDll/NTFS.h
  • trunk/EraserDll/File.cpp
Note: See TracTimeline for information about the timeline view.