Yet another test post!
This is yet another attempt to test out posting to publish with MT and QTM. If you want to know about QTM, see here
This is yet another attempt to test out posting to publish with MT and QTM. If you want to know about QTM, see here
It's been a long while since I last made an update release of QTM. What happened was that I was working on fixing a crash bug which turned out to be a much simpler matter than I had originally thought (that I was continually deleting the HTTP object when there was no need to). Then I got side-tracked, as the Qt 4.2 release candidate came out, with its new system tray icon class being a particularly attractive feature. Instead of doing the logical thing and releasing a version of QTM with the crash bug fixed, I decided to explore the STI feature.
I have now implemented a functional system tray icon. The STI works on any system which actually has a system tray, namely KDE, GNOME, IceWM, Windows and the Mac. There are, however, irritating glitches on all platforms. On KDE and, to a lesser extent, GNOME, right-clicking on the icon does not guarantee bringing up the QTM menu; it may bring up the environment's system tray menu instead. You may have to left-click a couple of times before you get QTM's own menu. On the Mac, when starting the app and only displaying the icon, as opposed to a new entry as well, it leaves you with an empty menu bar rather than simply handing back control to whatever you were running before; on the Mac and Windows, closing down from the STI does not always work as it should.
What I will probably do is release a version 0.3.10 as a stable release with the STI isolated. One Qt 4.2 feature which will be in 0.3.10 is a better font selection dialog, integrated into the main preferences window, which uses the new Qt font selector. The program will be structured so that the old preferences dialog will load instead on Qt 4.1.
And here are some screenshots, starting with the new, improved preferences window (so far only implemented for Qt 4.2):

Trolltech has just put out the first release candidate of Qt 4.2, and naturally as a Qt 4 developer I was eager to get my hands on it, for among other reasons to see what it would look like with the new Cleanlooks theme, derived from GNOME's Clearlooks and, like Qt's new support for GLib, intended to make Qt apps blend in on the GNOME desktop. Anyway, here's a snapshot:
QTM has now jumped on the CMake bandwagon, and a new version of the source bundle has been uploaded to SourceForge and KDE Apps which includes a CMake project file as well as the old QMake one. I don't intend to get rid of the QMake version yet; for one thing, it's still useful in preparing the Mac application bundle which doesn't require installing; it just needs dragging to the Applications folder, which is not the case on any other OS. This was built with the help of Jacek at Qt Centre, who wrote this guide at the Qt Centre Wiki to building Qt 4 programs with CMake. Note that the CMake project file example at qtnode does not work; I tried it myself and it didn't make it past the configure stage.
To build and install, you need to type "cmake ." from the directory where the source files are (note the dot, denoting the current directory). Then you type "make" and then, as root or with sudo, "make install" (without the quotes in each case). Note that Makefiles built with CMake give a concise, pretty and colourful output as standard, quite unlike the (to most users) incomprehensible list of commands the old Makefiles made.
You need CMake version 2.4.3 or 2.4.1; version 2.4.2 is not reliable. It can be obtained from this page on the CMake homepage, or (and preferably) as a binary from a repository specific to your OS. Note that Ubuntu Dapper has a 2.2 version which is not suitable for this purpose.
Yesterday and today, I finally got the "save" functionality implemented, having adapted it from the old CVS code (catkin-0.3 on the CVS browser). Now, the only thing left to do is implement the open functionality, which shouldn't take that long, and when that's done, 0.3 release time is here!
I've finally managed to get the first XML-RPC function in QTM working: populating the list of blogs from which the user is to select which blog to post his entry to. This was actually a learning exercise for me, as I had never written any code before which involved parsing XML via either SAX or DOM (this used the SAX classes in the Qt XML module). Anyway, now that this has been done, populating the category list and actually implementing basic posting functionality - and getting a release out - shouldn't be too difficult.
As you will probably tell not much has happened on the Catkin blog front since last Wednesday. This certainly can't be said for the application however - new features are being added hour by hour. I put out another sub-point release today (0.1.5) and more features are in the CVS. Qt's text editor API is brilliant - you can add so many simple features to an editor with just a couple of lines of code. It is now possible to add bold and italic tags to an entry (as with the editor which was on the Blogger website the last time I used it), HTML links (and add the http:// on to the front of an address just at the click of a button), image tags, and paragraphs. There is also a facility to paste a link from the clipboard into an entry.
What's still to do before the 0.2 release is to include a text-field in the toolbar, to allow the user to access sub-blogs without constantly using the Preferences dialog box. Also, I'd like to include multiple blog profiles, so that you can store details about more than one blog and switch between them. That may or may not be for 0.2 - I don't think so.
Just managed to get the Prefs dialog working ... funny how what look like intractable problems can come from just missing out one simple thing? In this case, it was just the lack of a simple #include line in order to set and access the contents of a text box in a dialog ...
This is the first time in the weeks that I'm supposed to have been working on this application that I've sat down and done any sustained work on it. Up until now I've been mostly tinkering with Qt Designer, designing things like the preferences dialog box, sorting out the signals and slots etc. This seems to have been mostly sorted out now. I have a habit of taking my laptop up to the old reading room at the British Museum to combine a day up town with the project. This is looking increasingly infeasible as the laptop is taking its weight (literally) on my back, especially with my trusty Qt book (Blanchette & Summerfield, C++ GUI Programming with Qt3, released by Prentice Hall earlier this year).
Things I did today:
Things still to do: