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
René Stadler
abc54e5360
Add tooltip to vertical timeline widget
2014-09-11 20:51:42 +02:00
René Stadler
47badacfde
Add hide before/after menu items to timeline context menu
2014-09-11 20:51:42 +02:00
René Stadler
cec4541f3d
Add context menu to bottom view, with entry to clear all lines
2014-09-11 20:51:42 +02:00
René Stadler
492f663a5a
Fix copying of line to clipboard
2014-09-11 20:51:42 +02:00
René Stadler
60e794e8a2
Remove implicit keybinding of copy message action
2014-09-11 20:51:42 +02:00
René Stadler
44303a412e
Fix adding rows to the bottom view
2014-09-11 20:51:42 +02:00
René Stadler
2b59250ec0
Fix crash when adding a line to bottom view with log filter turned on
2014-09-11 20:51:42 +02:00
René Stadler
08e6121766
Implement filtered log model index translation
2014-09-11 20:51:42 +02:00
René Stadler
bfd0ad3960
Add support for stacking log model filters
2014-09-11 20:51:42 +02:00
René Stadler
98e1541488
Do not let the user add duplicate lines to the bottom log view
2014-09-11 20:51:42 +02:00
René Stadler
9a9e40a3ce
Keep the bottom view sorted by timestamp
2014-09-11 20:51:42 +02:00
René Stadler
db7943cedb
Unbreak filtering again
2014-09-11 20:51:42 +02:00
René Stadler
68fd8fc604
Improve method to update log view after search text change
2014-09-11 20:51:42 +02:00
René Stadler
0beee4cf4f
Remove dead code
2014-09-11 20:51:42 +02:00
René Stadler
c28059e36c
Use the mmapped fileobj in more places and use slice access
2014-09-11 20:51:42 +02:00
René Stadler
4424eb686f
Add simple cache eviction to LazyLogModel to limit memory usage
2014-09-11 20:51:42 +02:00
René Stadler
c749df8574
Rename show-find-bar action callback handler
2014-09-11 20:51:42 +02:00
René Stadler
89f8ebe0cf
Implement lazy highlighting of search results
2014-09-11 20:51:42 +02:00
René Stadler
d4dcc1be13
Move search matching logic into the SearchOperation object
2014-09-11 20:51:42 +02:00
René Stadler
a9fd7fe84c
Add search result navigation
2014-09-11 20:51:42 +02:00
René Stadler
4be0be249a
Fix crash when showing all lines after having filtered down to zero lines
2014-09-11 20:51:42 +02:00
René Stadler
8dbfc09163
Avoid GtkWarning when filtering down to no visible line at all
2014-09-11 20:51:42 +02:00
René Stadler
5f35233eb7
Fix crash when displaying only one line
2014-09-11 20:51:42 +02:00
René Stadler
4a2c020660
Hide unimplemented filtering actions
2014-09-11 20:51:42 +02:00
René Stadler
406eb80d03
Add preliminary log level filtering support
2014-09-11 20:51:41 +02:00
René Stadler
3087edd7f8
Add level, category, object filtering actions
2014-09-11 20:51:41 +02:00
René Stadler
6e35575f0b
Derive range/clamping model filter from the new base class
2014-09-11 20:51:41 +02:00
René Stadler
e368dbf200
Add identity filter model to save some memory
2014-09-11 20:51:41 +02:00
René Stadler
77de714d35
Add base class for filtered log models
2014-09-11 20:51:41 +02:00
René Stadler
334a3758fb
Move class around
2014-09-11 20:51:41 +02:00
René Stadler
b3df52cd2f
Change code to cleaner terminology of filter model relationships
2014-09-11 20:51:41 +02:00
René Stadler
2eb76b142d
Try to avoid a crash regarding illegal paths received from GtkTreeView
2014-09-11 20:51:41 +02:00
René Stadler
5b41b6e861
Fix timeline level distribution plotting after gaps
2014-09-11 20:51:41 +02:00
René Stadler
99c871ba4a
For search highlighting, use pango attrlists instead of markup
2014-09-11 20:51:41 +02:00
René Stadler
80263e1416
After changing the filter, scroll to the selected row
2014-09-11 20:51:41 +02:00
René Stadler
fab31075c7
Retain bottom view model and fix crash after filter change
2014-09-11 20:51:41 +02:00
René Stadler
1e0c5215d2
Keep line selection when changing filter model
2014-09-11 20:51:41 +02:00
René Stadler
3081d6256d
Only auto size view columns once
2014-09-11 20:51:41 +02:00
René Stadler
cd935bb368
Remove redundant property settings
2014-09-11 20:51:41 +02:00
René Stadler
3c8fbd0da0
Fix window size and position state persistency
2014-09-11 20:51:41 +02:00
René Stadler
8fe97e709c
Fix hanging after loading an unparsable/colored file
2014-09-11 20:51:41 +02:00
René Stadler
527b3ed2ef
Behave a little better with unparsable/colored files
2014-09-11 20:51:41 +02:00
René Stadler
026604747a
Fix division by zero crash with unparsable/colored files
2014-09-11 20:51:41 +02:00
René Stadler
d9fcd38371
Fix crash when viewing a colored log file
2014-09-11 20:51:41 +02:00
René Stadler
41b34c2e5e
Fix crash when opening a file that has trash lines only
2014-09-11 20:51:41 +02:00
René Stadler
a2b332c495
Gracefully handle garbage lines at the line cache level
2014-09-11 20:51:41 +02:00
René Stadler
c1c71ec392
Correct wording in benchmark output
2014-09-11 20:51:41 +02:00
René Stadler
38c4ac239e
Fix comment
2014-09-11 20:51:41 +02:00
René Stadler
f61574dbda
Fix level distribution calculation for the last partition
2014-09-11 20:51:41 +02:00
René Stadler
4ef74e1099
Make message column receive a minimal size, which removes the size warning
2014-09-11 20:51:41 +02:00
René Stadler
40c64be892
Remove more outdated comments
2014-09-11 20:51:40 +02:00
René Stadler
ad7481c82e
Remove outdated comment
2014-09-11 20:51:40 +02:00
René Stadler
5738b1d5df
Remove commented code
2014-09-11 20:51:40 +02:00
René Stadler
209448c559
s/omit lines/hide lines/
2014-09-11 20:51:40 +02:00
René Stadler
528c531f8b
After load, select the first line
2014-09-11 20:51:40 +02:00
René Stadler
769a3d9d7c
When navigating with the timeline, select the line in the center of the view
2014-09-11 20:51:40 +02:00
René Stadler
7032df7e73
When navigating with the bottom view, select the target line
2014-09-11 20:51:40 +02:00
René Stadler
ea08ca6805
When activating a bottom view row, navigate the log view there
2014-09-11 20:51:40 +02:00
René Stadler
ad32656ecb
Add ability to add rows to bottom view
2014-09-11 20:51:40 +02:00
René Stadler
3cfcc8e635
Avoid copies of the line index list in the line view model (fixes range filtering)
2014-09-11 20:51:40 +02:00
René Stadler
a583af7596
Remove left over whitespace
2014-09-11 20:51:40 +02:00
René Stadler
47dc733bc6
Display timestamp and full message of selected line
2014-09-11 20:51:40 +02:00
René Stadler
635659a6b9
Correctly set sensitivity of row action group
2014-09-11 20:51:40 +02:00
René Stadler
293dd13985
Add a (pretty limited) context menu to the timeline widget
2014-09-11 20:51:40 +02:00
René Stadler
b4ba3c5297
Adjust comment
2014-09-11 20:51:40 +02:00
René Stadler
b948b7b6e5
Fix handling of filename command line argument
2014-09-11 20:51:40 +02:00
René Stadler
480392b881
Tweak thread colors a bit
2014-09-11 20:51:40 +02:00
René Stadler
91208d8eb9
Add fuzzy compatibility to unpatched pygtk 2.12.0
2014-09-11 20:51:40 +02:00
René Stadler
8108907e5f
Add ranged line omission feature
2014-09-11 20:51:40 +02:00
René Stadler
cb6d082f19
Speed up immediate search results by setting search start position
2014-09-11 20:51:40 +02:00
René Stadler
6f371b8b3a
Use low idle priority for dispatching, to fix initial vtimeline display
2014-09-11 20:51:40 +02:00
René Stadler
b9156160e3
Add basic search highlighting
2014-09-11 20:51:40 +02:00
René Stadler
13d22d4254
Draw vertical timeline connectors as triangles
2014-09-11 20:51:40 +02:00
René Stadler
61a28cff12
Set view selection mode to BROWSE
2014-09-11 20:51:40 +02:00
René Stadler
e0be989987
Fix timeline position drawing and vertical timeline initial display
2014-09-11 20:51:39 +02:00
René Stadler
4fa1150b48
Put basename of open file into window title
2014-09-11 20:51:39 +02:00
René Stadler
ffd3cbb07c
Add reload file functionality
2014-09-11 20:51:39 +02:00
René Stadler
4086eb2edc
Disable interactive search on the log view
2014-09-11 20:51:39 +02:00
René Stadler
d4237c5600
Save state of timeline visibility
2014-09-11 20:51:39 +02:00
René Stadler
6e056f8e20
Refactor state/config classes to be more flexible
2014-09-11 20:51:39 +02:00