On 20.06.2013, at 20:30, Guido Seifert <[email protected]> wrote:
>
>> Would it work to download the plugin to a different filename
>> (versioned, perhaps) and then inform Creator to load THAT plugin on
>> next startup? The new version could then remove the old one after
>> confirming success.
>
> That is exactly what I try to do atm. Sort of. Versioning in filename.
> Deleting pluginspec of the old plugin. Then it shouldn't be loaded on restart
> and I can delete the old dll.
> Still not a perfect solution. Would be nicer to be able to load and unload
> plugins. Though
> I guess due to possible dependencies this could me much harder work than such
> a rare use case is worth it.
Supporting unloading / loading plugins after startup would require the whole of
Qt Creator to be prepared for that. Most parts of Qt Creator initializes only
once, and then expects everything to stay. Doing plugin changes at runtime
would mean graceful (+ sensible) handling of e.g. removing/adding modes,
shortcuts, menus, find/locator filters, navigation widgets, editor types
(editors of that type might be open) etc etc
IMO definitely not worth the effort.
Why not:
1) download your updated plugin to a temporary location
2) start (detached) a small external helper executable that
2.1) shuts down Qt Creator ("gracefully")
2.2) copies the updated plugin to the right place in Qt Creator
2.3) restarts Qt Creator again (detached)
2.4) shuts itself down
You might need to gain admin rights for 2.2 in any case btw.
Works cross-platform.
No useless renaming of the plugin needed. Which, btw, would break plugins that
depend on that plugin, because it would require the plugin *name* to change
too. (Plugin name determines library name.)
That is basically what the Qt installer framework in combination with the
UpdateInfo plugin does.
Br, Eike
--
Eike Ziller, Senior Software Engineer - Digia, Qt
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB
144331 B
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator