Beginner Builder series 75% done! will probably never be finished. :(

Tuesday, January 5, 2010

Listmas: Just in time for next Christmas!


This last Christmas, I was searching for a freeware to create an extremely easy Christmas List, but I couldn't find any*. So I decided to write one. Listmas is a one-of-a-kind Christmas/year-round gift-planning freeware.

First off, let me say that Listmas saves everything to a file as you are typing it, so you'll never lose any data. That means that when you fire up Listmas for the first time, it will ask you to either create a new list, or open an old one. If you've never use Listmas before, you click "New". Listmas v1.0.2009 saves lists in a new format, LMF (stans for ListMas File). Anyway, once you pick a new file, you see Listmas! Yay! You'll see a bunch of fields at the bottom of the window with text like "Item", "Person", or "Store" above them, but don't type in them just yet.

In order to add a new item, right click in the Listview (the empty space) and click "New". You should see a new row added to the listview that's completely blank, except for 5 grey stars. Now you can hop on those edit fields. Make sure you have that new entry in the listview selected, and then you can start editing the fields below. As you type, you'll see that whatever you're changing is being updated in the listview row as well.
Here's the fields that are available:
  • Item: name of the item
  • Price: price of the item
  • Person: recipient of the gift
  • Priority: how important it is that you get this gift
  • Store: where you bought it from
  • URL: the web address to that item, if you're buying online. Can be launched by the button to the right
  • Note: any other information you want to remember
One of the nice things about listmas is that nothing is required. Instead of forcing you to enter an Item name or a Price, you can leave whatever fields blank that you want.

Once you get a gift, you can mark it "Got" by either checking its "Got it!" box when you have it selected in the listview, or you can right click on a row and click "Got it". A "got" gift will turn to a different color, making it very easy to see what you have and what you don't have.

That's about it! Pretty simple, eh?

There are a few more features that I made sure to throw in which are all available in "Preferences" under Options.
  • Currency: if you want, you can actually have Listmas keep track of those dollar signs (or whatever currency symbol you use). In version 1.0.2009, Listmas has dollars, cents, pounds, and yen. Or if you want to keep track of it yourself, you can choose "N/A".
  • Grid: if it helps you stay more organize, you can add a grid to the list.
  • Done color: by default, "got" items are yellow, but you can change that to a variety of colors, or even white, if you don't want the color to change.
  • Open last used file: Listmas is designed to work that you open list files either from the simple "New/Open" dialog, or by passing them as an argument. But if you want, you can just make it remember the last list that you had open, and it will open that one.
  • Show columns: the thing that I really wanted to add was customization. What if someone wants to create a list for just one person, so they don't need the "Person" column? Or what if someone doesn't shop online, so "URL" is irrelevant? Well, Listmas lets you hide whatever columns you want. This doesn't mean that the field will be hidden, just the column. That means that if you hide "Note", in the list, the "Note" column will be gone, but there will still be the "Note" space below the list. The reason for this is that I thought maybe the list could just be an "at a glance" view, and then if someone wanted to view all of the information, they click on the entry in the list and see the rest below.


It really is simple, but it's also very nice. It's not perfect, but from what I can see, it's the only list program out there. It's open source written in Autohotkey, portable (mostly, but I'll fix it all the way in the future), and it's very tiny, at only 250kb in size.

I still have a few ideas, if Listmas gets enough people to try it out and tell me they liked it. Here's a few plans that I am.....well, planning.
  • "Shipping" column (for online buyers. I always like knowing how much I'm spending on shipping vs the price of the item.)
  • "Date" column (for the year-round aspect of Listmas. Maybe even a reminder, like for birthdays.)
  • Remembering & restoring column placement and width. (That would actually be pretty tricky, but I'd like to get there some day.)
  • Generating an HTML report (I've already toyed with this, and it actually is not so hard. Just exporting everything to a very nice, presentable page that the user could print if they're going shopping, that also contains data like "Total amount spent". The problem is, the reports look....bleh. I'm really bad at HTML, so it looks very ugly. Plus, I'm having trouble coming up with enough data for an interesting report. I'd need some help on this one.)
ACKNOWLEDGEMENTS:
-CodeByter: *The one list program I did find was by a site called CodeByter, and I drew alot of inspiration from it to make Listmas (like the colored rows, thought I actually didn't think I could pull that off.) It was a wonderful list program, but it had a few things that I wanted changed, so that's why I wrote Listmas. Otherwise, I owe alot to him. His website is down, for some reason, which makes me terribly sad.
-UselessDreamer: For helping to point me in the right direction for putting images in a listview....and for the stars....sorry for stealing!
-Titan: For his amazing anchor script, which is like the oxygen for my programs. My windows would never be resizable without you, Titan.
-tkoi: For his Image Button Script. My GUIs are pretty thanks to you, tkoi.
-evl: For his amazing Listview color script. Didn't believe it possible (in AHK) until you proved me wrong.
-PhilHo: For his astounding listview-column-swap script, allowing me to add the stars, and take Listmas to the next level in the future.

Visit FreewareWire Software Downloads page for Listmas v1.0.2009

2 comments: