Ok folks it's been a while since I last posted, or at least it feels like a while, work, gym then more work tends to cause the days to blur together. How has this blog already had over 750 views? The internet has indeed changed since the days everyone used... was it called LiveJournal? I think it was. It's been a long time since I blogged properly and with code on the mind please forgive a moment of technological forgetfulness.
Anyway, so I have been working on LiberEdit non-stop since my last post. Most of the rudimentary elements are present, you can create a new project, import an existing project, export a project and delete a project. Now I have some minor user interface fixes I want to do before dedicating the rest of the available time to working on the editing system. I was to get the design just so because I expect to be maintaining it after the competition and I don't want to have to re-write massive chunks of the project just because I cut corners.
The part I expected to be the hardest was the treeview, however that is done and dusted now, so that was a pleasant surprise! The only thing left to do on that is in fact part of the edit system, that is to say when you click on a file in the tree view it opens the file for editing. In the same graphical area, I have put the treeview itself into a notebook with the project tree in one page and the selected project table of contents in the second page, this I imagine will be another area of work I will start tonight. This is when the real work starts, most of what I have been doing has been small bite-sized tasks, but parsing the xml file and generating a table of contents while not difficult is something I have not done in some time, so with any luck it will be obvious, if not, well I will set aside a non-gym night or even a Sunday afternoon to tackle that one.
Implemented in the project creation aspect of the code, is a template system. I figured instead of writing new code every time a new standard or file format comes out, simple provide basic templates that the user can select from (or even add to!) and copy the template under the new project name and thus we have a new project and all anyone need to is write the smallest possible template and the code doesn't need to be altered.
The agenda for tonight is:
1) A confirmation dialog for project deletion. Easy, 10 min.
2) A reliable way to close notebook tabs (I know there's a good way to do it, I even remember implementing it in C once and can't for the life of me remember how it was done).
3) Check that when a project is deleted the project and all it's files are removed from the project tree. I am pretty sure this is how it behaves but I don't want to miss that.
4) Create a complete blank epub2 template, another small task.
This means most of the rest of the night will be spent ensuring that the note book tabs close the correct tab and all that jazz, it's a problem that has a defined solution I just need to find it!
So all in all it's coming along nicely and with a lot better direction and drive than I was expecting. The whole thing has slotted together in my brain nice and neatly prior to any work having begun, but then again, on my lunch break at work I tend to visualize what I need to do next and how I need to do it. Otherwise I doubt I would really be getting very far at all!
So, thanks for reading, I shall post again soon.