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.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooloptionseditor.c: gimp_dnd_viewable_dest_add()
calls gtk_drag_dest_set() for us so we don't need to do it here.
2003-10-17 Sven Neumann <sven@gimp.org>
* app/widgets/gimpdnd.c: some minor code cleanup.
* libgimpcolor/gimpcolorspace.c: removed trailing whitespace.
2003-10-16 Michael Natterer <mitch@gimp.org>
* app/widgets/gimppaletteeditor.c: added "realize" and
"size_allocate" callbacks and cleaned up calling of
palette_editor_redraw(). Fixes bug #110356 without a complete
re-write.
Added GimpDockedInterface::set_aux_info() and get_aux_info()
implementations and rememeber the zoom_factor in sessionrc (mainly
for testing yesterday's fix for interface upchaining).
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdocked.c (gimp_docked_iface_base_init)
* app/config/gimpconfig.c (gimp_config_iface_base_init): they are
base_init, not just init functions. Changed implementations to not
overwrite the parent class' vtable entries with the default
implementations. Fixes derived interface methods and brings
back all dockable menus.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/gui/file-new-dialog.c (file_new_dialog_set): sync from the
given template to the dialog template, not the other way around.
* app/widgets/gimptemplateeditor.c (gimp_template_editor_constructor):
shouldn't have to call the notify callback from here.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcolorframe.[ch] (gimp_color_frame_set_color):
made the "GimpRGB *color" param const.
Added API docs for all public functions.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
cleanup.
* app/core/gimptemplate.[ch]: added a comment property.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: removed "default_comment" property
and set the default comment on the default image template.
* app/widgets/gimptemplateeditor.c: added a comment editor widget.
* app/core/gimp.c
* app/gui/file-new-dialog.c
* app/gui/preferences-dialog.c
* app/pdb/gimprc_cmds.c
* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
increased spacing between the spinbutton and the menu.
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-enums.[ch]: new enum GimpColorFrameMode.
* app/widgets/Makefile.am
* app/widgets/gimpcolorframe.[ch]: new widget GimpColorFrame which
shows a picked color in an optionmenu-selectable color space.
Helps getting rid in InfoDialog.
* app/gui/info-window.c: use it for the "extended" page. Cleaned
up that page a lot so it can be made dockable in the next step.
* app/tools/gimpcolorpickertool.[ch]: use it here too. Don't use
InfoDialog any more (and do not depend on gui/ any more).
2003-10-15 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.c
(gimp_container_view_get_preview): create tab widgets without
border for both the tools and templates views.
* app/widgets/gimpviewablebutton.c: removed trailing whitespace.
2003-10-15 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpsizeentry.[ch]: added new function
gimp_size_entry_get_help_widget() to make it possible to set
tooltips on a GimpSizeEntry.
* app/widgets/gimppropwidgets.c (gimp_prop_size_entry_new)
(gimp_prop_coordinates_connect): set tooltips from property blurbs.
* app/core/gimpgrid.c
* app/core/gimptemplate.c
* app/gui/preferences-dialog.c: minor string changes.
2003-10-15 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c: added a hbox to align the
landscape/portrait buttons so they don't move with the label below.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimptemplateeditor.c (gimp_template_editor_new):
set the initial stock icon on the viewable-button.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/config/gimpconfig-utils.[ch]: removed
gimp_config_copy_properties() and added the more intelligent
gimp_config_sync() instead.
* app/config/Makefile.am
* app/config/config-types.h
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: replaced default image properties
with a single GimpTemplate object property. Changed the
set_property function to not replace aggregate objects but call
gimp_config_sync() instead.
* app/tools/gimptextoptions.c (gimp_text_options_set_property):
same change here.
* app/config/gimpconfig.[ch]: changed return value of
gimp_config_duplicate() to gpointer to avoid some casts that only
made the code harder to read.
* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
here but edit the GimpTemplate passed when the editor was
constructed.
* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
editing of the default image paramaters.
* app/config/gimprc.c
* app/core/core-types.h
* app/core/gimp.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-grid.c
* app/core/gimpimage-new.c
* app/core/gimpimage-undo-push.c
* app/core/gimpimage.c
* app/core/gimptemplate.[ch]
* app/gui/file-new-dialog.c
* app/gui/grid-dialog.c
* app/gui/info-window.c
* app/gui/resize-dialog.c
* app/gui/templates-commands.[ch]
* app/gui/tool-options-commands.c
* app/text/gimptextlayer.c
* app/text/gimptextlayer.c
* app/tools/gimptexttool.c
* app/widgets/gimptemplateview.c
* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 Sven Neumann <sven@gimp.org>
* app/widgets/gimpgrideditor.[ch]: removed "grid_changed" signal.
The user of GimpGridEditor can connect to notifications of the
grid that is being edited. There is no need for a proxy signal.
* app/core/gimpimage-grid.c (gimp_image_set_grid): don't exchange
the image's grid object, it is part of the image. Copy all grid
properties instead.
* app/core/gimpimage-undo-push.c
* app/gui/grid-dialog.c: changed accordingly.
2003-10-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainergridview.c: typo: s/vieport/viewport/g
(gimp_container_grid_view_insert_item): stop idle updating since
the widget will be exposed anyway.
2003-10-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: renamed
gimp_dialog_factories_idle() and _unidle() to
gimp_dialog_factories_set_busy() and _unset_busy().
Added utility function gimp_dialog_factory_set_widget_data() and
public API gimp_dialog_factory_from_widget() so we don't need to
g_object_[set|get]_data() with magic keys all over the place.
* app/widgets/gimpsessioninfo.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-menu.c
* app/gui/gui-vtable.c: changed accordingly.
* app/widgets/gimpsessioninfo.c: remember active page of all dock
notebooks in sessionrc.
* app/widgets/gimpsessioninfo.h: cleaned up the session info structs.
2003-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/gimptooloptionseditor.c: set the horizontal scrollbar
policy to AUTOMATIC; addresses bug #124134.
2003-10-12 Manish Singh <yosh@gimp.org>
* app/widgets/gimpitemtreeview.c
* app/widgets/gimplayertreeview.c: split out indexed assignment and
increment to avoid miscompilation by gcc on ppc and ia64. Fixes
bug #113144.