Archive for June, 2008

Ark’s interface changes: another progress update

June 28, 2008

OK, time for another update. The code that I mentioned in my last post has been properly cleaned up now. I would like to thanks for all the comments I received, it was more than I expected. There was also a lot of feature requests, and I have been working on implementing/testing the most requested ones:

Using the KHistoryCombo instead of a custom listwidget for recent history entries
Ok, I ripped out the listview and am letting the kdirselect dialog do its magic for now. The only problem is though, that for the quick extract all submenu to do it’s thing it needs to read the recently used folders from the dirselectdialog. There is as far as I can see not a properly defined way ┬áto do this, but for now it works fine by just reading the global KConfig entry that contains these directories. A consequence of this though, is that recently used directories are shared between all kde programs and all kinds of directories will appear in the quick extract menu. Is this a downside or upside? I’m not sure, really.

Preserving paths should be better handled
There are many different use cases to when you might to want to preserve paths or not, but I think the most common two ones are 1, you just want to extract it all with paths, and 2, you want to extract two or three files and don’t want them spread all over an almost empty directory structure. Ark does its best to set the dialogs to sensible defaults, but for the special cases a checkbox for preserve paths on/off has been added.

No double subfolders – Ark should be intelligent enough to not create double subfolders when extracting
Now implemented; Ark checks to see if there is just a single folder in the archive, and if so shows the user the detected subfolder name and takes care not to create double subfolders. Ark will also by default extract archives without subfolders into a single subfolder named after the archive.

Ark should be prepared for usage through dolphin/konq service menus
Now being worked on: So far ark accepts an –extract argument that will immediately show the extract all files dialog after opening the file. In most cases however, you don’t want to have to press enter and just want things to go smoothly, and for this reason I have started writing a batch extract interface. This will live next to the usual mainwindow interface, and can be activated by passing the –batch argument. The batch interface will simply extract all archives passed to their respectively subfolders and show the progress while doing it.

Lastly, the only screenshotable change is the slightly redesigned extract dialog. Enjoy!

My git repos for these changes is being pushed regularly to my public github repos here:
http://github.com/metellius/ark-interface-changes/tree/master

Oh, and Aaron, we miss you!

Making Ark’s extraction interface more efficient

June 25, 2008

Hello planet, my first post here. Be nice to me. I will start directly with the thing I’ve been hacking a bit on the last few days. Ark has always been one of those apps that does what it’s supposed to do, it extract files, but it doesn’t really make any attempt to be efficient or smart at it. For example, extracting a file required you to press the extract files button, next click another button to open the folder selector, choose the folder, return to the previous dialog and then press OK once more as seen here:

To reduce the number of clicks required for this operation, I hacked a bit around and discovered it was actually trivial to just set the extraction dialog to inherit from the KDE default folder selection dialog and add my own widgets, and got the result shown below. I also added a list view where the recent folders used can be displayed.


Finally there is the quick-extract functionality. You’ll see the extract button has gotten a dropdown button menu where your recently used folders will appear for quick extraction.

It’s obviously too late to get changes like these into 4.1, but I expect to get these changes commited and ready in good time before 4.2. Comments?