[sysprof/wip/chergert/sysprof-3] libsysprof-ui: fit zoom when loading



commit f1fe3de806e15b106ed367a2345bfa2f160ed72b
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 15 10:54:02 2019 -0700

    libsysprof-ui: fit zoom when loading

 src/libsysprof-ui/sysprof-visualizer-view.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
---
diff --git a/src/libsysprof-ui/sysprof-visualizer-view.c b/src/libsysprof-ui/sysprof-visualizer-view.c
index cb7a626..82d78c4 100644
--- a/src/libsysprof-ui/sysprof-visualizer-view.c
+++ b/src/libsysprof-ui/sysprof-visualizer-view.c
@@ -619,16 +619,31 @@ sysprof_visualizer_view_set_reader (SysprofVisualizerView *self,
 
       if (reader != NULL)
         {
+          GtkAllocation alloc;
           gint64 begin_time;
+          gint64 end_time;
 
           priv->reader = sysprof_capture_reader_ref (reader);
 
           begin_time = sysprof_capture_reader_get_start_time (priv->reader);
+          end_time = sysprof_capture_reader_get_end_time (priv->reader);
 
           sysprof_visualizer_ticks_set_epoch (priv->ticks, begin_time);
-          sysprof_visualizer_ticks_set_time_range (priv->ticks, begin_time, begin_time);
+          sysprof_visualizer_ticks_set_time_range (priv->ticks, begin_time, end_time);
 
           sysprof_selection_unselect_all (priv->selection);
+
+          gtk_widget_get_allocation (GTK_WIDGET (self), &alloc);
+
+          if (alloc.width)
+            {
+              gdouble zoom;
+
+              zoom = sysprof_zoom_manager_fit_zoom_for_duration (priv->zoom_manager,
+                                                                 end_time - begin_time,
+                                                                 alloc.width);
+              sysprof_zoom_manager_set_zoom (priv->zoom_manager, zoom);
+            }
         }
 
       sysprof_visualizer_list_set_reader (priv->list, reader);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]