[gpodder] Re: gPodder 3.1.0 "The Discipline of D.E." released

  • From: Thomas Perl <m@xxxxxx>
  • To: gpodder@xxxxxxxxxxxxx
  • Date: Sat, 21 Apr 2012 21:00:13 +0200

Hi Joseph,

(Sorry for the late reply, I've been travelling a lot lately, but am now
back and had some time to think about the questions.)

On Thu, Mar 29, 2012 at 05:09:07PM -0700, Joseph Wickremasinghe wrote:
> I've been working on rewriting this an extension. However, it seems
> that I'd need a few more callbacks defined, or at least a way to add a
> menu item to the GUI. The device tab in the preferences window should
> (I presume) only show when the extension is loaded. Most of the
> changes are going to be to the GUI, so I was wondering if you'd had
> any more thoughts on how this could be done. I may be able to use the
> 'on_ui_object_available' callback, but it seems to be defined only for
> the main window at present. Any suggestions would be appreciated.

We can extend the on_ui_object_available method to also be called when
the preferences window is first opened (and you could search the
notebook object to insert the tab there, I assume).

As for the menu, we also need to add a new extension callback that will
allow the extension to add a menu item. Currently, I think it's best
that we just have an "Extras" menu item and that will have sub-menus as
created by the extensions.

> I've also been looking at using the downloads tab to show progress,
> rather than the modal window. I've been playing with two approaches so
> far, the first to directly modify the gtk.ListStore to add a row for
> the running synchronization, the second to create a sync_task class
> (derived from DownloadTask), overriding the __init__ and run methods.
> This would then show up in the Downloads tab without too much extra
> work. At least, in theory... :)

Ideally, we should make it easy for extension developers to add tasks
like the DownloadTask that is an abstract representation of the
progress. The reason is that we at some point might want to show the
device sync progress e.g. in the CLI, so ideally the code should not
need to know anything about gtk.ListStore. As far as I can tell, there
needs to be a way for extensions to "publish" tasks to be shown in the
UI (and also to remove tasks when they are finished).

I'm not sure if I've mentioned it here on the mailing list, but the plan
is to make the "Downloads" tab more of a "Progress" tab, showing not
only downloads but also conversion progress (e.g. transcoding),
gpodder.net sync progress and maybe even feed update progress. It would
also be a good place to show the device sync progress.


Other related posts: