While sitting here and keeping an eye on our (froglogic’s) booth at the Qt Developer Days, I saw that I haven’t blogged for weeks. So I guess its time for some updates.
What I’m working on currently in KDevelop4 is Session support, something that we currently need mainly for two things. One is that we want to allow the user to deactivate certain plugins, the other thing is that plugins themselves have a need to store some data somewhere. Where somewhere needs to be outside the project. Even though a plugin can already do this by getting the “data” resource from KStandarDirs, there’s also the desire to have various instances of that data around at the same time.
So thats basically the definition of “Session”. Our session support is relatively basic right now. The Core has an active session and the session provides a name, as well as access to a session KConfig object and allows to create a “dump-data-here” directory for a plugin. The GUI parts are all inside the shell, so we don’t have much public API.
This will also allow us to finally do something about the existing Profile system in KDevelop3/4. I guess few people actually know it, because most of the time it just works behind the scenes. It allows to define profiles for KDevelop and what to load per profile. The system in KDevelop3 works well, but the KDevelop4 port never really finished (there are some things missing). Apart from that we can do the same things with sessions and those are a lot less code. The idea is that we provide a way to read the list of “default” plugins from somewhere (currently thats a function that each kdevplatform applciation needs to implement) and thats it.
Also the session support is not going to get into your way. Which means there’s going to be a default session with sensible setup when you first start kdevelop and you don’t ever have to bother about it afterwards. I know Alex will thank me for that 🙂
Ok, enough text for now. Ah maybe a short “Hi” to Jason Kasper, Alex Spehr and Charles Samuels which I had the pleasure of meeting during the DevDays.
I’ll be getting back soon with something really cool (at least for some people) including screenshots.
First: Sorry David for spoiling, but I couldn’t keep my hands still after seeing this 🙂
So, David Nolden, our DUChain and C++-Support Maintainer and Guru, comitted a couple of speed fixes today (including switching from QHash or stdext::hash_map to Google’s sparsehash). I thought, hmm, hopefully the parsing is a bit faster now, but in fact not only parsing. Almost everything is faster now, in particular the IMHO most annoying part: Highlighting in kate is a _lot_ faster now.
Recently I’ve mentioned this in a kde4-speed-rant-blog, when using cursor keys to scroll lines in kate only half of the window was updated until I stopped scrolling. This is gone now completely. Also plain typing feels a lot smoother now.
Another part that seems to benefit is “Quick Open”, all kinds – opening files, classes or methods are instantly opening up.
So a big thanks to David for this. KDevelop4 is really starting to take shape. Now the rest of us devs need to find more time to do their share 🙂