allow_all_accels();
add_scroll_bindings();
+ // prevent interface items from stealing focus
+ // glade doesn't properly handle can_focus, so manually set it
+ gtk_combo_box_set_focus_on_click(GTK_COMBO_BOX(GET_COMPONENT("comboLayer")), FALSE);
+ g_signal_connect(GET_COMPONENT("spinPageNo"), "activate",
+ G_CALLBACK(handle_activate_signal), NULL);
+ gtk_container_forall(GTK_CONTAINER(winMain), unset_flags, (gpointer)GTK_CAN_FOCUS);
+ GTK_WIDGET_SET_FLAGS(GTK_WIDGET(canvas), GTK_CAN_FOCUS);
+ GTK_WIDGET_SET_FLAGS(GTK_WIDGET(GET_COMPONENT("spinPageNo")), GTK_CAN_FOCUS);
+
+ // install hooks on button/key/activation events to make the spinPageNo lose focus
+ gtk_container_forall(GTK_CONTAINER(winMain), install_focus_hooks, NULL);
+
// set up and initialize the canvas
gtk_widget_show (GTK_WIDGET (canvas));
gtk_widget_show (winMain);
update_cursor();
-
+
/* this will cause extension events to get enabled/disabled, but
we need the windows to be mapped first */
gtk_check_menu_item_set_active(
(gpointer)(gtk_scrolled_window_get_hscrollbar(GTK_SCROLLED_WINDOW(w))),
"event", G_CALLBACK (filter_extended_events),
NULL);
+ }
+ if (!gtk_check_version(2, 17, 0)) {
g_signal_connect (
GET_COMPONENT("comboLayer"),
"notify::popup-shown", G_CALLBACK (combobox_popup_disable_xinput),
// load the MRU
init_mru();
-
+
// and finally, open a file specified on the command line
// (moved here because display parameters weren't initialized yet...)