summary refs log tree commit diff stats
path: root/src/fe-gtk/xtext.c
AgeCommit message (Collapse)Author
2020-09-07Use pango_font_metrics_get_height() to calculate font height (#2500)John Levon
2018-03-13Revert "xtext: Always use Pango to get correct glyph width on Unix"Patrick Griffis
This reverts commit d3f1ab78138a1f9256ec02842799ed6cd1e3ec1e. The performance even on Linux is just too poor in many cases.
2018-02-11xtext: Fix accidental truncationPatrick Griffis
Fixes #2121
2018-02-06xtext: Always use Pango to get correct glyph width on UnixPeng Wu
This should be slower but pango seems to be reasonably fast on Unix though extremely slow on Windows. https://bugzilla.redhat.com/show_bug.cgi?id=1536298
2018-02-06xtext: Fix invalid utf-8 from truncationPatrick Griffis
2018-02-06xtext: Remove unused codePatrick Griffis
2018-01-18This patch hopefully solves a bug that causes that when a tab (channel or ↵Rodri
private) is left with the scrollbar at the bottom, and some new text arrives, and then we select again that tab, sometimes the scrollbar is not completely down and there is hidden text and we have to scroll manually to the bottom to show all text. This was previously submitted as an issue in: https://github.com/hexchat/hexchat/issues/1948 Maybe it isn't the ideal way to solve it, but at least I tested it and it seems to work.
2018-01-18Prevent undefined behaviour on memcpyFrancisco Couzo
2016-01-10Emit word_click even as long as user is not selecting any text when ↵Pavel Djundik
releasing button This fixes the need to do pixel-perfect clicks to open links in chat
2015-10-30xtext: Fix overflow on long linesPatrick Griffis
xtext keeps a static buffer and uses it for various things and asserts that every text entry is < 4096. It does this check on gtk_xtext_append*() except it does the check only on the right half of text when indent is enabled. This overflow caused corruption in the xtext struct changing the url check functions making hovering with the mouse do 'undefined' things. In the long term this should be removed for a dynamically allocated buffer so no arbitrary size limit exists and text gets cut off. Fixes #1465 Fixes #1186 Fixes #1206
2015-08-20Fix select regression.RichardHitt
Fix selection when part of the selected text is above/below a border. Also, fix problems uncovered by static analysis. Fixes #1261.
2015-05-18xtext: Fix poor performance with nick indent enabledRichardHitt
This fixes xtext re-rendering multiple times when the indent width is not sufficient Fixes #1364 Closes #1367
2015-02-20Revert "xtext: Unselect old selection on button press" - breaks clicking ↵Arnavion
URLs to open them. This reverts commit 8ca96d7ea3ec0281802eb08174ca2fdcbcc8263f.
2015-02-15xtext: Unselect old selection on button pressRichardHitt
Fixes #943 Closes #1293
2015-02-11Better project files.Arnavion
- Output directly to rel\ instead of to bin\ and then copying files over. - Deduped Win32 vs x64 configs - Moved some common properties to hexchat.props - All build intermediates (except htm's intermediates) are no longer emitted in the source directory
2014-12-31Don't return 0 in place of NULLTingPing
2014-12-28Use glib for all allocationsTingPing
- Removes need to check for malloc failure - Removes need for NULL checks on free - Adds checks for integer overflows - Removes some extra memset calls - Removes chance of mixing libc and glib malloc/free
2014-12-17More consistently include config.hTingPing
2014-11-30Fix copying timestamp with server-time and indent nicks offTingPing
2014-11-30Fix duplicate timestamps on selectionTingPing
Fixes #1226
2014-11-02Warning cleanupCampbell Barton
- ignoring const - declarations after statements - some C files didnt include own headers (risking them getting out of sync) Closes #1064
2014-10-10Fix textbox not scrolling to to bottom on resizeRichardHitt
Set buf->scrollbar_down conditionally when vertically resizing text window If resize to enlarge appears to go to last line, set buf->scrollbar_down to be sure. Fixes #1151 Closes #1171
2014-09-01xtext: Add word and line selection modesFarow
Similar to a GtkTextView if you double click you enter word selection mode and if you triple click you enter line selection mode. Allowing you to drag and select more than a single character. Closes #1108
2014-06-04win32: Use config.h instead of config-win32.hTingPing
2014-05-31Rework gtk_xtext_selection_draw(), simplify calls to _selection_render()RichardHitt
Fixes #992.
2014-05-22Fixes #959. In xtext.c:find_x() return offset to hidden text if appropriate.RichardHitt
2014-04-02Add marker-line functionality for scrollback, instant seek.RichardHitt
Fixes #662.
2014-03-19Correctly scroll down autojoined channelsRichardHitt
Fixes #58
2014-03-19Fix three miscellaneous bugs in gtk_xtext_get_word()RichardHitt
* Use utf8 functions for moving within string * Fix memory leak * Fix non-indent select problem
2014-02-06Use a single marshal file for entire projectTingPing
2014-02-06Use a standard GtkScrolledWindow with xtextTingPing
Used in maingui, fkeys, text events, rawlog This also implements the set_scroll_adjustments signal in xtext
2014-02-04Fix many many problems in xtext.c related to character width.RichardHitt
* Rework multiline logic to use a GSList, not an array * Remove all multibyte booleans; everything is potentially multibyte - Except for gtk_xtext_get_word(), which needs special attention * Enhance pango work for bold and italics (attr_list -> attr_lists[4]) * Enhance gtk_xtext_strip_color () to save bold, italics info * Involve emphasis information in all pixel-width calculations * Rework find_x () to account for emphasis info in widths Closes #891 Fixes #872
2014-01-29Fixes #881 Fix two bugs --RichardHitt
gtk_xtext_find_char() adjust negative y for int typecast gtk_xtext_find_x() return out_of_bounds TRUE if line outside windodw gtk_xtext_selection_draw() recognize TRUE out_of_bounds
2014-01-20Fix warningTingPing
Leftovers from 38cbabea
2014-01-18Revert GtkObject removal until Gtk3TingPing
2014-01-18Update most deprecated gtk functionsTingPing
2014-01-18Update most deprecated gdk functionsTingPing
2014-01-14Don't use SCROLL_HACK on osxTingPing
2013-11-14Fixes #836. Move to line boundary in _scroll{down,up}_timeout() not _scroll().RichardHitt
2013-11-12Fixes #837. Rewrite gtk_xtext_scroll{down,up}_timeout().RichardHitt
2013-11-11Fixes #836. In gtk_xtext_scroll() always force line integral line boundary.RichardHitt
2013-10-26xtext: Get proper text width with attributesTingPing
2013-10-22fix some warningsTingPing
2013-10-10xtext: store palette as GdkColorsTingPing
2013-10-09Revert 2d5cb3ec7bc62e5c4e7b550ecade22bb53efd9f6TingPing
Scrolling has issues i couldn't easily fix, will get back to later but lets keep this usable
2013-10-08Round 3 of Gtk accessor functions: xtextTingPing
2013-09-28Use Pango Attributes for bold and italicsTingPing
2013-09-27Revert fast scrolling with background imageTingPing
2013-09-27Remove overdrawTingPing
2013-09-27Replace xtext's transparency with full window transparencyTingPing
Xtext's transparency barely worked on windows, didn't work on any modern linux wm and used fake transparency. This uses gtk's built in window opacity that works on more systems and is real transparency. Text area only transparency may return with a transition to cairo, if it works on Windows.