On Tue, Mar 6, 2012 at 7:00 AM, Jaap Karssenberg
<jaap.karssenb...@gmail.com> wrote:
> On Tue, Mar 6, 2012 at 5:25 AM, Adam Porter <a...@alphapapa.net> wrote:
>> Does Zim load the plugins when a notebook is opened, or when the
>> daemon is loaded?
> They are opened per instance, but they open before the notebook is
> opened. So may need a little bit of refactoring.
> Zim first constructs the GtkInterface object, this loads the plugins,
> than it loads the Notebook object. Probably we can delay loading
> preferences in the GtkInterface until the notebook is loaded. Or load
> the default ones, and replace them when the notebook turns out to have
> a non-default profile.

I've been looking at the code yesterday, and I think I have identified
the process you describe.

So, using your general idea, what I'm planning to do is this:
* add a class attribute to the plugin base class,
is_notebook_independent or something, the default would be False.
automount (and any other plugin that requires it) should overwrite
this with True
* load the general preferences, but as far as plugins is concerned,
load only those marked with is_notebook_independent
* open/initialize the notebook
* try to load a specific notebook profile with preferences. If one is
found, merge (or replace?) the general preferences. If we merge, the
specific profile should take precedence.
* load the plugins

Does this seem reasonable?


Mailing list: https://launchpad.net/~zim-wiki
Post to     : zim-wiki@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zim-wiki
More help   : https://help.launchpad.net/ListHelp

Reply via email to