More consistency calling the applets as such

This commit is contained in:
Pierre Pronchery 2014-06-29 17:04:34 +02:00
parent 64ce6dcf52
commit 9e3f185123

View File

@ -207,7 +207,7 @@ Panel * panel_new(PanelPrefs const * prefs)
gdk_window_set_events(panel->root, gdk_window_get_events(panel->root) gdk_window_set_events(panel->root, gdk_window_get_events(panel->root)
| GDK_PROPERTY_CHANGE_MASK); | GDK_PROPERTY_CHANGE_MASK);
gdk_window_add_filter(panel->root, _on_root_event, panel); gdk_window_add_filter(panel->root, _on_root_event, panel);
/* load plug-ins when idle */ /* load applets when idle */
panel->source = g_idle_add(_new_on_idle, panel); panel->source = g_idle_add(_new_on_idle, panel);
return panel; return panel;
} }
@ -628,11 +628,11 @@ int panel_load(Panel * panel, PanelPosition position, char const * applet)
/* panel_show_preferences */ /* panel_show_preferences */
static void _show_preferences_window(Panel * panel); static void _show_preferences_window(Panel * panel);
static GtkWidget * _preferences_window_applets(Panel * panel); static GtkWidget * _preferences_window_applets(Panel * panel);
static void _preferences_window_applets_add(GtkListStore * store,
char const * name);
static GtkListStore * _preferences_window_applets_model(void); static GtkListStore * _preferences_window_applets_model(void);
static GtkWidget * _preferences_window_applets_view(GtkListStore * store, static GtkWidget * _preferences_window_applets_view(GtkListStore * store,
gboolean reorderable); gboolean reorderable);
static void _preferences_window_applets_plugin_add(GtkListStore * store,
char const * name);
static GtkWidget * _preferences_window_general(Panel * panel); static GtkWidget * _preferences_window_general(Panel * panel);
static GtkWidget * _preferences_window_panel(Panel * panel, static GtkWidget * _preferences_window_panel(Panel * panel,
PanelPosition position); PanelPosition position);
@ -699,7 +699,7 @@ static void _show_preferences_window(Panel * panel)
vbox = GTK_DIALOG(panel->pr_window)->vbox; vbox = GTK_DIALOG(panel->pr_window)->vbox;
#endif #endif
gtk_box_pack_start(GTK_BOX(vbox), panel->pr_notebook, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), panel->pr_notebook, TRUE, TRUE, 0);
/* FIXME implement a way to enable plug-ins per panel (and in order) */ /* FIXME implement a way to enable applets per panel (and in order) */
_preferences_on_response_cancel(panel); _preferences_on_response_cancel(panel);
gtk_widget_show_all(vbox); gtk_widget_show_all(vbox);
} }
@ -726,7 +726,7 @@ static GtkWidget * _preferences_window_applets(Panel * panel)
#else #else
hbox = gtk_hbox_new(FALSE, 4); hbox = gtk_hbox_new(FALSE, 4);
#endif #endif
/* plug-ins */ /* applets */
frame = gtk_frame_new(_("Applets:")); frame = gtk_frame_new(_("Applets:"));
widget = gtk_scrolled_window_new(NULL, NULL); widget = gtk_scrolled_window_new(NULL, NULL);
gtk_container_set_border_width(GTK_CONTAINER(widget), 4); gtk_container_set_border_width(GTK_CONTAINER(widget), 4);
@ -815,7 +815,7 @@ static GtkWidget * _preferences_window_applets(Panel * panel)
#else #else
vbox2 = gtk_vbox_new(FALSE, 4); vbox2 = gtk_vbox_new(FALSE, 4);
#endif #endif
/* panel plug-ins */ /* panel applets */
for(i = 0; i < sizeof(panel->pr_panels) / sizeof(*panel->pr_panels); for(i = 0; i < sizeof(panel->pr_panels) / sizeof(*panel->pr_panels);
i++) i++)
{ {
@ -827,6 +827,34 @@ static GtkWidget * _preferences_window_applets(Panel * panel)
return vbox; return vbox;
} }
static void _preferences_window_applets_add(GtkListStore * store,
char const * name)
{
Plugin * p;
PanelAppletDefinition * pad;
GtkTreeIter iter;
GtkIconTheme * theme;
GdkPixbuf * pixbuf = NULL;
if((p = plugin_new(LIBDIR, PACKAGE, "applets", name)) == NULL)
return;
if((pad = plugin_lookup(p, "applet")) == NULL)
{
plugin_delete(p);
return;
}
theme = gtk_icon_theme_get_default();
if(pad->icon != NULL)
pixbuf = gtk_icon_theme_load_icon(theme, pad->icon, 24, 0,
NULL);
if(pixbuf == NULL)
pixbuf = gtk_icon_theme_load_icon(theme, "gnome-settings", 24,
0, NULL);
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, 0, name, 1, pixbuf, 2, pad->name, -1);
plugin_delete(p);
}
static GtkListStore * _preferences_window_applets_model(void) static GtkListStore * _preferences_window_applets_model(void)
{ {
return gtk_list_store_new(3, G_TYPE_STRING, /* name */ return gtk_list_store_new(3, G_TYPE_STRING, /* name */
@ -858,34 +886,6 @@ static GtkWidget * _preferences_window_applets_view(GtkListStore * store,
return view; return view;
} }
static void _preferences_window_applets_plugin_add(GtkListStore * store,
char const * name)
{
Plugin * p;
PanelAppletDefinition * pad;
GtkTreeIter iter;
GtkIconTheme * theme;
GdkPixbuf * pixbuf = NULL;
if((p = plugin_new(LIBDIR, PACKAGE, "applets", name)) == NULL)
return;
if((pad = plugin_lookup(p, "applet")) == NULL)
{
plugin_delete(p);
return;
}
theme = gtk_icon_theme_get_default();
if(pad->icon != NULL)
pixbuf = gtk_icon_theme_load_icon(theme, pad->icon, 24, 0,
NULL);
if(pixbuf == NULL)
pixbuf = gtk_icon_theme_load_icon(theme, "gnome-settings", 24,
0, NULL);
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, 0, name, 1, pixbuf, 2, pad->name, -1);
plugin_delete(p);
}
static GtkWidget * _preferences_window_general(Panel * panel) static GtkWidget * _preferences_window_general(Panel * panel)
{ {
GtkWidget * vbox; GtkWidget * vbox;
@ -979,8 +979,7 @@ static void _preferences_on_bottom_add(gpointer data)
if(!gtk_tree_selection_get_selected(treesel, &model, &iter)) if(!gtk_tree_selection_get_selected(treesel, &model, &iter))
return; return;
gtk_tree_model_get(model, &iter, 0, &p, -1); gtk_tree_model_get(model, &iter, 0, &p, -1);
_preferences_window_applets_plugin_add(panel->pr_panels[position].store, _preferences_window_applets_add(panel->pr_panels[position].store, p);
p);
g_free(p); g_free(p);
} }
@ -1229,7 +1228,7 @@ static void _cancel_applets(Panel * panel)
gtk_list_store_clear(panel->pr_panels[j].store); gtk_list_store_clear(panel->pr_panels[j].store);
if((dir = opendir(LIBDIR "/" PACKAGE "/applets")) == NULL) if((dir = opendir(LIBDIR "/" PACKAGE "/applets")) == NULL)
return; return;
/* plug-ins */ /* applets */
while((de = readdir(dir)) != NULL) while((de = readdir(dir)) != NULL)
{ {
if((len = strlen(de->d_name)) < sizeof(ext)) if((len = strlen(de->d_name)) < sizeof(ext))
@ -1240,8 +1239,7 @@ static void _cancel_applets(Panel * panel)
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, de->d_name); fprintf(stderr, "DEBUG: %s() \"%s\"\n", __func__, de->d_name);
#endif #endif
_preferences_window_applets_plugin_add(panel->pr_store, _preferences_window_applets_add(panel->pr_store, de->d_name);
de->d_name);
} }
closedir(dir); closedir(dir);
/* panels */ /* panels */
@ -1257,7 +1255,7 @@ static void _cancel_applets(Panel * panel)
continue; continue;
c = q[i]; c = q[i];
q[i] = '\0'; q[i] = '\0';
_preferences_window_applets_plugin_add( _preferences_window_applets_add(
panel->pr_panels[j].store, r); panel->pr_panels[j].store, r);
if(c == '\0') if(c == '\0')
break; break;
@ -1309,8 +1307,7 @@ static void _preferences_on_top_add(gpointer data)
if(!gtk_tree_selection_get_selected(treesel, &model, &iter)) if(!gtk_tree_selection_get_selected(treesel, &model, &iter))
return; return;
gtk_tree_model_get(model, &iter, 0, &p, -1); gtk_tree_model_get(model, &iter, 0, &p, -1);
_preferences_window_applets_plugin_add(panel->pr_panels[position].store, _preferences_window_applets_add(panel->pr_panels[position].store, p);
p);
g_free(p); g_free(p);
} }