glib/demo/attachments.c |   27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

New commits:
commit b5a7987a50b3d28fbfa219e2cef85b9e53aaf079
Author: Carlos Garcia Campos <[EMAIL PROTECTED]>
Date:   Thu Aug 21 20:40:18 2008 +0200

    [glib-demo] Fix attachments demo with documents that don't contain 
attachments

diff --git a/glib/demo/attachments.c b/glib/demo/attachments.c
index 4324e94..72754b2 100644
--- a/glib/demo/attachments.c
+++ b/glib/demo/attachments.c
@@ -144,7 +144,6 @@ pgd_attachments_save_dialog_response (GtkFileChooser    
*file_chooser,
        gtk_widget_destroy (GTK_WIDGET (file_chooser));
 }
 
-
 static void
 pgd_attachments_save_button_clicked (GtkButton   *button,
                                     GtkTreeView *treeview)
@@ -279,6 +278,7 @@ pgd_attachments_create_widget (PopplerDocument *document)
        GtkListStore *model;
        GtkWidget    *swindow;
        GtkWidget    *hbox, *button;
+       gboolean      has_attachments;
 
        vbox = gtk_vbox_new (FALSE, 12);
 
@@ -286,26 +286,36 @@ pgd_attachments_create_widget (PopplerDocument *document)
        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
                                        GTK_POLICY_AUTOMATIC, 
GTK_POLICY_AUTOMATIC);
 
-       if (poppler_document_has_attachments (document)) {
+       has_attachments = poppler_document_has_attachments (document);
+       if (has_attachments) {
                model = gtk_list_store_new (N_COLUMNS,
                                            G_TYPE_STRING, G_TYPE_STRING,
                                            G_TYPE_STRING,
                                            G_TYPE_STRING, G_TYPE_STRING,
                                            G_TYPE_OBJECT);
                pgd_attachments_fill_model (model, document);
+               treeview = pgd_attachments_create_list (GTK_TREE_MODEL (model));
        } else {
-               GtkTreeIter iter;
-               gchar      *markup;
+               GtkCellRenderer *renderer;
+               GtkTreeIter      iter;
+               gchar           *markup;
 
                model = gtk_list_store_new (1, G_TYPE_STRING);
                gtk_list_store_append (model, &iter);
                markup = g_strdup_printf ("<span size=\"larger\" 
style=\"italic\">%s</span>",
-                                         "The document doesn't contain 
outline");
+                                         "The document doesn't contain 
attachments");
                gtk_list_store_set (model, &iter, 0, markup, -1);
                g_free (markup);
+
+               treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL 
(model));
+
+               renderer = gtk_cell_renderer_text_new ();
+               gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW 
(treeview),
+                                                            0, "Name",
+                                                            renderer,
+                                                            "markup", 0,
+                                                            NULL);
        }
-       
-       treeview = pgd_attachments_create_list (GTK_TREE_MODEL (model));
        g_object_unref (model);
 
        gtk_container_add (GTK_CONTAINER (swindow), treeview);
@@ -314,6 +324,9 @@ pgd_attachments_create_widget (PopplerDocument *document)
        gtk_box_pack_start (GTK_BOX (vbox), swindow, TRUE, TRUE, 0);
        gtk_widget_show (swindow);
 
+       if (!has_attachments)
+               return vbox;
+       
        hbox = gtk_hbutton_box_new ();
        gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
 
_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to