src/gtkdebug.c

changeset 11450
52e566659430
parent 11312
73ee18523c44
child 11473
38b35dc600ce
equal deleted inserted replaced
11449:a4d15492ccd5 11450:52e566659430
558 558
559 regex_compile(win); 559 regex_compile(win);
560 } 560 }
561 561
562 static void 562 static void
563 regex_key_release_cb(GtkWidget *w, GdkEventKey *e, DebugWindow *win) {
564 /**
565 * GDK_Return is defined in gdkkeysyms.h as 0xFF0D, but this file is not
566 * included by default, so we just use that value here directly.
567 */
568 if(e->keyval == 0xFF0D &&
569 GTK_WIDGET_IS_SENSITIVE(win->filter) &&
570 !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->filter)))
571 {
572 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter), TRUE);
573 }
574 }
575
576 static void
563 regex_menu_cb(GtkWidget *item, const gchar *pref) { 577 regex_menu_cb(GtkWidget *item, const gchar *pref) {
564 gboolean active; 578 gboolean active;
565 579
566 active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item)); 580 active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item));
567 581
711 GTK_TOOLBAR_CHILD_TOGGLEBUTTON, 725 GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
712 NULL, _("Filter"), _("Filter"), 726 NULL, _("Filter"), _("Filter"),
713 NULL, NULL, 727 NULL, NULL,
714 G_CALLBACK(regex_filter_toggled_cb), 728 G_CALLBACK(regex_filter_toggled_cb),
715 win); 729 win);
730 /* we purposely disable the toggle button here in case
731 * /gaim/gtk/debug/expression has an empty string. If it does not have
732 * an empty string, the change signal will get called and make the
733 * toggle button sensitive.
734 */
735 gtk_widget_set_sensitive(win->filter, FALSE);
716 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter), 736 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win->filter),
717 gaim_prefs_get_bool("/gaim/gtk/debug/filter")); 737 gaim_prefs_get_bool("/gaim/gtk/debug/filter"));
718 gaim_prefs_connect_callback(handle, "/gaim/gtk/debug/filter", 738 gaim_prefs_connect_callback(handle, "/gaim/gtk/debug/filter",
719 regex_pref_filter_cb, win); 739 regex_pref_filter_cb, win);
720 740
731 G_CALLBACK(regex_changed_cb), win); 751 G_CALLBACK(regex_changed_cb), win);
732 gtk_entry_set_text(GTK_ENTRY(win->expression), 752 gtk_entry_set_text(GTK_ENTRY(win->expression),
733 gaim_prefs_get_string("/gaim/gtk/debug/regex")); 753 gaim_prefs_get_string("/gaim/gtk/debug/regex"));
734 g_signal_connect(G_OBJECT(win->expression), "populate-popup", 754 g_signal_connect(G_OBJECT(win->expression), "populate-popup",
735 G_CALLBACK(regex_popup_cb), win); 755 G_CALLBACK(regex_popup_cb), win);
756 g_signal_connect(G_OBJECT(win->expression), "key-release-event",
757 G_CALLBACK(regex_key_release_cb), win);
736 gaim_prefs_connect_callback(handle, "/gaim/gtk/debug/regex", 758 gaim_prefs_connect_callback(handle, "/gaim/gtk/debug/regex",
737 regex_pref_expression_cb, win); 759 regex_pref_expression_cb, win);
738 760
739 /* connect the rest of our pref callbacks */ 761 /* connect the rest of our pref callbacks */
740 win->invert = gaim_prefs_get_bool("/gaim/gtk/debug/invert"); 762 win->invert = gaim_prefs_get_bool("/gaim/gtk/debug/invert");

mercurial