22 July: Jan Wicher submits his entry

Update

You can download Jan's entry from his new web log.

Day 9

Did some more fizzling with the UI. I should not be doing this and focus on the real stuff. Thinking about the next steps: To be future-proof, persistent storage should be able to store multiple formats. So I took a look at multiple clipboard formats. Until now, I used a few lines of home-brewn code to examine the clipboard. But using the default TClipboard is more attactive because it can already handle text, bitmaps and some other formats. Maybe the TClipboard object can be extended to be receive system wide clipboard events. That could replace significant parts of my code.

Day 10

Tried to extend the TClipboard object. Refactored large parts of the work from point 1 and 2. Too bad: There is one line of VCL code that prevents TClipboard to recieve clipboard messages. Had to reverse the refactoring, but could keep some improvements: I now have a separated clipboard listener and use the TClipboard object to get/set clipboard data. Design has definitely improved and is ready for multiple formats. But I doubt if it is worth the valuable hours. The WAF is already decreasing.

Day 11

The improved design does pay off. I implemented the bitmap format in no-time. Bitmap preview still has to be improved. Minor usability improvements and fixes. Used XmlUtils.pas unit from my personal library. Clipboard objects can now be saved to an XML file. Loading has to be done yet. Tested on Vista and runs fine. But Delphi 2006 does not produce fully Vista compatible apps (like wrong preview with Alt+TAB).

Day 12

(No progress)

Day 13

Clipboard items can now be loaded/saved from/to XML. Anything that can be read/write from/to a TStream is usable. Implemented some options like start with Windows and filetype association. Improved bitmap preview.

Day 14

Things I managed to do before shipping: Testing, more clipboard formats, start-with-windows option in the setup and a system shortcut tot popup the window. What I did not manage in time: Icon for every clipboard format. I have the images, but TPngImageList is not willing to draw 'em transparent. You'll see an empty hole at the location of this image. The widget design is a minor, but overall I think it's ok. It's small, handy and I used it myself already.

Time is up now. We'll be getting the keys from our new house in a few days. I hope you like ClipCub as much as I liked writing it!

Screenshots

Main screen:

Options:

Tray icon:

Setup (did I mentioned it was made with Inno Setup? It's great!):

Installation

The setup contains the binaries and the source. Installation should explain itself.

You need Delphi 2006 to compile the source. Other version might work, but is simply not tested. To compile, locate the file Source.zip in the installation directory. You can extract it anywhere and open Source.zip\Source\ClipCub.bdsproj

I used one 3rd Party library: TPNGImage 1.4. Unfortunately it seems to be discontinued. Maybe you can try a fork: http://www.codeplex.com/PNGImage. Otherwise e-mail me and I will sent you the setup that's still on my hard drive.