static GList *gtkhash_properties_get_pages( #if IN_NAUTILUS_EXTENSION G_GNUC_UNUSED NautilusPropertyPageProvider *provider, #elif IN_CAJA_EXTENSION G_GNUC_UNUSED CajaPropertyPageProvider *provider, #elif IN_NEMO_EXTENSION G_GNUC_UNUSED NemoPropertyPageProvider *provider, #elif IN_THUNAR_EXTENSION G_GNUC_UNUSED ThunarxPropertyPageProvider *provider, #endif GList *files) { // Only display page for a single file if (!files || files->next) return NULL; #if IN_NAUTILUS_EXTENSION GFileType type = nautilus_file_info_get_file_type(files->data); char *uri = nautilus_file_info_get_uri(files->data); #elif IN_CAJA_EXTENSION GFileType type = caja_file_info_get_file_type(files->data); char *uri = caja_file_info_get_uri(files->data); #elif IN_NEMO_EXTENSION GFileType type = nemo_file_info_get_file_type(files->data); char *uri = nemo_file_info_get_uri(files->data); #elif IN_THUNAR_EXTENSION GFileInfo *info = thunarx_file_info_get_file_info(files->data); GFileType type = g_file_info_get_file_type(info); g_object_unref(info); char *uri = thunarx_file_info_get_uri(files->data); #endif // Only display page for regular files if (type != G_FILE_TYPE_REGULAR) return NULL; struct page_s *page = gtkhash_properties_new_page(uri); if (!page) return NULL; #if IN_NAUTILUS_EXTENSION NautilusPropertyPage *ppage = nautilus_property_page_new( "GtkHash::properties", gtk_label_new(_("Digests")), page->box); #elif IN_CAJA_EXTENSION CajaPropertyPage *ppage = caja_property_page_new( "GtkHash::properties", gtk_label_new(_("Digests")), page->box); #elif IN_NEMO_EXTENSION NemoPropertyPage *ppage = nemo_property_page_new( "GtkHash::properties", gtk_label_new(_("Digests")), page->box); #elif IN_THUNAR_EXTENSION GtkWidget *ppage = thunarx_property_page_new(_("Digests")); gtk_container_add(GTK_CONTAINER(ppage), page->box); #endif GList *pages = g_list_append(NULL, ppage); return pages; }
static GList * ev_properties_get_pages (NautilusPropertyPageProvider *provider, GList *files) { GError *error = NULL; EvDocument *document = NULL; GList *pages = NULL; NautilusFileInfo *file; gchar *uri = NULL; gchar *mime_type = NULL; GtkWidget *page, *label; NautilusPropertyPage *property_page; /* only add properties page if a single file is selected */ if (files == NULL || files->next != NULL) goto end; file = files->data; /* okay, make the page */ uri = nautilus_file_info_get_uri (file); mime_type = nautilus_file_info_get_mime_type (file); document = ev_backends_manager_get_document (mime_type); if (!document) goto end; ev_document_load (document, uri, &error); if (error) { g_error_free (error); goto end; } label = gtk_label_new (_("Document")); page = ev_properties_view_new (uri); ev_properties_view_set_info (EV_PROPERTIES_VIEW (page), ev_document_get_info (document)); gtk_widget_show (page); property_page = nautilus_property_page_new ("document-properties", label, page); pages = g_list_prepend (pages, property_page); end: g_free (uri); g_free (mime_type); if (document != NULL) g_object_unref (document); return pages; }
static GList * totem_properties_get_pages (NautilusPropertyPageProvider *provider, GList *files) { NautilusFileInfo *file; char *uri; GtkWidget *page, *label; NautilusPropertyPage *property_page; guint i; gboolean found; /* only add properties page if a single file is selected */ if (files == NULL || files->next != NULL) return NULL; file = files->data; /* only add the properties page to these mime types */ found = FALSE; for (i = 0; mime_types[i] != NULL; i++) { if (nautilus_file_info_is_mime_type (file, mime_types[i])) { found = TRUE; break; } } if (found == FALSE) return NULL; /* okay, make the page, init'ing the backend first if necessary */ if (backend_inited == FALSE) { gst_init (NULL, NULL); backend_inited = TRUE; } uri = nautilus_file_info_get_uri (file); label = gtk_label_new (_("Audio/Video")); page = totem_properties_view_new (uri, label); g_free (uri); gtk_container_set_border_width (GTK_CONTAINER (page), 6); property_page = nautilus_property_page_new ("video-properties", label, page); return g_list_prepend (NULL, property_page); }
static GList * fm_ditem_page_get_pages (NautilusPropertyPageProvider *provider, GList *files) { GList *pages; NautilusPropertyPage *page; NautilusFileInfo *info; char *uri; GtkWidget *box; GtkWidget *label; if (!files || files->next) { return NULL; } info = NAUTILUS_FILE_INFO (files->data); if (!nautilus_file_info_is_mime_type (info, "application/x-desktop")) { return NULL; } box = gtk_vbox_new (FALSE, 6); label = gtk_label_new (""); g_object_set_data (G_OBJECT (box), "label", label); uri = nautilus_file_info_get_uri (info); fm_ditem_page_create_begin (FM_DITEM_PAGE (provider), uri, box); g_free (uri); page = nautilus_property_page_new ("Desktop Item Page", label, box); pages = g_list_prepend (NULL, page); return pages; }
static GList *gnome_mplayer_properties_get_pages(NautilusPropertyPageProvider * provider, GList * files) { GList *pages = NULL; NautilusFileInfo *file; GtkWidget *page, *label; NautilusPropertyPage *property_page; guint i; gboolean found = FALSE; gchar *uri; /* only add properties page if a single file is selected */ if (files == NULL || files->next != NULL) return pages; file = files->data; /* only add the properties page to these mime types */ for (i = 0; i < G_N_ELEMENTS(mime_types); i++) { if (nautilus_file_info_is_mime_type(file, mime_types[i])) { found = TRUE; break; } } if (found) { uri = nautilus_file_info_get_uri(file); label = gtk_label_new(dgettext(GETTEXT_PACKAGE, "Audio/Video")); page = gtk_table_new(20, 2, FALSE); gtk_container_set_border_width(GTK_CONTAINER(page), 6); if (get_properties(page, uri)) { gtk_widget_show_all(page); property_page = nautilus_property_page_new("video-properties", label, page); pages = g_list_prepend(pages, property_page); } g_free(uri); } return pages; }