static void add_emblems_dialog_response_cb (GtkWidget *dialog, int response, NautilusEmblemSidebar *emblem_sidebar) { Emblem *emblem; GSList *emblems; GSList *l; switch (response) { case GTK_RESPONSE_CANCEL: gtk_widget_destroy (dialog); break; case GTK_RESPONSE_HELP: g_message ("Implement me!"); break; case GTK_RESPONSE_OK: emblems = g_object_get_data (G_OBJECT (dialog), "emblems-to-add"); for (l = emblems; l; l = l->next) { char *keyword; emblem = (Emblem *)l->data; if (emblem->keyword != NULL) { /* this one has already been verified */ continue; } keyword = nautilus_emblem_create_unique_keyword (emblem->name); if (!nautilus_emblem_verify_keyword (GTK_WINDOW (dialog), keyword, emblem->name)) { g_free (keyword); return; } else { emblem->keyword = keyword; } } for (l = emblems; l; l = l->next) { emblem = (Emblem *)l->data; nautilus_emblem_install_custom_emblem (emblem->pixbuf, emblem->keyword, emblem->name, GTK_WINDOW (dialog)); } gtk_widget_destroy (dialog); send_emblems_changed (); break; } }
static void nautilus_emblem_sidebar_delete_cb (GtkWidget *menu_item, NautilusEmblemSidebar *emblem_sidebar) { char *error; if (nautilus_emblem_remove_emblem (emblem_sidebar->details->popup_emblem_keyword)) { send_emblems_changed (); } else { error = g_strdup_printf (_("Could not remove emblem with name '%s'."), emblem_sidebar->details->popup_emblem_display_name); eel_show_error_dialog (error, _("This is probably because the emblem is a permanent one, and not one that you added yourself."), NULL); g_free (error); } }
static void rename_dialog_response_cb (GtkWidget *dialog, int response, CajaEmblemSidebar *emblem_sidebar) { GtkWidget *entry; char *keyword, *name, *error; keyword = g_object_get_data (G_OBJECT (dialog), "emblem-keyword"); if (response == GTK_RESPONSE_CANCEL) { g_free (keyword); gtk_widget_destroy (dialog); return; } else if (response == GTK_RESPONSE_HELP) { g_message ("Implement me!"); return; } entry = g_object_get_data (G_OBJECT (dialog), "entry"); name = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry))); gtk_widget_destroy (dialog); if (caja_emblem_rename_emblem (keyword, name)) { send_emblems_changed (); } else { error = g_strdup_printf (_("Could not rename emblem with name '%s'."), name); eel_show_error_dialog (error, _("This is probably because the emblem is a permanent one, and not one that you added yourself."), NULL); g_free (error); } g_free (keyword); g_free (name); }