From b7c61c4c98204948c23d084dfb926b8a7ce83607 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 26 Aug 2015 09:31:07 +1000 Subject: On GTK+ 3.x, fix height of lines in autocompletion lists to match the font. --- doc/ScintillaHistory.html | 3 +++ gtk/PlatGTK.cxx | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 2095846db..0ce86dd31 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -508,6 +508,9 @@ VHDL folder supports "protected" keyword.
  • + On GTK+ 3.x, fix height of lines in autocompletion lists to match the font. +
  • +
  • On GTK+, avoid "Invalid rectangle passed" warning messages by never reporting the client rectangle with a negative width or height.
  • diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index d6bbd955a..ad12aa150 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -1433,6 +1433,7 @@ class ListBoxX : public ListBox { WindowID scroller; void *pixhash; GtkCellRenderer* pixbuf_renderer; + GtkCellRenderer* renderer; RGBAImageSet images; int desiredVisibleRows; unsigned int maxItemCharacters; @@ -1442,6 +1443,7 @@ public: void *doubleClickActionData; ListBoxX() : widCached(0), frame(0), list(0), scroller(0), pixhash(NULL), pixbuf_renderer(0), + renderer(0), desiredVisibleRows(5), maxItemCharacters(0), aveCharWidth(1), doubleClickAction(NULL), doubleClickActionData(NULL) { } @@ -1636,7 +1638,7 @@ void ListBoxX::Create(Window &, int, Point, int, bool, int) { gtk_tree_view_column_add_attribute(column, pixbuf_renderer, "pixbuf", PIXBUF_COLUMN); - GtkCellRenderer* renderer = gtk_cell_renderer_text_new(); + renderer = gtk_cell_renderer_text_new(); gtk_cell_renderer_text_set_fixed_height_from_font(GTK_CELL_RENDERER_TEXT(renderer), 1); gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, @@ -1659,6 +1661,8 @@ void ListBoxX::SetFont(Font &scint_font) { // Current font is Pango font #if GTK_CHECK_VERSION(3,0,0) gtk_widget_override_font(PWidget(list), PFont(scint_font)->pfd); + gtk_cell_renderer_text_set_fixed_height_from_font(GTK_CELL_RENDERER_TEXT(renderer), -1); + gtk_cell_renderer_text_set_fixed_height_from_font(GTK_CELL_RENDERER_TEXT(renderer), 1); #else gtk_widget_modify_font(PWidget(list), PFont(scint_font)->pfd); #endif -- cgit v1.2.3