? gtktreeview.patch
? iconpatch.diff
Index: gtk/gtkiconfactory.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkiconfactory.c,v
retrieving revision 1.30
diff -u -r1.30 gtkiconfactory.c
--- gtk/gtkiconfactory.c	2002/01/08 00:04:54	1.30
+++ gtk/gtkiconfactory.c	2002/02/06 00:45:59
@@ -446,29 +446,62 @@
   gtk_icon_set_unref (set);
 }
 
+#define ICONS_RESIZEABLE 1
+
 static void
 get_default_icons (GtkIconFactory *factory)
 {
   /* KEEP IN SYNC with gtkstock.c */
 
   add_unsized (factory, stock_missing_image, GTK_STOCK_MISSING_IMAGE);
-  
+
+#if ICONS_RESIZEABLE
+  add_sized_with_fallback (factory, dialog_error, dialog_error,
+			   GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_ERROR);
+  add_sized_with_fallback (factory, dialog_info, dialog_info,
+			   GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_INFO);
+  add_sized_with_fallback (factory, dialog_question, dialog_question,
+			   GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_QUESTION);
+  add_sized_with_fallback (factory, dialog_warning, dialog_warning,
+			   GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_WARNING);
+#else
   add_sized (factory, dialog_error, GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_ERROR);
   add_sized (factory, dialog_info, GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_INFO);
   add_sized (factory, dialog_question, GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_QUESTION);
   add_sized (factory, dialog_warning, GTK_ICON_SIZE_DIALOG, GTK_STOCK_DIALOG_WARNING);
+#endif
   
   /* dnd size only */
+#if ICONS_RESIZEABLE
+  add_sized_with_fallback (factory, stock_new, stock_new,
+			   GTK_ICON_SIZE_DND, GTK_STOCK_DND);
+  add_sized_with_fallback (factory, stock_dnd_multiple, stock_dnd_multiple,
+			   GTK_ICON_SIZE_DND, GTK_STOCK_DND_MULTIPLE);
+#else
   add_sized (factory, stock_new, GTK_ICON_SIZE_DND, GTK_STOCK_DND);
   add_sized (factory, stock_dnd_multiple, GTK_ICON_SIZE_DND, GTK_STOCK_DND_MULTIPLE);
-  
+#endif
+
   /* Only have button sizes */
+#if ICONS_RESIZEABLE  
+  add_sized_with_fallback (factory, stock_button_apply, stock_button_apply,
+			   GTK_ICON_SIZE_BUTTON, GTK_STOCK_APPLY);
+  add_sized_with_fallback (factory, stock_button_cancel, stock_button_cancel,
+			   GTK_ICON_SIZE_BUTTON, GTK_STOCK_CANCEL);
+  add_sized_with_fallback (factory, stock_button_no, stock_button_no,
+			   GTK_ICON_SIZE_BUTTON, GTK_STOCK_NO);
+  add_sized_with_fallback (factory, stock_button_ok, stock_button_ok,
+			   GTK_ICON_SIZE_BUTTON, GTK_STOCK_OK);
+  add_sized_with_fallback (factory, stock_button_yes, stock_button_yes,
+			   GTK_ICON_SIZE_BUTTON, GTK_STOCK_YES);
+#else
   add_sized (factory, stock_button_apply, GTK_ICON_SIZE_BUTTON, GTK_STOCK_APPLY);
   add_sized (factory, stock_button_cancel, GTK_ICON_SIZE_BUTTON, GTK_STOCK_CANCEL);
   add_sized (factory, stock_button_no, GTK_ICON_SIZE_BUTTON, GTK_STOCK_NO);
   add_sized (factory, stock_button_ok, GTK_ICON_SIZE_BUTTON, GTK_STOCK_OK);
   add_sized (factory, stock_button_yes, GTK_ICON_SIZE_BUTTON, GTK_STOCK_YES);
-
+#endif
+  
   /* Generic + button sizes */
   add_sized_with_fallback (factory,
                            stock_close,
@@ -588,6 +621,19 @@
     {
 #define NUM_BUILTIN_SIZES 7
       gint i;
+      gint menu_icon_size, button_icon_size,
+	   small_toolbar_icon_size, large_toolbar_icon_size,
+	   dnd_icon_size, dialog_icon_size;
+      GtkSettings *settings = gtk_settings_get_default ();
+      
+      g_object_get (G_OBJECT (settings),
+		    "gtk-icon-menu-size", &menu_icon_size,
+		    "gtk-icon-button-size", &button_icon_size,
+		    "gtk-icon-small-toolbar-size", &small_toolbar_icon_size,
+		    "gtk-icon-large-toolbar-size", &large_toolbar_icon_size,
+		    "gtk-icon-dnd-size", &dnd_icon_size,
+		    "gtk-icon-dialog-size", &dialog_icon_size,
+		    NULL);	      
 
       icon_aliases = g_hash_table_new (g_str_hash, g_str_equal);
       
@@ -608,33 +654,33 @@
       
       icon_sizes[GTK_ICON_SIZE_MENU].size = GTK_ICON_SIZE_MENU;
       icon_sizes[GTK_ICON_SIZE_MENU].name = "gtk-menu";
-      icon_sizes[GTK_ICON_SIZE_MENU].width = 16;
-      icon_sizes[GTK_ICON_SIZE_MENU].height = 16;
+      icon_sizes[GTK_ICON_SIZE_MENU].width = menu_icon_size;
+      icon_sizes[GTK_ICON_SIZE_MENU].height = menu_icon_size;
 
       icon_sizes[GTK_ICON_SIZE_BUTTON].size = GTK_ICON_SIZE_BUTTON;
       icon_sizes[GTK_ICON_SIZE_BUTTON].name = "gtk-button";
-      icon_sizes[GTK_ICON_SIZE_BUTTON].width = 24;
-      icon_sizes[GTK_ICON_SIZE_BUTTON].height = 24;
+      icon_sizes[GTK_ICON_SIZE_BUTTON].width = button_icon_size;
+      icon_sizes[GTK_ICON_SIZE_BUTTON].height = button_icon_size;
 
       icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].size = GTK_ICON_SIZE_SMALL_TOOLBAR;
       icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].name = "gtk-small-toolbar";
-      icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].width = 18;
-      icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].height = 18;
+      icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].width = small_toolbar_icon_size;
+      icon_sizes[GTK_ICON_SIZE_SMALL_TOOLBAR].height = small_toolbar_icon_size;
       
       icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].size = GTK_ICON_SIZE_LARGE_TOOLBAR;
       icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].name = "gtk-large-toolbar";
-      icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].width = 24;
-      icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].height = 24;
+      icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].width = large_toolbar_icon_size;
+      icon_sizes[GTK_ICON_SIZE_LARGE_TOOLBAR].height = large_toolbar_icon_size;
 
       icon_sizes[GTK_ICON_SIZE_DND].size = GTK_ICON_SIZE_DND;
       icon_sizes[GTK_ICON_SIZE_DND].name = "gtk-dnd";
-      icon_sizes[GTK_ICON_SIZE_DND].width = 32;
-      icon_sizes[GTK_ICON_SIZE_DND].height = 32;
+      icon_sizes[GTK_ICON_SIZE_DND].width = dnd_icon_size;
+      icon_sizes[GTK_ICON_SIZE_DND].height = dnd_icon_size;
 
       icon_sizes[GTK_ICON_SIZE_DIALOG].size = GTK_ICON_SIZE_DIALOG;
       icon_sizes[GTK_ICON_SIZE_DIALOG].name = "gtk-dialog";
-      icon_sizes[GTK_ICON_SIZE_DIALOG].width = 48;
-      icon_sizes[GTK_ICON_SIZE_DIALOG].height = 48;
+      icon_sizes[GTK_ICON_SIZE_DIALOG].width = dialog_icon_size;
+      icon_sizes[GTK_ICON_SIZE_DIALOG].height = dialog_icon_size;
 
       g_assert ((GTK_ICON_SIZE_DIALOG + 1) == NUM_BUILTIN_SIZES);
 
Index: gtk/gtksettings.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtksettings.c,v
retrieving revision 1.23
diff -u -r1.23 gtksettings.c
--- gtk/gtksettings.c	2001/12/12 20:26:50	1.23
+++ gtk/gtksettings.c	2002/02/06 00:46:01
@@ -30,7 +30,13 @@
   PROP_THEME_NAME,
   PROP_KEY_THEME_NAME,
   PROP_MENU_BAR_ACCEL,
-  PROP_DND_DRAG_THRESHOLD
+  PROP_DND_DRAG_THRESHOLD,
+  PROP_ICON_MENU_SIZE,
+  PROP_ICON_BUTTON_SIZE,
+  PROP_ICON_SMALL_TOOLBAR_SIZE,
+  PROP_ICON_LARGE_TOOLBAR_SIZE,
+  PROP_ICON_DND_SIZE,
+  PROP_ICON_DIALOG_SIZE
 };
 
 
@@ -208,6 +214,60 @@
                                                                G_PARAM_READWRITE),
 					     NULL);
   g_assert (result == PROP_DND_DRAG_THRESHOLD);
+  
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-menu-size",
+							       _("Menu Icon Size"),
+							       _("Size of menu icons, in pixels"),
+							       1, 128, 16,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_MENU_SIZE);
+  
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-button-size",
+							       _("Button Icon Size"),
+							       _("Size of button icons, in pixels"),
+							       1, 128, 24,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_BUTTON_SIZE);
+
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-small-toolbar-size",
+							       _("Small Toolbar Icon Size"),
+							       _("Size of small toolbar icons, in pixels"),
+							       1, 128, 18,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_SMALL_TOOLBAR_SIZE);
+  
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-large-toolbar-size",
+							       _("Large Toolbar Icon Size"),
+							       _("Size of large toolbar icons, in pixels"),
+							       1, 128, 24,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_LARGE_TOOLBAR_SIZE);
+  
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-dnd-size",
+							       _("DnD Icon Size"),
+							       _("Size of drag-and-drop icons, in pixels"),
+							       1, 128, 32,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_DND_SIZE);
+  
+  result = settings_install_property_parser (class,
+					     g_param_spec_int ("gtk-icon-dialog-size",
+							       _("Dialog Icon Size"),
+							       _("Size of dialog icons, in pixels"),
+							       1, 128, 48,
+                                                               G_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_ICON_DIALOG_SIZE);
   
 }
 
