2006-08-11 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: introduced a simple message
dialog to use when there's no progress but a parent widget.
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/preferences-dialog.c
* app/dialogs/stroke-dialog.c
* app/tools/gimpimagemaptool.c
* app/widgets/gimpactionview.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimppdbdialog.c
* app/widgets/gimpvectorstreeview.c: use the new utility function
instead of g_message().
2006-06-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimage-convert.c (gimp_image_convert): remove
duplicate colors for all palette types (except for MAKE_PALETTE
since there shouldn't be any unused colors then). That's what
the PDB documentation claims the function would be doing.
* app/dialogs/convert-dialog.c: allow use of the "Remove unused
colors" toggle for all but the optimized palette.
2005-09-25 Michael Natterer <mitch@gimp.org>
* app/dialogs/convert-dialog.c
* app/dialogs/palette-import-dialog.c: added icons to the
affirmative action buttons.
2005-09-02 Sven Neumann <sven@gimp.org>
* app/dialogs/convert-dialog.c
* app/dialogs/image-merge-layers-dialog.c
* app/dialogs/layer-add-mask-dialog.c
* app/dialogs/offset-dialog.c: use verbs instead of "OK" in the
confirmative dialog button.
2005-02-08 Sven Neumann <sven@gimp.org>
Applied a patch from Patrice Tremblay that makes (almost) all
dialogs obey the "gtk-alternative-button-order" setting
(bug #166678). Changes too many files to list them all...
2004-10-14 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: register GimpConvertPaletteType with
the type system.
* app/widgets/gimpwidgets-utils.c (gimp_enum_radio_frame_add):
fixed to insert the widget at the right place in the radio box.
* app/dialogs/convert-dialog.c: use enum widgets and
gimp_enum_radio_frame_add(), resulting in a much better looking
dialog with much less lines of code.
2004-10-14 Sven Neumann <sven@gimp.org>
* app/actions/file-commands.c (file_revert_cmd_callback): creata
an UTF-8 filename from the image URI and display that instead of
the URI.
* app/dialogs/convert-dialog.c (convert_dialog_new): removed the
palette size warning for transparent images. The number of colors
is already adjusted to 255. This text was IMO more frightening
than helpful.
2004-09-09 Michael Natterer <mitch@gimp.org>
* app/gui/convert-dialog.[ch] (convert_dialog_new): changed
GimpDisplay* parameter to GimpProgress* because that's what it's
used for.
* app/actions/image-commands.c (image_convert_cmd_callback):
changed accordingly.
* app/gui/convert-dialog.c: massively cleaned up internals. Use a
GimpViewableButton + GimpContainerEntry combo as in text options
for selecting the custom palette. Use a filtered container which
contains only palettes with a maximum of 256 colors.
Fixes bug #136574
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-09 Michael Natterer <mitch@gimp.org>
Applied (slightly modified) patch from Shlomi Fish which adds a
progress bar to the RGB -> INDEXED conversion. Fixes bug #145274
(and shows that we really really need a GimpProgressInterface in
the core to give progress users full access to the progress API)
* app/core/gimpimage-convert.[ch]: added special
GimpImageConvertProgress function typedef to cope with the
different stages of converting. Support passing such a callback &
data to gimp_image_convert() and update the progress accordingly.
* app/gui/convert-dialog.[ch]: added a convert progress callback
and pass it to gimp_image_convert().
* app/actions/image-commands.c
* tools/pdbgen/pdb/convert.pdb: changed accordingly.
* app/pdb/convert_cmds.c: regenerated.
2004-04-20 Michael Natterer <mitch@gimp.org>
* app/gui/convert-dialog.[ch]: renamed convert_to_indexed()
to convert_dialog_new() and return the dialog. Removed
convert_to_rgb() and convert_to_grayscale().
* app/gui/offset-dialog.[ch]: renamed offset_dialog_create()
to offset_dialog_new() and return the dialog.
* app/Makefile.am
* app/actions/drawable-commands.c
* app/actions/image-commands.c: changed accordingly.
2004-03-08 Sven Neumann <sven@gimp.org>
* app/gui/convert-dialog.c (indexed_palette_select_palette): added
a message explaining that GIMP cannot convert to a palette with
more than 256 colors. Should actually not list palettes that don't
match this criteria, but we'll leave that change for later (see
bug #136574).
2004-01-31 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage-convert.[ch]: use gboolean instead of gint
for "alpha_dither" and "remove_dups" in all public and private
functions. Properly prototyped private functions. Minor cleanup.
* app/gui/convert-dialog.c: pass FALSE instead of 0.
* tools/pdbgen/pdb/convert.pdb: ditto. Also cleaned up a bit: use
generated checks and documentation for enums, removed duplicate
check for enum range (spotted by Kevin Cozens).
* app/pdb/convert_cmds.c
* libgimp/gimpconvert_pdb.c: regenerated.
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-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-02-23 Sven Neumann <sven@gimp.org>
* app/gui/convert-dialog.c (convert_to_indexed): set the correct
default value for the palette type menu (fixes bug #106798).
2003-01-05 Manish Singh <yosh@gimp.org>
* many files in app, modules and libgimp*: cleanup, removed unecessary
G_OBJECT() casts. Should do the same for plug-ins, when more of them
get undeprecated.
2003-01-02 Michael Natterer <mitch@gimp.org>
Replaced Garry's fix for bug #98843 by a more general solution
which stops the active tool when an undo group start is pushed:
* app/core/gimpimage.[ch]: removed the "layer_merge" signal
and added "undo_start" instead.
* app/undo.c: emit "undo_start" in undo_push_group_start()
_before_ checking if gimage->undo_on is TRUE.
* app/tools/tool_manager.c: connect to "undo_start" and HALT the
active tool if neccessary.
* app/core/core-types.h: added EDIT_COPY_UNDO_GROUP.
* app/core/gimpedit.c: push an undo group around the copy
operation. Will probably have to add more undo group types to wrap
other critical image modifications with.
* app/core/gimpimage-merge.c
* app/gui/convert-dialog.c
* app/gui/edit-commands.c
* app/gui/test-commands.c
* app/tools/gimpimagemaptool.c: removed all special code to
stop the active tool.
2002-11-18 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.c: removed the "feature" of creating
dialogs without action area by passing "_delete_event_" as button
text. Also changed the delete_event() implementation: don't
remember a callback and call it manually but gtk_widget_activate()
the button for which "connect_delete" was passed as TRUE.
* app/gui/test-commands.c: added a "Close" button to the multi view.
* app/gui/brush-select.[ch]
* app/gui/gradient-select.[ch]
* app/gui/palette-select.[ch]
* app/gui/pattern-select.[ch]: ditto. Removed the "context"
parameter of the *_select_new() functions. All sorts of cleanups
in all dialogs.
* app/gui/convert-dialog.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/palette_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: changed accordingly.
* app/pdb/brush_select_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/palette_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
2002-09-08 Michael Natterer <mitch@gimp.org>
* app/widgets/gimplayerlistview.c
* app/gui/channels-commands.c: some more auto-sizing spinbuttons.
* app/gui/offset-dialog.c: added mnemonics for "X" and "Y".
Dialog auto-hide cleanup:
* app/widgets/gimpviewabledialog.c: close the dialog when the
GimpViewable goes away (special cased GimpItems which become
invisible on "removed"). Close the dialog by syntesizing a
"delete_event" instead of simply hiding or destroying it so the
closing method of the dialog's user gets invoked.
* app/gui/resize-dialog.[ch]: don't do the same here. Simplifies
the API even more as we don't have to pass the object to watch any
more.
* app/gui/image-commands.c
* app/gui/layers-commands.c: changed accordingly.
* app/undo_history.c
* app/gui/convert-dialog.c
* app/gui/qmask-commands.c
* app/gui/vectors-commands.c: removed all dialog auto-hiding which
is now done by GimpViewableDialog. Also connect more close
callbacks to gtk_widget_destroy() and handle shell destruction
accordingly, so these pseudo widgets behave more like real ones.
Tool-dialog auto-hide fix:
* app/tools/tool_manager.c: never call a tool's initialize()
method with a NULL gdisp (I can't follow why we did this before
because it's conceptually broken and makes the semantics of
initialize() more than unclear).
To be sure, added g_return_if_fail(GIMP_IS_DISPLAY(gdisp)) to
tool_manager_initialize_active().
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpimagemaptool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: removed the recently added code
for handling NULL displays in initialize().