| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| G_DEFINE_INTERFACE (NautilusMenuProvider, nautilus_menu_provider, G_TYPE_OBJECT) |
| |
| enum |
| { |
| ITEMS_UPDATED, |
| LAST_SIGNAL |
| }; |
| |
| static guint signals[LAST_SIGNAL]; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| static void |
| nautilus_menu_provider_default_init (NautilusMenuProviderInterface *klass) |
| { |
| |
| signals[ITEMS_UPDATED] = g_signal_new ("items-updated", |
| NAUTILUS_TYPE_MENU_PROVIDER, |
| G_SIGNAL_RUN_LAST, |
| 0, |
| NULL, NULL, |
| g_cclosure_marshal_VOID__VOID, |
| G_TYPE_NONE, 0); |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| GList * |
| nautilus_menu_provider_get_file_items (NautilusMenuProvider *provider, |
| GtkWidget *window, |
| GList *files) |
| { |
| NautilusMenuProviderInterface *iface; |
| |
| iface = NAUTILUS_MENU_PROVIDER_GET_IFACE (provider); |
| |
| g_return_val_if_fail (NAUTILUS_IS_MENU_PROVIDER (provider), NULL); |
| g_return_val_if_fail (GTK_IS_WIDGET (window), NULL); |
| |
| if (iface->get_file_items != NULL) |
| { |
| return iface->get_file_items (provider, window, files); |
| } |
| |
| return NULL; |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| GList * |
| nautilus_menu_provider_get_background_items (NautilusMenuProvider *provider, |
| GtkWidget *window, |
| NautilusFileInfo *current_folder) |
| { |
| NautilusMenuProviderInterface *iface; |
| |
| iface = NAUTILUS_MENU_PROVIDER_GET_IFACE (provider); |
| |
| g_return_val_if_fail (NAUTILUS_IS_MENU_PROVIDER (provider), NULL); |
| g_return_val_if_fail (GTK_IS_WIDGET (window), NULL); |
| g_return_val_if_fail (NAUTILUS_IS_FILE_INFO (current_folder), NULL); |
| |
| if (iface->get_background_items != NULL) |
| { |
| return iface->get_background_items (provider, window, current_folder); |
| } |
| |
| return NULL; |
| } |
| |
| |
| void |
| nautilus_menu_provider_emit_items_updated_signal (NautilusMenuProvider *provider) |
| { |
| g_return_if_fail (NAUTILUS_IS_MENU_PROVIDER (provider)); |
| |
| g_signal_emit (provider, ITEMS_UPDATED, 0); |
| } |