/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2011 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
logwin->text = text;
logwin->hook_id = hooks_register_hook(get_log_hook(instance), log_window_append, logwin);
- gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(text), logwin->end_mark);
-
return logwin;
}
void log_window_init(LogWindow *logwin)
{
GtkTextBuffer *buffer;
+#if !GTK_CHECK_VERSION(3, 0, 0)
GdkColormap *colormap;
- GdkColor color[LOG_COLORS];
gboolean success[LOG_COLORS];
+#endif
+ GdkColor color[LOG_COLORS];
gint i;
gtkut_convert_int_to_gdk_color(prefs_common.log_msg_color, &color[0]);
logwin->status_nok_color = color[6];
logwin->status_skip_color = color[7];
- colormap = gdk_drawable_get_colormap(logwin->window->window);
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ colormap = gdk_drawable_get_colormap(gtk_widget_get_window(logwin->window));
gdk_colormap_alloc_colors(colormap, color, LOG_COLORS, FALSE, TRUE, success);
for (i = 0; i < LOG_COLORS; i++) {
break;
}
}
+#endif
buffer = logwin->buffer;
gtk_text_buffer_create_tag(buffer, "message",
log_window_clip (logwindow, logwindow->clip_length);
if (!logwindow->hidden) {
- GtkAdjustment *vadj = text->vadjustment;
- gfloat upper = vadj->upper - vadj->page_size;
- if (vadj->value == upper ||
- (upper - vadj->value < 16 && vadj->value < 8))
+ GtkAdjustment *vadj = gtk_text_view_get_vadjustment(text);
+ gfloat upper = gtk_adjustment_get_upper(vadj) -
+ gtk_adjustment_get_page_size(vadj);
+ gfloat value = gtk_adjustment_get_value(vadj);
+ if (value == upper ||
+ (upper - value < 16 && value < 8))
gtk_text_view_scroll_mark_onscreen(text, logwindow->end_mark);
}
static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event,
LogWindow *logwin)
{
- if (event && event->keyval == GDK_Escape)
+ if (event && event->keyval == GDK_KEY_Escape)
gtk_widget_hide(logwin->window);
- else if (event && event->keyval == GDK_Delete)
+ else if (event && event->keyval == GDK_KEY_Delete)
log_window_clear(NULL, logwin);
return FALSE;