Re: breaking libgnomeui API



On Thu, 2004-01-29 at 19:54 +0000, Bastien Nocera wrote:
> On Thu, 2004-01-29 at 19:34, James M. Cape wrote:
> > On Wed, 2004-01-28 at 10:12 +0100, Anders Carlsson wrote:
> > 
> > [Regarding entry widgets in libgnomeui:]
> > 
> > > * Port them over to gtk+ and put them there (IIRC Jim Cape started
> > > hacking on a really cool icon chooser that supported icon themes)
> > 
> > http://esco.mine.nu/downloads/eggimagechooser.tar.bz2
> > 
> > The issues I'm having (aside from screwy ref counting and my general
> > insanity) are whether or not to make this a generalized ImageChooser or
> > a task-specific IconChooser.
> > 
> > I'm leaning towards ImageChooser, since it would then be useful for
> > other stuff, like 'Avatar' (user photo) and wallpaper image selection.
> 
> You might want to be very careful about dubbing it an ImageChooser, and
> would need to take great care at the responsiveness when a user of a PII
> 300 will try to choose his wallpaper from a directory containing 300
> 1600x1200 photo quality wallpapers.

In a perfect world, the thumbnail stuff from libgnome would be moved
down into GTK+ and the image chooser could use that. The actual first-
time image loading & thumbnail generation could be done in a thread, or
with a progressive-loading idle handler. IMO, it can always be done well
(nautilus does it well), but that's just one question among many when
deciding:

1.) Would an ImageChooser be widely used enough to include in GTK+?
(IMO, yes: gnome-panel, nautilus, [insert-im-client-here] could all use
such a widget).

2.) What should the API look like in order to afford such a wide usage?

What's in the tarball I posted should be general enough to accomplish
this, but there's no code to handle changing things on the fly.

3.) What are the ways of loading/scaling the images?

3.a.) all at once. (sticks UI)
3.b.) idle handler loads & scales each image then displays (sticks on
large images).
3.c.) idle handler loads a max number of bytes (30k?) and then scales
based on that. Images are displayed after they have finished loading/
scaling (shouldn't stick, but can).
3.d.) a thread loads & scales each image, then displays them (will never
stick, but requires a lot of locking/unlocking).

-- 
Peace,

    Jim Cape
    http://ignore-your.tv

    "It is literally true that, like Christianity, Socialism
     has conquered the world by defeating itself."
        -- Alexander Berkman, ABC of Anarchism



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