All pastes #375752 Raw Edit

Miscellany

public text v1 · immutable
#375752 ·published 2007-02-28 16:10 UTC
rendered paste body
static void poppler_document_info_cb(GtkButton *button, PopplerViewer *viewer)
{
  gchar *title, *format, *author, *subject, *keywords, *creator, *producer, *linearized;
  GTime creation_date, mod_date;
  PopplerPageLayout layout;
  PopplerPageMode mode;
  PopplerViewerPreferences view_prefs;

	g_object_get (viewer->pdf_doc,
		"title", &title,
		"format", &format,
		"author", &author,
		"subject", &subject,
		"keywords", &keywords,
		"creation-date", &creation_date,
		"mod-date", &mod_date,
		"creator", &creator,
		"producer", &producer,	
		"linearized", &linearized,
		"page-mode", &mode,
		"page-layout", &layout,
		"viewer-preferences", &view_prefs,
		NULL);
	
	viewer->dialog_doc_info = gtk_message_dialog_new_with_markup(
		GTK_WINDOW(mainwindow_get_mainwindow()->window),
		GTK_DIALOG_DESTROY_WITH_PARENT,
		GTK_MESSAGE_INFO,
		GTK_BUTTONS_CLOSE,
		"<span foreground=\"#2D1784\" size=\"x-large\"><b>PDF Viewer Plugin</b></span>"
	);

	title = g_strdup_printf(_("Title: %s"), title);
	format = g_markup_printf_escaped(_("<span foreground=\"#000000\"><b>Format:</b></span>"));
	author = g_markup_printf_escaped(_("<span foreground=\"#000000\"><b>Author:</b></span>"));
	subject = g_markup_printf_escaped(_("<span foreground=\"#000000\"><b>Subject:</b></span>"));
	keywords = g_markup_printf_escaped(_("<span foreground=\"#000000\"><b>Keywords:</b></span>"));

	gtk_message_dialog_format_secondary_markup( 
		GTK_MESSAGE_DIALOG(viewer->dialog_doc_info),
		"%s\n%s\n%s\n%s\n%s",
		title,
		format,
		author,
		subject,
		keywords
	);

	g_free(title);
	g_free(format);
	g_free(author);
	g_free(subject);
	g_free(keywords);

	gtk_widget_set_size_request(viewer->dialog_doc_info, -1, -1);
	gtk_widget_show(GTK_WIDGET(viewer->dialog_doc_info));
	gtk_widget_ref(GTK_WIDGET(viewer->dialog_doc_info));
	
	g_signal_connect_swapped(viewer->dialog_doc_info, 
				"response", 
				G_CALLBACK(gtk_widget_destroy),
				viewer->dialog_doc_info);
}