GNOME Dictionary Plans and Roadmap



Hiya.

It appears that, in my previous mail, I'd been a little too optimistic
on the amount of work that the GNOME Dictionary application and applet
were going to need.  Actually, I was quite wrong, more than I was
optimist.

The main problem is the code base.  Putting it bluntly, it sucks.  

Badly.

I hereby recognise the enormous amount of work done by the authors and
maintainers (thanks to all of you, really); actually, the dictionary
application is one of the accessories I use the most during a normal
session.  I strikes me, though, how the application works *despite* the
huge amount of hackery involved.

The applet and application are so much interconnected, the widgetry is
really co-dependent on the containers and the "containee", that the
compilation alone is a mistery.

So, in order to make things a little more easy for future contributors,
here begins the "Break the Dictionary Code Base" Project.

First: I'll go ahead, and make the build system a bit saner, by making
the common widgetry being built in a non-installed shared library:
there's no point on doing the linking twice; also, I'll remove all the
"supposedly private" stuff from the header files, and hide them inside
the GObject private system.  Thus, the new library will contain an
embeddable widget (GDictEmbed) which will be used both by the
application (GDictApp) and the applet (GDictApplet).  Everything will be
hidden, from a object-oriented point of view, and accessible only
through function calls.  The inner widgets (GDictEntry and GDictDefbox,
as well as the GDictSpelling) will also be reworked in order to remove
redundancy.

I'm also considering the addition of a thin layer of object orientation
around the dictionary look up code (dict.[c,h]); certainly, I'll add
better GError support to it, order to have a better (specially with
regards to l10n) error message system.

At this point, which I sincerely hope to get finished within next month,
I'll start adding features, the first of which should be the
AlignedWindow container holding a GDictEmbed widget, which will make the
dictionary applet look like Seth's gnome-blog application.

The next feature will be the "defbox-integrated" find: I plan to remove
the find dialog and rework it into something like Firefox's find pane;
it'll sport case(-less) and wrap-around searches.

This phase should take less, coding wise, so I hope to have it finished
by the end of December.

Comments, feature requests, bug notifications, "you're on crack" replies
and flames here on the list or in private mail: I'll try and come up
with something clever to say.

Ciao,
 Emmanuele.

-- 
Emmanuele Bassi - <ebassi gmail com>
Log: http://log.emmanuelebassi.net




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