sync to CVS.
Sun Mar 17 23:26:02 2002 Jonathan Blandford <jrb@gnome.org> * capplets/keybindings/eggcellrendererkeys.[ch]: sync to CVS.
This commit is contained in:
parent
b4924a9033
commit
8b4d8026b9
3 changed files with 52 additions and 12 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Sun Mar 17 23:26:02 2002 Jonathan Blandford <jrb@gnome.org>
|
||||||
|
|
||||||
|
* capplets/keybindings/eggcellrendererkeys.[ch]: sync to CVS.
|
||||||
|
|
||||||
2002-03-17 jacob berkman <jacob@ximian.com>
|
2002-03-17 jacob berkman <jacob@ximian.com>
|
||||||
|
|
||||||
* capplets/keybindings/Makefile.am
|
* capplets/keybindings/Makefile.am
|
||||||
|
|
|
@ -33,6 +33,14 @@ static void egg_cell_renderer_keys_set_property (GObject *obje
|
||||||
guint param_id,
|
guint param_id,
|
||||||
const GValue *value,
|
const GValue *value,
|
||||||
GParamSpec *pspec);
|
GParamSpec *pspec);
|
||||||
|
static void egg_cell_renderer_keys_get_size (GtkCellRenderer *cell,
|
||||||
|
GtkWidget *widget,
|
||||||
|
GdkRectangle *cell_area,
|
||||||
|
gint *x_offset,
|
||||||
|
gint *y_offset,
|
||||||
|
gint *width,
|
||||||
|
gint *height);
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
|
@ -120,15 +128,17 @@ static void
|
||||||
egg_cell_renderer_keys_class_init (EggCellRendererKeysClass *cell_keys_class)
|
egg_cell_renderer_keys_class_init (EggCellRendererKeysClass *cell_keys_class)
|
||||||
{
|
{
|
||||||
GObjectClass *object_class;
|
GObjectClass *object_class;
|
||||||
|
GtkCellRendererClass *cell_renderer_class;
|
||||||
|
|
||||||
object_class = G_OBJECT_CLASS (cell_keys_class);
|
object_class = G_OBJECT_CLASS (cell_keys_class);
|
||||||
|
cell_renderer_class = GTK_CELL_RENDERER_CLASS (cell_keys_class);
|
||||||
parent_class = g_type_class_peek_parent (object_class);
|
parent_class = g_type_class_peek_parent (object_class);
|
||||||
|
|
||||||
GTK_CELL_RENDERER_CLASS (cell_keys_class)->start_editing = egg_cell_renderer_keys_start_editing;
|
GTK_CELL_RENDERER_CLASS (cell_keys_class)->start_editing = egg_cell_renderer_keys_start_editing;
|
||||||
|
|
||||||
object_class->set_property = egg_cell_renderer_keys_set_property;
|
object_class->set_property = egg_cell_renderer_keys_set_property;
|
||||||
object_class->get_property = egg_cell_renderer_keys_get_property;
|
object_class->get_property = egg_cell_renderer_keys_get_property;
|
||||||
|
cell_renderer_class->get_size = egg_cell_renderer_keys_get_size;
|
||||||
|
|
||||||
object_class->finalize = egg_cell_renderer_keys_finalize;
|
object_class->finalize = egg_cell_renderer_keys_finalize;
|
||||||
|
|
||||||
|
@ -276,6 +286,31 @@ is_modifier (guint keycode)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
egg_cell_renderer_keys_get_size (GtkCellRenderer *cell,
|
||||||
|
GtkWidget *widget,
|
||||||
|
GdkRectangle *cell_area,
|
||||||
|
gint *x_offset,
|
||||||
|
gint *y_offset,
|
||||||
|
gint *width,
|
||||||
|
gint *height)
|
||||||
|
{
|
||||||
|
EggCellRendererKeys *keys = (EggCellRendererKeys *) cell;
|
||||||
|
GtkRequisition requisition;
|
||||||
|
|
||||||
|
if (keys->sizing_label == NULL)
|
||||||
|
keys->sizing_label = gtk_label_new (_("Type a new accelerator, or press Backspace to clear"));
|
||||||
|
|
||||||
|
gtk_widget_size_request (keys->sizing_label, &requisition);
|
||||||
|
(* GTK_CELL_RENDERER_CLASS (parent_class)->get_size) (cell, widget, cell_area, x_offset, y_offset, width, height);
|
||||||
|
/* FIXME: need to take the cell_area et al. into account */
|
||||||
|
if (width)
|
||||||
|
*width = MAX (*width, requisition.width);
|
||||||
|
if (height)
|
||||||
|
*height = MAX (*height, requisition.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
grab_key_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data)
|
grab_key_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data)
|
||||||
{
|
{
|
||||||
|
@ -450,7 +485,7 @@ egg_cell_renderer_keys_start_editing (GtkCellRenderer *cell,
|
||||||
&widget->style->fg[GTK_STATE_SELECTED]);
|
&widget->style->fg[GTK_STATE_SELECTED]);
|
||||||
|
|
||||||
if (keys->accel_key != 0)
|
if (keys->accel_key != 0)
|
||||||
gtk_label_set_markup (GTK_LABEL (label),
|
gtk_label_set_text (GTK_LABEL (label),
|
||||||
_("Type a new accelerator, or press Backspace to clear"));
|
_("Type a new accelerator, or press Backspace to clear"));
|
||||||
else
|
else
|
||||||
gtk_label_set_text (GTK_LABEL (label),
|
gtk_label_set_text (GTK_LABEL (label),
|
||||||
|
|
|
@ -43,6 +43,7 @@ struct _EggCellRendererKeys
|
||||||
GdkWindow *filter_window;
|
GdkWindow *filter_window;
|
||||||
guint edit_key;
|
guint edit_key;
|
||||||
GdkModifierType edit_mask;
|
GdkModifierType edit_mask;
|
||||||
|
GtkWidget *sizing_label;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _EggCellRendererKeysClass
|
struct _EggCellRendererKeysClass
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue