[Deskbar] Deskbar refactoring



I'm doing some deskbar refactoring. It is pretty hefty stuff, that is unsuitible for incremental patches, so I'm setting up a git repo to work in. I have to do this since I don't have a cvs account for gnome.org yet - so I cannot commit to a separate cvs-branch.

You will find the repository at http://www.skim.dk/deskbar.git. You can check it out by:

git clone http://www.skim.dk/deskbar.git

However don't expect anything ground breaking before a few days... My daughter is hospitalized so my time is pretty limited atm.

For public info, Raphaël and I agreed upon the following course of action:

Split DeskbarApplet into DeskbarEngine and AppletUI. DeskbarEngine will be completely void of anything ui related, and can be considered "the kernel" of deskbar. AppletUI will be an "abstract class" in Java terms. Meaning that it provides the basic stuff for all UIs that will be applets (all atm) - not anything graphical, just basic mouse handling, menu setup, some gconf variables and such.

Then I will extract a CuemiacCore from CuemiacButtonUI, and make CuemiacButtonUI and CuemiacEntryUI derive from that and AppletUI, ie:

class CuemiacButtonUI (CuemiacCore, AppletUI):
class CuemiacEntryUI (CuemiacCore, AppletUI):

WHY?

We split out CuemiacCore because there is a lot of code duplication between CuemiacButtonUI and CuemiacEntryUI (and also the upcomming window-ui I suspect). We split out Engine and Applet parts from DeskbarApplet because this allows for a wider range of UIs and other methods of communicating with deskbar, and is generally a cleaner implementation (and also avoid code duplication).

Triple verb summary: Maintainability, Modularity, World Domination (those are not verbs - but we will make them, when we get world domination)

Cheers,
Mikkel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]