2003-03-17 Sven Neumann <sven@gimp.org>
Applied patches from David Necas <yeti@physics.muni.cz> that fix
incorrect RGBA resampling in a number of plug-ins:
* plug-ins/common/fractaltrace.c: fixes bug #72873.
* plug-ins/common/tiler.c: fixes bug #72875.
* plug-ins/common/waves.c: fixes bug #72870.
* plug-ins/common/whirlpinch.c: fixes bug #72871.
2003-03-17 Michael Natterer <mitch@gimp.org>
* app/core/gimpitem.[ch]: added virtual function rename() which
pushes an item rename undo. Added "default_name" and "rename_desc"
to the GimpItemClass struct which are used as default values.
* app/core/gimplayer.c: implement it and special-case floating
selections. set item_clas->default_name and item_class->rename_desc.
* app/core/gimpchannel.c
* app/vectors/gimpvectors.c: set item_class->default_name and
item_class->rename_desc.
* app/widgets/gimpitemtreeview.[ch]: removed rename_item() virtual
function and call gimp_item_rename().
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly.
2003-03-16 Sven Neumann <sven@gimp.org>
* app/gui/file-save-dialog.c (file_save_overwrite): set the dialog
transient to the file selection dialog (see bug #61092).
2003-03-16 Sven Neumann <sven@gimp.org>
* app/gui/info-dialog.c: set a window type hint of
GDK_WINDOW_TYPE_HINT_UTILITY for info windows (fixes bug #92175).
* app/tools/gimpcolorpickertool.c: give the color area more space.
2003-03-16 Sven Neumann <sven@gimp.org>
* configure.in: check for gdk-pixbuf-csource and allow to override
it by setting the GDK_PIXBUF_CSOURCE environment variable.
* themes/Default/images/Makefile.am: use the gdk-pixbuf-csource
executable that was found at configure time.
* app/base/levels.c: cosmetic change.
* app/tools/gimplevelstool.c: allow to pick white, gray and black
point for all channels. Allows for easy white-point balancing.
* plug-ins/script-fu/scripts/3dTruchet.scm: restore the foreground
color when the script is done (see bug #108473).
2003-03-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainertreeview.[ch]: added utility function
gimp_container_tree_view_find_click_cell(). Don't select the
row if one of tree_view->toggle_cells was clicked. Removed
"GList *toggle_columns" from the struct.
* app/widgets/gimpdrawabletreeview.[ch]: added a
GtkTreeSelectionFunc which ensures that nothing but the floating
selection can be selected. Removed the "eye_column" from the
struct.
* app/widgets/gimpitemtreeview.[ch]: added virtual function
rename_item() and a default implementation.
* app/widgets/gimplayertreeview.[ch]: implement rename_item() and
special case floating selections. Added
gimp_layer_tree_view_mask_update() utility function to factor out
duplicated code. Removed "chain_column" from the struct. Cleanup.
2003-03-16 Michael Natterer <mitch@gimp.org>
Added GtkTreeView versions of layers/channels/vectors:
* app/core/core-enums.[ch]: renamed GIMP_UNDO_GROUP_LAYER_PROPERTIES
to GIMP_UNDO_GROUP_ITEM_PROPERTIES.
* app/core/gimpcontainer.c (gimp_container_reorder): don't try
to reorder containers with num_children == 1.
* app/core/gimpmarshal.list: added VOID: STRING, UINT marshaller.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpchanneltreeview.[ch]
* app/widgets/gimpdrawabletreeview.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimplayertreeview.[ch]
* app/widgets/gimpvectorstreeview.[ch]: new widgets.
* app/widgets/gimpcellrenderertoggle.c: draw the frame only if the
cell is prelit.
* app/widgets/gimpcellrendererviewable.[ch]: added "clicked"
signal, unref the renderer in finalize(). Set the renderer's
border color to black if the cell is not selected (a hack that
saves tons of code in GimpLayerTreeView).
* app/widgets/gimpcomponenteditor.c: no need to gtk_list_store_set()
stuff we just got from the store.
* app/widgets/gimpcontainertreeview.[ch]: added lots of state used
by the new subclasses to the GimpContainerTreeView struct. Create
the GtkListStore/GtkTreeView in GObject::constructor() and only
collect parameters in init() so subclasses can modify store/view
creation. Do most of the button_press_event stuff manually and
return TRUE from the handler.
* app/widgets/gimpcontainerview.c: cleanup.
* app/widgets/gimpitemlistview.h
* app/widgets/gimpvectorslistview.h: temp hacks before they die.
* app/widgets/gimppreviewrenderer.[ch]: added
gimp_preview_renderer_update_idle() which idle-emits "update"
without invalidating.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added constructors for the new dialogs.
* app/gui/channels-commands.c
* app/gui/channels-menu.c
* app/gui/layers-commands.c
* app/gui/layers-menu.c
* app/gui/vectors-commands.c
* app/gui/vectors-menu.c: accept tree views as callback data.
2003-03-15 Sven Neumann <sven@gimp.org>
* app/base/levels.c (levels_adjust_by_colors): implemented this
function which used to be a an empty stub.
* app/tools/gimplevelstool.c: implemented the missing
functionality behind the color picker buttons I added some time
ago.
2003-03-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemfactory.c (gimp_item_factory_translate_func):
simplified.
* app/gui/image-menu.c: some minor menu cleanups.
2003-03-14 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-curve-free-16.png
* themes/Default/images/stock-curve-smooth-16.png: added new icons
provided by Tuomas Kuosmanen <tigert@gimp.org>.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/tools/gimpcurvestool.[ch]: use radio buttons with the new
curve type icons.
2003-03-14 Sven Neumann <sven@gimp.org>
* app/base/base-enums.[ch]
* app/base/curves.[ch]: changed CurvesType enum GimpCurveType and
register it with the type system.
* app/tools/gimpcurvestool.c: use an enum menu here.
2003-03-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c: fiddle with the color of the dock
separator to make the drop area stand out. Added a tooltip.
* etc/gtkrc_user: document how the color can be customized.
2003-03-14 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorarea.[ch]: let GimpColorArea optionally
draw a thin border around itself.
* app/widgets/gimpitemfactory.c (gimp_item_factory_set_color): use
a GimpColorArea instead of a deprecated GtkPreview.
2003-03-14 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.[ch]: some cleanup to event handling
and drawing code. Doesn't draw outside the expose_event handler
any longer but could still be improved.
2003-03-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c: disable expensive column
auto-resizing and call gtk_tree_view_columns_autosize() in
gimp_component_editor_set_preview_size().
* app/widgets/gimpcontainertreeview.[ch]: ditto. Changed the
GtkListStore pointer in the GimpContainerTreeView struct to
GtkTreeModel.
2003-03-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimptoolbox.c (gimp_toolbox_init): set a window type
hint of GDK_WINDOW_TYPE_HINT_NORMAL for the toolbox since UTILITY
doesn't match here.
2003-03-13 Sven Neumann <sven@gimp.org>
* app/gui/channels-commands.c: don't expose the internal term
"component", use "channel" instead.
2003-03-13 Sven Neumann <sven@gimp.org>
* POTFILES.in
* de.po: updated.
2003-03-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcellrenderertoggle.c: fixed size calculation,
removed padding and the spacing between the icon and the frame
around it.
* app/widgets/gimpwidgets-utils.[ch]: added gimp_get_icon_size()
which returns the best matching icon size for a given allocation.
* app/widgets/gimpcomponenteditor.[ch]: adjust the eye icon's
size according to the preview_size.
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_default_render_stock): use gimp_get_icon_size()
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainertreeview.c: iterate the tree model
using a for() loop instead of nested if() { do { } while() }
stuff.
2003-03-13 Sven Neumann <sven@gimp.org>
* app/core/core-enums.h: made the GimpPreviewSize enum values a
little bit smaller. What used to be small is now called medium.
* app/config/gimpcoreconfig.c
* app/gui/dialogs.c: changed accordingly.
2003-03-12 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrenderertoggle.[ch]: added a new cell_renderer
derived from GtkCellRendererToggle.
* app/widgets/gimpcomponenteditor.c: use the new cell_renderer.
* app/widgets/gimpcellrendererviewable.[ch]: fixed a few typos and
removed some redundant casts.
2003-03-12 Sven Neumann <sven@gimp.org>
* app/gui/image-menu.c: reordered the View menu, moved all
Zoom-related entries into a submenu. Use radio items for the zoom
ratio as suggested in bug #74385.
* app/gui/view-commands.c (view_zoom_cmd_callback): only call
gimp_display_shell_scale() if the item is active and the current
scale is different from the requested one.
* app/display/gimpdisplayshell.c (gimp_display_shell_real_scaled):
update the image menu so that the zoom ratio is displayed correctly.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_realize): don't call
gimp_display_shell_scale_setup(), since it is done in the configure
event handler already.
2003-03-12 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added descriptions to the
GimpChannelType enum.
* app/core/gimpimage.[ch]: added gimp_image_get_component_index()
utility function which does the GIMP_RED_CHANNEL -> RED_PIX etc.
mapping. Use it in all component getters/setters.
* app/widgets/gimpcomponenteditor.[ch]: new widget implementing
the component list using GtkListStore/GtkTreeView. Still a bit
ugly because it uses the standard check instead of the eye icon.
* app/widgets/gimpcomponentlistitem.[ch]: removed.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpvectorslistview.c: changed accordingly.
* app/widgets/gimpchannellistview.[ch]: create a GimpComponentEditor
and removed the old GtkList based stuff.
* app/widgets/gimpitemlistview.[ch]: keep around a pointer to the
GimpMenuFactory passed to the constructor.
* app/gui/channels-menu.c (channels_menu_update): do the right
thing if "data" is a GimpComponentEditor.
* app/gui/channels-commands.[ch]: ditto. Implemented duplicating
of components and component to selection (bug #61018).
2003-03-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_init): set a window type hint
of GDK_WINDOW_TYPE_HINT_UTILITY for dock windows (fixes bug #94669).
* app/gui/splash.c (splash_create): set a window type hint of
GDK_WINDOW_TYPE_HINT_SPLASHSCREEN.
2003-03-12 Sven Neumann <sven@gimp.org>
* app/core/gimpchannel.[ch]: added gimp_channel_new_from_component()
which creates a new GimpChannel from an image's color component.
* app/gui/channels-commands.[ch]: added
channels_duplicate_component_cmd_callback().
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.[ch]: added code to extract a color
component from a PixelRegion (untested!).
* plug-ins/common/checkerboard.c: cosmetics.
2003-03-11 Michael Natterer <mitch@gimp.org>
* app/core/gimpimagefile.c (gimp_imagefile_create_thumbnail),
(gimp_imagefile_save_thumbnail)
* app/gui/file-open-dialog.c (file_open_create_thumbnails): don't
create thumbnails if core_config->layer_previews is FALSE
(bug #107242).
* app/file/file-save.c (file_save_as): call
gimp_imagefile_save_thumbnail() unconditionally since it does all
the needed checks itself.
2003-03-11 Michael Natterer <mitch@gimp.org>
* app/display/Makefile.am
* app/display/gimpdisplayshell-appearance.[ch]: new files
implementing canvas padding, fullscreen toggling and utility
functions to show/hide GimpDisplayShell components (menubar,
statusbar, ...) Added the possibility to show/hide the scrollbars.
* app/display/gimpdisplayshell.[ch]: added struct
GimpDisplayShellVisibility which stores the GUI components'
visibility. Added two such structs to the GimpDisplayShell struct:
one for normal mode and one for fullscreen mode. Default to
"everything invisible" for fullscreen. Fixes bug #74383.
* app/display/gimpdisplayshell-callbacks.c: fiddle with the
two visibility structs when toggling fullscreen.
* app/display/gimpdisplayshell-handlers.c: #include
"gimpdisplayshell-appearance.h"
* app/gui/image-menu.c
* app/gui/view-commands.[ch]: added a "Show Scrollbars" menu entry,
use the new widget show/hide utility functions.
2003-03-11 Sven Neumann <sven@gimp.org>
* plug-ins/print/gimp_color_window.c (gimp_dither_algo_callback):
set the default dither algorithm as a fallback in case no
algorithm matched. Seems to fix bug #102457.
* plug-ins/print/gimp_main_window.c: fixed wrong display of paper
border that was introduced by my latest changes to the preview code.
2003-03-11 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: made gimp_image_get_active_components()
a static function and changed its behaviour so that the image's
active components are only used for layers, not for channels.
Fixes bug #108083.
2003-03-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]
* app/gui/image-menu.c
* app/gui/view-commands.c: rewrote the fullscreen mode
implementation so that it doesn't loop infinitely.
2003-03-11 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.[ch]
* app/gui/image-menu.c
* app/gui/view-commands.[ch]: added a fullscreen mode for the
image display by means of gtk_window_fullscreen/unfullscreen.
Depends on the window manager implementing _NET_WM_STATE_FULLSCREEN.
* app/tools/gimpcroptool.c: made gimp_crop_tool_draw() static.
* app/tools/gimptexttool.[ch]: derive from GimpDrawTool, no real
changes yet.
2003-03-10 Sven Neumann <sven@gimp.org>
* plug-ins/common/xpm.c: don't add a transparent color entry for
images that don't have an alpha channel (fixes bug #108034).
2003-03-10 Sven Neumann <sven@gimp.org>
* app/config/gimpscanner.[ch]: removed gimp_scanner_parse_string_list()
since the format it read wasn't proper s-expressions syntax.
* app/config/gimpconfigwriter.c: a couple of minor cleanups.
* app/gui/color-history.[ch]
* app/gui/session.c
* app/widgets/gimpdialogfactory.[ch]: use GimpConfigWriter to
write the sessionrc. Had to do some minor changes to the file
format.
2003-03-10 Michael Natterer <mitch@gimp.org>
* app/core/gimppalette.[ch]: added GimpData::duplicate()
implementation so read-only palettes can be edited again by
duplicating them first.
* app/gui/dialogs-constructors.c: pass the <Palettes>, not the
<Gradients> menu identifier to the palette grid and tree view
constructors (spotted by Tigert).