diff options
author | Havoc Pennington <hp@src.gnome.org> | 2001-04-28 20:18:29 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-04-28 20:18:29 +0000 |
commit | 7ad364135340a4f685c1a286589d2c90ce4f757d (patch) | |
tree | 0e0fde569fefd6e012ae6ab01c21e1d2e7b8db58 /gtk/gtkfontsel.c | |
parent | f06a725358e0997eaf3d02bc8257f2c3cf0043ca (diff) | |
download | gtk+-7ad364135340a4f685c1a286589d2c90ce4f757d.tar.gz |
voc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
(gtk_text_layout_move_iter_to_next_line): fix these two for
invisible text, lots of other stuff still hosed.
* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
new function, replaces the get/set palette stuff. This function
is intended for use by libgnomeui which should set the hook to a
thing which sets the palette in GConf, and we need the
GConf-to-xsettings proxy which will result in the change being
propagated back to the GTK app.
* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
about unusable signals that it may be because the signal has
parameters.
* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
style, otherwise gtkrc.c won't know to create a new GtkStyle for
it.
(gtk_widget_modify_color_component): call
gtk_widget_modify_style() so the rc style will get copied.
(gtk_widget_modify_font): ditto
* gtk/gtkrc.c: make a couple variables static
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
help button by default, since it does nothing
* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
around with UI
* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
so we can have tooltips
* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
can have tooltips
* gdk/gdkimage.h: mark gdk_image_new_bitmap with
GDK_ENABLE_BROKEN, because its memory behavior is completely
hosed.
* gtk/gtknotebook.c: remove key press handler, replace with
binding set, add numeric keypad support
* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
addition to plain Delete
* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
GDK_KP_Enter in addition to GDK_Return
* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
activate on entry instead of key press
(gtk_font_selection_on_clist_key_press): get
rid of this signal handler, not needed with new font sel.
* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
no-longer-needed emit_stop_by_name(), just return TRUE
* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
cruft, this widget is no longer focusable.
* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
move_slider action signal, add binding set for vscale/hscale, in
the process support numeric keypad
* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
make GDK_Return and GDK_KP_Enter activate the entry via
binding set, instead of hardcoded.
Diffstat (limited to 'gtk/gtkfontsel.c')
-rw-r--r-- | gtk/gtkfontsel.c | 106 |
1 files changed, 16 insertions, 90 deletions
diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index 62e654d7bc..1ddbd2eb88 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -86,13 +86,6 @@ static void gtk_font_selection_select_font (GtkWidget *w, gint column, GdkEventButton *bevent, gpointer data); -static gint gtk_font_selection_on_clist_key_press (GtkWidget *clist, - GdkEventKey *event, - GtkFontSelection *fs); -static gboolean gtk_font_selection_select_next (GtkFontSelection *fs, - GtkWidget *clist, - gint step); - static void gtk_font_selection_show_available_fonts (GtkFontSelection *fs); static void gtk_font_selection_show_available_styles (GtkFontSelection *fs); @@ -106,8 +99,7 @@ static void gtk_font_selection_select_style (GtkWidget *w, static void gtk_font_selection_select_best_size (GtkFontSelection *fs); static void gtk_font_selection_show_available_sizes (GtkFontSelection *fs); -static gint gtk_font_selection_size_key_press (GtkWidget *w, - GdkEventKey *event, +static void gtk_font_selection_size_activate (GtkWidget *w, gpointer data); static void gtk_font_selection_select_size (GtkWidget *w, gint row, @@ -206,8 +198,8 @@ gtk_font_selection_init(GtkFontSelection *fontsel) gtk_widget_show (fontsel->size_entry); gtk_table_attach (GTK_TABLE (table), fontsel->size_entry, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); - gtk_signal_connect (GTK_OBJECT (fontsel->size_entry), "key_press_event", - (GtkSignalFunc) gtk_font_selection_size_key_press, + gtk_signal_connect (GTK_OBJECT (fontsel->size_entry), "activate", + (GtkSignalFunc) gtk_font_selection_size_activate, fontsel); fontsel->font_label = gtk_label_new_with_mnemonic (_("_Family:")); @@ -285,9 +277,10 @@ gtk_font_selection_init(GtkFontSelection *fontsel) GTK_SIGNAL_FUNC(gtk_font_selection_select_font), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->font_clist, GTK_CAN_FOCUS); - gtk_signal_connect (GTK_OBJECT (fontsel->font_clist), "key_press_event", - GTK_SIGNAL_FUNC(gtk_font_selection_on_clist_key_press), - fontsel); + + gtk_signal_connect_after (GTK_OBJECT (fontsel->font_clist), "expose_event", + GTK_SIGNAL_FUNC(gtk_font_selection_expose_list), + fontsel); gtk_font_selection_show_available_styles (fontsel); @@ -295,10 +288,6 @@ gtk_font_selection_init(GtkFontSelection *fontsel) GTK_SIGNAL_FUNC(gtk_font_selection_select_style), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->font_style_clist, GTK_CAN_FOCUS); - gtk_signal_connect (GTK_OBJECT (fontsel->font_style_clist), - "key_press_event", - GTK_SIGNAL_FUNC(gtk_font_selection_on_clist_key_press), - fontsel); gtk_font_selection_show_available_sizes (fontsel); @@ -306,9 +295,6 @@ gtk_font_selection_init(GtkFontSelection *fontsel) GTK_SIGNAL_FUNC(gtk_font_selection_select_size), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->size_clist, GTK_CAN_FOCUS); - gtk_signal_connect (GTK_OBJECT (fontsel->size_clist), "key_press_event", - GTK_SIGNAL_FUNC(gtk_font_selection_on_clist_key_press), - fontsel); /* create the text entry widget */ text_frame = gtk_frame_new (_("Preview:")); @@ -477,59 +463,6 @@ gtk_font_selection_show_available_fonts (GtkFontSelection *fontsel) pango_font_map_free_families (families, n_families); } -static gint -gtk_font_selection_on_clist_key_press (GtkWidget *clist, - GdkEventKey *event, - GtkFontSelection *fontsel) -{ -#ifdef FONTSEL_DEBUG - g_message("In on_clist_key_press\n"); -#endif - if (event->keyval == GDK_Up) - return gtk_font_selection_select_next (fontsel, clist, -1); - else if (event->keyval == GDK_Down) - return gtk_font_selection_select_next (fontsel, clist, 1); - else - return FALSE; -} - - -static gboolean -gtk_font_selection_select_next (GtkFontSelection *fontsel, - GtkWidget *clist, - gint step) -{ - GList *selection; - gint current_row, row; - - selection = GTK_CLIST(clist)->selection; - if (!selection) - return FALSE; - current_row = GPOINTER_TO_INT (selection->data); - - /* Stop the normal clist key handler from being run. */ - gtk_signal_emit_stop_by_name (GTK_OBJECT (clist), "key_press_event"); - - for (row = current_row + step; - row >= 0 && row < GTK_CLIST(clist)->rows; - row += step) - { - /* If this is the style clist, make sure that the item is not a charset - entry. */ - if (clist == fontsel->font_style_clist) - if (GPOINTER_TO_INT (gtk_clist_get_row_data(GTK_CLIST(clist), row)) == -1) - continue; - - /* Now we've found the row to select. */ - if (gtk_clist_row_is_visible(GTK_CLIST(clist), row) - != GTK_VISIBILITY_FULL) - gtk_clist_moveto(GTK_CLIST(clist), row, -1, (step < 0) ? 0 : 1, 0); - gtk_clist_select_row(GTK_CLIST(clist), row, 0); - break; - } - return TRUE; -} - static int compare_font_descriptions (const PangoFontDescription *a, const PangoFontDescription *b) { @@ -699,31 +632,24 @@ gtk_font_selection_select_best_size (GtkFontSelection *fontsel) /* If the user hits return in the font size entry, we change to the new font size. */ -static gint -gtk_font_selection_size_key_press (GtkWidget *w, - GdkEventKey *event, - gpointer data) +static void +gtk_font_selection_size_activate (GtkWidget *w, + gpointer data) { GtkFontSelection *fontsel; gint new_size; gchar *text; fontsel = GTK_FONT_SELECTION (data); + + text = gtk_entry_get_text (GTK_ENTRY (fontsel->size_entry)); + new_size = atoi (text) * PANGO_SCALE; - if (event->keyval == GDK_Return) + if (fontsel->font_desc->size != new_size) { - text = gtk_entry_get_text (GTK_ENTRY (fontsel->size_entry)); - new_size = atoi (text) * PANGO_SCALE; - - if (fontsel->font_desc->size != new_size) - { - fontsel->font_desc->size = new_size; - gtk_font_selection_load_font (fontsel); - } - return TRUE; + fontsel->font_desc->size = new_size; + gtk_font_selection_load_font (fontsel); } - - return FALSE; } /* This is called when a size is selected in the list. */ |