On Thu, Sep 03, 2009 at 05:20:15PM +0100, Stuart Morgan wrote:
> On Thursday 03 Sep 2009 17:06:41 mythtv at cvs.mythtv.org wrote:
> > Update the list immediately after deleting entries. It can be
> > confusing and frustrating to perform a delete and not see it take
> > effect until the scheduler gets around to sending a change event.
> > This is how it worked before the UI port.
>> David, instead of updating the entire list, can we just delete the item from
> the visible list using MythUIButtonList::RemoveItem() ? This is significantly
> faster and therefore much smoother than refilling, a matter of milliseconds vs
> seconds for a refill in some extremes. It's what we're doing elsewhere to keep
> the UI as responsive and smooth as possible. The scheduler event will
> eventually force a refill anyway, but even this is something I'd like to
> change post-0.22.
I will try to take a closer look at it later today. Now that I've
switched my production system over to trunk, I've gotten motivated
enough to make some time for MythTV work and am trying to focus on
fixing the things that have been annoying me.
After a quick glance at the code, using RemoveItem() for deleting the
current eopisode should be fairly easy. Deleting all episodes for a
title leads to a couple of questions though. First, there is no
RemoveItems() method, so I would proably need to iterate over the list
calling RemoveItem() as needed one at a time. If that is done, will
that cause a redraw for every call, or will there only be one redraw
at the end when the event loop is re-entered? Second, if RemoveItem()
is called for an item that is before the currently selected one, are
you sure m_selPosition gets updated correctly? I'm not sure that it
will.
David
--
David Engel
david at istwok.net