Commit Graph

31 Commits

Author SHA1 Message Date
fa1def2afc fix non-literal format string issues
clang errors out when using -Werror=format-nonliteral
since the definition of g_strdup_vprintf() from glib-2.0
is using va_list and clangs still warns where as
gcc doesn't do that for va_list arguments

Fixes
src/sp-window.c:96:27: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
|   str = g_strdup_vprintf (format, args);
|                           ^~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-07 11:21:39 +01:00
f7b27bcd59 window: fix spelling of suggested-action CSS class
I think this was masked by the .destructive-action class being defined
later in the Adwaita CSS than the .suggested-action class, so its values
for each property win.
2018-06-20 14:34:08 +01:00
896bbaea89 Use Unicode in translatable strings
See https://developer.gnome.org/hig/stable/typography.html
2018-05-16 18:12:56 +02:00
c47822b26e source tree cleanup
The lib/ directory was getting a bit out of hand, so this tries
to organize things a bit so it is easier going forward to locate
the code people want to patch.
2017-09-28 16:23:03 -07:00
987f66197f window: add each instance to each own group
Prevents the About dialog from blocking interactions on all windows.

https://bugzilla.gnome.org/show_bug.cgi?id=781053
2017-04-08 20:28:55 -07:00
9d8085a73b window: disable record button while generating profile 2016-11-16 20:14:44 -08:00
20f9f47966 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.
2016-10-10 16:24:22 -07:00
62189670af 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.
2016-10-08 20:09:49 -07:00
151895749d window: remove unused variable 2016-09-30 16:56:46 -07:00
2d8401a542 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.
2016-09-30 13:00:31 -07:00
9bd3891d43 window: use floor() instead of ceil()
Otherwise we get 111% instead of 110%.
2016-09-28 18:08:34 -07:00
60e917a5d1 window: update zoom reset label to display current zoom 2016-09-28 18:06:33 -07:00
50bfd8db72 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.
2016-09-28 17:51:48 -07:00
388557cdfe 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.
2016-09-28 13:23:51 -07:00
afbb2cd936 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.
2016-09-28 12:30:29 -07:00
f8a0f2701e 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.
2016-09-27 23:15:56 -07:00
bdc62bac1e 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.
2016-09-26 19:21:10 -07:00
99ff8f2a5c wip: visualizers 2016-09-23 19:18:36 -07:00
6e597e8898 window: ignore STATE_0 2016-06-21 12:44:36 -07:00
96c8032ab0 sp-window: Hide info bar when starting to record 2016-06-05 18:32:52 +02:00
113baca655 build: fix a few warnings from clang 2016-04-28 04:00:27 -07:00
ff395e94c6 window: protect against delayed ::stopped
Large captures could take a while to complete the stop request, so protect
against that so that the user can't accidentally start another capture.
2016-04-18 00:02:50 -07:00
36008c4ab4 window: notify the user when no valid samples were collected
If we failed to collect any samples in the target profile, let the user
know why the callgraph is empty.
2016-04-15 18:11:31 -07:00
9ba08c8d93 window: reset profiler after capture
We don't really want to reuse SpProfiler instances after running, so when
we transition to browsing, reset the profiler instance.
2016-04-14 16:20:32 -07:00
82bdda6f6f window: stop the profiler when closing the window
This is probably more useful when having multiple windows up, so try to
clean things up by stopping the profiler and delaying the close.
2016-04-14 05:49:01 -07:00
cfd49d2c05 window: call stop() if we are currently recording 2016-04-14 05:40:02 -07:00
88d3ae3b74 profiler: extract SpProfiler into an interface
It would be nice to be able to support a remote profiler session in the
future, so add SpLocalProfiler implementation of SpProfiler interface.
2016-04-14 02:37:28 -07:00
61fed5b8f2 build: split profiler and gtk widgets into separate libraries
This will make it easier to support installing just sysprof-cli and the
sysprofd helper daemon on systems where GTK is not feasible or necessary.
This does not, however, do that. It simply gets things broken up into
pieces.
2016-04-13 21:09:52 -07:00
f69e18f4c8 window: add screenshot action
Shows the screenshot (textual representation) of the descendants tree in
a new window/textview.
2016-04-13 19:40:54 -07:00
f73f5e98ec save-as: add .syscap extension if necessary
We have *.syscap glob registered with the mime types, so ensure that the
file gets saved with that extension.
2016-04-13 09:23:21 -07:00
29c4ec495f Land Sysprof 2.x
This is a major redesign a modernization of Sysprof. The core data
structures and design are largely the same, but it has been ported to
Gtk3 and has lots of additions that should make your profiling experience
smoother. Especially for those that are new to profiling.

There are some very simple help docs added, but we really need the
experts to come in and write some documentation here.
2016-04-13 05:24:03 -07:00