diff options
author | lukefromdc <[email protected]> | 2017-07-14 15:25:37 -0400 |
---|---|---|
committer | lukefromdc <[email protected]> | 2017-08-13 14:37:24 -0400 |
commit | 2f5fb35954021ba1fbd71aa3c6304394d2d67bdd (patch) | |
tree | f028d1577bc57f48e3622b825aad0b8d0cdae9b0 /mate-panel/panel-applets-manager.c | |
parent | 788cde808151c8b4f06ee343f1e7006341c2d0ee (diff) | |
download | mate-panel-2f5fb35954021ba1fbd71aa3c6304394d2d67bdd.tar.bz2 mate-panel-2f5fb35954021ba1fbd71aa3c6304394d2d67bdd.tar.xz |
make it possible to get applet widget
We will use this to get applet widget from factory. This will
allow to bypass GtkPlug/GtkSocket.
Based on https://github.com/GNOME/gnome-panel/commit/408bab094d1fad471b342548dabc58410a3dc327
Diffstat (limited to 'mate-panel/panel-applets-manager.c')
-rw-r--r-- | mate-panel/panel-applets-manager.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mate-panel/panel-applets-manager.c b/mate-panel/panel-applets-manager.c index 9568327e..23b43f0c 100644 --- a/mate-panel/panel-applets-manager.c +++ b/mate-panel/panel-applets-manager.c @@ -199,3 +199,23 @@ mate_panel_applets_manager_load_applet (const gchar *iid, return FALSE; } + +GtkWidget * +mate_panel_applets_manager_get_applet_widget (const gchar *iid, + guint uid) +{ + GSList *l; + + _mate_panel_applets_managers_ensure_loaded (); + + for (l = mate_panel_applets_managers; l != NULL; l = l->next) { + MatePanelAppletsManager *manager = MATE_PANEL_APPLETS_MANAGER (l->data); + + if (!MATE_PANEL_APPLETS_MANAGER_GET_CLASS (manager)->get_applet_info (manager, iid)) + continue; + + return MATE_PANEL_APPLETS_MANAGER_GET_CLASS (manager)->get_applet_widget (manager, iid, uid); + } + + return NULL; +} |