News arrow Latest arrow Busy bee and cucumber

Busy bee and cucumber PDF Print Email
Written by fullmetalcoder   
Tuesday, 20 February 2007

Don't worry about the title... That's a classical side-effect of hard-working. Besides if you take time to read this article you shall agree that it has some sense (and if you were nice to me you'd even say it's someway funny Laughing)

 

Things are going their way! I know that's a pretty poor introduction but that's probably the best I can do regarding my poor writing skill and the fact that english is not my native language...

 Anyway Edyuk is getting better every day but then you might wonder why SVN commits where so rare these last days. Well, it's rather simple... I was rewriting the project management part as an independent module based on the new QHierarchicalModel class.

 

It has been a fantastic opportunity to improve various aspects of these framework that is used by the code completion modelisation classes ( the so called QCodeModel set). Indeed I added a generic watcher class that monitor changes in nodes of a project and signals them to hooked nodes and through signals/slots architecture. Besides, some convinience function have been added to make redrawing of itmes, especially spanning ones, smoother and more efficient.

Finally, after a whole week working on it I packed up the same functionnalities, as far as parsing and represantation are concerned, and a few improvements. The most noticeable change, from user side, is probably the SPEED. The parser is now threaded which prevent flicker/freeze of the GUI and the use of QHierarchicalModel make it significantly faster in absolute because the node sharing is handled in a much more convinient and powerful way : private components.

So that was for the busy bee (me in case you still havn't understood... Tongue out). What about this cucumber then??? First of all you must understand that it isn't a "regular" cucumber. Indeed it's real name is QCumber. Any guess ? No... Well, I'll make myself a little clearer then. QCumber is : "A set of cool functionnalities for Qt application packed up in a flexible and lightweight library" as its annoucement WILL state (hehe! a scoop! Wink).  It's an idea that came to me  when I realized that I should do as much "module-splitting" in Edyuk. I also must admit that the QtCentre programming contest has something to do with this idea becoming concrete...

Just like other modules (QCodeEdit, qmdilib, ...), QCumber will be developped as an independent Edyuk's component . I currently plan to make it provide :

  • QSingleApplication : a network-based, communication-enabled, customizable class that provide instance locking just like Trolltech's component : QtSingleApplication with the noticable expection that  QCumber is free
  • QSettingsServer / QSettingsClient : a framework for painless settings control/sharing, especially usefull for threaded and/or pluginizable applications (already present in Edyuk since quite a while, will move soon)
  • A "recent files" manager with categories
  • A cross-platform run-time file association component (will be damn hard but I need it and I don't think I'm the only one... Frown)