X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcellrendereraccel.c;h=32f385ea59556f7e2803257a0c4e402407e5726f;hb=3b2182e711ace4a2d6843848208224cd7525d530;hp=10758f6b551d74e8d93992adf30225889d1a5c14;hpb=ab605e11bf3410ab03f5b9dc5a2854a24831eb17;p=~andy%2Fgtk diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c index 10758f6b5..32f385ea5 100644 --- a/gtk/gtkcellrendereraccel.c +++ b/gtk/gtkcellrendereraccel.c @@ -413,7 +413,7 @@ gtk_cell_renderer_accel_get_preferred_width (GtkCellRenderer *cell, GtkRequisition min_req, nat_req; if (priv->sizing_label == NULL) - priv->sizing_label = gtk_label_new (_("New accelerator...")); + priv->sizing_label = gtk_label_new (_("New accelerator…")); gtk_widget_get_preferred_size (priv->sizing_label, &min_req, &nat_req); @@ -452,12 +452,24 @@ grab_key_callback (GtkWidget *widget, accel_mods = event->state; - _gtk_translate_keyboard_accel_state (gdk_keymap_get_for_display (display), - event->hardware_keycode, - event->state, - gtk_accelerator_get_default_mod_mask (), - event->group, - &keyval, NULL, NULL, &consumed_modifiers); + if (event->keyval == GDK_KEY_Sys_Req && + (accel_mods & GDK_MOD1_MASK) != 0) + { + /* HACK: we don't want to use SysRq as a keybinding (but we do + * want Alt+Print), so we avoid translation from Alt+Print to SysRq + */ + keyval = GDK_KEY_Print; + consumed_modifiers = 0; + } + else + { + _gtk_translate_keyboard_accel_state (gdk_keymap_get_for_display (display), + event->hardware_keycode, + event->state, + gtk_accelerator_get_default_mod_mask (), + event->group, + &keyval, NULL, NULL, &consumed_modifiers); + } accel_key = gdk_keyval_to_lower (keyval); if (accel_key == GDK_KEY_ISO_Left_Tab) @@ -567,6 +579,8 @@ struct _GtkCellEditableEventBox gboolean editing_canceled; }; +GType _gtk_cell_editable_event_box_get_type (void); + G_DEFINE_TYPE_WITH_CODE (GtkCellEditableEventBox, _gtk_cell_editable_event_box, GTK_TYPE_EVENT_BOX, { \ G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE, _gtk_cell_editable_event_box_cell_editable_init) \ }) @@ -730,7 +744,7 @@ gtk_cell_renderer_accel_start_editing (GtkCellRenderer *cell, * an accelerator when the cell is clicked to change the * acelerator. */ - gtk_label_set_text (GTK_LABEL (label), _("New accelerator...")); + gtk_label_set_text (GTK_LABEL (label), _("New accelerator…")); gtk_container_add (GTK_CONTAINER (eventbox), label);