As you probably
already know I work for
basysKom, a German company that also employ other KDE developers and strongly supports
Plasma Active. You can even download Plasma Active live/installation images from
basysKom's servers.
I work for basysKom since late 2011 and one of my first assignments was to
contribute to
Plasma Active, but
some of my work for basysKom reached Plasma Desktop as well.
Another big contribution to KDE came last year when basysKom sponsored me and other developers to rewrite
Ark (KDE's archive program). All the changes we did are in
basyskom branch in Ark's repository. I will talk about the changes we implemented in another post.
Now you must be asking why those changes are not in Ark 4.10 already and even not merged into (the yet to release) Ark 4.11. Well, at least they are listed in
kdeutils 4.11's schedule. The fact is that reviewing all 284 commits in basyskom branch takes a lot of time. Ark's maintainer also asked us to edit several commits, which slowed down the reviewing process even further. Only today I have finished rewriting the commits according to Ark maintainer's comments (or most of the comments).
The new branch now contains 181 commits and:
- Comply with kdelibs's code style;
- Use the correct data structure names (QVariantList instead of QList);
- Do not generate compiler warnings;
- Use kDebug() instead of qDebug() and kDebug(1601), where 1601 is Ark's debug area;
- Removed unneeded empty lines;
- Most of the "undesired" massive text reformatting were removed as requested by Ark's maintainer;
- Several commits were squashed (merged) when it makes sense, then the total number of commits is now way smaller;
- Another reason for the smaller number of commits is that I removed of the features we (from basysKom) implemented: the "fix file name encoding" feature, which is an heuristic to guess the file name encoding and convert it to UTF-8. The heuristic works for German language only so I decided to remove it and rework it later to make it support other languages, if possible (guessing file name encoding is very error prone);
- Another reason for the smaller number of commits is that I removed/edited the commits that added/updated German translation files. This was a requirement by the time we implemented those changes. However, that was not according to KDE's policy so I removed them.
Unfortunately, I have not been able to do all the changes asked me to do, such as rewriting all the commit's messages in git-format. I am constantly rebasing the branch so I cannot edit the commit's messages or I would lose the only thing I can use to compare the original commit with the new commit in the rebased branch. Another change I have not done yet is removing the copy of KNewPasswordDialog and KIO::RenameDialog classes that resides in kerfuffle/kdelibs. We needed to implement some UI changes in those dialogs, copying them were the fastestes approach. Now we need to discuss which of the changes in them can go to frameworks5.
By the way, the
rebased branch is in one of my scratch repositories now. I must say that editing all those commits in the past months has been an extremely boring task :-/, it resumes to 0 features added, 1 feature removed and a lot of text editing, no developer likes that. Here I must give basysKom a big "thank you" for sponsoring part of that boring task and for sponsoring all the work we did in Ark last year.
I am not confident that the commits will make it to Ark 4.11. I have done part and now I need help to test the end result. If you want to test the new Ark you will need to clone the
rebased branch and compile it yourself. The compilation process is:
- git clone git://anongit.kde.org/clones/ark/lvsouza/ark2
- cd ark2
- git checkout ark2
- mkdir ../ark2_build
- cmake -DCMAKE_INSTALL_PREFIX= ../ark2
- make
- make install
The new Ark mainwindow looks like this:
When you open a file (or archive in Ark's jargon) it will look like this:
Yes, 7z support is one of the new features we implemented in Ark :-) We also implemented (read-only) support for split archives (AKA multi volume archives). All the new features are listed in the CHANGES file in the rebased branch. You can also see the list of all contributors to Ark in app/main.cpp file, including the four basysKom developers (me included) that worked in this project.
Stay tuned for more post about the new Ark.