
These past few weeks, the development of the port has been moving on steadily. Together with the changes here and there, there has been progress in the visible areas of KMM for KDE4.
Cristian Onet, a contributor of KMyMoney, of iCalendar plugin fame, started helping too. He spotted a few bugs that prevented an existing file from loading correctly in some cases, and also a bug in KHTMLPart that prevented the home page from rendering correctly. The bug is reported here, btw.

Because we had the time, or better said, I had the time. Someone asked how come we were starting the work on a port to KDE4, even before our very clear intent of releasing 1.0 for KDE3. Well, I had the opportunity to take a 2-month leave of absence, kind of, and then I had some free time to work on KMyMoney. Since we were already in feature- and string-freeze, I talked to the rest of the team and we agreed that I would start the work on the KDE4 port. They will join once the 1.0 is out the door.

A couple of days ago I got the news that MS Money is being cancelled. Of course, there were a lot of blogs with speculations about what the current users would do. BTW, some of those users are not even a month old, people who bought a product and now are suddenly noticed that the product will be cancelled. What happens with users who kept their financial information in that same product all this time?

In KMyMoney we have over 330 unit tests. Thomas enforces the integrity of the tests like a bulldog, and I am really glad he does. The tests cover almost all areas of the engine, so we can check that data is created, saved and retrieved as it should. This is proving to be a great help during the port to KDE4.

In March, during the time to gather ideas for the GSoC, Klaas Freitag came to us with an idea to integrate Kraft and KMyMoney. This had been discussed before, but no plans had been laid out. So, an idea was added to the KDE ideas list, and there were some talks about that between Thomas Baumgart, the lead developer of KMyMoney, Klaas, and me. From that, we came to the idea of creating a new KDE group for financial applications, with the purpose of coordinating our efforts, just like the PIM or Edu groups.

This week I have been working on trying to make KMM load files. Finally, I got that done today.
I got into all kind of new classes, refactoring, and so on, and I had to learn a lot, to try to keep the actual changes to the code to a minimum. We don't want to change anything that isn't absolutely necessary. We will have time to do that in subsequent releases.
So, here is a screenshot of the forecast view after loading a test file. I like dark themes, btw. Black Tragedy, in this case.

KMyMoney is alive in KDE4, and not kicking, but it's coming to that.
Actually, it's seriously crippled, as you can see in this screenshot, but slowly and steadily we will get it in good shape.


This is one of the changes that was not documented anywhere, and that I don't even have a good grasp of what it does. If I understand correctly, it returns a list of all the events in the application.

It looks like KConfig has been completely refactored. So far, I have had to comment out all entries regarding recent files, window size and stuff like that in kmymoney2.cpp. The methods to access those have been moved from KConfig to KConfigGroup. I will have to go back to that later.

Laurent has been converting the ui files. I had previously ran the uic3 command to convert them to Qt4 format. There were only a bunch of warning regarding some style or another, but we will see what happens when we run the application.
By the way, Laurent thinks it would have been best to use the ui files in Qt3 format. Now it's late, but it's good to know. I only followed the porting guide, which stated that. I didn't know the ui3 files could be used until later.
So, the main issue is getting the constructors corrected. We go from this in KDE3:
Recent comments
2 weeks 19 hours ago
2 weeks 5 days ago
2 weeks 6 days ago
2 weeks 6 days ago
3 weeks 5 hours ago
3 weeks 1 day ago
3 weeks 1 day ago
3 weeks 2 days ago
3 weeks 2 days ago
8 weeks 3 days ago