2004-03-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrendererimagefile.[ch]: moved the
(disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file and
#ifdef the "gpointer file_system" member with it.
2004-03-03 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrendererimagefile.[ch]: moved the
(disabled) ENABLE_FILE_SYSTEM_ICONS from the .c to the .h file and
#ifdef the "gpointer file_system" member with it.
2004-03-03 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppreviewrendererimagefile.[ch]: added new preview
renderer class (has some disabled code from my GtkFileChooser tree
and behaves exactly as the default implementation).
* app/widgets/gimppreviewrenderer-utils.c: use it for GimpImagefiles.
2004-03-02 Michael Natterer <mitch@gimp.org>
* app/tools/gimpeditselectiontool.c
* app/widgets/gimplayertreeview.c: compress undo steps only
if the redo stack is empty.
2004-03-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_uri):
new function which configures the dialog to load an image.
* app/gui/file-open-dialog.c: use it. Don't use file-dialog-utils
any more and allow setting the uri of an already visible file open
dialog.
* app/gui/file-dialog-utils.c: took the file open menu entries out
of that insane logic that makes the menus insensitive while any
file dialog is open.
2004-03-01 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpfiledialog.[ch] (gimp_file_dialog_set_image):
new function which configures the dialog to save an image.
* app/gui/file-save-dialog.c: use it.
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c: removed useless #inlcudes.
2004-02-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcellrendererviewable.c: some general cleanup.
(gimp_cell_renderer_viewable_set_property): ref the new renderer
before unrefing the old one. Fixes potential crash when setting
the same renderer again.
2004-02-27 Michael Natterer <mitch@gimp.org>
* app/gui/file-dialog-utils.c
* app/widgets/gimpfiledialog.c
* libgimpwidgets/gimpfileentry.[ch]: some irrelevant micro changes
to make that patch smaller.
2004-02-27 Michael Natterer <mitch@gimp.org>
* app/gui/file-open-dialog.c: removed the thumbnail box.
* app/widgets/gimpfiledialog.c: and added it here.
2004-02-27 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfiledialog.[ch]: new widget swallowing most
of file-dialog-utils.[ch]'s functionality.
* app/widgets/widgets-types.h: added "gpointer callback_data" to
GimpItemFactorySetupFunc so the setup_funcs can create items in
the same context as the item factory's default items.
* app/widgets/gimpmenufactory.c (gimp_menu_factory_menu_new):
pass "callback_data" to setup_func().
* app/gui/file-open-menu.[ch]
* app/gui/file-save-menu.[ch]: use the passed callback_data
when creating the menus and attach the file_proc to the
menu items using g_object_set_data().
* app/gui/file-commands.[ch]: merged separate file type callbacks
for open and save dialogs into one callback which simply
calls gimp_file_dialog_set_file_proc().
* app/gui/file-dialog-utils.[ch]: removed file_dialog_new()
and file_dialog_set_proc().
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: use the new widget and removed
global variables except the dialog pointer itself.
* app/gui/image-menu.[ch]
* app/gui/tool-options-menu.[ch]
* app/gui/toolbox-menu.[ch]: changed accordingly.
2004-02-26 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpthumbbox.[ch]: new widget ripped out of the file
open dialog.
* app/gui/file-open-dialog.c: use it.
2004-02-20 Sven Neumann <sven@gimp.org>
* app/tools/gimplevelstool.[ch]: put the color bars into an event
box and draw the sliders on the event box window.
* app/widgets/gimpcolorbar.[ch]: removed support for input events
which is no longer needed. For consistency, renamed "channel"
property to "histogram-channel".
* app/widgets/gimphistogrambox.c: changed accordingly.
* app/widgets/gimpenummenu.[ch]: added new function
gimp_enum_stock_box_set_child_padding().
* app/tools/gimpcurvestool.[ch]: let the graph widget expand with
the dialog plus some other dialog tweaks.
* app/widgets/gimphistogrameditor.c: let the channel menu shrink
as in the other dialogs.
* libgimpwidgets/gimpcolorselect.c (gimp_color_select_image_fill):
allocate temporary buffer on the stack.
2004-02-18 Michael Natterer <mitch@gimp.org>
Some code review:
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed obsolete code which
made sure serialize_property()/deserialize_property() are only
called for properties of the correct class. We do it the right way
for quite a while now and clear the inherited function pointers in
gimp_config_iface_base_init().
* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.
* app/base/gimplut.c
* app/base/lut-funcs.c
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimpbrush.c
* app/core/gimpcontainer.c
* app/core/gimpdocumentlist.c
* app/core/gimpitem.c
* app/gui/about-dialog.c
* app/gui/color-notebook.c
* app/gui/gui.c
* app/gui/tips-dialog.c
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpselectioneditor.c: removed I/O includes from
files which don't use lowlevel APIs any more. Also removes
a whole bunch of G_OS_WIN32 special casing. Removed trailing
whitespace. Misc tiny cleanups.
2004-02-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpeditor.c (gimp_editor_add_stock_box): cannot
gtk_widget_destroy() a floating widget, sink it instead.
* libgimpwidgets/gimppatheditor.c (gimp_path_editor_set_path):
plugged a small memleak.
2004-02-14 Michael Natterer <mitch@gimp.org>
Fixed lots of QuickMask brokenness by letting the image adjust
its qmask_state automatically:
* app/core/gimpimage-qmask.h: #define GIMP_IMAGE_QMASK_NAME "Qmask".
Use the define in all files below.
* app/core/gimpimage.[ch]: split gimp_image_drawable_add,_remove()
into separate handlers for layers and channels. Added a
"name_changed" handler for all channels. In the channel "add",
"remove" and "name_changed" handlers, check if it was a channel
named "Qmask" that was added, removed or renamed and call
gimp_image_set_qmask_state() accordingly.
* app/core/core-enums.[ch]
* app/core/gimpimage-undo-push.[ch]
* app/core/gimpundo.c: removed all Qmask undo code because the image
does the right thing without undo interaction now.
* app/core/gimpimage-qmask.c (gimp_image_set_qmask_state): set
gimage->qmask_state early so we can return early when called
recursively. Removed calls to gimp_image_undo_push_image_qmask().
Returned "removed" callback (it was utterly broken the way it was
implemented).
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_qmask_toggled): check if the image's
qmask state needs to be changed before changing it.
* app/xcf/xcf-load.c (xcf_load_channel): removed code which
recognized the qmask. GimpImage does this automatically now.
* app/gui/qmask-commands.c: cleanup.
* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
destroy the "/Select/By Color" and "/Select/Toggle QuickMask" menu
items.
* app/widgets/image-menu.c (image_menu_update): changed accordingly.
2004-02-13 Michael Natterer <mitch@gimp.org>
Fixed GimpData's default "writable" and "deletable" behaviour:
* app/core/gimpdata.c (gimp_data_init): default to writable and
deletable == TRUE (something that has no filename was never loaded
from disk and can't be undeletable or read-only).
Fixes bug #134274.
* app/core/gimpdata.[ch]: added new function
gimp_data_make_internal() which frees the filename and sets the
data's flags accordingly.
* app/core/gimp-gradients.c (gimp_gradients_add_gradient)
* app/core/gimpbrush.c (gimp_brush_get_standard)
* app/core/gimpgradient.c (gimp_gradient_get_standard)
* app/core/gimppalette.c (gimp_palette_get_standard)
* app/core/gimppattern.c (gimp_pattern_get_standard): use the
new function for internal data objects.
* app/core/gimpdata.c (gimp_data_save, gimp_data_delete_from_disk)
* app/core/gimpdatafactory.c (gimp_data_factory_save_single):
bail out with g_return_if_fail() is the data is not writable
or deletable.
* app/widgets/gimpdataeditor.c
* app/widgets/gimpdatafactoryview.c: changed accordingly.
2004-02-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.c (gimp_histogram_view_button_press):
ignore double clicks so we don't grab the pointer away from the
curves dialog. Fixes bug #132356.
* app/tools/gimpcurvestool.c (curves_graph_events): ignore button
press and release events from all buttons except the first one.
2004-02-12 Michael Natterer <mitch@gimp.org>
Make sure that non-indexed images never have a colormap.
Fixes bug #121033.
* app/core/gimpimage-colormap.c (gimp_image_set_colormap): set
image->cmap to NULL when called with a NULL colormap.
* app/core/gimpimage-undo-push.c: made colormap undo/redo aware
of NULL colormaps.
* app/core/gimpimage-convert.c (gimp_image_convert): remove the
colormap using gimp_image_set_colormap() instead of freeing it
manually.
* app/widgets/gimpcolormapeditor.c: always check if the image
is INDEXED *and* has a colormap before accessing the colormap.
(need this new check because the fixed behaviour of colormap undo
produces undo groups which, when being popped, make the image have
no colormap while still being INDEXED in the small time frame
between the emission of "colormap_changed" and "mode_changed").
2004-02-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolorframe.c (gimp_color_frame_init): make the
value labels selectable as suggested by Mariano Suárez-Alvarez in
bug #133958.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-02-05 Michael Natterer <mitch@gimp.org>
Disallow editing of data objects which have no save functionality.
Also fixed the misassumption that "deletable" is always equal to
"writable". Fixes bug #133456.
* app/core/gimpdata.[ch]: added a "deletable" property which is
always equal to "writable" except when the data class does not
implement GimpData::save() (then deletable may be TRUE but
writable is always FALSE).
* app/gui/brushes-menu.c
* app/gui/gradients-menu.c
* app/gui/palettes-menu.c
* app/gui/patterns-menu.c
* app/widgets/gimpdatafactoryview.c: look at data->deletable when
setting the sensitivity of the "Delete" buttons and menu items.
* app/widgets/gimpdatafactoryview.c
(gimp_data_factory_view_tree_name_edited): rename the data
only if it's writable and restore the old name otherwise.
* app/widgets/gimpdataeditor.c: no need to look at data->internal
for figuring if the data is editable, data->editable is enough.
All files above: s/writeable/writable/g
* app/widgets/gimpbrusheditor.c (gimp_brush_editor_set_data):
simplified.
2004-02-02 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
also destroy the <Image> factory's "Tools" submenu because menu
shortcuts with no or <shift> modifier prevent this key to be
entered in text entries. This really badly baldy cries for
GTK+ 2.4's GtkActions...
2004-02-01 Michael Natterer <mitch@gimp.org>
Disallow to rename the layer mask. Instead, always name the mask
"<layer name> mask". Fixes bug #133112 along with some other
unreported ones.
* app/core/gimpitem.[ch]: added a boolean return value indicating
success to GimpItem::rename().
(gimp_item_real_rename): push an undo step only if the item is
attached.
* app/core/gimplayer.c (gimp_layer_rename): refuse renaming if
the layer is a floating selection floated from a channel
(renaming a layer's floating selection makes a new layer out
of the floating selection).
(gimp_layer_duplicate): use gimp_layer_add_mask() to attach the
mask's duplicate. Fixes mask refcount brokenness for duplicated
layer masks.
(gimp_layer_name_changed): new function. Automatically renames the
layer mask when the layer's name changes.
* app/core/gimplayermask.c (gimp_layer_mask_rename): new function
which refuses renaming.
(gimp_layer_mask_name_changed): skip the unique name voodoo
GimpItem does by not chaining up.
(gimp_layer_mask_set_layer): change the mask's name whenever it is
attached to a layer.
* app/text/gimptextlayer.c (gimp_text_layer_rename): fiddle with
text_layer->auto_rename only if renaming was successful.
* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_name_edited):
restore the old name if renaming failed.
* tools/pdbgen/pdb/drawable.pdb (set_name): return an execution
error if renaming failed.
* app/pdb/drawable_cmds.c: regenerated.
2004-01-31 Michael Natterer <mitch@gimp.org>
Use the global <Image> accel_group in all docks except the
toolbox (the latter needs GTK+ 2.4's new menu features).
Addresses bug #119878:
* app/gui/buffers-commands.c
* app/gui/channels-commands.c
* app/gui/data-commands.c
* app/gui/documents-commands.c
* app/gui/drawable-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/plug-in-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/tools-commands.c
* app/gui/vectors-commands.c
* app/gui/view-commands.c: changed the various return_if_no_foo()
macros to also accept a GimpDock as user_data.
* app/gui/image-menu.c (image_menu_update): don't update the
display related menu items if they don't exist (see below).
* app/gui/gui.c (gui_display_changed): simplified.
* app/widgets/gimpimagedock.[ch]: create an "<Image>" item_factory
and attach its accel_group to the dock. Destroy all display
related menu items. Destroy the layer stack navigation items
because their default shortcuts interfere with tree and grid view
keybindings. Connect to "image_changed" of the dock's private
context and to "flush" of the image container to update the
item_factory's state.
2004-01-31 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_constructor): g_assert() that
we got the essential construct properties.
2004-01-30 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptooloptionseditor.[ch]: added the scrolled
window to the GimpToolOptionsEditor struct.
(gimp_tool_options_editor_tool_changed): set the active tool's
help ID on the scrolled window. Fixes bug #132969.
2004-01-29 Simon Budig <simon@gimp.org>
* app/display/gimpdisplayshell.[ch]: Store the zoom factor as
float, not as a ratio.
* app/display/gimpdisplayshell-scale.[ch]: change the API to
expose the Float instead a weirdly encoded integer. Implement
functions to get a ratio from the scale factor. Implement a set
as presets as discussed on the mailinglist. Changed Zoom->Other
dialog to enable entering a float.
* app/display/gimpdisplayshell-title.c
* app/display/gimpnavigationview.c
* app/gui/image-menu.c
* app/gui/info-window.c
* app/tools/gimpmagnifytool.c: changed accordingly.
* app/core/gimp.[ch]
* app/display/gimpdisplay.[ch]
* app/gui/gui-vtable.c
* app/widgets/widgets-enums.h: Made the various display-creating
functions accept a float for the scale. Introduce a new
GimpZoomType: GIMP_ZOOM_TO. Generally adjust the API to use
floats instead of weird integers.
* app/core/gimp-edit.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-callbacks.c
* app/file/file-open.c
* app/gui/image-commands.c
* app/gui/view-commands.[ch]
* tools/pdbgen/pdb/display.pdb
* app/widgets/gimpimageview.c
* app/widgets/gimptoolbox-dnd.c: changed accordingly
* app/pdb/display_cmds.c: regenerated
2004-01-29 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontext.[ch]: removed the last artefact of context
signal handling from 1.2:
GimpContext used to connect to e.g. the current brush's
"invalidate_preview" and "name_changed" signals and emitted
"brush_changed" when the callback was invoked. This was needed to
make 1.2 work, but is conceptually broken with the real model <->
view approach implemented in the current code.
This change also optimizes things quite a bit because lots of
signal emissions are saved.
Added utility function which finds a container's current object
after a freeze/thaw.
* app/widgets/gimpcontainerview.[ch]: added new virtual function
GimpContainerView::rename_item(). Connect to "name_changed" of the
corrent container's children and invoke rename_item() accordingly.
* app/widgets/gimpcontainertreeview.[ch]: removed name_changed
handler and implement GimpContainerView::rename_item().
* app/widgets/gimpcontainergridview.c: ditto. the grid view was
still relying on the removed GimpContext behaviour for updating
the label showing the sleected item's name.
2004-01-28 Michael Natterer <mitch@gimp.org>
Added infrastructure to make sure we don't write to the global
brush, pattern etc. directories. Needed to make this configurable
because we can't rely on the global directories being read-only,
having certain names or being otherwise detectable at runtime in a
sane way. Fixes bug #132214.
* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
the GimpDataFileData struct so callbacks don't need to call
g_path_get_dirname() for each file.
* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
encoded filenames.
* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
setting/getting a second "writable_path". The widget makes sure
that the writable_path is always a subset of the path.
* app/config/gimpconfig-utils.[ch]: added new function
gimp_config_build_writable_path().
* app/config/gimpcoreconfig.[ch]: added separate properties for
the writable brush, pattern, gradient, palette and font paths.
* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
new properties.
* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
"gboolean writable". Set data->writable to FALSE by default. If
"writable" is passed as TRUE, still check if we can write to the
file before setting data->writable to TRUE.
(gimp_data_create_filename): changed "data_path" parameter to
"dest_dir" and assume dest_dir is writable.
(gimp_data_duplicate): set data->dirty to TRUE to make sure
duplicated things will be saved.
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c: don't set the data's filename and don't
touch data->dirty in the _load() functions because that's done by
the data factory now. Don't touch data->dirty in the _duplicate()
functions because that's done by gimp_data_duplicate() itself now.
* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
"writable_property_name" and remember it.
Added utility function gimp_data_factory_get_save_dir() which
determines the directory to save new datas to.
Added public function gimp_data_factory_data_save_single() which
saves a single data object.
Make sure new things get saved to the first writable directory
as specified in preferences.
* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
property names to gimp_data_factory_new().
* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
gimp_data_factory_data_save_single() instead of implementing
saving here.
* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
added "const gchar *writable_property_name" parameter (can be
NULL).
Added the needed callbacks to handle the writable_path and made
the path_editor and file_entry code aware of non UTF-8 filename
encodings. Some general cleanup.
* app/gui/preferences-dialog.c: changed accordingly.
2004-01-28 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: updated help IDs for new/reordered
pages in the prefs dialog.
* app/gui/preferences-dialog.c (prefs_dialog_new): changed
accordingly.
2004-01-27 Michael Natterer <mitch@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-channel-indexed-16.png
* themes/Default/images/stock-channel-indexed-24.png
* themes/Default/images/stock-channel-indexed-32.png
* themes/Default/images/stock-channel-indexed-48.png
* libgimpwidgets/gimpstock.[ch]: added placeholders for an INDEXED
channel icon (copied from the GRAY channel icon). To be replaced...
* app/widgets/gimppreviewrendererimage.c: use
GIMP_STOCK_CHANNEL_INDEXED instead of GIMP_STOCK_QUESTION for the
indexed channel.
2004-01-26 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c
* app/widgets/gimphistogramview.c: use dark_gc instead of
text_aa_gc to draw the histogram and curves grid lines. dark_gc is
slightly lighter, looks better and fixes bug #132565.
2004-01-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added help IDs for the libgimp
export and unit dialogs.
* libgimp/gimpexport.c
* libgimpwidgets/gimpunitmenu.c: replaced html links by the new
help IDs.
* plug-ins/*/*.c: replaced all html help links by help IDs. A
plug-in's help ID is its procedure name with '_' relaced by '-'.
(e.g. file_tiff_save's help ID is file-tiff-save)
Did some random indentation and whitespace cleanup.
2004-01-19 Sven Neumann <sven@gimp.org>
* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
now unnecessary inclusions of "file/file-utils.h".
2004-01-19 Sven Neumann <sven@gimp.org>
* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...
* libgimpbase/gimputils.[ch]: ... and added it here as
gimp_filename_to_utf8(). Added some docs that promise less than
the current implementation holds so that we can change the
implementation later.
* app/*/*.c: use gimp_filename_to_utf8() where
file_utils_filenames_to_utf8() has been used before.
* libgimpbase/gimpbase.def: changed accordingly.
* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpgradienteditor.[ch]: moved the first hint label
to a line of its own. fixes bug #127673.
2004-01-17 Sven Neumann <sven@gimp.org>
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h
* app/widgets/gimpdock.c
* app/widgets/gimptoolbox.c
* app/widgets/gimpwidgets-utils.[ch]
* app/widgets/gimpwidgets-utils.[ch]
* app/widgets/widgets-enums.[ch]: GTK+-2.4 will allow to request
windows to be kept above. This change prepares the code so that we
can optionally do this for docks and the toolbox as soon as we
depend on GTK+-2.4 (see bug #131672).
2004-01-16 Michael Natterer <mitch@gimp.org>
* app/gui/edit-commands.[ch]: converted tabs to spaces.
(cut,copy_named_buffer_callback): unref the buffer after adding it
to gimp->named_buffers. Seems we leaked all named buffers...
Removed code duplication I have just introduced:
* app/gui/edit-commands.[ch] removed
edit_paste_into_cmd_callback(). Instead, pass the "paste_into"
boolean as "guint action" to gimp_edit_paste_cmd_callback().
* app/gui/image-menu.c: changed accordingly.
* app/widgets/gimpbufferview.c: added utility function
gimp_buffer_view_paste() and call it from the paste and paste_into
callbacks.
2004-01-15 Michael Natterer <mitch@gimp.org>
Fixed bug #78732 (don't paste off screen):
* app/display/gimpdisplayshell-transform.[ch]: added new function
gimp_display_shell_untransform_viewport() which returns the
visible rectangle of the image in image coordinates.
* app/core/gimp-edit.[ch] (gimp_edit_paste): added viewport
parameters and changed positioning of the pasted layer as follows:
- if there is a selection, center on the selection (just as before).
- if there is no viewport, center on the active drawable.
- if the viewport intersects with the active drawable, center
on the intersection.
- if the viewport does *not* intersect with the active drawable,
center on the active drawable (off-screen, but better than pasting
something that will be invisible due to floating selection clipping).
- if there is no active drawable, center on the viewport.
- if there is no active drawable and no viewport, center on the image.
* app/widgets/gimpbufferview.c (gimp_buffer_view_paste_clicked)
(gimp_buffer_view_paste_into_clicked)
* app/display/gimpdisplayshell-dnd.c (gimp_display_shell_drop_buffer)
* app/gui/edit-commands.c (edit_paste_cmd_callback)
(edit_paste_into_cmd_callback): ask the shell for the viewport
and pass it to gimp_edit_paste().
* app/display/gimpdisplayshell-dnd.c
(gimp_display_shell_drop_drawable): center the created layer on
the viewport.
* app/tools/gimpmovetool.c (gimp_move_tool_button_release): use
gimp_display_shell_untransform_viewport() (its code was taken from
here).
* tools/pdbgen/pdb/edit.pdb: pass "no viewport" to gimp_edit_paste().
* app/pdb/edit_cmds.c: regenerated.
2004-01-14 Tor Lillqvist <tml@iki.fi>
* app/file/file-utils.[ch]: Add new function
file_utils_filename_to_utf8(), which is to be used when converting
file names (which are kept in the on-disk encoding) to UTF-8 for
passing to GTK, or to g_print() etc.
* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
of the warnings generated by non-UTF8 pathnames. See #130118.
* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
strings in the on-disk encoding.
* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
g_filename_to_utf8()) before passing to g_print().
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.c: added GimpHistogramChannel index
fiddling hacks for GRAYA images to all gimp_histogram_get_*()
functions. The public API now does what their enum values pretend
to do.
(gimp_histogram_calculate): restructured to reduce indentation depth.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c
* tools/pdbgen/pdb/color.pdb: removed hacks here and always use
the unchanged enum values.
* app/pdb/color_cmds.c: regenerated.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/base/gimphistogram.[ch]: renamed gimp_histogram_nchannels()
to gimp_histogram_n_channels().
* app/core/gimpdrawable-histogram.c: removed silly double negation
logic. Cleanup.
* app/widgets/gimphistogrameditor.c
* app/widgets/gimphistogramview.c: adjust the GimpHistogramChannel
for GRAYA images to make sure we pick alpha from the right slot.
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c: removed the same hack here and call
gimp_histogram_view_set_channel() with the correct enum value.
* tools/pdbgen/pdb/color.pdb (levels, curves, histogram): fiddle
with enum values here too so GRAY* drawables produce the correct
results.
Fixed precondition checks and set "success" in a uniform way all
over the place.
Use gimp_drawable_calculate_histogram() instead of duplicating its
code here.
(started with a patch from Pedro Gimeno. Fixes bug #109078)
* app/pdb/color_cmds.c: regenerated.
2004-01-10 Sven Neumann <sven@gimp.org>
* app/core/gimpimagefile.[ch] (gimp_imagefile_update): removed the
size parameter and do nothing but invalidating the preview.
* app/gui/file-open-dialog.c
* app/widgets/gimpdocumentview.c: changed accordingly.
* app/core/gimpdocumentlist.c (gimp_document_list_deserialize):
no need for calling gimp_imagefile_update() from here.
* tools/pdbgen/pdb/fileops.pdb
* app/pdb/fileops_cmds.c (file_load_thumbnail): rewritten using the
GimpThumbnail API.
* app/core/gimp.c: cosmetics.
2004-01-05 Sven Neumann <sven@gimp.org>
* app/core/core-enums.[ch]: added GIMP_UNDO_TEXT_LAYER to
GimpUndoType enum.
* app/core/gimpimage-undo-push.[ch]: added new undo function
gimp_image_undo_push_text_layer().
* app/text/gimptextlayer.[ch]: renamed gimp_text_layer_render() to
gimp_layer_text_layer_flush().
Added new function gimp_text_layer_discard().
* app/text/gimptextlayer-transform.c: changed accordingly.
* app/gui/image-menu.c
* app/gui/layers-commands.[ch]
* app/gui/layers-menu.c: added menu entries that allow to discard
the text information of a text layer (bug #118547).
* app/widgets/gimppreviewrendererlayer.c
(gimp_preview_renderer_layer_render): treat text layers without a
text object like ordinary layers.
* app/widgets/gimppreviewrenderer-utils.c: include gimplayer.h
instead of gimptextlayer.h.
2003-12-28 Simon Budig <simon@gimp.org>
* app/core/core-enums.h: Some default dash pattern enum.
* app/core/core-enums.c: regenerated.
* app/core/gimpstrokeoptions.[ch]: Implement default dash
patterns, add a signal when the dash pattern changes.
* app/widgets/gimpstrokeeditor.c: Add an option menu for
the dash pattern and connect it to the signal mentioned above.
2003-12-28 Simon Budig <simon@gimp.org>
* app/widgets/gimpdasheditor.[ch]: Added functions to shift the
dash pattern to the left or right.
* app/widgets/gimpstrokeeditor.c: Improve the appearance of the
widget and add left/right buttons.
2003-12-27 Simon Budig <simon@gimp.org>
Dashed stroking is here... :-)
* app/core/gimpdrawable-stroke.c: actually use the dash pattern
from the options
* app/core/gimpscanconvert.c: Normalize the dash pattern, so
that libart does the right thing.
* app/core/gimpstrokeoptions.c: Fix default value for dash
offset, handle the property_get for PROP_DASH_INFO correct.
* app/widgets/gimpdasheditor.[ch]
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: New widget to edit a dash
pattern.
* app/widgets/gimpstrokeeditor.c: Use it.
2003-12-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
render the selection in "light" histograms correctly (unused and
untested).
2003-12-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c: reset container_view->dnd_widget
in gimp_item_tree_view_constructor() instead of
gimp_item_tree_view_new().
2003-12-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c: this was starting to bit-rot on
my disk: added "container" and "context" properties.
(gimp_container_view_set_size_request): fixed scrollbar_width
calculation for deprecated uses of the widget (should never happen
but the code should be correct anyway).
2003-12-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c: made "item-type" and
"signal-name" CONSTRUCT_ONLY properties. Configure the DND dests
in gimp_item_tree_view_constructor(), not in
gimp_item_tree_view_new().
2003-12-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.c: return a boolean indicating success from
all drop handlers.
(gimp_dnd_data_drop_handle): finish the drop correctly by calling
gtk_drag_finish() with the above success value.
2003-12-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.[ch]: changed unused SVG dnd API to speak in
terms of "guchar *data", "gint data_len" instead of GimpVectors.
2003-12-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpsessioninfo.c (gimp_session_info_restore): free
GimpSessionInfoAux structs using gimp_session_info_aux_free()
instead of g_free() so we don't leak its members.
2003-12-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: draw the selection in
GTK_STATE_SELECTED's colors, not inverted. Fixed selection
rendering to snap to value boundaries.
2003-12-12 Manish Singh <yosh@gimp.org>
* Makefile.am
* app/composite/Makefile.am
* themes/Default/images/Makefile.am: comestics.
* app/gui/color-notebook.c (color_notebook_new): no need to cast to G_OBJECT for g_signal_connect.
* plug-ins/common/mkgen.pl
* plug-ins/common/plugin-defs.pl: properly handle the libgimpoldpreview
stuff.
* plug-ins/common/Makefile.am: regenerated.
* plug-ins/common/decompose.c: cbrt() is in C99, so check for that
in addition to GNU libc.
2003-12-12 Hans Breuer <hans@breuer.org>
[
I've postponed my reservations against pangoft2/fontconfig/freetype2
usage, so The Gimp should now build with msvc without patching it.
]
* app/makefile.msc app/text/makefile.msc : use $(PANGOFT2_CFLAGS) etc.
* libgimpthumb/makefile.msc : (new file)
* makefile.msc : added libgimpthumb
* libgimpthumb/gimpthumbnail.c : include gimpwin32-io.h
* libgimpthumb/gimpthumb-utils.c : don't compare size pointer
with GIMP_THUMB_SIZE_FAIL but *size
* plug-ins/makefile.msc : handle libgimpoldpreview
* plug-ins/common/decompose.c : define cbrt() if not __GLIBC__
* plug-ins/common/winclipboard.c : make it compile without gimpcompat.h
* plug-ins/imagemap/imagemap_csim_lex.c : its a generated file
but still win32/msvc has no unistd.h
* plug-ins/pygimp/makefile.msc : (new file) to use the binary you
need to patch glib, see bug #98737
* plug-ins/libgimpoldpreview.c : use <libgimp/gimp.h> instead of "gimp.h"
* **/Makefile.am : added makefile.msc to EXTRA_DIST
2003-12-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: added a hack that allows to
render the histogram in a brighter color. Fixed initial range for
views that are not selectable.
* app/tools/gimpcurvestool.[ch]: replaced the GtkDrawingArea by a
bright GimpHistogramView and render the curves tool controls on
top of the histogram. Fixes bug #71633.
2003-12-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_init): suppress
button_press events that reach the dockable widget but don't
originate from the title area.
2003-12-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: added properties "border-width"
and "subdivisions". Fixed rendering (it off-by-one worked just
accidentially because border-width was hardcoded to 1).
* app/widgets/gimphistogrambox.c: use the histogram view's border
width for the color area below the histogram. Conect to the right
signal to update the area. Added (#ifdef DEBUG_VIEW) debugging
spinbuttons to change the histogram view's new properties on the
fly.
2003-12-11 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphistogramview.[ch]: applied (modified) patch
from Ed Halley which adds "quintile marks". Fixes bug #129050.
Render the histogram on a base_gc background and use text_gc and
text_aa_gc for rendering the histogram and the helper lines.
Fixed rendering of the 1px border around the histogram. Removed
separate drawing of baseline, left and right helper lines and draw
a rectangle which marks the entire area of possible values. Fixed
size_request calculation. Added missing getters. Cleanup.
* app/tools/gimpcurvestool.c: use the same color scheme as the
histogram.
* app/tools/gimpcurvestool.c (curves_load,save_callback)
* app/tools/gimplevelstool.c (levels_load,save_callback):
gtk_window_present() the file dialog if it is already visible.
2003-12-09 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox-dnd.c (gimp_toolbox_drop_drawable): use
gimp_item_convert() instead of gimp_item_duplicate() to create
the layer for the new image. Cleanup.
2003-12-08 Sven Neumann <sven@gimp.org>
* Makefile.am (SUBDIRS): added libgimpthumb.
* libgimpthumb/gimpthumb-utils.c
* libgimpthumb/gimpthumbnail.c: basic functionality is implemented
and seems to be working.
* app/Makefile.am: link the application against libgimpthumb.
* app/core/core-types.h: include libgimpthumb/gimpthumb-types.h.
* app/core/gimpimagefile.[ch]: removed thumbnail handling routines
and use libgimpthumb instead. Fixes bug #127914.
* app/gui/file-open-dialog.c
* app/widgets/gimpdocumentview.c: changed accordingly.
2003-12-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcolormapeditor.c (gimp_colormap_adjustment_changed):
quick fix for bug #128285. This widget should be redone.
2003-11-25 Sven Neumann <sven@gimp.org>
* libgimpbase/gimplimits.h: added GIMP_MAX_MEMSIZE, an arbitrary
upper limit for memory sizes. It must be smaller than G_MAXDOUBLE
since our memsize entry doesn't handle anything larger.
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new):
check against GIMP_MAX_MEMSIZE, not G_MAXDOUBLE.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c: use GIMP_MAX_MEMSIZE instead of
G_MAXULONG. The latter is larger than G_MAXDOUBLE on 64bit
machines and caused bug #127908.
* libgimpwidgets/gimpmemsizeentry.c: added casts to guint64.
2003-11-25 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added GIMP_UNDO_EVENT_UNDO_FREEZE
and GIMP_UNDO_EVENT_UNDO_THAW.
* app/core/gimpimage.c: emit undo events in
gimp_image_undo_freeze() and gimp_image_undo_thaw().
* app/widgets/gimpundoeditor.c: made it aware of FREEZE/THAW signals
and robust against evil stuff like freezing/thawing the undo
in the middle of an open undo group. Fixes bug #124421.
* plug-ins/script-fu/scripts/circuit.scm: push and undo group
instead of disabling/enabling undo.
2003-11-24 Michael Natterer <mitch@gimp.org>
Fixed intra-session position management for file dialogs and newly
created docks:
* app/widgets/gimpdockable.c (gimp_dockable_detach)
* app/gui/file-dialog-utils.c (file_dialog_new): don't call
gtk_window_set_position() on session managed dialogs and docks.
* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
make sure new docks get GDK_HINT_USER_POS set so they remember
their positions across hide/show.
* app/widgets/gimpdock.c: removed unused disabled code.
2003-11-24 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-layer-select.c
* app/widgets/gimptoolbox-indicator-area.c: use
gimp_preview_new_by_types() instead of just gimp_preview_new() so
the new preview code remembers the correct GType.
2003-11-23 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: made "enabled" an object
property and removed the "enabled_changed" signal.
* libgimpwidgets/gimpcolordisplaystack.c
* app/widgets/gimpcolordisplayeditor.c: connect to "notify::enabled"
instead.
* libgimpwidgets/gimpwidgets.def: added new symbols.
2003-11-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: added new signal
"enabled_changed"...
* libgimpwidgets/gimpcolordisplaystack.c: ...which enables optimizing
away "changed" signals of disabled filters.
* app/widgets/gimpcolordisplayeditor.c: connect to "enabled_changed"
instead of "changed" to update the toggle column.
2003-11-23 Michael Natterer <mitch@convergence.de>
* libgimpwidgets/gimpcolordisplay.c (gimp_color_display_clone):
also clone the "enabled" property.
* app/widgets/gimpcolordisplayeditor.c
(gimp_color_display_editor_init): put the "enabled" toggle
renderer to its own column so selecting a row doesn't always
toggle "enabled".
2003-11-23 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplay.[ch]: added API to
enable/disable a filter. A disabled filter has no effect.
* libgimpmodule/gimpmodule.h: incremented GIMP_MODULE_ABI_VERSION.
* app/widgets/gimpcolordisplayeditor.c: added a check column to
the "Active Filters" tree view so the effect of all filters can
quickly be toggled. Cleanup.
* modules/cdisplay_colorblind.c: removed "none" from the enum and
from the GUI because disabling a filter is implemented generically
now.
* modules/cdisplay_colorblind.c
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/cdisplay_proof.c: added mnemonics, cleanup.
2003-11-22 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpcolordisplaystack.[ch]: added signals
::added(), ::removed() and ::reordered() and emit them in the
resp. functions.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcolordisplayeditor.[ch]: new widget implementing
an editable view on a GimpColorDisplayStack. Most code taken from
below...
* app/display/gimpdisplayshell-filter-dialog.c: ...and removed
here. Only creates a GimpDialog around a GimpColorDisplayEditor
now.
2003-11-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_get_file_data): when constructing
an URI list, don't add a newline character after the last item.
2003-11-21 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolordisplaystack.h: forgot to declare
gimp_color_display_stack_clone().
* app/display/gimpdisplayshell.[ch]: replaced the GList of
GimpColorDisplays by a single GimpColorDisplayStack.
* app/display/gimpdisplayshell-render.c
(gimp_display_shell_render): changed accordingly.
* app/display/gimpdisplayshell-filter.[ch]: reduced API to a
single function, gimp_display_shell_filter_set(), which exchanges
the whole filter stack. Idle update the display on
GimpColorDisplayStack::update().
* app/display/gimpdisplayshell-filter-dialog.[ch]: changed
accordingly. Return the created dialog instead of assigning
shell->filters_dialog.
* app/gui/view-commands.c (view_display_filters_cmd_callback): set
shell->filters_dialog here and raise it it if already
exists. Don't use the dialog factory to create it because it's a
transient dialog for the display which does not need to be session
managed.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: removed display filter dialog stuff.
2003-11-21 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplayshell-filter-dialog.c: create the Display
Filter dialog transient for the display shell and destroy it with
its parent.
2003-11-21 Henrik Brix Andersen <brix@gimp.org>
* app/widgets/gimphelp-ids.h
* app/gui/preferences-dialog.c: changed "Window Manager" to
"Window Management" and "Decorations" to "Window Type Hints"
* themes/Default/images/preferences/window-manager.png: removed...
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/preferences/window-management.png: ... and
added under a new name.
2003-11-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c: added #defines for the data keys used
for g_object_set_data() and _get_data().
2003-11-21 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.c: added a "role" property.
* app/widgets/gimptexteditor.c
* app/widgets/gimpviewabledialog.c: use it instead of calling
gtk_window_set_role().
2003-11-20 Henrik Brix Andersen <brix@gimp.org>
* app/gui/preferences-dialog.c
* app/widgets/gimphelp-ids.h: Added Window Manager tab exposing
the window manager hint settings to the user, moved the
activate-on-focus setting to this tab as well.
* themes/Default/images/preferences/window-manager.png
* themes/Default/images/preferences/Makefile.am: added empty
placeholder for Window Manager preferences icon.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c: reverted a small part of my last commit.
It doesn't seem to be a good idea to unref the context in dispose().
Do it in destroy() just like we used to do.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/gui/info-dialog.c (info_dialog_new_extended)
* app/widgets/gimptooldialog.c (gimp_tool_dialog_new): don't set
the utility window type hint on info and tool dialogs. These are
not persistent utility windows. See bug #115092.
2003-11-20 Sven Neumann <sven@gimp.org>
* app/widgets/widgets-enums.[ch]: added GimpWindowTypeHint enum.
* app/widgets/gimpwidgets-utils.{ch]: added a utility function
that translates GimpWindowTypeHint to GdkWindowTypeHint.
* app/config/gimpguiconfig.[ch]
* app/config/gimprc-blurbs.h: added two new gimprc options that
allow to configure which window type hint to set on the toolbox
and on dock windows.
* app/widgets/gimpdock.[ch}: use the window type hint from gimprc.
Introduced construct properties and got rid of gimp_dock_construct().
* app/widgets/gimpimagedock.c
* app/widgets/gimptoolbox.c: changed accordingly.
* app/gui/preferences-dialog.c (prefs_dialog_new): let the Themes
frame expand.
2003-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.[ch]: changed drag source stuff to allow
multiple data types. Changed DND source API to speak in terms of
add()/remove() instead of set()/unset(). Added GimpDndDragFileFunc
typedef and gimp_dnd_file_source_add().
Unfortunately GTK+'s DND API lacks symmetry here (no GtkTargetList
based API for drag sources), so we cannot really change drag
sources on-the-fly and need to set GtkTargetEntry arrays manually.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpmenuitem.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview.c
* app/widgets/gimptoolbox-color-area.c: changed accordingly.
* app/widgets/gimpdocumentview.c: ditto. Additionally offer
"text/uri-list" so it's possible to drag images from the document
history to the file manager or browser.
2003-11-19 Manish Singh <yosh@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_open_files): Display an error if we
still can't convert a filename to a valid uri. Further addresses
#127424.
2003-11-19 Manish Singh <yosh@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_open_files): strstr on dnd_crap,
not filename, since filename will be NULL in that case. Also remove
doubled declaration of filename.
2003-11-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemfactory.c
* app/widgets/gimpwidgets-utils.[ch]: moved the
gimp_menu_position() implementation that was used only from
GimpItemFactory to gimpitemfactory.c. Added a new function of the
same name that positions a menu taking into account the monitor
geometry and the render direction.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: use gimp_menu_position().
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimppreview-popup.c: let windows popup on the
current monitor (for Xinerama setups).
2003-11-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayertreeview.c
(gimp_layer_tree_view_paint_mode_menu_callback): compress
successive layer mode undos just as we compress opacity undos.
2003-11-18 Sven Neumann <sven@gimp.org>
* libgimpmodule/gimpmodule.c (gimp_module_open): don't do lazy
binding on GIMP modules. We can't recover from missing symbols
later.
* libgimpwidgets/gimpquerybox.[ch]: renamed "help_page" parameter
to "help_id" and changed the docs accordingly.
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcolorselector.[ch]: renamed the "help_page"
struct members of GimpColorDisplay and GimpColorSelector to
"help_id".
* app/gui/color-notebook.c
* app/widgets/gimpcoloreditor.c
* libgimpwidgets/gimpcolorbutton.c
* libgimpwidgets/gimpcolornotebook.c
* libgimpwidgets/gimpcolorscales.c
* libgimpwidgets/gimpcolorselect.c
* modules/*.c: changed accordingly. Specify a help id instead of
a HTML page.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerpopup.[ch]
* app/widgets/gimpviewablebutton.[ch]: let the button remember
the popup's preview_size and view_type.
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]
(gimp_dialog_factory_dialog_raise): support '|'-separated lists of
dialog identifiers and raise any of them if it is already open, or
the first dialog in the list otherwise.
* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
removed the same functionality here.
* app/gui/edit-commands.c
* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimptoolbox-indicator-area.c: pass lists of dialog
identifiers to gimp_dialog_factory_dialog_raise().
2003-11-18 Michael Natterer <mitch@gimp.org>
* app/core/gimpselection.c (gimp_selection_class_init): use
GIMP_STOCK_SELECTION as the viewable class' default stock ID.
* app/widgets/gimpselectioneditor.c (gimp_selection_editor_init):
create the preview for GIMP_TYPE_SELECTION, not just
GIMP_TYPE_DRAWABLE so the selection icon is used if the editor is
empty.
2003-11-17 Michael Natterer <mitch@gimp.org>
* app/gui/file-dialog-utils.[ch]
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradients-commands.c
* app/gui/vectors-commands.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimptexteditor.c
* libgimpwidgets/gimpfileselection.c: don't access the "ok_button"
and "cancel_button" members of GtkFileSelection. Instead, connect
to GtkDialog::response(). Feels better and reduces code which
depends on the to-be-deprecated GtkFileSelection. Changed border
widths to match the 6px border width of other GIMP dialogs.
File selections in plug-ins will follow...
2003-11-17 Sven Neumann <sven@gimp.org>
* app/core/gimpviewable.[ch]: removed the unused GimpViewable
parameter from gimp_viewable_calc_preview_size().
* app/core/gimpbuffer.c
* app/core/gimpimage-preview.c
* app/core/gimpimagefile.c
* app/core/gimpitem-preview.c
* app/core/gimpundo.c
* app/widgets/gimppreview.c
* app/widgets/gimppreviewrendererdrawable.c
* app/widgets/gimppreviewrendererimage.c: changed accordingly.
* app/widgets/gimppreviewrenderer.[ch]: store the viewable_type in
the preview renderer and use its default stock_id if no viewable
is set.
* app/core/gimpbrush.c
* app/core/gimpbuffer.c
* app/core/gimpgradient.c
* app/core/gimppalette.c
* app/core/gimppattern.c
* app/core/gimpundo.c: set a default stock_id.
2003-11-16 Sven Neumann <sven@gimp.org>
* app/gui/themes.c (themes_apply_theme): removed an unused
variable and trailing whitespace.
* app/widgets/gimppropwidgets.c (gimp_prop_adjustment_notify):
fixed a cut'n'paste error and added a warning which would have
caught it.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.c
* app/config/gimppluginconfig.c: cosmetics.
2003-11-16 Hans Breuer <hans@breuer.org>
* app/text/*.c : still unacceptable patched to compile
without FT2, see bug #113681
* **makefile.msc : updated
* app/config/gimpconfig-dump.c : include gimpwin32-io.h
* app/plug-in/plug-ins.c : don't depend on g_print handling
%s with NULL pointers, it doesn't anymore with glib cvs at
least not on win32
* app/widgets/gimppropwidgets.c
libgimpbase/gimputils.c
libgimpwidgets/gimpmemsizeentry.c :
sorry about the mess, need to work-around a stupi not able
to cast from guint64 to double
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
avoid 'overflow in floating-point constant arithmetic' by disabling
an imho alays questionable g_return_val_if_fail() for _MSC_VER only
* libgimpmodule/gimpmodule.def : sorted
* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
definition
* app/gui/themes.c : filenames in rc files need to be escaped
2003-11-16 Michael Natterer <mitch@gimp.org>
* configure.in
* themes/Makefile.am
* themes/Small/.cvsignore
* themes/Small/Makefile.am
* themes/Small/gtkrc: added a "Small" theme so users don't have to
edit their ~/.gimp-1.3/gtkrc to get the smaller look.
* app/widgets/gimpdock.c: use "gimp-dock-separator", not just
"dock-separator" as widget name.
* etc/gtkrc: changed accordingly. Removed small style since it is
a theme now. Cleanup.
2003-11-14 Manish Singh <yosh@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: implementedgimp_int_option_menu_new
and gimp_int_radio_group_new, which are the same as
gimp_option_menu_new2 and gimp_radio_group_new2, but they take
integers as values to map instead of gpointers, which avoids casts
in pretty much all uses of it in the tree.
* app/gui/image-commands.c
* app/gui/offset-dialog.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpwidgets-constructors.c
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_colorblind.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/AlienMap.c
* plug-ins/common/AlienMap2.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/align_layers.c
* plug-ins/common/blinds.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/gif.c
* plug-ins/common/hot.c
* plug-ins/common/iwarp.c
* plug-ins/common/jigsaw.c
* plug-ins/common/jpeg.c
* plug-ins/common/lic.c
* plug-ins/common/mail.c
* plug-ins/common/max_rgb.c
* plug-ins/common/mblur.c
* plug-ins/common/mng.c
* plug-ins/common/mosaic.c
* plug-ins/common/nlfilt.c
* plug-ins/common/papertile.c
* plug-ins/common/pnm.c
* plug-ins/common/ps.c
* plug-ins/common/psp.c
* plug-ins/common/ripple.c
* plug-ins/common/shift.c
* plug-ins/common/sinus.c
* plug-ins/common/sparkle.c
* plug-ins/common/struc.c
* plug-ins/common/sunras.c
* plug-ins/common/tiff.c
* plug-ins/common/waves.c
* plug-ins/common/wind.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/gfig/gfig.c
* plug-ins/gimpressionist/color.c
* plug-ins/gimpressionist/orientmap.c
* plug-ins/gimpressionist/placement.c
* plug-ins/maze/maze_face.c
* plug-ins/sgi/sgi.c: Use gimp_int_option_menu_new and
gimp_int_radio_group_new.
* plug-ins/common/CML_explorer.c: make function_graph_new take a
gpointer *data instead of a gpointer data, and properly pass an
int through it.
* plug-ins/common/mng.c: mark menu strings for translation.
* plug-ins/rcm/rcm.c: remove initialization for Success member
in RcmParams, since it's gone now.
2003-11-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpitemtreeview.c: introduced utility function
gimp_item_tree_view_toggle_clicked() and use it for the eye and
the chain toggles so both show the same behaviour when being
Shift-clicked.
2003-11-14 Sven Neumann <sven@gimp.org>
* app/config/gimpscanner.c
* app/config/gimpconfig-deserialize.c: configured the scanner to
use 64bit integers. This means you must now access value.v_int64
instead of value.v_int. Fortunately gimp_scanner_parse_int() hides
this ugly detail from you.
* app/config/gimpconfig-params.[ch]
* app/config/gimpconfig-types.c: derive GimpMemsize from guint64
now that support for 64bit integers is guaranteed by glib.
* app/config/gimpbaseconfig.c
* app/config/gimpcoreconfig.c
* app/config/gimpguiconfig.[ch]
* app/widgets/gimppropwidgets.c: changed accordingly.
* app/gui/preferences-dialog.c: changed a label.
2003-11-14 Sven Neumann <sven@gimp.org>
* libgimpbase/gimputils.[ch] (gimp_memsize_to_string): take a
guint64 parameter and handle values beyond a gigabyte.
* app/core/gimptemplate.[ch]: use a guint64 for the initial memory
size and removed the gboolean that used to indicate a gulong
overflow.
* app/widgets/gimptemplateeditor.[ch]: changed accordingly.
* app/gui/file-new-dialog.c: don't set the OK button insensitive
when the initial memory size exceeds GULONG_MAX.
* app/widgets/gimpsessioninfo.c (gimp_session_info_deserialize):
replaced a misleading comment.
2003-11-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c: only save the screen number to
the sessionrc if the screen is not the default screen.
2003-11-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimpsessioninfo.c (gimp_session_info_deserialize):
restore compatibility with older sessionrc format. No need to
break everyone's sessionrc again.
2003-11-13 Michael Natterer <mitch@gimp.org>
Made session management multiscreen aware:
* app/widgets/gimpsessioninfo.[ch]: added "gint screen" member
to struct GimpSessionInfo.
(gimp_session_info_get_geometry): ask the window for its screen.
(gimp_session_info_restore): place the window on the remembered
screen if the screen exists.
(gimp_session_info_save)
(gimp_session_info_deserialize): extended "open-on-exit" property
to include the screen number (e.g. "(open-on-exit 1)" for screen 1).
This change breaks everybody's sessionrc again...
2003-11-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppreviewrenderer.[ch]: multihead fix: added
gimp_preview_renderer_unrealize() which destroys the cached
GdkGC. This function must be called whenever the widget owning the
renderer is unrealized.
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppreview.c: implement GtkWidget::unrealize() and
call gimp_preview_renderer_unrealize() on all renderers.
2003-11-12 Henrik Brix Andersen <brix@gimp.org>
* gimp/app/widgets/gimphelp.c
* gimp/app/config/gimpguiconfig.c
* gimp/app/widgets/widgets-enums.[ch] changed
GIMP_HELP_BROWSER_WEBBROWSER to GIMP_HELP_BROWSER_WEB_BROWSER and
changed all occurrences of webbrowser to web_browser for
consistency.
2003-11-12 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c: set the boundaries for the
coordinates widget from the property limits.
* app/widgets/gimpgrideditor.c: removed the explicit calls to
gimp_size_entry_set_refval_boundaries().
2003-11-12 Sven Neumann <sven@gimp.org>
* app/gui/color-history.[ch]: changed COLOR_HISTORY_SIZE to 12 to
reduce the minimum size of the color selector dialog.
* app/gui/color-notebook.c (color_notebook_new): changed the
dialog setup to not depend on COLOR_HISTORY_SIZE being 16.
2003-11-12 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimphelp-ids.h: replaced the last few html help
links in app/ by help IDs.
2003-11-12 Sven Neumann <sven@gimp.org>
* app/gui/color-notebook.c (color_notebook_new): added a default
role used for color selectors not handled by GimpDialogFactory.
Fixes bug #126783.
2003-11-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.[ch] (gimp_editor_set_box_style): new
utility function which sets a button box' style according to a
GimpEditor's style properties.
* app/widgets/gimpcoloreditor.c (gimp_color_editor_style_set)
* app/widgets/gimpeditor.c (gimp_editor_style_set): use it.
2003-11-12 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcoloreditor.c: implement GtkWidget::style_set()
and update the button box spacing and icons sizes accordingly.
2003-11-11 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorbutton.[ch]: added new API
gimp_color_button_[get|set]_update() which configures the button
to emit "color_changed" continuously while the color in the color
selection dialog is being changed. Fixes bug #90091.
Renamed GimpColorButton struct member
"GtkItemFactory *item_factory" to a /*< private >*/ member named
"gpointer popup_menu". This is ugly but fixes bug #125115,
* app/display/gimpdisplayshell-callbacks.c
* app/display/gimpdisplayshell.c
* app/widgets/gimpcolorpanel.c: changed accordingly.
* libgimpwidgets/gimpcolorbutton.c: use a GimpColorSelection
with a handmade GimpDialog instead of GtkColorSelectionDialog.
Enabled module loading for plug-ins so the color selection
can show the color selectors which are implemented in modules:
* libgimpwidgets/gimpwidgets-private.[ch]: added
GimpEnsureModlesFunc which can be called by modules users.
* app/gui/gui.c (gui_libs_init): pass NULL as
GimpEnsureModulesFunc since the core loads the modules itself.
* libgimp/gimpui.c (gimp_ui_init): pass new private function
gimp_ensure_modules() which will load the modules upon first
invocation.
* libgimp/Makefile.am: link libgimpui against libgimpmodule.
* libgimpwidgets/gimpcolorselection.c: call
_gimp_ensure_modules_func() if it is non-NULL so color selector
modules are available for plug-ins.
* tools/pdbgen/pdb/gimprc.pdb: added new PDB wrapper
gimp_get_module_load_inhibit().
* app/pdb/gimprc_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpgimprc_pdb.[ch]: regenerated.
2003-11-10 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpcolorselection.[ch]: new widget derived from
GtkVBox. Contains a GimpColorNotebook, GimpColorScales and new/old
color areas as known from the app's color_notebook. Will soon be
used to replace GtkColorSelection for plug-ins.
* app/gui/color-notebook.c: removed most code and use a
GimpColorSelection widget. Moved the "Reset" button to the
action_area. Cleanup.
2003-11-10 Michael Natterer <mitch@gimp.org>
* app/display/gimpdisplayshell-callbacks.c: removed the
"Move to Screen" hack.
* app/gui/dialogs-commands.[ch]
* app/gui/view-commands.[ch]
* app/gui/dialogs-menu.c
* app/gui/image-menu.c: added proper menu items to the
<Image>/View and the <Dialogs> menus so all image windows and
docks can be sent to other screens. Hide the menu items when
there is just one screen.
* app/widgets/gimphelp-ids.h: new help IDd for the new menu items.
2003-11-08 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c: don't show a radio button for
GIMP_NO_FILL; makes the dialog a little less tall.
2003-11-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptooloptionseditor.c
(gimp_tool_options_editor_get_preview): use
gtk_widget_get_screen() instead of gdk_screen_get_default().
* app/widgets/gimpdatafactoryview.[ch]: added "GtkWidget *parent"
to GimpDataEditFunc.
* app/gui/dialogs-constructors.[ch]
(dialogs_edit_brush,gradient,palette_func): use the passed parent
widget for finding the right screen instead of
gdk_screen_get_deafault().
* app/gui/gui.c: minor cleanup.
2003-11-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemfactory.[ch]: remember the "create_tearoff"
passed to gimp_item_factory_new() in the GimpItemFactory struct
and removed "create_tearoff" from the create_item functions
(it makes no sense to pass this per create_item).
* app/gui/file-open-menu.c
* app/gui/file-save-menu.c
* app/gui/image-menu.c
* app/gui/menus.c
* app/gui/plug-in-menus.c
* app/gui/tool-options-menu.c: changed accordingly.
* app/display/gimpdisplayshell.c (gimp_display_shell_new): create
the menu bar without tearoff entries. It is very confusing to have
both the popup menu (which is global and works on the active
display) and the menu bar submenus (which are specific to this
display) be torn off at the same time.
2003-11-08 Michael Natterer <mitch@gimp.org>
To be multihead safe, each new window or menu needs to be
associated with a GdkScreen or it will pop up on the default
screen.
* libgimpwidgets/gimpquerybox.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]
* app/widgets/widgets-types.h
* app/widgets/gimpitemfactory.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimptemplateview.[ch]
* app/widgets/gimptooldialog.[ch]
* app/widgets/gimpviewabledialog.[ch]
* app/gui/channels-commands.[ch]
* app/gui/color-notebook.[ch]
* app/gui/convert-dialog.[ch]
* app/gui/edit-commands.[ch]
* app/gui/grid-dialog.[ch]
* app/gui/image-commands.[ch]
* app/gui/info-dialog.[ch]
* app/gui/layers-commands.[ch]
* app/gui/offset-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/stroke-dialog.[ch]
* app/gui/templates-commands.[ch]
* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
paramaters to all functions which create menus, popups or windows
and pass "parent" to gimp_dialog_new() or one of the various
wrappers around it. As a side effect, this fixes bug #61092.
* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
instead of "parent" here since there are no possible parent
windows on startup.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_origin_button_press): added a quick hack to
send a display to another screen: click the origin button with the
middle mouse button.
* app/display/gimpdisplayshell.c
(gimp_display_shell_screen_changed): don't chain up
undonditionally (don't crash).
* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
dialog's screen from a non-GtkWidget parent widget. The rest of
non-window parent widget handling is still unimplemented.
* libgimpwidgets/gimpcolorbutton.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdockable.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimphelp.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptoolbox-color-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpwidgets-utils.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpnavigationview.c
* app/gui/module-browser.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/drawable-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gui-vtable.c
* app/gui/gui.c
* app/gui/info-window.c
* app/gui/palette-import-dialog.c
* app/gui/palettes-commands.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/view-commands.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: changed accordingly. Changed all
menu_position funcs to place the menu on the right screen.
2003-11-08 Michael Natterer <mitch@gimp.org>
To be multihead safe, each new window or menu needs to be
associated with a GdkScreen or it will pop up on the default
screen.
* libgimpwidgets/gimpquerybox.[ch]
* app/display/gimpdisplayshell-layer-select.[ch]
* app/widgets/widgets-types.h
* app/widgets/gimpitemfactory.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimptemplateview.[ch]
* app/widgets/gimptooldialog.[ch]
* app/widgets/gimpviewabledialog.[ch]
* app/gui/channels-commands.[ch]
* app/gui/color-notebook.[ch]
* app/gui/convert-dialog.[ch]
* app/gui/edit-commands.[ch]
* app/gui/grid-dialog.[ch]
* app/gui/image-commands.[ch]
* app/gui/info-dialog.[ch]
* app/gui/layers-commands.[ch]
* app/gui/offset-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/stroke-dialog.[ch]
* app/gui/templates-commands.[ch]
* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
paramaters to all functions which create menus, popups or windows
and pass "parent" to gimp_dialog_new() or one of the various
wrappers around it. As a side effect, this fixes bug #61092.
* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
instead of "parent" here since there are no possible parent
windows on startup.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_origin_button_press): added a quick hack to
send a display to another screen: click the origin button with the
middle mouse button.
* app/display/gimpdisplayshell.c
(gimp_display_shell_screen_changed): don't chain up
undonditionally (don't crash).
* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
dialog's screen from a non-GtkWidget parent widget. The rest of
non-window parent widget handling is still unimplemented.
* libgimpwidgets/gimpcolorbutton.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpdevicestatus.c
* app/widgets/gimpdockable.c
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimphelp.c
* app/widgets/gimppaletteeditor.c
* app/widgets/gimppreview-popup.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptoolbox-color-area.c
* app/widgets/gimptoolbox-indicator-area.c
* app/widgets/gimptoolbox.c
* app/widgets/gimptooloptionseditor.c
* app/widgets/gimpvectorstreeview.c
* app/widgets/gimpwidgets-utils.c
* app/display/gimpdisplayshell-scale.c
* app/display/gimpnavigationview.c
* app/gui/module-browser.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/drawable-commands.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gui-vtable.c
* app/gui/gui.c
* app/gui/info-window.c
* app/gui/palette-import-dialog.c
* app/gui/palettes-commands.c
* app/gui/qmask-commands.c
* app/gui/select-commands.c
* app/gui/tool-options-commands.c
* app/gui/view-commands.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c: changed addordingly. Changed all
menu_position funcs to place the menu on the right screen.
2003-11-07 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpprotocol.[ch]: added "wm_name", "wm_class",
"display_name" and "monitor_number" to the GPConfig message.
Increased protocol version number.
* libgimp/gimp.[ch] (gimp_config): read them from the GPConfig
message and remember them.
Added public accessors for the new config values.
* libgimp/gimpui.c (gimp_ui_init): pass wm_name and wm_class to
gtk_init() and export the display/screen to use to the
environment.
* app/core/gimp.[ch]: added vtable entries to get the values
from the GUI.
* app/gui/gui-vtable.c: implement the vtable entries.
* app/plug-in/plug-in-run.c: fill in the GPConfig values using
the new Gimp vtable functions.
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell.c
* app/gui/about-dialog.c
* app/gui/channels-commands.c
* app/gui/color-notebook.c
* app/gui/convert-dialog.c
* app/gui/file-dialog-utils.[ch]
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor-commands.c
* app/gui/gradients-commands.c
* app/gui/grid-dialog.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/module-browser.c
* app/gui/offset-dialog.c
* app/gui/palette-import-dialog.c
* app/gui/qmask-commands.c
* app/gui/resize-dialog.c
* app/gui/splash.c
* app/gui/stroke-dialog.c
* app/gui/templates-commands.c
* app/gui/tips-dialog.c
* app/gui/vectors-commands.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpdock.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimptexteditor.c
* app/widgets/gimptoolbox.c
* app/widgets/gimpviewabledialog.[ch]
* libgimpwidgets/gimpfileselection.c
* libgimpwidgets/gimpquerybox.c
* libgimpwidgets/gimpunitmenu.c
* plug-ins/helpbrowser/dialog.c
* plug-ins/ifscompose/ifscompose.c: replaced all calls to
gtk_window_set_wmclass() by gtk_window_set_role() and all
"const gchar *wmclass_name" parameters by "const gchar *role".
Cleaned up the window role strings.
2003-11-07 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors.[ch]: New function that appends a
duplicate of the source vectors strokes to the list of strokes
of a target vectors object.
* app/core/gimpimage-merge.[ch]
* app/core/core-enums.h: Use this new function to merge
the visible vectors in an Image. New Undo type for vectors merging.
* app/core/core-enums.c: regenerated.
* app/gui/vectors-menu.c
* app/gui/vectors-commands.[ch]
* app/widgets/gimphelp-ids.h: New Menu entry + callback to invoke
the merge functionality. New Help ID for the menu entry.
2003-11-05 Sven Neumann <sven@gimp.org>
* app/app_procs.c: register a log handler for the Gimp-Text domain.
* app/text/gimpfont.c: code cosmetics.
* app/text/gimptext-compat.c: removed debugging output.
Let GIMP work w/o any fonts. Of course you won't get any text
functionality then:
* app/text/gimpfontlist.c: don't install any font aliases if no
fonts were found.
* app/text/gimptextlayer.c: refuse to render any text layers when
the GIMP fonts list is empty.
* app/tools/gimptexttool.c: removed redundant includes.
* app/tools/gimptextoptions.c: removed the font selection widget.
This is a temporary regression that will be cured by improving the
GimpFontView widget.
* app/widgets/Makefile.am
* app/widgets/gimpfontselection-dialog.[ch]
* app/widgets/gimpfontselection.[ch]
* app/widgets/gimppropwidgets.[ch]: removed the font selection and
all references to it. Fixes bug #119267.
2003-11-04 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdnd.[ch]: added static "the_dnd_gimp" variable
and don't use the global "the_gimp" any more.
Added gimp_dnd_init() to let the DND system know about the GUI's
Gimp instance.
* app/gui/gui.c (gui_init): call gimp_dnd_init().
* app/app_procs.h: changed the #warning about including
"app_procs.h" to an #error, like the other headers in app/ do.
2003-11-03 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c: update the histogram on
"invalidate_preview" instead of "update" because the paint core
doesn't call gimp_drawable_update().
2003-11-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdock.c
* etc/gtkrc_user: draw the separators in normal color but make the
DND highlight use the bg color of the selected state.
2003-11-02 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockable.c (gimp_dockable_realize): set a hand
cursor on the title area to indicate that the dockable can be
dragged here.
2003-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcursor.[ch] (gimp_cursor_new): added a
GdkDisplay parameter and added the convenience function
gimp_cursor_set().
* app/display/gimpdisplayshell-cursor.c
* app/tools/gimpcurvestool.c
* app/widgets/gimpdialogfactory.c: changed accordingly.
2003-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogramview.[ch]: removed width and height
from the API. It can be set using gtk_widget_size_request(). Set a
mimimum height of 80 pixels.
* app/widgets/gimphistogrambox.c: changed accordinly. Reduced size
of color gradient.
* app/tools/gimpcurvestool.c: reduced gradient sizes.
* app/tools/gimplevelstool.c: allow the histogram to expand
vertically.
2003-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogramview.c (gimp_histogram_view_expose): if
multiple histogram values fall onto the same pixel, display the
maximum value.
2003-11-01 Sven Neumann <sven@gimp.org>
* app/widgets/gimphistogrameditor.c: update the channel menu when
the image mode changes or an alpha channel is added/removed.
2003-11-01 Sven Neumann <sven@gimp.org>
Replaced the histogram tool by a histogram dialog:
* themes/Default/images/Makefile.am
* themes/Default/images/tools/stock-tool-histogram-[16|22].png:
removed here ...
* themes/Default/images/stock-histogram-[16|22].png: ,,, and added
under these new names.
* libgimpwidgets/gimpstock.[ch]: register the icons as
GIMP_STOCK_HISTOGRAM and removed the histogram tool stock icons.
* app/base/gimphistogram.c: don't crash when uncalculated values
are requested from a GimpHistogram. Allow to reset the histogram
by calling gimp_histogram_calculate() with a NULL region.
* app/widgets/gimphistogrambox.[ch]: renamed the GimpHistogramView
struct member to "view".
* app/tools/gimpthresholdtool.c: changed accordingly.
* app/widgets/gimphistogramview.[ch] (gimp_histogram_view_events):
return TRUE when events were handled.
* app/tools/Makefile.am
* app/tools/gimp-tools.c
* app/tools/gimphistogramtool.[ch]: removed the histogram tool.
* app/widgets/Makefile.am
* app/widgets/gimphelp-ids.h
* app/widgets/widgets-types.h
* app/widgets/gimphistogrameditor.[ch]: added GimpHistogramEditor.
Has some rough edges still...
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/image-menu.c: register the new dialog instead of the
histogram tool.
2003-10-27 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdock.c (gimp_dock_style_set): call
gimp_dock_separator_realize() on all drop separators so their
color follows the theme change. Fixes bug #119735.
2003-10-26 Michael Natterer <mitch@gimp.org>
* app/gui/gui.c (gui_libs_init): resurrected the runtime check for
the required Gtk+ version. Depend on Gtk+ >= 2.2.2 and abort if
the requirement is not met. This is mainly for catching packaging
errors, as we already compile-time require Gtk+ 2.2.2.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c: removed #warnings and
workarounds for bugs in Gtk+ < 2.2.2.
* app/widgets/gimpcontainertreeview.c: replaced the #warning about
the pending fix for bug #115871 by a #warning plus runtime check
for Gtk+ >= 2.2.3. Did some general cleanups.
2003-10-26 Henrik Brix Andersen <brix@gimp.org>
* gimp/app/widgets/gimphelp-ids.h
* gimp/app/gui/preferences-dialog.c:
- moved all session related settings to a new Session Management page
- moved Web Browser setting to Help System page
- changed Configure Input Devices to Configure Extended Input Devices
* gimp/themes/Default/images/preferences/Makefile.am
* gimp/themes/Default/images/preferences/session.png: re-added
session.png
* gimp/app/widgets/gimpdevices.h
* gimp/app/widgets/gimpdevices.c (gimp_devices_clear): function
added to be consistent with the rest of the session management
routines. This function needs to be filled in.
* gimp/app/widgets/gimptemplateeditor.c
* gimp/app/widgets/gimpgrideditor.c: fixed spacing between widgets
2003-10-25 Sven Neumann <sven@gimp.org>
* app/tools/tools-enums.[ch]: added GIMP_COLOR_PICK_MODE_NONE to
the GimpColorPickMode enum.
* app/tools/gimpcolorpickeroptions.[ch]: removed "update-toolbox"
property; the new enum value serves this role better.
* app/tools/gimpcolorpickertool.c: handle the new enum value.
* app/tools/gimpcolortool.c: default to GIMP_COLOR_PICK_MODE_NONE.
Don't set a cursor modifier for this value. Fixes tool cursor for
levels and curves tools.
* app/tools/gimppainttool.[ch]: added a function to conveniently
enable the color picker and set the pick mode at the same time.
* app/tools/gimpairbrushtool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppenciltool.c
* app/tools/gimpsmudgetool.c: use the new function.
* app/tools/gimperasertool.c: enabled color picking in the eraser
tool but set the mode to GIMP_COLOR_PICK_MODE_BACKGROUND.
2003-10-24 Sven Neumann <sven@gimp.org>
* app/tools/Makefile.am
* app/tools/gimphistogramoptions.[ch]: new tool options class
GimpHistogramOptions, derived from GimpColorOptions.
* app/tools/gimpcoloroptions.c (gimp_color_options_gui): add
gimp_histogram_options_gui() when called with GimpHistogramOptions.
This a bit weird since the class hierarchy is the other way around
but it makes things easier.
* app/tools/gimphistogramtool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c: use GimpHistogramOptions and
connect the histogram views to the "histogram-scale" property.
Perhaps not perfect GUI-wise but it let's you choose the histogram
scale and stores this setting per tool. Fixes bug #125306.
* app/widgets/gimphistogramview.c: prefixed property names with
"histogram-" so they match the GimpHistogramOptions property.
* app/widgets/gimphistogrambox.c: minor cleanup.
2003-10-24 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-histogram-linear-16.png
* themes/Default/images/stock-histogram-logarithmic-16.png:
added placeholders for new icons.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/tools/gimphistogramtool.c: made the dialog more compact by
using a stock-box for the histogram scale.
* app/widgets/gimphistogramview.c (gimp_histogram_view_expose):
don't invert the histogram view if the full range is selected.
* app/widgets/gimphistogrambox.c: moved the range widgets below
the histogram.
* app/config/gimpconfig-params.h: added macro
GIMP_CONFIG_INSTALL_PROP_RESOLUTION() that installs a double
property with the suitable range.
* app/core/gimptemplate.c
* app/config/gimpdisplayconfig.c: use it here.
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c: setup size entries in the order
suggested by the GimpSizeEntry documentation.
* libgimpwidgets/gimpsizeentry.c: added an internal flag so the
size entry knows if the boundaries are set on the value or on the
reference value. Needed to make gimp_size_entry_update_unit() do
the right thing.
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.[ch] (gimp_prop_size_entry_new): take
the boundaries from the GParamSpec instead of hardcoding them.
Added a utility function to reduce code duplication.
2003-10-23 Sven Neumann <sven@gimp.org>
* app/widgets/gimpimagedock.c (gimp_image_dock_init): set a
tooltip on the "Auto" button since it isn't obvious what it does.
2003-10-23 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-tools-[16|24].png
* themes/Default/images/stock-device-status-24.png
* themes/Default/images/stock-tool-options-24.png: new icons drawn
by Jimmac.
* libgimpwidgets/gimpstock.[ch]: register the new icons.
* app/gui/dialogs-constructors.c
* app/gui/dialogs-menu.c: use the new GIMP_STOCK_TOOLS icon.
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: add the Tools dialog entry here as well.
* app/widgets/gimphelp-ids: s/TOOL_DIALOG/TOOLS_DIALOG/.
2003-10-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added new function
gimp_rgb_set_gdk_color().
* app/config/gimprc.c (gimp_rc_load): unlinking the broken gimprc
doesn't really help so don't do it. GIMP will continue to complain
until the gimprc is fixed.
2003-10-21 Sven Neumann <sven@gimp.org>
* base/base.c (base_init)
* app/errors.c (gimp_errors_init): moved the message about
possible debug messages to gimp_errors_init() so that it appears
before any startup debug output.
* app/app_procs.c (app_init): register a log handler for the
GimpConfig log domain.
* app/widgets/gimpwidgets-utils.c (gimp_message_box)
* app/core/gimp.c (gimp_message): added an extra newline when
sending messages to stderr. Don't output the full progname for
messages; use a simple "GIMP" like the GUI message handler does.
* app/gui/user-install-dialog.c: removed function copy_file()...
* app/config/gimpconfig-utils.[ch]: ... and added it here as
gimp_config_file_copy(). Also added utility function
gimp_config_file_backup_on_error().
* app/config/gimprc.c (gimp_rc_load): if the user gimprc can't be
parsed, create a backup and if that succeeds unlink the broken one
to cure the problem.
* app/gui/session.c: create a backup if sessionrc can't be parsed.
* config/gimpconfig-deserialize.c (gimp_config_deserialize_properties):
don't set an error when token is G_TOKEN_NONE; it should already
be set then.
2003-10-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdocked.[ch]: added new virtual function
GimpDocked::get_title() which returns a custom title. Added signal
"title_changed". Added public wrappers around the new stuff.
* app/widgets/gimpdockable.c: implement GtkContainer::add() and
::remove() and connect to the child's "title_changed" signal. Use
the GimpDocked's title if it provides one.
* app/widgets/gimptooloptionseditor.c: implement
GimpDocked::get_title() and return e.g. "Paintbrush Options". Emit
"title_changed" when the active tool changes. Simplified
GimpDocked::get_preview()'s implementation a lot since it does not
include a label any more.
2003-10-21 Sven Neumann <sven@gimp.org>
* app/widgets/gimpvectorstreeview.c: implement
GimpItemTreeView::set_image and set the sensitivity of the
"Selection To Path" button from there. Fixes bug #125058.
2003-10-20 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimptooldialog.[ch]: added a simple utility function
gimp_tool_dialog_new() that creates a GimpVieawableDialog based on
GimpToolInfo and registers it with the toplevel dialog factory.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorizetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimplevelstool.c
* app/tools/gimpmeasuretool.c: use the new functionality; removed
the shell_identifier since it can be created from the tool name.
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimpthresholdtool.c
* app/tools/gimptransformtool.[ch]: removed the shell_identifier
here as well. Should also be ported to gimp_tool_dialog_new().
* NEWS: removed stuff that isn't new at all.
2003-10-19 Sven Neumann <sven@gimp.org>
* app/widgets/gimppropwidgets.c (gimp_prop_enum_radio_frame_new)
(gimp_prop_boolean_radio_frame_new): attach the first radio button
as object data to the returned frame.
* app/tools/gimpmoveoptions.c: change labels and sensitivity of
the Tool Toggle frame depending on the selected move-type.
* app/tools/gimpcropoptions.c: use the term "Active Layer" instead
of "Current Layer". Please object if you dislike this change.
2003-10-18 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdockbook.c: removed the "Select Tab" menu and
all the evil hacks that were needed to make it work. Now that we
have an extra dockable menu, the standard menu from GTK+ is good
enough.
* app/widgets/gimpdockable.c: added a tooltip to the close button
and removed code that used to hide the "Select Tab" menu.
* app/gui/dialogs-menu.c (dialogs_menu_entries): removed now unused
"Select Tab" entry.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.c
(gimp_item_tree_view_docked_iface_init): need to set
docked_iface->get_preview to NULL explicitly now that the
interface vtable inheriting is fixed (the layers, channels and
paths dialogs can't show preview tabs because they don't always
have a container).
* app/widgets/gimpimagedock.c (gimp_image_dock_get_aux_info):
fixed typo: s/auctive/active/. Added #defines for the magic
aux-info identifiers to avoid bugs like that.
* app/widgets/gimpcoloreditor.c
* app/widgets/gimpdataeditor.c
* app/widgets/gimppaletteeditor.c. addef #defines for aux-info
identifiers here, too.
2003-10-18 Michael Natterer <mitch@gimp.org>
* app/text/gimp-fonts.c (gimp_fonts_load): added
gimp_container_freeze() / _thaw() around font list reloading.
* app/tools/gimp-tools.c (gimp_tools_init): added missing
gimp_container_freeze().
* app/widgets/gimpcontainerview.c: connect to the container's
"freeze" and "thaw" signals and empty / refill the view
accordingly. Ignore "add", "remove" and "reorder" signals while
the container is frozen. Fixes font list sorting after refresh and
speeds up refreshing of fonts, brushes, patterns etc.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfontview.[ch]: new widget for the font list/grid.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_FONT_REFRESH.
* app/gui/dialogs-constructors.c: changed accordingly.
* app/gui/Makefile.am
* app/gui/fonts-commands.[ch]
* app/gui/fonts-menu.[ch]: new files: a menu for the font view.
* app/gui/menus.c (menus_init): register the new <Fonts> menu.
* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
fonts refreshing hack from the "Environment" page.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpcontainerview.c (gimp_container_view_get_preview):
we have a bug somewhere; this function shouldn't be called for a
view w/o a container. Added a g_return_if_fail() to avoid a crash.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): according to an
older mail from Owen, GDK_ACTION_DEFAULT means nothing and should
not be used.
* app/widgets/gimpcontainertreeview-dnd.c
(gimp_container_tree_view_drop_status): pass 0 to gdk_drag_status()
instead of GDK_ACTION_DEFAULT.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c (gimp_dnd_file_dest_add): for file drag
destinations, set GDK_ACTION_DEFAULT and GDK_ACTION_MOVE in
addition to GDK_ACTION_COPY. Enables DND from Konqueror.