mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Make sure the cursor background is filled to start to hide whats below it
This commit is contained in:
parent
1ed4f3d4d7
commit
3dac6dfa16
@ -333,6 +333,31 @@ unblock_toggle_signals(GncItemEdit *item_edit)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
draw_background_cb (GtkWidget *widget, cairo_t *cr, gpointer user_data)
|
||||||
|
{
|
||||||
|
GtkStyleContext *stylectxt = gtk_widget_get_style_context (widget);
|
||||||
|
GncItemEdit *item_edit = GNC_ITEM_EDIT (user_data);
|
||||||
|
gint width = gtk_widget_get_allocated_width (widget);
|
||||||
|
gint height = gtk_widget_get_allocated_height (widget);
|
||||||
|
guint32 color_type;
|
||||||
|
|
||||||
|
gtk_style_context_save (stylectxt);
|
||||||
|
|
||||||
|
// Get the background and foreground color types and apply the css class
|
||||||
|
color_type = gnc_table_get_gtkrc_bg_color (item_edit->sheet->table, item_edit->virt_loc, NULL);
|
||||||
|
gnucash_get_style_classes (item_edit->sheet, stylectxt, color_type);
|
||||||
|
|
||||||
|
color_type = gnc_table_get_gtkrc_fg_color (item_edit->sheet->table, item_edit->virt_loc);
|
||||||
|
gnucash_get_style_classes (item_edit->sheet, stylectxt, color_type);
|
||||||
|
|
||||||
|
gtk_render_background (stylectxt, cr, 0, 0, width, height);
|
||||||
|
|
||||||
|
gtk_style_context_restore (stylectxt);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
draw_text_cursor_cb (GtkWidget *widget, cairo_t *cr, gpointer user_data)
|
draw_text_cursor_cb (GtkWidget *widget, cairo_t *cr, gpointer user_data)
|
||||||
{
|
{
|
||||||
@ -615,6 +640,10 @@ gnc_item_edit_new (GnucashSheet *sheet)
|
|||||||
g_signal_connect_after (item_edit->editor, "draw",
|
g_signal_connect_after (item_edit->editor, "draw",
|
||||||
G_CALLBACK (draw_text_cursor_cb), NULL);
|
G_CALLBACK (draw_text_cursor_cb), NULL);
|
||||||
|
|
||||||
|
// Fill in the background so the underlying sheet cell can not be seen
|
||||||
|
g_signal_connect (item_edit, "draw",
|
||||||
|
G_CALLBACK (draw_background_cb), item_edit);
|
||||||
|
|
||||||
/* Force padding on the entry to align with the rest of the register this
|
/* Force padding on the entry to align with the rest of the register this
|
||||||
is done in the gnucash.css file which should be in line with sheet.h */
|
is done in the gnucash.css file which should be in line with sheet.h */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user