Third Qt article

I published the third (and for now the last) Qt article, called Modern Qt style for Windows. It's a Qt style for Windows modifying the look of toolbars, menus and some other components, resembling MS Office 2003 and some .NET applications. In WebIssues I originally used a customized version of the DotNetStyle, which was recently published as a Qt Solutions component. For Fraqtive I created a new style written almost completely from the beginning. Now I removed the remaining GPL-ed code copied from the DotNetStyle component and relicensed the entire code to a BSD-style license, allowing to use it in both GPL-ed and commercial applications.

Note that this style is written specifically for needs of WebIssues and Fraqtive. There is no warranty that it will be suitable for all applications without modifications. Of course suggestions of improvements and bug reports are as always welcome; you can post them on the forums. Also note that while this code is free for all uses, please consider making a donation if you use it for commercial purposes.

Shortly I will release a new version of Fraqtive including the current version of this style and some other minor UI improvements. I'm also finishing refactoring the WebIssues code and I soon I will start implementing some new features, so if everything goes well, a beta release will be available in the beginning of August. Then I'm going for a week to Vancouver. It's a business trip, because I work on a project for a Canadian company, but I will also have some time to rest and visit some nice places in the area, so I'm impatiently looking forward to it :).

Filed under: Blog

Second Qt article

The second Qt article is available, called Simple XML-based UI builder for Qt4. It's a component which allows to merge actions from multiple components and define the layout of menus and toolbars using simple XML files. I wrote it for WebIssues when porting from KDE to Qt4 to replace the KXMLGUI components that I previously used; however this new solution is much simpler and it doesn't depend on anything else than Qt.

Soon I will publish one more article with the graphics style for Windows used by Fraqtive. The style used by WebIssues was based on a Qt Solutions component, but the new one was completely rewritten by me, so when I remove the remaining pieces of GPL-ed code I will probably re-license it to a BSD-style license as well. Then if only I have some time, I'm going back to work on the next version of the WebIssues client.

A little side note: my recent post about moving from Gliwice made my boss panic a little bit, which is actually a good thing, because I got a pretty decent argument to think through this decision :). The truth is, if I had one argument of, let's say, more non-material nature, I would immediately buy a flat in Gliwice and, you know, live happily ever after and all that stuff. But unfortunately life is much more complicated and sometimes we have absolutely no influence on some things, so all I can do now is wait a bit more.

Filed under: Blog

New articles

I started writing first articles about programming containing reusable source code more than six years ago, inspired by websites like CodeGuru and CodeProject which were an invaluable source of information when I was learning Visual C++ and MFC. They are still available here and remain the most popular section of my website. The idea of reusing code is even more important in open source development, but it took many years until I finally decided to start publishing articles related to Qt.

At the moment I'm extracting reusable components from the WebIssues Client code and writing documentation and demo applications for them. The first article called Simple template-based relational database is already available. It describes the data container invented for and used by the WebIssues Client, which is an interesting and innovative alternative to using a hierarchy of objects to store application data in memory.

Though WebIssues is licensed under the GPL, I decided to relicense all reusable components using the revised BSD-style license, which allows to use them in both open source and commercial applications. If you use the code for commercial purpose, please consider making a donation to the author. I will also happily answer all questions, requests and bug reports on the forums.

Another article I wrote some time ago describes the Generator core component of Fraqtive. I'm publishing it because it may be a good source of knowledge for someone who wants to learn metaprogramming on a practical example. The generator core is the most advanced piece of code that I've ever written in C++. It turned out to be an excellent exercise field, because the code is relatively small and simple, yet it allowed me to use a large number of various programming techniques, including metaprogramming with complex class templates.

Filed under: Blog

FootPrint FTP Server

I published FootPrint, an FTP server for Windows which I wrote almost three years ago. Installers for both the English and Polish langage versions are available here, as well as the full source code, which can be freely used and modified. It demonstrates the practical use of many of my articles (actually, some of them were based on the code written originally for FootPrint) as well as other programming techniques, for example using COM with MFC, however it is almost uncommented. Well, don't judge my programming skills by this code, however the application itself was successfully used by some friends of mine and works very nicely.

I'm currently trying to create the Windows version of Fraqtive, it should be available next week. The next big thing to come is the first official release of WebIssues, the bug tracking system that I've created as my master's thesis. I think it should be done by the end of this month, I just have to finish the documentation and some other details.

Filed under: Blog

Fraqtive and MFC articles

Yesterday I created a web site for Fraqtive, a fractal generator for KDE written by me. The official address is now Some parts are still missing, for example a forum and the binary packages, but the source packages can be downloaded.

Today I moved my MFC articles, along with all 230 comments posted over the past few years. These articles are still quite popular, even though MFC is a rather old technology, and honestly it's pain in the ass to use it. Yeah, I know, too much time spent with Qt :). I can't fully support these articles, simply because I forgot most of the MFC hacks I used to know... however here they are, if anyone finds them useful.

Filed under: Blog
Syndicate content