diff options
Diffstat (limited to 'eazel-engine/ChangeLog')
-rw-r--r-- | eazel-engine/ChangeLog | 551 |
1 files changed, 551 insertions, 0 deletions
diff --git a/eazel-engine/ChangeLog b/eazel-engine/ChangeLog new file mode 100644 index 0000000..8dc74ff --- /dev/null +++ b/eazel-engine/ChangeLog @@ -0,0 +1,551 @@ +2001-05-22 John Harper <jsh@pixelslut.com> + + Fixed bug 8050 (GIMP crashes in eazel-theme-gradient.c): + + * src/eazel-theme-draw.c: in some of the drawing functions, + assert that passed-in WIDTH and HEIGHT parameters are less than + 32768. This is a kludge, but it avoids the case where GTK + widgets do unsigned arithmetic on 16-bit values and ask us to + draw things 65535 by 65535! + + (GtkOptionMenu was the offender in the reported bug) + +2001-03-23 John Harper <jsh@eazel.com> + + * src/eazel-theme-main.c (parse_gradient): if the contents of + the output pointer is non-null, unref it (thanks to Jacob + Berkman for pointing this out) + +2001-02-14 John Harper <jsh@eazel.com> + + * test.c, configure.in: added feature tests for setenv () and + putenv () then use whatever exists. Fixes problem on solaris + systems + + * config.h.in: removed from cvs, it's autogenerated + +2001-02-12 John Harper <jsh@eazel.com> + + * configure.in: version 0.3 + + * make-gtkrc.pl, gtkrc.in: + * Crux/gtk/Makefile.am: + + Include a `module_path' setting in the built gtkrc files. It + points to the directory in which the engine got installed. This + fixes the problem where using a GTK in a different prefix + couldn't find the engine module. Unfortunately it also means + that Perl is required at compile-time (since the necessary + directory isn't known until then) + + * src/eazel-theme-main.c: reworked how the focus-change state + is kept, only non-trivial difference is that we can now + disconnect all signals we connected to - this allows theme_exit + () to not leave any stale signal handlers connected + + * gtkrc.in: fixed some minor typos (`@endif' -> `@endif@') + +2001-02-09 John Harper <jsh@eazel.com> + + * configure.in: version 0.2 + +2001-01-26 John Harper <jsh@eazel.com> + + Work to make accent-colored widgetry `grey-out' when the window + they're in isn't focused: + + * src/eazel-theme-main.c (theme_set_background): added an + `interesting' hack to check if the GdkWindow is associated with + a GtkWindow. If so, then make sure that focus-in/out signals + are connected, so that we can queue redraws of the necessary + widgets when the top-level focus changes + + * src/eazel-theme-main.c + (eazel_engine_widget_in_focused_window_p): new function, + returns true if the given widget is in the currently focused + window + + * gtkrc.in, src/eazel-theme.h, src/eazel-theme-pixmaps.c, + src/eazel-theme-draw.c: added `_INACTIVE' variants of all + images that get recolored with the accent color. Use them when + the window containing the widget is unfocused + +2001-01-22 John Harper <jsh@eazel.com> + + * test.c, Makefile.am: fixed the test program after changing + the theme names + + * src/eazel-theme-draw.c (draw_box): call + gdk_gc_set_clip_rectangle for each gc used, not just the bg + + * eazel-engine.spec.in, Crux/Makefile.am, Crux/gtk/Makefile.am: + fix build problems + + Removed all `Eazel-Foo' themes. There's just a single theme + `Crux' now. It's a copy of what used to be `Eazel-Custom' + + Bumped version to 0.1 + + * configure.in, Makefile.am: + * Crux/README, Crux/Makefile.am, Crux/.cvsignore: + * Crux/gtk/Makefile.am, Crux/gtk/.cvsignore: added + + * Eazel-Blue/README, Eazel-Blue/Makefile.am, + Eazel-Blue/.cvsignore: + * Eazel-Blue/gtk/Makefile.am, Eazel-Blue/gtk/.cvsignore: + * Eazel-Custom/README, Eazel-Custom/Makefile.am, + Eazel-Custom/.cvsignore: + * Eazel-Custom/gtk/Makefile.am, Eazel-Custom/gtk/.cvsignore: + * Eazel-Orange/README, Eazel-Orange/Makefile.am, + Eazel-Orange/.cvsignore: + * Eazel-Orange/gtk/Makefile.am, Eazel-Orange/gtk/.cvsignore: + * Eazel-Purple/README, Eazel-Purple/Makefile.am, + Eazel-Purple/.cvsignore: + * Eazel-Purple/gtk/Makefile.am, Eazel-Purple/gtk/.cvsignore: + * Eazel-Teal/README, Eazel-Teal/Makefile.am, + Eazel-Teal/.cvsignore: + * Eazel-Teal/gtk/Makefile.am, Eazel-Teal/gtk/.cvsignore: + Deleted + + * capplet/eazel-engine-properties.desktop, + capplet/eazel-engine-capplet.c: changed text for the new theme + name + + * src/eazel-theme-main.c (parse_color): when trying to read + colours from files, if the file doesn't exist, default to the + `teal' colour + +2001-01-21 John Harper <jsh@eazel.com> + + * capplet/eazel-engine-capplet.c: this now displays a + GnomeColorPicker widget, instead of embedding the color + selector into the actual capplet window + + * make-gtkrc.pl, gtkrc.in: new substitution option + `lists_have_separators'. Disabled by default + + * capplet/Makefile.am: fix `make distcheck' + + Work to make the theme be customizable within the control + center: + + * Eazel-Blue/gtk/substs, Eazel-Blue/gtk/Makefile.am: + * Eazel-Orange/gtk/substs, Eazel-Orange/gtk/Makefile.am: + * Eazel-Purple/gtk/substs, Eazel-Purple/gtk/Makefile.am: + * Eazel-Teal/gtk/substs, Eazel-Teal/gtk/Makefile.am: + + Removed the `substs' files. The sole argument to the expansion + (the selection color) is set in the Makefile.am now + + * src/eazel-theme.h, src/eazel-theme-main.c: lots of syntax + changes. Expanded the use of the palette so that any color or + gradient may be fetched from a palette entry. This is how the + customizable theme works, it loads the color into a palette + slot, then references that slot from multiple places + + * gtkrc.in: many changes to use new syntax, mostly to make the + `Eazel-Custom' theme possible + + * Eazel-Custom/README, Eazel-Custom/Makefile.am, + Eazel-Custom/.cvsignore: + * Eazel-Custom/gtk/Makefile.am, Eazel-Custom/gtk/.cvsignore: + + New theme variant. The accent color is read from + ~/.eazel-engine-color + + * capplet/eazel-engine-properties.desktop, + capplet/eazel-engine-capplet.c, capplet/Makefile.am, + capplet/.cvsignore: + + Control center applet to read and write ~/.eazel-engine-color. + Needs more work before it's remotely presentable (currently its + just a GtkColorSelection widget) + + * make-gtkrc.pl: added `-c COLOR' option to set the focus_color + substitution + + * src/eazel-theme-draw.c (draw_arrow): fixed drawing + insensitive spin buttons, by using a mixture of kludges + +2001-01-18 John Harper <jsh@eazel.com> + + * make-gtkrc.pl: fixed typo in one of the default insensitive + colors + +2001-01-17 John Harper <jsh@eazel.com> + + * Eazel-Purple/gtk/substs: washed out the purple colors + slightly + +2001-01-17 John Harper <jsh@eazel.com> + + * Eazel-Blue/gtk/substs, Eazel-Orange/gtk/substs, + Eazel-Purple/gtk/substs, Eazel-Teal/gtk/substs: changed the + menuitem gradients to be 4-point gradients (to get a shadow + effect) + + * src/eazel-theme-hacks.c: removed the gtk_menu_size_allocate + hack. (We want menus to have drop-shadows now). Down to two + hacks only! + + * src/eazel-theme-draw.c (paint_menuitem_shadow): new function, + used to draw shadows for menuitems. Make them look as though + they're sunk into the menu pane + + * src/eazel-theme-gradient.c + (eazel_engine_fill_gradient_rgb_buffer): when calculating the + number of pixels to draw in each step, multiply before dividing + to avoid loss of accuracy (which could mean that the last + gradient didn't quite reach the last pixel to be drawn) + + * src/eazel-theme-main.c (theme_init): reversed the default + ACTIVE gradient (so it's the same direction as the other + gradients) + + * gtkrc.in: changed `bg[ACTIVE]' to #bbbbbb instead of + something darker; makes shadows of buttons and toolbar handles + look a lot better + + * make-gtkrc.pl: added @if bool@, @else@ and @endif@ statements + to the substitution language. Removed the `booleans as + comments' hack + + * gtkrc.in: used @if@ and friends to express some expansions + + * gtkrc.in: added GtkPlug, GtkSocket, BonoboPlug and + BonoboSocket to the list of widgets that use the + parent-relative background style. Partially fixes the problems + with the new nautilus throbber (bug 5685) + + * src/eazel-theme-draw.c (draw_handle): draw the `grip' + correctly for vertically oriented toolbars + + * gtkrc.in: set borders of {V,H}_SLIDER_THUMB images + +2001-01-16 John Harper <jsh@eazel.com> + + * src/eazel-theme-draw.c (draw_handle): if `detail' is + "dockitem" and state is NORMAL, change state to ACTIVE. (This + makes the handle on dock items darker, fixing bug 5467) + + * data/slider_v_trough_focus.png, + data/slider_h_trough_focus.png: + * src/eazel-theme-draw.c: + + Tweaked focused state of sliders to have a single pixel outline + instead of two. Also fixed the bug of draw_focus () redrawing + the slider focus ring + + * data/slider_v_trough_focus.png, data/slider_v_trough.png, + data/slider_v_thumb.png, data/slider_h_trough_focus.png, + data/slider_h_trough.png, data/slider_h_thumb.png: + + Added new slider design + + * gtkrc.in: + * data/tab_usel-bottom.png, data/tab_usel-bottom-left.png, + data/tab_sel-bottom.png, data/Makefile.am: + + Added Arlo's new design for bottom-oriented tabs + +2001-01-15 John Harper <jsh@eazel.com> + + * src/eazel-theme-draw.c, gtkrc.in: scale the slider thumb to + meet the requested size, also set thickness to zero. Arlo's + working on some tweaks for the images.. + + * src/eazel-theme-draw.c: centered the pair of arrows on option + menu buttons + + * src/eazel-theme-draw.c, src/eazel-theme.h, gtkrc.in: + implemented new tab design (code to draw focus on tabs is + disabled for now) + + * src/eazel-theme-draw.c (paint_arrow): chopped a pixel from + the base of arrows per Arlo's request + + * src/eazel-theme-draw.c (paint_background_area): new function, + used in a couple of places to make sure the background pixels + of shaped images are drawn the right color + + * make-gtkrc.pl: disable gradiented menus by default + + * src/eazel-theme-draw.c (paint_arrow): draw fixed size arrows, + disregarding the WIDTH and HEIGHT parameters that are passed + in.. it looks better this way + + * src/eazel-theme-draw.c (draw_box): progress bar is now drawn + in three sections (two of which are optional, depending on the + left/right positions of the bar) + + * data/progressbar_trough.png, data/progressbar.png, + data/progressbar-right.png, data/progressbar-left.png, + data/Makefile.am: + * gtkrc.in: + * src/eazel-theme.h: + + Added new progress bar design from Arlo + +2001-01-12 John Harper <jsh@eazel.com> + + * make-gtkrc.pl, gtkrc.in: add support for boolean options that + expand to one of two strings depending on their value. Used + this to add two new substitution options: `gradiented_menus' + and `prelight_check_buttons' + + * Eazel-Blue/gtk/Makefile.am: + * Eazel-Orange/gtk/Makefile.am: + * Eazel-Purple/gtk/Makefile.am: + * Eazel-Teal/gtk/Makefile.am: + Added make-gtkrc.pl to dependences for gtkrc targets + +2001-01-11 John Harper <jsh@eazel.com> + + * Eazel-Purple/gtk/substs: toned down the purple a bit + + * configure.in, Makefile.am: + * Eazel-Orange/README, Eazel-Orange/Makefile.am, + Eazel-Orange/.cvsignore: + * Eazel-Orange/gtk/substs, Eazel-Orange/gtk/Makefile.am, + Eazel-Orange/gtk/.cvsignore: + * Eazel-Purple/README, Eazel-Purple/Makefile.am, + Eazel-Purple/.cvsignore: + * Eazel-Purple/gtk/substs, Eazel-Purple/gtk/Makefile.am, + Eazel-Purple/gtk/.cvsignore: + + Added Eazel-Purple and Eazel-Orange color schemes (my colors, + not Arlo's, so blame me..) + + * gtkrc.in: insensitive colors setting is now got from + @insensitive_colors@ expansion; removed thickness=0 setting for + GtkRange-derived widgets + + * data/Makefile.am, data/scroller-v-thumb-pressed.png, + data/scroller-v-pressed.png, data/scroller-h-thumb-pressed.png, + data/scroller-h-pressed.png: removed these images - GTK never + lets them be used + + * src/eazel-theme-draw.c: don't even try to use ACTIVE variants + of scrollbar images (they never were, anyway) + + * data/scroller-v.png, data/scroller-v-trough.png, + data/scroller-v-thumb.png, data/scroller-v-thumb-hilight.png, + data/scroller-v-hilight.png, data/scroller-h.png, + data/scroller-h-trough.png, data/scroller-h-thumb.png, + data/scroller-h-thumb-hilight.png, data/scroller-h-hilight.png, + data/scroller-arrow-up.png, data/scroller-arrow-up-pressed.png, + data/scroller-arrow-up-hilight.png, + data/scroller-arrow-right.png, + data/scroller-arrow-right-pressed.png, + data/scroller-arrow-right-hilight.png, + data/scroller-arrow-left.png, + data/scroller-arrow-left-pressed.png, + data/scroller-arrow-left-hilight.png, + data/scroller-arrow-down.png, + data/scroller-arrow-down-pressed.png, + data/scroller-arrow-down-hilight.png: + + New scrollbar design from Arlo. The `hilight' state images were + done by me by just changing the color curves in the Gimp, so + they may need to be redone. The `pressed' images are currently + the same as the normal images + + * src/eazel-theme-main.c: give newly allocated stock tables a + ref count of one (don't leave it at zero!). This fixes the + crashes when switching themes. Made the method of handling + default stock tables and settings somewhat saner (any engine + data sections that specify a stock table also set any default + values, and the default stock table, for subsequent sections). + Also changed the range class geometry settings to match the new + scrollbars + +2001-01-10 John Harper <jsh@eazel.com> + + * data/Makefile.am: list all images individually so that `make + distcheck' passes + * Eazel-Blue/gtk/Makefile.am, Eazel-Teal/gtk/Makefile.am: when + `make dist'ing, copy gtkrc from the directory it was found in + + * gtkrc.in, src/eazel-theme.h: remove TAB_{LEFT,RIGHT}_* images + (for now, anyway) + + * check-data.sh: new script, checks that all the necessary + images are listed in data/Makefile.am. If it fails, so does + `make dist' + + * Big reorganizational changes. Image files are now in `data' + subdirectory; two theme directories `Eazel-Teal' and + `Eazel-Blue'. The gtkrc files for these are generated from a + common template gtkrc.in, using a Perl script (but they're + built by the `dist' target, so Perl isn't required unless + compiling from CVS) + + The other main change is adding support for recolouring images + as they're loaded into the stock table. Given a gradient, any + pixels in the recoloured image with zero red and blue channels + gets a colour from the gradient (using the value of the green + channel to pick where to sample the gradient) + + Also, the `make dist' target now works properly, and I've added + a .spec file for building rpms. The eazel-engine directory is + now completely self-standing - it no longer has any relation to + the rest of the eazel-themes module + + * src/eazel-theme-draw.c: first attempt at drawing spin buttons + + * src/eazel-theme-gradient.c, src/eazel-theme.h: gradients are + now ref-counted + + * src/eazel-theme-pixmaps.c (recolor_pixbuf): the function to + do the recolouring, deleted the old multiplication and + sunbstitution functions, which aren't going to be used anyway + +2001-01-08 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/src/eazel-theme-main.c (free_gradient): if + `do_not_free' flag is set, don't free anything + + (theme_init): set `do_not_free' flag of gradient in the + default_theme_data (since they get copied into multiple styles) + + This may leak memory, but at least it means that we don't free + data multiple times (which was causing the crashes when + changing from this theme to another). And the size of the + leakage is bounded, anyway ;-) + + * gtk+/eazel-engine/src/eazel-theme.h (eazel_engine_gradient): + added flag `do_not_free' + + * gtk+/eazel-engine/src/eazel-theme-hacks.c (restore_funcs): + don't print a message unconditionally + +2001-01-06 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/src/eazel-theme-draw.c (paint_stock_image): + if area != 0, clip to it by hand. Can't use the gc's clip area + since we may also use its clip mask. Fixes the bug where + notebook page labels get cleared (part of bug 5471) + + * gtk+/eazel-engine/src/eazel-theme-draw.c (paint_tick, + paint_bullet): new functions + + (paint_check): use the above two when drawing check/radio + buttons on menu items, don't draw anything for unset items + + * gtk+/eazel-engine/src/eazel-theme-draw.c (paint_default): + factored from paint_default_box, with an extra argument, the + background color + + (paint_default_highlight): new function, draws the highlight + into the top-left corner of the `has-default' ring + +2001-01-02 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/*: lots of changes that I'm not going to + list individually (including: moved image configuration to + gtkrc, some code to do image recoloration) + +2000-12-21 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/src/eazel-theme-draw.c: re-fixed text/entry + shadows; don't draw default marking on focused buttons, just + focus marking + + * gtk+/eazel-engine/EazelEngine/gtk/progressbar.png: + * gtk+/eazel-engine/src/eazel-theme-pixmaps.c: shrunk height of + this image, so that it fits flush against the top of its trough + +2000-12-20 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/EazelEngine/gtk/gtkrc, + gtk+/eazel-engine/src/eazel-theme.h, + gtk+/eazel-engine/src/eazel-theme-main.c: removed all the + bg_gradient junk (not necessary anymore) + + Work to support n-point gradients: + + * gtk+/eazel-engine/src/eazel-theme-main.c + (set_two_point_gradient): new function + + (theme_init): use set_two_point_gradient to manually create the + default gradients + + (parse_gradient): now parses n-point gradients (with n >= 1). + Syntax is either `C1, ..., CN'. Any of the commas can be + replaced by a number (int or float) in square brackets. Commas + have a weight of one + + (theme_data_unref): free the gradient when ref-count is zero + + * gtk+/eazel-engine/src/eazel-theme.h (eazel_engine_gradient): + gradients are now specified as a single `from' color and a list + of `to' colors. Each `to' color has a weight defining the + relative size it has in the drawn gradient + + * gtk+/eazel-engine/src/eazel-theme-gradient.c + (fill_gradient_rgb_buffer): split into two functions, to make + it easier to loop over the individual `to' colors + + * gtk+/eazel-engine/EazelEngine/gtk/gtkrc: use a 3-point + gradient for prelighted menuitems + +2000-12-19 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/EazelEngine/gtk/gtkrc: turn off gradients + for the panel's Foobar widget (otherwise there's a patch of + grey between the two menu bars) + + * gtk+/eazel-engine/src/eazel-theme-draw.c (draw_handle): don't + draw the dots on the handle box + + * gtk+/eazel-engine/test.glade, gtk+/eazel-engine/test.c: added + some more widgets, connected the delete_event signal properly + +2000-12-18 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/src/eazel-theme-draw.c (draw_box): don't + try to set the background pixmap of pixmaps (fixes deskguide X + error) + + * gtk+/eazel-engine/src/eazel-theme-draw.c (draw_box): if width + == -1 and height == -1, then set the background {pixmap,pixel} + of the window instead of just drawing. This works a lot better + than the old method + + * gtk+/eazel-engine/src/eazel-theme-gradient.c + (eazel_engine_set_bg_gradient): new function, renders a tile, + then sets it as the background pixmap of a window + + * gtk+/eazel-engine/src/eazel-theme-main.c + (theme_set_background): use eazel_engine_set_bg_gradient + + * gtk+/eazel-engine/src/eazel-theme-hacks.c (class_hacks): + don't replace the `draw' and `expose_event' methods of + GtkMenuItem. Use a `bg_gradient' setting instead + + * gtk+/eazel-engine/src/eazel-theme-main.c + (theme_set_background): implemented this function (one of the + GtkStyleClass members). If the given state has an associated + `bg_gradient', render this gradient to a pixmap tile, then + install it as the window's background pixmap + + * gtk+/eazel-engine/src/eazel-theme-gradient.c + (eazel_engine_draw_vertical_gradient, + eazel_engine_draw_horizontal_gradient): if the `dither_mode' + variable is set to something other than GDK_RGB_DITHER_NONE, + use GdkRGB to render the gradient (instead of just drawing + lines of each color). This gives _much_ higher quality + gradients on 16-bit displays! + + * gtk+/eazel-engine/src/eazel-theme-draw.c: removed some + kludges that are no longer needed + + * AUTHORS: added myself + +2000-12-15 John Harper <jsh@eazel.com> + + * gtk+/eazel-engine/*: + + New sub-directory, the beginnings of a gtk theme engine to + implement Arlo's gtk style. Still very much a work in progress + |