commit 90878168cac6365a4208c15ef28f3e81aaf3d2bc
Author: Christian Hergert <chergert@redhat.com>
Date:   Tue Oct 11 20:50:03 2016 -0700

    build: fix distcheck

M	Makefile.am
M	NEWS
M	lib/Makefile.am
M	tests/test-capture-cursor.c
M	tests/test-capture.c

commit 7f4b372b0838d56844f39c19f19da817ded56f38
Author: Balázs Meskó <meskobalazs@gmail.com>
Date:	Tue Oct 11 07:46:45 2016 +0000

    Update Hungarian translation

M	po/hu.po

commit 20f9f479668d1345dd0a051690d92aa4440ffb55
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 10 16:24:22 2016 -0700

    selection: rename SpVisualizerSelection to SpSelection

    We want this in sysprof.h (without UI components) so that we
    can use it to filter things in profilers. Therefore, we don't
    need to make it namespaced to "visualizers" since a time range
    selection is a fairly straightforward, and non-UI confined
    implementation.

M	lib/Makefile.am
M	lib/sp-callgraph-profile.c
M	lib/sp-callgraph-profile.h
R062	lib/sp-visualizer-selection.c	lib/sp-selection.c
A	lib/sp-selection.h
D	lib/sp-visualizer-selection.h
M	lib/sp-visualizer-view.c
M	lib/sp-visualizer-view.h
M	lib/sysprof.h
M	src/sp-window.c

commit c12c8bc3450ae3a1f72fcf73336b0a9185ae6763
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 10 15:50:58 2016 -0700

    visualizer-ticks: remove GdkWindow from ticks widget

    This is preventing us from selecting using the region where the
    ticks are drawn. This allows the GtkOverlay pass-through child
    property to work.

M	lib/sp-visualizer-ticks.c

commit e3f2b8760daa329c8778169d5226ef092cfb76aa
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:	Mon Oct 10 12:41:13 2016 +0200

    Update Polish translation

M	po/pl.po

commit 17497498c79e859f3fd0224f54086cf7de42c011
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:	Mon Oct 10 12:23:45 2016 +0200

    Update POTFILES.in

M	po/POTFILES.in

commit 3b61aefdce17b8a8004efee6c9207cbc0238fad4
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 10 01:48:00 2016 -0700

    writer: flush before creating reader from writer

    This ensures we have a valid end_time updated in the header
    before creating a reader.

M	lib/sp-capture-writer.c

commit 8e824c2886dd13a65fe6329434f8236a477d4a49
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 10 00:57:57 2016 -0700

    build: bump version so Builder can depend on recent changes

    So that Builder can depend on our recent visualizer work, we
    can bump the version now here. We will release 3.22.1 before
    too long anyway, so its fine to bump the number now and just
    update news/tag for release.

M	configure.ac

commit 4f659abad221534efed76f0d00a33ebbc056754a
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 21:12:49 2016 -0700

    update NEWS

M	NEWS

commit ceb7c02f9380f26437eee8cc04b0d4d3cf4f3dde
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 20:31:10 2016 -0700

    sysprof-ui: add missing header to sysprof-ui.h

M	lib/sysprof-ui.h

commit e239887a9bc8ba16e89c61e092619779f69f6f18
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 15:12:50 2016 -0700

    empty-state: make empty state labels changable

M	lib/resources/ui/sp-empty-state-view.ui
M	lib/sp-empty-state-view.c

commit ff8ef76d38bee592e240f611204383f6da51ff40
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 15:12:38 2016 -0700

    theme-manager: remove debug code

M	lib/sp-theme-manager.c

commit 034a7d881ff6c4d519562ba720b41b7cb97712a6
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 12:36:28 2016 -0700

    visualizer-view: ensure types are registered

    These have the chance of being dropped unless we export them
    here manually. We probably should change how we export symbols
    so this isn't required in the future.

M	lib/sp-visualizer-view.c

commit 3b2f2505d3c4066a77dc2e9e18a7a902f230f660
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Oct 9 12:36:17 2016 -0700

    sysprof-ui: add missing header to public API

M	lib/sysprof-ui.h

commit bc154617a31c717d46adcb86a3b52d8744961231
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 20:30:06 2016 -0700

    sysprof-dump: print relative time for samples

    This can be handy to quickly look at the relative time using
    a double as the time.

M	tools/sysprof-dump.c

commit 34f493d553f37f07d3c29f74dc13d7f3aac5051e
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 20:29:16 2016 -0700

    capture: use SpClock for current timestamp

    It is important that our capture current time matches the
    same clock we are using for events. Otherwise we could have
    drift between CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW.

M	lib/sp-capture-types.h

commit b91deb26a99b6de6e5cc9e50d85e2a97f3dae13b
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 20:28:56 2016 -0700

    test-capture: initialize clock on startup

M	tests/test-capture.c

commit 62189670af9da5e2cfb2ac6db6296956a8a17d55
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 20:09:49 2016 -0700

    callgraph: update callgraph when selection changes

    When the visualizer selection is changed, we can update the
    callgraph to ensure all samples fall within the time range.

M	lib/sp-callgraph-profile.c
M	lib/sp-callgraph-profile.h
M	src/sp-window.c

commit 00b9b1fbf5457b0cda3bfde6b1c493ef3f49ef4e
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 20:08:56 2016 -0700

    visualizer-selection: move selection to sysprof.h

    This allows us to use the selection in profile components
    without the use of Gtk.

    We will probably end up renaming this class to SpSelection or
    something like that.

M	lib/Makefile.am
M	lib/sysprof-ui.h
M	lib/sysprof.h

commit 1e38dc7b3703f66cb064209a5c67d50ede608081
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 19:20:45 2016 -0700

    callgraph-view: add missing get_profile() accessor

M	lib/sp-callgraph-view.c

commit 37edc29cbbeec75ea001d87f427283ec406a1c10
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 19:20:30 2016 -0700

    callgraph-view: clear models when unloading

M	lib/sp-callgraph-view.c

commit 42b82f69c9f722d8521916f7bee62306debd2da4
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 19:19:46 2016 -0700

    visualizer-selection: add visualizer helpers

    Adds a copy helper (for thread access) and a contains helper.

M	lib/sp-visualizer-selection.c
M	lib/sp-visualizer-selection.h

commit 7c55f379bb88a502f533189608de5d47be79c8b1
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 16:28:18 2016 -0700

    theme-manager: add SpThemeManager and use it for custom css

    We want to set some custom backgrounds for the visualizers, and
    those need to track with the current theme. SpThemeManager will
    watch the systems theme changes (including dark theme) and
    update the loaded CSS resources as necessary.

M	lib/Makefile.am
A	lib/resources/css/SpVisualizerView-Adwaita-dark.css
A	lib/resources/css/SpVisualizerView-Adwaita.css
R100	lib/resources/css/shared.css
lib/resources/css/SpVisualizerView-shared.css
M	lib/resources/libsysprof.gresource.xml
A	lib/sp-theme-manager.c
A	lib/sp-theme-manager.h
M	lib/sp-visualizer-view.c
M	src/resources/theme/shared.css

commit 7ca849313066c0419d62ee3146ede55d52212084
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 16:27:27 2016 -0700

    viewport: remove SpViewport

    We didn't end up using this by using plain GtkViewport.

M	lib/Makefile.am
D	lib/sp-viewport.c
D	lib/sp-viewport.h

commit aa61c435475936286571bfa35decd08d78d822c1
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 15:36:01 2016 -0700

    visualizer-view: fix selections when scrolling

    If we have a scrolled view, we might be a bit off on the
    selected range until this commit. This adjusts for the scrolled
    area and ensures that both ticks and selections land in the
    right place.

M	lib/sp-visualizer-view.c

commit 527f95fa77ca782e180e3bf725b4608544711566
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 15:09:38 2016 -0700

    help-overlay: add help overlay to SpWindow and app menu

    This adds an app menu and window action to activate the keyboard
    shortcuts overlay.

A	src/resources/gtk/help-overlay.ui
M	src/resources/gtk/menus.ui
M	src/resources/sysprof.gresource.xml
M	src/sp-application.c

commit 70aeeb66bcf851589e20d19350639396f145e8b6
Author: Christian Hergert <chergert@redhat.com>
Date:	Sat Oct 8 13:40:12 2016 -0700

    visualizer-selection: initial visualizer selection support

    This gets started on allowing the user to select a region.
    Nothing is yet responding to the changes in selection, but
    that can come later.

    Ideally, we will truncate (or mark rows invisible/insensitive)
    if they do not fall within the selected time region.

M	lib/Makefile.am
A	lib/resources/css/shared.css
M	lib/resources/libsysprof.gresource.xml
M	lib/resources/ui/sp-visualizer-view.ui
M	lib/sp-visualizer-row.c
A	lib/sp-visualizer-selection.c
A	lib/sp-visualizer-selection.h
M	lib/sp-visualizer-view.c
M	lib/sp-visualizer-view.h
M	lib/sysprof-ui.h

commit e85707f5c9d938403d25d2e6391e849f507f5c25
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Oct 7 12:58:30 2016 -0700

    visualizer-ticks: make lines sharper

    These multi-width lines were blurry, so for now just make them
    1px wide.

M	lib/sp-visualizer-ticks.c

commit 8f613b5352c49a82e2944600593bbc0ad3d0e5a4
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Oct 6 22:26:52 2016 -0700

    visualizer-ticks: fix msec value

M	lib/sp-visualizer-ticks.c

commit 72a8276fafbe293d7cb3da498856508118e8bf63
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Oct 6 21:03:01 2016 -0700

    visualizer-view: fix time range for ticks

    This uses the graph_width to get the proper time range of the
    visualizer row. Mostly, this is just complicated because we
    the ticks to be an overlay rather than inline with the list
    rows.

M	lib/resources/ui/sp-visualizer-view.ui
M	lib/sp-visualizer-view.c

commit c5fb8b5fc94fc9bc9b6034333f26c212868e4208
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Oct 6 21:02:00 2016 -0700

    visualizer-row: add private access to graph_width

    Having this makes a few things easier now that we are relying
    on pixel cache for scrolling.

M	lib/Makefile.am
A	lib/sp-visualizer-row-private.h
M	lib/sp-visualizer-row.c

commit 51ed367b743db8d7efe94aece5df817de42aee14
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Oct 4 17:47:37 2016 -0700

    wip: visualizer work

M	lib/resources/ui/sp-visualizer-view.ui
M	lib/sp-line-visualizer-row.c
M	lib/sp-visualizer-list.c
M	lib/sp-visualizer-list.h
M	lib/sp-visualizer-row.c
M	lib/sp-visualizer-row.h
M	lib/sp-visualizer-view.c

commit 6d9656e6fe82c744221c40350e74f37d1356184f
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Oct 4 12:29:50 2016 -0700

    visualizer-view: use queue_resize instead of queue_draw

    We need everything to update from this widget down the widget
    hierarchy so they all get redrawn. Queuing a resize will ensure
    that happens.

M	lib/sp-visualizer-view.c

commit 8d8c879384f326ee12b8d2893e6ccff9843e5fdc
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 3 16:08:13 2016 -0700

    visualizer-view: add helper viewport for scrolling

    We can avoid using the inline scrollbar in favor of overlay
    scrolling if we bridge the adjustment into the GtkViewport.
    This sadly requires us to subclass things to get it just
    right.

M	lib/Makefile.am
M	lib/resources/ui/sp-visualizer-view.ui
A	lib/sp-viewport.c
A	lib/sp-viewport.h
M	lib/sp-visualizer-view.c

commit 59cbd8fc3f17bd12106126cc63fa0b99c016bc83
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Oct 3 16:06:00 2016 -0700

    visualizer-view: fix logic on swapping times

M	lib/sp-visualizer-view.c

commit 6eee3343de06321301aa1866b52e83c92c22e9e1
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 18:25:22 2016 -0700

    visualizer-ticks: avoid FPE

M	lib/sp-visualizer-ticks.c

commit 974f0b45fbfd668a08eba0204b82f20b2c32f8a8
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 18:07:39 2016 -0700

    line-visualizer-row: adjust surface when time range changes

    We can reuse the existing surface, but we need to render it
    at an offset so that we aren't so shaky under scrolling.

M	lib/sp-line-visualizer-row.c

commit fef48610dad785aa8f4248f9a3a6b1b8b13f7136
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 17:33:33 2016 -0700

    visualizer-row: allow begin/end time to be NULL

M	lib/sp-visualizer-row.c

commit 69f5da327dc2421421c8094fa00ec71e4d9ab271
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 17:32:41 2016 -0700

    app: add more complete keybindings

    This matches more closely to Epiphany, which for better or worse
    is the closest use-case we have currently for our zoom design.

M	src/sp-application.c

commit 5adb7d6d2c2213e3571298f14a6bcf54471f4ae9
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 17:11:29 2016 -0700

    multi-paned: only mark position if sequence is accepted

    This fixes a bug where any time we touch the adjacent scrollbar,
    the position of the paned gets set.

M	lib/sp-multi-paned.c

commit 76b92cec999d7c133b60bf7ed0a89478fe058094
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 17:07:33 2016 -0700

    visualizer-ticks: don't render 00:00:00.0000

    If we are at the beginning of a capture, we would end up drawing
    the msec because h/m/s were all zero. Make sure we also have a
    non-zero msec or just fallback to regular timestamps.

M	lib/sp-visualizer-ticks.c

commit 5c53dd5d6e61db735c471ff81654a5302c33825e
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 17:04:48 2016 -0700

    visualizer-view: avoid overscroll upon zoom change

    When changing the zoom (zooming out), we could potentially
    let the scrollbar be past the end. This looks pretty bad when
    the GtkWindow doesn't clip correctly.

    This just adjusts things so we push ourselves back into the
    visible area.

M	lib/sp-visualizer-view.c

commit e54c496f7d6e2a53faff3446037fc7d16318d57e
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 16:59:11 2016 -0700

    visualizer-view: set hscrollbar policy to never

    Because we are using ListBox, we can't quite do scrolling the
    way we'd like (naturally using the scrolled window). So for now
    we need to just disable hscrolling here.

    However, it would be nice if we could teach the viewport to
    handle this correctly so that it wires up the
    GtkScrollable:hscrollbar-adjustment to our internal one.

M	lib/resources/ui/sp-visualizer-view.ui

commit 151895749d7ff6381534142e72c4b5ee84d674a9
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 16:56:46 2016 -0700

    window: remove unused variable

M	src/sp-window.c

commit 0d8f45f03400a5c50935fd9012980460e6f489ab
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 16:54:17 2016 -0700

    visualizer-ticks: draw position labels next to ticks

    This adds label text next to important epochs. We determine
    which epochs are important by trying to choose the waypoints
    that had more than 2 epochs land in view.

    This avoids showing numbers for multiple time-spans, but giving
    enough context to be useful.

M	lib/sp-visualizer-ticks.c

commit a20ba80f3debeb7f724552e696a0e648e63782d4
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 14:02:58 2016 -0700

    line-visualizer-row: disable time optimization

    This is overactive because we could be zoomed in so far that we
    don't pick up the adjacent frame. We need something more clever
    that can pick up frames adjacent to the visible area of the
    capture.

M	lib/sp-line-visualizer-row.c

commit 879d00199a3813b72cf520585653eef2fbe92f75
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:55:53 2016 -0700

    window: add tooltips

M	src/resources/ui/sp-window.ui

commit bd008c0826a54878616d8dc86ae804c0311e1ae9
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:29:09 2016 -0700

    app: add accels for zoom actions

    Adds ctrl++, ctrl+-, and ctrl+0 for typical zoom operations on
    the visualizers.

M	src/sp-application.c

commit c116120563c1d73da603c53aa505fa38dc802eaa
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:21:17 2016 -0700

    visualizer-ticks: adjust ticks for capture epoch

    We need to take into account the real start of the capture to
    land the ticks in the right position. Add "epoch" concept
    to SpVisualizerTicks for just this purpose.

M	lib/sp-visualizer-ticks.c
M	lib/sp-visualizer-ticks.h
M	lib/sp-visualizer-view.c

commit 54116ba765318b5db53f081261557b9b36c3520d
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:09:13 2016 -0700

    sysprof-ui: make SpVisualizerTicks and SpVisualizerList private

    This classes are implementation details and should not be
    exposed into our public API/ABI.

M	lib/Makefile.am
M	lib/sysprof-ui.h

commit 428cbcbfbbba3eab028b391b70a1974a2dd6afa1
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:01:57 2016 -0700

    sysprof-ui: add SpMultiPaned to public API

    This adds sp-multi-paned.h to the public API of libsysprof-ui-2

M	lib/sysprof-ui.h

commit 2d8401a542909612f7527320dd2f80f3de96eebc
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 13:00:31 2016 -0700

    window: use SpMultiPaned

    This allows us to have the SpVisualizerView grow and shrink
    along with the visualizer content up until the user has manually
    moved the paned handle. At which point it clamps to that
    position as allowed by the size request phases.

M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit d64bd3fe51273d13fb2be19259e0fcb4e4c4420b
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 12:59:57 2016 -0700

    visualizer-view: set vexpand on scrolledwindow

    This ensures that the scrolled window expands to the visible
    area, which is indeed the desired effect.

M	lib/resources/ui/sp-visualizer-view.ui

commit f9e19131b5d92a61a38929e52ae8fa9c2e2e6ff0
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 12:59:09 2016 -0700

    multi-paned: add SpMultiPaned

    This is copy/paste from PnlMultiPaned. The feature we want from
    it is the ability to resize paned halves based on their natural
    sizing up until the user has manually changed the paned handle
    position.

M	lib/Makefile.am
A	lib/sp-multi-paned.c
A	lib/sp-multi-paned.h

commit 69d5dd2f5f5b25620934145be7ab1486138a661e
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Sep 30 10:54:53 2016 -0700

    avoid warnings on shutdown

    Occasionally we could get a few warnings during shutdown due
    to inconsistent teardown state. This tries to handle those so
    we shutdown cleanly.

M	lib/sp-callgraph-view.c
M	lib/sp-profiler-menu-button.c

commit fa58f7a941caa0a419e509839563ac49b5be960e
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Sep 29 18:14:50 2016 -0700

    visualizer-view: hide scrollbar by default

M	lib/resources/ui/sp-visualizer-view.ui

commit 4bd72708d7e2e1189a041692bf1d0323860c6718
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Sep 29 18:10:29 2016 -0700

    line-visualizer-row: handle HiDPI properly

    When we find ourselves on a HiDPI display, we need to make sure
    we setup the device scale factor properly and adjust our render
    checks for valid surface sizes.

M	lib/sp-line-visualizer-row.c

commit 75332678a6d4954f6f14ff8e3d8e0b678d369a21
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Sep 29 17:49:53 2016 -0700

    visualizer-view: dynamically toggle scrollbar visibility

    Generally we want this thing hidden, so only show it if we have
    zoomed in enough to cause it to be useful.

    We need to also find a way for the container to be able to
    handle the change in size request and adjust the GtkPaned
    to be non-ugly.

M	lib/sp-visualizer-view.c

commit 0766bd6b93b250e84fef1b75cfc4430c935038f6
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Sep 29 14:59:02 2016 -0700

    line-visualizer-row: restrict data points to visible range

    We don't want to cache all the datapoints from the underlying
    capture, just the datapoints for the visible region (and some
    at the edges so we get proper cairo_curve_to() x,y coordinates).

    This isn't a major optimization yet until we start supporting
    much larger capture sizes. But that will mostly be improved with
    capture indexes anyway.

M	lib/sp-line-visualizer-row.c

commit caa95fcca706c212f919d47a94859c27ec48c985
Author: Christian Hergert <chergert@redhat.com>
Date:	Thu Sep 29 14:37:00 2016 -0700

    visualizer-view: implement basic panning

    There are lots of little things that need fixing, such as the
    ticks positioning, and reusing surfaces as much as possible, but
    this gets our "MVP" panning in place.

M	lib/resources/ui/sp-visualizer-view.ui
M	lib/sp-visualizer-view.c

commit 342ee71119de323a67e16303dfd7459f98878004
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 21:02:01 2016 -0700

    window: add separators in gear menu

M	src/resources/ui/sp-window.ui

commit b9b96184cde2d7034ffcfd8db744d482559887c4
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 19:56:39 2016 -0700

    visualizers: wire zoom manager to visualizers

    This gets the basic zoom control working. I anticipate we'll
    need some additional changes once we land panning support.

M	lib/sp-line-visualizer-row.c
M	lib/sp-visualizer-row.c
M	lib/sp-visualizer-view.c
M	lib/sp-visualizer-view.h
M	src/resources/ui/sp-window.ui

commit aaf521ef1d8fceef40c0d2b334ead07d40426db2
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 18:11:32 2016 -0700

    window: set minimum zoom level

M	src/resources/ui/sp-window.ui

commit 9bd3891d4325f4441da5eb1063991d1ba78325d8
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 18:08:34 2016 -0700

    window: use floor() instead of ceil()

    Otherwise we get 111% instead of 110%.

M	src/sp-window.c

commit 60e917a5d13e261cbf8d905296e526df82816337
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 18:06:33 2016 -0700

    window: update zoom reset label to display current zoom

M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit baf26fa0b6e93c2e2348a5712e63bef74f3da962
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 18:06:00 2016 -0700

    build: add $LIBM to the sysprof binary

M	configure.ac
M	src/Makefile.am

commit 50bfd8db727555628022ed0a78d5335cf0ec265b
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 17:51:48 2016 -0700

    zoom: add plumbing for zoom to SpWindow

    This uses the new ZoomManager to wire up zoom controls for the
    main window. We had to switch away from GMenu to give ourselves
    the control we will need for the zoom label of 100% which still
    needs to be wired up.

M	src/resources/gtk/menus.ui
M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit e6ecad548aed1a39e1d7986b963fb0ee60f638b7
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 17:13:24 2016 -0700

    zoom-manager: add zoom manager to simplify zoom control

    This will give us a single place to deal with the mechanics of
    how zoom works, and then our UI code can simply apply the value
    as necessary.

M	lib/Makefile.am
A	lib/sp-zoom-manager.c
A	lib/sp-zoom-manager.h
M	lib/sysprof-ui.h
M	tests/Makefile.am
A	tests/test-zoom.c

commit 4d48f98f6dcdf97d9179d2cb5ebf1edb79dd5500
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 14:13:15 2016 -0700

    visualizer-ticks: remove extraneous assertion

    This isn't exactly true anymore, so we need to remove it now
    that we can have more interesting time spans.

M	lib/sp-visualizer-ticks.c

commit 7831b767d017edf9396e1f4ff006a6b4a6e000c2
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 14:10:29 2016 -0700

    visualizer-view: shrink time range when necessary

    If we don't have a minute worth of input, we should shrink the
    visible area to exactly what we came across.

    We still have the issue of the UI creating the capture file
    before auth has completed, but we can fix that later so we
    have a "semantically" correct start time.

M	lib/sp-visualizer-view.c

commit 527ad1476ca2dc3dc41b464a296e5be682064f81
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 14:09:53 2016 -0700

    cpu-visualizer: reset colors upon new reader

    We want to reset our colors so that we look the same on
    subsequent loads, which is what the user would expect.

M	lib/sp-cpu-visualizer-row.c

commit baabf7692c7cece625eae5c2d61d2da25182b163
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 14:09:32 2016 -0700

    color-cycle: add reset helper

    This will reset the colors and move back to position 0.

M	lib/sp-color-cycle.c
M	lib/sp-color-cycle.h

commit 388557cdfe7305dc81bd15469ea2087247a1d550
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 13:23:51 2016 -0700

    window: expand for visualizers as necessary

    We want the paned to expand for the visualizers so that the
    UI looks natural as often as possible without scrolling.

M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit b5fccca06981bf49eeef7420bc1a834a6bb90b57
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 13:22:51 2016 -0700

    visualizer-view: add ::visualizer-added and ::visualizer-removed

    These signals are emitted when a visualizer row has been added
    or removed from the view. This might be handy if you want to
    resize a paned based on the natural size of the visualizers.

M	lib/sp-visualizer-view.c
M	lib/sp-visualizer-view.h

commit 337334e4fa1577eb7c82a9e0cec658f22209e383
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 13:22:25 2016 -0700

    visualizer-view: remove min height for rows

    We will handle this in other areas, so we can drop this.

M	lib/resources/ui/sp-visualizer-view.ui

commit afbb2cd9368e742b648897f8ad296ac5e82b5ca3
Author: Christian Hergert <chergert@redhat.com>
Date:	Wed Sep 28 12:30:29 2016 -0700

    window: use GtkFileChooserNative

    This helps remove gtk_dialog_run() in favor of
    gtk_native_dialog_run() which safely handles issues with
    the primary main loop making progress.

M	src/sp-window.c

commit f8a0f2701e1d59adf377e3f52a1505ed1c31ca2f
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 23:03:12 2016 -0700

    visualizer-view: add SpVisualizerView

    This adds a new helper widget SpVisualizerView to simplify using
    visualizers from applications using libsysprof-ui-2 such as
    Builder.

    We can manage the view range, zoom, etc from this widget going
    forward.

M	lib/Makefile.am
M	lib/resources/libsysprof.gresource.xml
A	lib/resources/ui/sp-visualizer-view.ui
M	lib/sp-visualizer-ticks.c
A	lib/sp-visualizer-view.c
A	lib/sp-visualizer-view.h
M	lib/sysprof-ui.h
M	src/resources/theme/shared.css
M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit 2197a0c02e5d7f7193e93f4688acf26606e28f88
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 21:24:33 2016 -0700

    capture: add end time for captures

    Update the end time when we flush the buffer to disk. Also add
    a way to either incrementally get the end time or rely on the
    header when possible.

M	lib/sp-capture-reader.c
M	lib/sp-capture-reader.h
M	lib/sp-capture-types.h
M	lib/sp-capture-writer.c
M	tests/test-capture.c

commit 4953731dd7c8b5a19949783fdd38cc7de1ffd796
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 19:18:40 2016 -0700

    cpu-visualizer-row: choose color for row

    For each CPU counter we come across, choose a new color from
    the cycle.

M	lib/sp-cpu-visualizer-row.c

commit f3cec0f8c136733f1fb9c8c57897d79e93bd2b63
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 19:18:29 2016 -0700

    line-visualizer-row: add color parameter for counter

    Allow specifying a color for a counter that is added to the
    visualizer.

M	lib/sp-line-visualizer-row.c
M	lib/sp-line-visualizer-row.h

commit e7e8e913b51c99e19b7f47ed680463fbbc8beee6
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 19:16:07 2016 -0700

    color-cycle: add color generator helper

    We need a simple helper to choose colors for visualizers so
    they do not overlap. This is just a simple cycle using some
    predefined colors.

    We should come up with something more unique in the future or
    possibly do this with CSS and :nth-child(n) once we have access
    to CSS nodes.

M	lib/Makefile.am
A	lib/sp-color-cycle.c
A	lib/sp-color-cycle.h

commit 5a5bf1900f3f46ba0f06a587030b48bd24b502d1
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 18:32:13 2016 -0700

    visualizer-ticks: adjust ticks opacity

    We can lighten the ticks a bit here and still be theme agnostic.

M	src/resources/theme/shared.css

commit 21ed742215bf89d454a5a66d2fb2083254dd0c0c
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 18:30:55 2016 -0700

    line-visualizer-row: only queue draw when using widget style

    We can avoid queuing a new draw request if we are not using
    the default styling of the widget in the line drawing.

M	lib/sp-line-visualizer-row.c

commit 21db65167f60a6bff0afbd698e31fdba93fd3a1e
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 18:27:59 2016 -0700

    line-visualizer-row: use default foreground to draw

    When drawing lines, default to the foreground color of the
    widget. This means we also need to queue a draw when the CSS
    style has been updated.

M	lib/sp-line-visualizer-row.c

commit 7aee4c428bb1bda9dfd1a13c5a294f79949c98fa
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 17:22:05 2016 -0700

    css: tweak css for visualizers

    Just some style fixes that make things look better when playing
    around with the paned and showing overscroll.

M	src/resources/theme/shared.css

commit f2f03259a2ad75948d3c9e825bd89260485272ab
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 17:21:49 2016 -0700

    visualizer-ticks: set CSS element name to "ticks"

M	lib/sp-visualizer-ticks.c

commit fa1a8d9276ab2a13d69e0c88b0207bc5e3b12345
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 17:21:28 2016 -0700

    visualizer-ticks: use color from GtkStyleContext

    This should improve the coloring when used with a dark theme.

M	lib/sp-visualizer-ticks.c

commit 3a3b4f1fa06a0b56d41d0ecd6790bd77c4eca993
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 17:09:37 2016 -0700

    visualizer-ticks: adjust line draw ordering

    We want to draw the most important ticks on top, which will
    improve things should we start using CSS to define styling.

M	lib/sp-visualizer-ticks.c

commit 857082b222dc5621c878a475aa449b51f64f2ff4
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 17:08:52 2016 -0700

    visualizer-ticks: tweak half-line positioning

    Just to get things a bit more friendly should we choose even
    line widths.

M	lib/sp-visualizer-ticks.c

commit ad130db3d6e1f5d49188fe3bbe2729f91b060b27
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 16:44:23 2016 -0700

    cpu-visualizer-row: hide if no counters were found

    If we failed to locate any counters, then there isn't much we
    can show the user here. So just hide the row.

M	lib/sp-cpu-visualizer-row.c

commit 984fac73b6aad82318c78422f541c5df3767d3e0
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 16:38:17 2016 -0700

    visualizer-ticks: adjust tick positioning and add 5sec span

    Just some improvements to out positioning so things line up
    as expected.

M	lib/sp-visualizer-ticks.c

commit aa21c2379f347d6bfd6dcec44209a630eeadabd6
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 15:42:26 2016 -0700

    visualizer-ticks: start on minimal ticks implementation

    We need some sort of scale for content, so we will do this with
    an overlay for now. However, we will also want something to be
    able to do selections in the future.

    This still needs some iteration for correctness, but this sort
    of gets the ball rolling.

M	lib/Makefile.am
A	lib/sp-visualizer-ticks.c
A	lib/sp-visualizer-ticks.h
M	lib/sysprof-ui.h
M	src/resources/theme/shared.css
M	src/resources/ui/sp-window.ui

commit c24306349ff261568c9cbfc0804932b27b5d6e70
Author: Christian Hergert <chergert@redhat.com>
Date:	Tue Sep 27 15:40:46 2016 -0700

    line-visualizer-row: ignore css border

    If a border is specified in CSS, we do not want to draw on
    that. Make sure we adjust our allocation to take that into
    account.

M	lib/sp-line-visualizer-row.c

commit 1dcb41f623585a2b7b1f163821067d60c7739a86
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 23:24:17 2016 -0700

    line-visualizer-row: use scaled surface when available

    If we have not yet received our proper draw for the new size
    allocation (likely right after the size allocate), then we can
    just use the old surface but at a scaled value. This is handy
    so that we don't block the main loop trying to do drawing of
    lots of data points. Instead we just scale the image and wait
    for the high-quality version to complete.

M	lib/sp-line-visualizer-row.c

commit 321fc18eee3f5310f484fb526c2a6e3cb9610f26
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 22:14:44 2016 -0700

    cpu-visualizer-row: stop after locating counters

    In practice, we do a single counter definition for the CPU
    definitions. So we can stop iterating the samples after we
    successfully locate an item.

M	lib/sp-cpu-visualizer-row.c

commit f600a963642602a2a630c7c3d77660583f30a631
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 21:59:28 2016 -0700

    hostinfo: stash CPU usage 4x per second

    Probably want to make this a tunable at some point, but this
    makes things a bit better for graphing now.

M	lib/sp-hostinfo-source.c

commit 573ba7bf511bee0b855fc6d47af25c1360677f9f
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 21:57:33 2016 -0700

    line-visualizer-row: use cairo_curve_to()

    This makes our line graph match more closely to the design
    coming from Builder's cpu graph.

M	lib/sp-line-visualizer-row.c

commit 4bdbc46381c5ae42ea9aaa7a5a9c9311316224e6
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 20:08:34 2016 -0700

    line-visualizer-row: simplify data point rendering

    We can use some crafty scale/translations to simplify the
    line drawing of data points.

M	lib/sp-line-visualizer-row.c

commit 63e7e1d1dda969c1f6c1189e0d5a82f0458e15ef
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 19:27:37 2016 -0700

    line-visualizer-row: remove debug code

M	lib/sp-line-visualizer-row.c

commit bdc62bac1edb75dbfc2a76af8c491756fdaafca4
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 19:21:10 2016 -0700

    visualizer-list: add SpVisualizerList

    This simplifies the visualizer reader and time propagation. It
    will also give us a single place to manage zoom levels when we
    get to that.

M	lib/Makefile.am
A	lib/sp-visualizer-list.c
A	lib/sp-visualizer-list.h
M	lib/sysprof-ui.h
M	src/resources/ui/sp-window.ui
M	src/sp-window.c

commit 24477d41cf4a7f17e78c3234a359087b3c6ce3f1
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:38:47 2016 -0700

    line-visualizer: plumb off-screen rendering mechanics

    This starts getting the mechanics in place for off screen
    rendering using a cairo image surface. We create our own
    point cache for storing x,y pairs and then simplify our
    drawing based on that.

M	lib/sp-line-visualizer-row.c
M	lib/sp-line-visualizer-row.h

commit 7e38d929da69b7b97d874659ec7f180d9a7f582c
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:38:29 2016 -0700

    window: set y scale for graph

M	src/resources/ui/sp-window.ui

commit e537b84c29d566ce32468d3df5ad86b7d99437ba
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:37:59 2016 -0700

    cpu-visualizer: remove prepare vfunc

    This is going away, at least in this form.

M	lib/sp-cpu-visualizer-row.c

commit e4bc640a491f3fd5997c1406448086aa9239a1bd
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:37:11 2016 -0700

    capture-cursor: reset reader upon creation

    When creating our private reader copy, we need to reset the
    reader so that we start at the beginning. Otherwise, we are
    likely to be at the end of the capture (especially for in
    memory captures).

M	lib/sp-capture-cursor.c

commit a3257ed40bb1c2ad5b08622679d5220ff004fbdf
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:36:47 2016 -0700

    capture-condition: style cleanup

    Just some nits and defensive programming.

M	lib/sp-capture-condition.c

commit 571c2320da8e6b534c60d9fda77db01f3131fbed
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 26 17:34:58 2016 -0700

    pointcache: add PointCache utility class

    This is a simple cache that keeps x,y pairs for use when drawing
    visualizers. To keep this generic, and save on memory, we simply
    store the x,y coordinates as floats between 0.0 and 1.0. This
    saves us roughly 50% on each data point over the 2 8-byte
    numbers we would otherwise store.

    Obviously, we could take this further and make some fancy index
    storage with run-length-encode values, but this should work for
    now and allow us to get more exotic later.

M	lib/Makefile.am
A	lib/util/pointcache.c
A	lib/util/pointcache.h

commit 0a9193ab700af05066d883e9ffd54ecc1f5d0569
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 15:37:00 2016 -0700

    line-visualizer: remove legacy drawing code

    This provides the plumbing to do the threaded drawing, we just
    need to write the capture cursor and draw operations from the
    pixman/cairo worker thread (and do so safely).

M	lib/sp-line-visualizer-row.c

commit 5ceff81d5dd29cc0dddd2e725fb023e43bc4a900
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 15:35:14 2016 -0700

    visualizer: add set_time_range() and get_time_range()

    This allows the row to be notified of the visible range, which
    can result from changing the zoom or a new reader being set.

M	lib/sp-visualizer-row.c
M	lib/sp-visualizer-row.h

commit 1f07467800fc005dd2e8419151cdddb444a10072
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 13:32:14 2016 -0700

    capture-condition: add new AND condition

    This requires that both the left and right condition evaluate
    to TRUE. We obviously will want to add more of these for things
    like OR, NOT, etc. However, we can add them as necessary since
    they are fairly self contained patches.

M	lib/sp-capture-condition.c
M	lib/sp-capture-condition.h

commit 7d0cce7bdfdd1a42505ba6c8d115cbf1c1b08a3e
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 12:21:56 2016 -0700

    ui: remove legacy CSS selectors

    Now that we bumped the gtk+ requirement, we can remove the old
    CSS selectors that are obsolete.

M	src/resources/theme/shared.css

commit 3b9ea07d31c12d37e8ad72ed62fe7116febfeaf8
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 12:19:53 2016 -0700

    cpu: discover cpu counters from SpCaptureReader

    This allows us to dynamically discover the cpu counters from the
    capture by looking for the "CPU Total" category.

M	lib/Makefile.am
A	lib/sp-cpu-visualizer-row.c
C052	lib/sp-line-visualizer-row.h	lib/sp-cpu-visualizer-row.h
M	lib/sp-line-visualizer-row.c
M	lib/sp-line-visualizer-row.h
M	src/resources/ui/sp-window.ui

commit 84c61c3344733c67fca552ebfeba6a0e1b5a94ba
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 11:36:18 2016 -0700

    capture-condition: add matcher for counter ids

    This lets us focus on the query of "show me all events related
    to counter X" rather than the implementation details. Which
    means later on, if we build a real index, we can optimize this
    without changing user code.

M	lib/sp-capture-condition.c
M	lib/sp-capture-condition.h

commit 01794db9b0c60545b8652249f3346e2564c3731f
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 00:27:54 2016 -0700

    visualizer-row: add padding to visualizer rows

M	lib/sp-visualizer-row.h

commit 58017c3b45507df02e06205b3f197b89477b9f25
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 00:27:28 2016 -0700

    build: ensure we build and run new tests

M	tests/Makefile.am

commit ae281af0e27b33864209d4046db268f1974728fb
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 00:27:07 2016 -0700

    build: bump autoconf files

M	m4/ax_is_release.m4

commit c19d0635aa7f147007cdefc6f2fb9dde326fbf8b
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 00:25:08 2016 -0700

    capture: add SpCaptureCursor and associated types

    This API helps us simplify some of the tooling to iterate
    through a capture. In particular, we might want to setup a
    bunch of matches and then just iterate through the items.

    This can also allow delaying the iteration until the future
    which might be handy for visualizers which won't want to block
    the main loop.

    I'm not jazzed about the 64k buffer created for every cursor
    due to the SpCaptureReader copy, but it's probably not a big
    deal in practice until we start doing more exotic things.

M	lib/Makefile.am
A	lib/sp-capture-condition.c
A	lib/sp-capture-condition.h
A	lib/sp-capture-cursor.c
A	lib/sp-capture-cursor.h
M	lib/sp-capture-types.h
M	lib/sysprof.h
A	tests/test-capture-cursor.c

commit b8f465659b4c947597f8305b319470b4d2edd4a3
Author: Christian Hergert <chergert@redhat.com>
Date:	Sun Sep 25 00:23:28 2016 -0700

    reader: add sp_capture_reader_copy()

    This function allows copying a capture so that we can do
    additional reads. This does, however, copy the buffers which
    might be more memory than we want for large usage. We can
    tweak things as we go to figure out the cursors.

M	lib/sp-capture-reader.c
M	lib/sp-capture-reader.h

commit 99ff8f2a5c632a1063af91126cbd3fefb8363f20
Author: Christian Hergert <chergert@redhat.com>
Date:	Fri Apr 15 06:23:53 2016 -0700

    wip: visualizers

M	lib/Makefile.am
A	lib/sp-hostinfo-source.c
C061	lib/sysprof-ui.h	lib/sp-hostinfo-source.h
A	lib/sp-line-visualizer-row.c
C057	lib/sysprof-ui.h	lib/sp-line-visualizer-row.h
C056	lib/sysprof-ui.h	lib/sp-visualizer-row.c
A	lib/sp-visualizer-row.h
M	lib/sysprof-ui.h
M	lib/sysprof.h
M	src/resources/theme/shared.css
M	src/resources/ui/sp-window.ui
M	src/sp-window.c
M	tools/sysprof-cli.c

commit 5b4493e2f0b6c888862c265a1c1e72fe8cf86fc8
Author: Christian Hergert <chergert@redhat.com>
Date:	Mon Sep 19 15:20:51 2016 -0700