René Stadler
01ce89639e
models: cleanup dead code
2014-09-11 20:51:47 +02:00
René Stadler
bcfc4197d8
window: prevent default handler for delete-event from running
2014-09-11 20:51:47 +02:00
René Stadler
9829e2bec1
window: set to insensitive during load/filter operations
2014-09-11 20:51:47 +02:00
René Stadler
c84185ca48
window: show error for unparseable files
2014-09-11 20:51:47 +02:00
René Stadler
9fda3730a0
window: replace progress and error dialogs with InfoBars
2014-09-11 20:51:47 +02:00
René Stadler
bfb3b242c7
window: set wmclass, to have a nicer app name when running uninstalled
2014-09-11 20:51:47 +02:00
René Stadler
66e87f752a
Data: fix up out-of-order log lines
...
This is important because we rely on monotonically increasing timestamps for
binary searches in various places.
Overhead for an already sorted file with 1 million lines is less than 5%.
2014-09-11 20:51:47 +02:00
René Stadler
50dd570f3a
window: connect action handlers using a function decorator
...
A bit esoteric, but better than maintaining the list of action names.
2014-09-11 20:51:47 +02:00
René Stadler
421b437167
GUI: use 'with' statement
2014-09-11 20:51:47 +02:00
René Stadler
7a05a716d2
Switch to new try..except syntax
...
This is forward compatible to Python 3.
2014-09-11 20:51:47 +02:00
René Stadler
ca9a31ddd9
columns: auto size time column when setting base time
...
Base time formatting adds + or - in front of the timestamp, so the column has
to grow a little to not hide the last digit.
Also fixes a crash when setting the base time while the time column is hidden.
2014-09-11 20:51:47 +02:00
René Stadler
265cc8afdf
columns: also auto size thread and pid column on zoom change
2014-09-11 20:51:47 +02:00
René Stadler
c2eddd8db4
columns: cleanup default size calculation
...
Some unused parameters here.
2014-09-11 20:51:46 +02:00
René Stadler
ae75acd50d
Timeline: small cleanup
2014-09-11 20:51:46 +02:00
René Stadler
dab5357986
Data: remove log line serialization
...
This is incomplete and prone to error. Move it out into the utility script
(which is the only user).
2014-09-11 20:51:46 +02:00
René Stadler
836d10bc58
Remove odd-even row colors from log level column
...
This is more of visual clutter than aid. People also seem to be less likely to
spot the connection between the column and the timeline graph colors.
2014-09-11 20:51:46 +02:00
René Stadler
200c732056
Resize time and log level columns after zoom change
2014-09-11 20:51:46 +02:00
René Stadler
d7c5942403
Store zoom level in state
2014-09-11 20:51:46 +02:00
René Stadler
5b07a1fc39
Add zoom reset action
2014-09-11 20:51:46 +02:00
René Stadler
b866669ae1
Refactor and fix zoom handling
...
ColumnManager has to apply the zoom factor to newly added columns. Otherwise,
showing a previously hidden column appears with scale 1.0.
This also drops the value-changed signal emission for the vadjustment, as it is
apparently not needed.
2014-09-11 20:51:46 +02:00
Stefan Kost
4e334e0e00
Add 'fixme' and 'trace' log levels
2014-09-11 20:51:46 +02:00
Stefan Kost
5fae4aa235
timeline: add tooltip to histogram as well
2014-09-11 20:51:46 +02:00
Stefan Kost
aa9db8ef8e
Add zoom in/out actions, reduce vertical row padding
...
Add two actions to shrink and enlarge the text in the log pane. Add a theme
overide to set expander size to 1 (see bug #615985 ) and also turn focus lines
off. Remove extra ypadding on cells.
2014-09-11 20:51:46 +02:00
Andrzej Bieniek
ce72ad583e
Fix --version option
2014-09-11 20:51:46 +02:00
René Stadler
1b724edcac
Improve wording of hide lines actions
...
These also appear in the context menu of the timeline. The more generic wording
makes more sense for the timeline, since you do not pinpoint any specific line
in this case.
2014-09-11 20:51:46 +02:00
René Stadler
c89cada72a
timeline: fix grey background artifact when enlarging window
2014-09-11 20:51:46 +02:00
René Stadler
05aa65551a
Fix glib warnings on model property access
...
Seems like pygobject can all of the sudden not handle a NULL model on a
property. Using the getter works around this. Also using the setter now for
consistency.
2014-09-11 20:51:46 +02:00
René Stadler
e46367c073
timeline: fix possible lag when dragging on timeline
...
I need to idle-aggregate scroll updates, since gtk performs heavy operations in
a synchronous fashion here (ironically, they do that to make scrolling smooth).
2014-09-11 20:51:46 +02:00
René Stadler
1d009ac3c5
GUI: Work around GtkBuilder name property API break (gtk+ 2.20)
2014-09-11 20:51:46 +02:00
René Stadler
4adee5c7f0
Main: fix import
2014-09-11 20:51:46 +02:00
René Stadler
8cfe17d064
Remove stale GUI module
2014-09-11 20:51:46 +02:00
René Stadler
097cacebbd
Add new base time feature
...
The log view context menu gains a new action "Set base time", which changes the
time column to show the delta to the selected row.
2014-09-11 20:51:46 +02:00
René Stadler
d71d09759b
Split giant GUI module into submodules
2014-09-11 20:51:46 +02:00
René Stadler
7b57fe2423
timeline: fix timestamp binary search
...
Fixes dragging the mouse over bigger gaps of log activity making the red
position rectangle come out next to the mouse pointer. Also selects the proper
row now, not randomly 1-2 rows before or after the gap.
2014-09-11 20:51:45 +02:00
René Stadler
3a90836f82
GUI: remove unused imports
2014-09-11 20:51:45 +02:00
René Stadler
390262a363
Cleanup whitespace
2014-09-11 20:51:45 +02:00
René Stadler
63e62b670f
Rename UIManager file
2014-09-11 20:51:45 +02:00
René Stadler
6369acee76
Migrate from glade to GtkBuilder
2014-09-11 20:51:45 +02:00
René Stadler
b468acd836
Fix logging being on by default with recent Python
...
The fix for Python issue #1021 uncovered a mistake of mine. I was under the
impression that logging.NOTSET level means "off", but in fact it means to not
modify the level, and setting that on the root logger with basicConfig leads to
turning on all levels.
2014-09-11 20:51:45 +02:00
René Stadler
7dcd3db661
Use mmap in a portable way
2014-09-11 20:51:45 +02:00
René Stadler
984549d45a
Add FIXME comments
2014-09-11 20:51:45 +02:00
René Stadler
867a312f93
GUI: Fix edit-copy-line action crashing/copying wrong line
...
When the view was unfiltered, this crashed. When the view was range filtered,
this copied the wrong line.
Spotted by Stefan Kost.
2014-09-11 20:51:45 +02:00
René Stadler
7fdbfa2cf4
Move more attribute lookups out of loops for speed
2014-09-11 20:51:45 +02:00
René Stadler
ff146e1cb1
Add support for recent log format changes, be more tolerant on whitespaces, cope with object names containing '>'
2014-09-11 20:51:45 +02:00
René Stadler
c9aeb0ce2b
Update vertical timeline when the widget size changes
2014-09-11 20:51:45 +02:00
René Stadler
c96c55a62c
Fix bottom view showing the wrong selected log line
2014-09-11 20:51:45 +02:00
René Stadler
29ce10fb46
Fix bottom view line activating the wrong line after filtering
2014-09-11 20:51:45 +02:00
René Stadler
e75b817b72
Fix bottom view not showing current line until you add something there
2014-09-11 20:51:45 +02:00
René Stadler
43badaea0c
Faster handling of partial expose events in timeline
2014-09-11 20:51:45 +02:00
René Stadler
ebda9480c3
Mention GStreamer in --help output
2014-09-11 20:51:45 +02:00
René Stadler
be38bc2906
Allow to cancel a running filter process
2014-09-11 20:51:44 +02:00
René Stadler
313d671fbf
Make hide before/after action insensitive when first/last line is selected
2014-09-11 20:51:44 +02:00
René Stadler
53becaa72c
Add filtering for object name and source code filename
2014-09-11 20:51:44 +02:00
René Stadler
35c11f13ab
Add FIXME comment
2014-09-11 20:51:44 +02:00
René Stadler
b5caf22bdb
Create own menu structure for log view context menu
2014-09-11 20:51:44 +02:00
René Stadler
04d90a4e38
Sync show-timeline action state before connecting signal handler
2014-09-11 20:51:44 +02:00
René Stadler
8b6e0d193f
Timeline.py: Move per-window management into own class
2014-09-11 20:51:44 +02:00
René Stadler
500e68ca3e
Re-format long line
2014-09-11 20:51:44 +02:00
René Stadler
e1182e28c3
Replace gdk.ALL_EVENTS_MASK with proper minimal set of event flags
2014-09-11 20:51:44 +02:00
René Stadler
aa7c3747ba
Move performance test program into its own file
2014-09-11 20:51:44 +02:00
René Stadler
2b2e3c11c8
Allow creation of more than one window
2014-09-11 20:51:44 +02:00
René Stadler
f998069d6b
Add TODO comment
2014-09-11 20:51:44 +02:00
René Stadler
e5d490cabe
Use GdkColors for level column, cleanup color handling
2014-09-11 20:51:44 +02:00
René Stadler
9fe8b55ecb
Replace linear-time filtered index search with usage of bisect module
2014-09-11 20:51:44 +02:00
René Stadler
e971bda1ae
Restore visible range of log view when changing filter
2014-09-11 20:51:44 +02:00
René Stadler
b155f21610
Resolve small FIXME in SubRange
2014-09-11 20:51:44 +02:00
René Stadler
4356b706f9
Cleanup FilteredLogModel.super_model_changed_range
2014-09-11 20:51:44 +02:00
René Stadler
154a630c9b
Fix crash with unparsable files
2014-09-11 20:51:44 +02:00
René Stadler
9e3ebe40cd
Make option parser work with glib before 2.13.2
2014-09-11 20:51:44 +02:00
René Stadler
fec6bf0848
s/get_cells/get_cell_renderers/ again
2014-09-11 20:51:44 +02:00
René Stadler
e523019f50
Correctly parse categories with digits in them (fixes flump3dec, v4l2src messages)
2014-09-11 20:51:44 +02:00
René Stadler
93a1da46c9
Fix filtered range transformation (finally!)
2014-09-11 20:51:44 +02:00
René Stadler
73e9b22838
Fix filtered model index translation and improve tests
2014-09-11 20:51:44 +02:00
René Stadler
5f3c94afff
Fix off-by-one error in filtered model range reclamping
2014-09-11 20:51:44 +02:00
René Stadler
a8f6481d2b
Improve filtered model interacting with range changes
2014-09-11 20:51:43 +02:00
René Stadler
e47a5a70d4
Unify two very similar methods
2014-09-11 20:51:43 +02:00
René Stadler
2fa90648aa
Add FIXME about broken index translation logic
2014-09-11 20:51:43 +02:00
René Stadler
a7a0ea0fa2
Prevent crash with older bindings
2014-09-11 20:51:43 +02:00
René Stadler
0784883ebf
Fix more problems when clamping with filter turned on
2014-09-11 20:51:43 +02:00
René Stadler
075d186296
Fix off-by-one error causing display of spurious line when clamping with filter turned on
2014-09-11 20:51:43 +02:00
René Stadler
8e6ad93d99
Fix selection of line after changing filter, add logging
2014-09-11 20:51:43 +02:00
René Stadler
d87731efcc
Preserve clamped timestamp range when filtering and vice versa
2014-09-11 20:51:43 +02:00
René Stadler
23a588b8aa
Implement idle filtering (with progress display)
2014-09-11 20:51:43 +02:00
René Stadler
7b405fdd55
Factor out progress dialog handling into its own reusable object class
2014-09-11 20:51:43 +02:00
René Stadler
1c9935eea3
Implement category filtering
2014-09-11 20:51:43 +02:00
René Stadler
9f91df2f58
Allow for more than one (log level) filter to be set
2014-09-11 20:51:43 +02:00
René Stadler
0eb58cff84
Restore search to a consistent state when showing the search bar again
2014-09-11 20:51:43 +02:00
René Stadler
cd378c7302
Add accelerators to search result navigation actions
2014-09-11 20:51:43 +02:00
René Stadler
14f91ccecf
Fix search result navigation action sensitivity when showing the find bar
2014-09-11 20:51:43 +02:00
René Stadler
f8da21fb46
Add search navigation menu items to view menu
2014-09-11 20:51:43 +02:00
René Stadler
e3d2cfb035
When right clicking to open a context menu, pass the event on (which selects the row)
2014-09-11 20:51:43 +02:00
René Stadler
ca40c5e58a
Implement backward search result navigation
2014-09-11 20:51:43 +02:00
René Stadler
d6240e93a7
Remove dead/useless code
2014-09-11 20:51:43 +02:00
René Stadler
a176ca7797
Rename variable
2014-09-11 20:51:43 +02:00
René Stadler
cf5badd4f4
Implement lazy searching
2014-09-11 20:51:43 +02:00
René Stadler
c0bb774c43
Some search fixes
2014-09-11 20:51:43 +02:00
René Stadler
ec713b827c
Add status label to find bar
2014-09-11 20:51:43 +02:00
René Stadler
99a755e56c
Fix timeline warning/error indicator triangle vertical position
2014-09-11 20:51:43 +02:00
René Stadler
a6f268ab4b
Add GUI utility function to add a popup menu to a widget
2014-09-11 20:51:42 +02:00
René Stadler
a073b11f63
Cleanup timeline warning/error triangle drawing, add TODOs
2014-09-11 20:51:42 +02:00