Commit Graph

157 Commits

Author SHA1 Message Date
d9c362419b handle tabs correctly when highlighting text
With the old solution I replaced tabs with four spaces and then did
some calculations to get the correct byte positions for a coordinate.
With the new solution (using FontMetric.horizontalAdvance) this is not
necessary anymore and we can use tha native tab.
But I cannot change the tab width. It is always 8 characters.
You can set tabStopDistance on horizontalAdvance(), but not on
elided_text() and I did not find a way to use it while rendering text.
2025-05-06 20:45:19 +02:00
a41e5b79a3 add 'about qt' dialog 2025-05-06 20:14:59 +02:00
9afc4d1d9c fix exception when selecting text by clicking behind the last character 2025-04-06 19:02:33 +02:00
d36724f3e7 replace watchdog with active polling thread
watchdog does not work on windows. For some
reason file modification events are not
emitted.
Fixed by replacing watchdog with a thread
that polls the modification date ever 0.5s.

Also fixed a bug that the hit view was not
properly destructed.
2025-04-06 09:34:08 +02:00
51c02b3d55 add missing file selectionPos
forgot to add it in one of the previous commits
2025-03-25 17:04:37 +01:00
c19cdf6f41 feature: add changelog to about dialog 2025-03-24 20:36:18 +01:00
8ce0c1bf9e switch direction of the range start/end icons
With the old direction they were overlapping each other,
which made it impossible to move the end slider.
2025-03-24 20:07:35 +01:00
04a0310eee bump copyright year 2025-03-24 19:37:37 +01:00
9902be0a48 feature: follow the file and show always the end when new data comes 2025-03-24 19:20:49 +01:00
61132d242f fix: graphemes are not correctly highlighted
Graphemes don't all have the same width, not even when you use a monospace font.
For latin characters it usually works find to assume the same width. But emojis,
japanese or chinese characters have have different width. There are even some
ultra wide characters like 𒐫 or ﷽. There is also a thing
called 'half-width' character. E.g. the japanese 'a' can be ア or ア.

Fixed by actually computing the width of graphemes and using pixel.
2025-03-24 17:49:27 +01:00
8c740da879 horizontal scrolling 2024-11-24 09:20:57 +01:00
ddd377da7e change font size via mouse wheel 2024-11-23 08:55:25 +01:00
8cf02c8f6a cleanup 2024-11-09 08:11:59 +01:00
871cb4e08a seems to be working quite great 2024-10-24 19:09:51 +02:00
ed450424a5 somewhat working state 2024-08-03 08:52:37 +02:00
00d4f2317a somewhat working state 2024-07-06 10:22:22 +02:00
9c64acf77e the same line cache was used for the file view and the filter view 2024-06-30 08:24:28 +02:00
d561facb7e starting to write a better version of bigtext 2024-05-29 19:17:30 +02:00
329775fb26 call update instead of repaint
repaint causes an endless loop on windows and crashes the app
2024-05-13 18:03:59 +02:00
be53c209ea cache lines to speed up rendering 2024-04-23 10:28:44 +02:00
aa2bfa967e style fixes 2024-04-22 17:52:15 +02:00
2b91b19ef3 fix test test_column_to_char_ignore_nonspacing_mark_charaters 2024-04-22 17:51:12 +02:00
9c1b8298be implement snap back
Only works on Windows. In Linux this is disabled.
2024-04-21 17:37:35 +02:00
811e3c7f82 cleanup 2024-04-21 17:30:19 +02:00
6d7accffde remove unused import for glob 2024-04-14 20:58:27 +02:00
3e793596c2 replace ScaledScrollBar with BigScrollBar
step 4 - add repeat actions

This has probably a problem. The repeat action is triggering updates asynchronously.
Which means we do not wait until it is done. Which means we can DOS ourselves.
2024-04-14 19:12:37 +02:00
7a574f7ed4 fix typo in word minimun 2024-04-14 09:37:52 +02:00
7d20bae74d replace ScaledScrollBar with BigScrollBar
step 3 - connect wheel event
2024-04-14 09:36:50 +02:00
9b9399f120 replace ScaledScrollBar with BigScrollBar
step 2 - connect the line up/down, page up/down events
2024-04-14 09:13:06 +02:00
3d6cf84cd7 replace ScaledScrollBar with BigScrollBar
step 1 - manually moving the slider
2024-04-13 08:47:36 +02:00
2b65e61e43 remove follow tail 2024-04-11 19:06:56 +02:00
6538e85f37 add positions of hits to the range slider 2024-03-28 20:21:07 +01:00
7f4f6ab004 use folder of the original file in "copy to file" action 2024-03-26 18:17:52 +01:00
270b3a8683 remove some debug logging 2024-03-26 18:15:30 +01:00
b8b4b4e790 make the original file name known to the filter view 2024-03-26 18:12:42 +01:00
66d6a728cc make it possible to activate highlighter only for specific file types
In stage 1 we use a glob pattern matching the file name.
Stage 2 (which I will maybe implement some day) might use some additional magic byte sequence for file type detection.
2024-03-25 19:23:24 +01:00
56189f4094 use transparent line background by default 2024-03-25 18:40:03 +01:00
5f30862a83 keep position on handle 2024-03-24 20:06:00 +01:00
017a51a24a remove code for drawing ticks 2024-03-24 19:59:38 +01:00
442d3173c8 don't show context menu entries for ranges when range slider is disabled 2024-03-24 16:46:15 +01:00
f3a68d0dee add context menu actions to set range start and end 2024-03-24 12:06:48 +01:00
ff3d3ddc27 simplified ScaledScrollbar to (hopefully) fix the issue that the scrollbar became invalid for huge files when used in tandem with the range slider 2024-03-23 17:31:28 +01:00
741454e6f7 remove obsolete method 2024-03-22 15:58:23 +01:00
03d615bff0 add shortcut für "copy selection to file" 2024-03-21 19:41:27 +01:00
165b6e0a63 improvements for about dialog 2024-03-21 19:18:50 +01:00
20f78a983b add view that only shows matches 2023-05-29 19:50:48 +02:00
1950e4a1c4 cleanup 2023-05-29 19:49:42 +02:00
20d8bbfe3e time delta for time diff view is changeable 2023-05-28 10:48:32 +02:00
81775cc902 show license in about dialog 2023-03-22 20:03:25 +01:00
707aaf7323 fix select all
Got broken when the range slider was added.
Select all did not select the last 4kb.
2023-02-17 20:16:18 +01:00