Copy dialog_use_icons field

2000-09-24  Bradford Hovinen  <hovinen@helixcode.com>

	* capplets/new-ui-properties/preferences.c
 	(preferences_clone): Copy dialog_use_icons field

	* capplets/new-ui-properties/prefs-widget-dialogs.c: Use standard
	macro for dialog_icons

	* capplets/new-ui-properties/prefs-widget.h
 	(struct _widget_desc_t): Remove field prefs_offset

	* capplets/new-ui-properties/preferences.c
 	(preferences_get_dialog_icons):
	(preferences_set_dialog_icons): Implement

	* capplets/new-ui-properties/prefs-widget.c (read_preferences):
	(register_callbacks):
	(toggled_cb):
	(selected_cb): Remove support for direct struct offset manipulation

	* capplet-widget.c (capplet_widget_multi_new): Set capid
	(capplet_widget_init): Set capid to current global value
	(capplet_widget_class_get_capid): Implement; return the capid
	passed on the command line

	* capplet-widget.h (struct _CappletWidget): Remove buffer between
	frame and plug sizes
This commit is contained in:
Bradford Hovinen 2000-09-24 15:49:19 +00:00 committed by Bradford Hovinen (Gdict maintainer)
parent 3443f5573f
commit fb69525257
7 changed files with 60 additions and 34 deletions

View file

@ -1,5 +1,23 @@
2000-09-24 Bradford Hovinen <hovinen@helixcode.com>
* capplets/new-ui-properties/preferences.c
(preferences_clone): Copy dialog_use_icons field
* capplets/new-ui-properties/prefs-widget-dialogs.c: Use standard
macro for dialog_icons
* capplets/new-ui-properties/prefs-widget.h
(struct _widget_desc_t): Remove field prefs_offset
* capplets/new-ui-properties/preferences.c
(preferences_get_dialog_icons):
(preferences_set_dialog_icons): Implement
* capplets/new-ui-properties/prefs-widget.c (read_preferences):
(register_callbacks):
(toggled_cb):
(selected_cb): Remove support for direct struct offset manipulation
* capplets/Makefile.am (always_built_SUBDIRS): Change
ui-properties to new-ui-properties

View file

@ -112,6 +112,7 @@ preferences_clone (Preferences *prefs)
new_prefs = PREFERENCES (object);
memcpy (new_prefs->gnome_prefs, prefs->gnome_prefs,
sizeof (GnomePreferences));
new_prefs->dialog_use_icons = prefs->dialog_use_icons;
return object;
}
@ -623,6 +624,16 @@ preferences_get_mdi_tab_pos (Preferences *prefs)
return prefs->gnome_prefs->mdi_tab_pos;
}
int
preferences_get_dialog_icons (Preferences *prefs)
{
g_return_val_if_fail (prefs != NULL, 0);
g_return_val_if_fail (IS_PREFERENCES (prefs), 0);
g_return_val_if_fail (prefs->gnome_prefs != NULL, 0);
return prefs->dialog_use_icons;
}
void
preferences_set_dialog_buttons_style (Preferences *prefs,
GtkButtonBoxStyle style)
@ -853,3 +864,13 @@ preferences_set_mdi_tab_pos (Preferences *prefs, GtkPositionType type)
prefs->gnome_prefs->mdi_tab_pos = type;
}
void
preferences_set_dialog_icons (Preferences *prefs, int s)
{
g_return_if_fail (prefs != NULL);
g_return_if_fail (IS_PREFERENCES (prefs));
g_return_if_fail (prefs->gnome_prefs != NULL);
prefs->dialog_use_icons = s;
}

View file

@ -95,6 +95,7 @@ GtkWindowType preferences_get_dialog_type (Preferences *prefs);
GtkWindowPosition preferences_get_dialog_position (Preferences *prefs);
GnomeMDIMode preferences_get_mdi_mode (Preferences *prefs);
GtkPositionType preferences_get_mdi_tab_pos (Preferences *prefs);
int preferences_get_dialog_icons (Preferences *prefs);
void preferences_set_dialog_buttons_style (Preferences *prefs,
GtkButtonBoxStyle);
@ -124,5 +125,6 @@ void preferences_set_mdi_mode (Preferences *prefs,
GnomeMDIMode);
void preferences_set_mdi_tab_pos (Preferences *prefs,
GtkPositionType);
void preferences_set_dialog_icons (Preferences *prefs, int);
#endif /* __PREFERENCES_H */

View file

@ -37,8 +37,7 @@ static widget_desc_t widget_desc[] = {
WD_OPTION (dialog_position, "dialog_position"),
WD_OPTION (dialog_type, "dialog_type"),
WD_CHECK (dialog_centered, "dialog_centered"),
{ WDTYPE_CHECK, "dialog_icons_toggle", NULL, NULL,
GTK_STRUCT_OFFSET (Preferences, dialog_use_icons) },
WD_CHECK (dialog_icons, "dialog_icons"),
WD_END
};

View file

@ -31,9 +31,6 @@
#define WID(str) (glade_xml_get_widget (prefs_widget->dialog_data, str))
#define VALUE_AT_OFFSET(st, offset) \
(*((int *) (((char *) st) + offset)))
enum {
ARG_0,
ARG_PREFERENCES,
@ -246,7 +243,7 @@ static void
read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
{
widget_desc_t *widget_desc;
int i, value;
int i;
g_return_if_fail (prefs_widget != NULL);
g_return_if_fail (IS_PREFS_WIDGET (prefs_widget));
@ -261,27 +258,21 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
for (i = 0; widget_desc[i].type != WDTYPE_NONE; i++) {
g_return_if_fail (widget_desc[i].name != NULL);
if (widget_desc[i].get_func)
value = widget_desc[i].get_func (prefs);
else if (widget_desc[i].prefs_offset)
value = VALUE_AT_OFFSET (prefs,
widget_desc[i].prefs_offset);
else
continue;
g_return_if_fail (widget_desc[i].get_func != NULL);
g_return_if_fail (widget_desc[i].set_func != NULL);
switch (widget_desc[i].type) {
case WDTYPE_CHECK:
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (WID (widget_desc[i].name)),
value);
widget_desc[i].get_func (prefs));
break;
case WDTYPE_OPTION:
gtk_option_menu_set_history
(GTK_OPTION_MENU (WID (widget_desc[i].name)),
value);
widget_desc[i].get_func (prefs));
break;
case WDTYPE_NONE:
@ -316,6 +307,8 @@ register_callbacks (PrefsWidget *prefs_widget, GladeXML *dialog_data)
for (i = 0; widget_desc[i].type != WDTYPE_NONE; i++) {
g_return_if_fail (widget_desc[i].name != NULL);
g_return_if_fail (widget_desc[i].get_func != NULL);
g_return_if_fail (widget_desc[i].set_func != NULL);
if (widget_desc[i].type == WDTYPE_OPTION) {
menu = glade_xml_get_widget (dialog_data,
@ -388,13 +381,8 @@ toggled_cb (GtkToggleButton *tb, PrefsWidget *prefs_widget)
widget_desc = find_widget_desc_with_name (prefs_widget, widget_name);
g_return_if_fail (widget_desc != NULL);
if (widget_desc->set_func)
widget_desc->set_func (prefs_widget->prefs,
gtk_toggle_button_get_active (tb));
else if (widget_desc->prefs_offset)
VALUE_AT_OFFSET (prefs_widget->prefs,
widget_desc->prefs_offset) =
gtk_toggle_button_get_active (tb);
widget_desc->set_func (prefs_widget->prefs,
gtk_toggle_button_get_active (tb));
preferences_changed (prefs_widget->prefs);
capplet_widget_state_changed (CAPPLET_WIDGET (prefs_widget), TRUE);
@ -418,11 +406,7 @@ selected_cb (GtkMenuItem *mi, PrefsWidget *prefs_widget)
widget_desc = find_widget_desc_with_name (prefs_widget, widget_name);
g_return_if_fail (widget_desc != NULL);
if (widget_desc->set_func)
widget_desc->set_func (prefs_widget->prefs, index);
else if (widget_desc->prefs_offset)
VALUE_AT_OFFSET (prefs_widget->prefs,
widget_desc->prefs_offset) = index;
widget_desc->set_func (prefs_widget->prefs, index);
preferences_changed (prefs_widget->prefs);
capplet_widget_state_changed (CAPPLET_WIDGET (prefs_widget), TRUE);

View file

@ -42,7 +42,6 @@ struct _widget_desc_t
char *name;
gint (*get_func) (Preferences *);
void (*set_func) (Preferences *, gint);
gint prefs_offset;
};
typedef struct _widget_desc_t widget_desc_t;
@ -50,15 +49,13 @@ typedef struct _widget_desc_t widget_desc_t;
#define WD_CHECK(name, namestr) \
{ WDTYPE_CHECK, namestr "_toggle", \
(gint (*) (Preferences *)) preferences_get_##name, \
(void (*) (Preferences *, gint)) preferences_set_##name, \
0}
(void (*) (Preferences *, gint)) preferences_set_##name }
#define WD_OPTION(name, namestr) \
{ WDTYPE_OPTION, namestr "_select", \
(gint (*) (Preferences *)) preferences_get_##name, \
(void (*) (Preferences *, gint)) preferences_set_##name, \
0}
(void (*) (Preferences *, gint)) preferences_set_##name }
#define WD_END \
{ WDTYPE_NONE, NULL, NULL, NULL, 0 }
{ WDTYPE_NONE, NULL, NULL, NULL }
/* Preferences widget class proper */

View file

@ -1,3 +1,8 @@
2000-08-22 Bradford Hovinen <hovinen@helixcode.com>
* Makefile.am (INCLUDES): Changed SETTINGS_DIR to
$(datadir)/control-center
2000-08-17 Stanislav Brabec <utx@penguin.cz>
* Makefile.am: Added GNOME_LIBDIR to root_manager_LDADD.