[poppler] glib/demo

Carlos Garcia Campos carlosgc at kemper.freedesktop.org
Thu Nov 21 23:44:08 PST 2013


 glib/demo/annots.c |   70 +++++++++++------------------------------------------
 1 file changed, 15 insertions(+), 55 deletions(-)

New commits:
commit 18fab454c59b1c77c691617aaef99245eacd83b5
Author: Germán Poo-Caamaño <gpoo at gnome.org>
Date:   Mon Oct 28 22:41:41 2013 -0700

    glib-demo: Simplify annotations list and its properties
    
    * Move the annotation's rectangle to properties to make the
      list view of annotations cleaner.
    * Remove duplicated information: flags and page are already
      present in the UI.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=70982

diff --git a/glib/demo/annots.c b/glib/demo/annots.c
index 0dc311a..c71b923 100644
--- a/glib/demo/annots.c
+++ b/glib/demo/annots.c
@@ -23,10 +23,6 @@
 #include "utils.h"
 
 enum {
-    ANNOTS_X1_COLUMN,
-    ANNOTS_Y1_COLUMN,
-    ANNOTS_X2_COLUMN,
-    ANNOTS_Y2_COLUMN,
     ANNOTS_TYPE_COLUMN,
     ANNOTS_COLOR_COLUMN,
     ANNOTS_FLAG_INVISIBLE_COLUMN,
@@ -575,6 +571,7 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
     gint        row = 0;
     gchar      *text;
     time_t      timet;
+    PopplerRectangle rect;
 
     alignment = gtk_bin_get_child (GTK_BIN (demo->annot_view));
     if (alignment) {
@@ -582,7 +579,7 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
     }
 
     alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
-    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 5, 5, 12, 5);
+    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 5, 5, 8, 5);
     gtk_container_add (GTK_CONTAINER (demo->annot_view), alignment);
     gtk_widget_show (alignment);
 
@@ -609,12 +606,9 @@ pgd_annot_view_set_annot (PgdAnnotsDemo *demo,
     pgd_table_add_property (GTK_GRID (table), "<b>Modified:</b>", text, &row);
     g_free (text);
 
-    text = g_strdup_printf ("%d", poppler_annot_get_flags (annot));
-    pgd_table_add_property (GTK_GRID (table), "<b>Flags:</b>", text, &row);
-    g_free (text);
-
-    text = g_strdup_printf ("%d", poppler_annot_get_page_index (annot));
-    pgd_table_add_property (GTK_GRID (table), "<b>Page:</b>", text, &row);
+    poppler_annot_get_rectangle (annot, &rect);
+    text = g_strdup_printf ("(%.2f;%.2f) (%.2f;%.2f)", rect.x1, rect.y1, rect.x2, rect.y2);
+    pgd_table_add_property (GTK_GRID (table), "<b>Coords:</b>", text, &row);
     g_free (text);
 
     if (POPPLER_IS_ANNOT_MARKUP (annot))
@@ -654,22 +648,12 @@ pgd_annots_add_annot_to_model (PgdAnnotsDemo *demo,
     GtkTreeIter      iter;
     GdkPixbuf        *pixbuf;
     PopplerAnnotFlag  flags;
-    gchar            *x1, *y1, *x2, *y2;
-
-    x1 = g_strdup_printf ("%.2f", area.x1);
-    y1 = g_strdup_printf ("%.2f", area.y1);
-    x2 = g_strdup_printf ("%.2f", area.x2);
-    y2 = g_strdup_printf ("%.2f", area.y2);
 
     pixbuf = get_annot_color (annot);
     flags = poppler_annot_get_flags (annot);
 
     gtk_list_store_append (demo->model, &iter);
     gtk_list_store_set (demo->model, &iter,
-                        ANNOTS_X1_COLUMN, x1,
-                        ANNOTS_Y1_COLUMN, y1,
-                        ANNOTS_X2_COLUMN, x2,
-                        ANNOTS_Y2_COLUMN, y2,
                         ANNOTS_TYPE_COLUMN, get_annot_type (annot),
                         ANNOTS_COLOR_COLUMN, pixbuf,
                         ANNOTS_FLAG_INVISIBLE_COLUMN, (flags & POPPLER_ANNOT_FLAG_INVISIBLE),
@@ -688,11 +672,6 @@ pgd_annots_add_annot_to_model (PgdAnnotsDemo *demo,
 
     if (pixbuf)
         g_object_unref (pixbuf);
-
-    g_free (x1);
-    g_free (y1);
-    g_free (x2);
-    g_free (y2);
 }
 
 static void
@@ -1083,7 +1062,7 @@ pgd_annots_create_widget (PopplerDocument *document)
     n_pages = poppler_document_get_n_pages (document);
 
     vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
-    vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+    vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
 
     hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
 
@@ -1178,39 +1157,12 @@ pgd_annots_create_widget (PopplerDocument *document)
                                     GTK_POLICY_AUTOMATIC);
 
     demo->model = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING,
-                                      G_TYPE_STRING, G_TYPE_STRING,
-                                      G_TYPE_STRING, G_TYPE_STRING,
                                       GDK_TYPE_PIXBUF, G_TYPE_BOOLEAN,
 				      G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
 				      G_TYPE_OBJECT);
     treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (demo->model));
     demo->tree_view = treeview;
 
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-                                                 ANNOTS_X1_COLUMN, "X1",
-                                                 renderer,
-                                                 "text", ANNOTS_X1_COLUMN,
-                                                 NULL);
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-                                                 ANNOTS_Y1_COLUMN, "Y1",
-                                                 renderer,
-                                                 "text", ANNOTS_Y1_COLUMN,
-                                                 NULL);
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-                                                 ANNOTS_X2_COLUMN, "X2",
-                                                 renderer,
-                                                 "text", ANNOTS_X2_COLUMN,
-                                                 NULL);
-    renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-                                                 ANNOTS_Y2_COLUMN, "Y2",
-                                                 renderer,
-                                                 "text", ANNOTS_Y2_COLUMN,
-                                                 NULL);
-
     column = gtk_tree_view_column_new ();
     gtk_tree_view_column_set_title (column, "Type");
     gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
@@ -1266,8 +1218,16 @@ pgd_annots_create_widget (PopplerDocument *document)
     gtk_widget_show (swindow);
 
     /* Annotation Properties */
-    gtk_box_pack_start (GTK_BOX (vbox2), demo->annot_view, FALSE, FALSE, 6);
+    swindow = gtk_scrolled_window_new (NULL, NULL);
+    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
+                                    GTK_POLICY_AUTOMATIC,
+                                    GTK_POLICY_AUTOMATIC);
+    gtk_container_add (GTK_CONTAINER (swindow), demo->annot_view);
     gtk_widget_show (demo->annot_view);
+    gtk_widget_show (swindow);
+
+    gtk_box_pack_start (GTK_BOX (vbox2), swindow, TRUE, TRUE, 6);
+    gtk_widget_show (swindow);
 
     gtk_paned_add1 (GTK_PANED (hpaned), vbox2);
     gtk_widget_show (vbox2);


More information about the poppler mailing list