More than 2000 lines of code less in app/, instead of
if (instance->member)
{
g_object_unref/g_free/g_whatever (instance->member);
instance->member = NULL;
}
we now simply use
g_clear_object/pointer (&instance->member);
... with something more suitable.
72 PPI is from a time where people thought this was a common screen
resolution. This is not the case nowadays, and anyway images targetted
for screen display should not bother with PPI resolution at all, only
with actual pixel dimensions.
PPI resolution is more useful for printing. And for this case, 300 is
quite an accepted OK value for most cases. So this is likely a better
default for GIMP.
Introduce virtual function GimpViewable::is_name_editable() and class
member "gboolean name_editable" for the default value. Default to
FALSE and only return TRUE if the name can actually be edited by the
user.
When attemting an edit, check the new API and beep instead of starting
the edit.
The new properties are "virtual", they share their storage with the
"precision" property and are not serialized, they are meant for GUI
property widgets.
Add "gboolean color_managed" and "GFile *color_profile" to
GimpTemplate. Add a toggle and profile combo to GimpTemplateEditor.
Honor the new template properties in gimp_image_new_from_template().
Using a GFile property instead of a GIMP_TYPE_CONFIG_PATH is
preliminary, see the previous commit. I'd like to use GFile more
directly when dealing with config files, this is for testing that.
and remove lots of labels from calls to gimp_prop_foo_new(). Also
had to manually remove some unwanted labels that are now added
automatically, fixes bug #761880.
instead of passing N_()-strings; and remove gettext() calls on these
strings when using them. Reduces complexitx, and fixes double- and
untranslated strings. Also enables to treat properties of GIMP and
GEGL objects the same way, which was totally broken before.
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
finally acknowledging the fact that app/ depends on gdk-pixbuf almost
globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
- Add new enum GimpComponentType which contains u8, u16, u32 etc.
- Change GimpPrecision to be u8-linear, u8-gamma, u16-linear etc.
- Add all the needed formats to gimp-babl.c
- Bump the XCF version to 5 and make sure version 4 with the old
GimpPrecision enum values is loaded correctly
This change blows up the precision enums in "New Image" and
Image->Precision so we can test all this stuff. It is undecided what
format will be user-visible options in 2.10.
* app/core/gimpimage.[ch]: make the parent parameter public in
add_layer(), add_layers(), add_channel() and add_vectors().
* app/vectors/gimpvectors-import.[ch]: add parent parameters to
the vectors import functions.
* app/core/gimpchannelundo.[ch]
* app/core/gimplayerundo.[ch]
* app/vectors/gimpvectorsundo.[ch]
* app/core/gimpimage-undo-push.[ch]: remember the parent item when
removing layers, channels and vectors.
* app/actions/channels-commands.c
* app/actions/debug-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/widgets/gimptoolbox-dnd.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/vectors.pdb: pass NULL as parent item to above
functions and add FIXMEs all over the place because there is some
more hacking needed to make adding with index = -1 (on top of the
current item) work again.
* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c
* app/pdb/vectors-cmds.c: regenerated.
* app/core/gimpimage-duplicate.c: duplicate the original image's
tree structure in the copy.
* app/widgets/gimpitemtreeview.[ch]: add parent to GimpAddItemFunc,
add utility function gimp_item_tree_view_get_drop_index() which
figures where to add something dropped to an item tree.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly, using above
new GimpItemTreeView API.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-10-09 Michael Natterer <mitch@gimp.org>
Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
had a GEGL dependency (they will have in the next commit, but I
wanted to keep the commit separate).
* app/dialogs/Makefile.am
* app/file/Makefile.am
* app/gui/Makefile.am
* app/menus/Makefile.am
* app/paint/Makefile.am
* app/plug-in/Makefile.am
* app/text/Makefile.am
* app/vectors/Makefile.am
* app/widgets/Makefile.am
* app/xcf/Makefile.am: add GEGL_CFLAGS.
* app/actions/*.c
* app/core/*.c
* app/dialogs/*.c
* app/display/*.c
* app/file/*.c
* app/gui/*.c
* app/menus/*.c
* app/paint/*.c
* app/pdb/gimppdb-utils.c
* app/pdb/gimpprocedure.c
* app/plug-in/*.c
* app/text/*.c
* app/tools/*.c
* app/vectors/*.c
* app/widgets/*.c
* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
to all files which include a drawable subclass or gimpimage.h
* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
in all generated files.
* app/pdb/*-cmds.c: regenerated.
* data/images/gimp-splash.png: the goat is still sleeping.
By Aurore Derriennic.
svn path=/trunk/; revision=27202
2008-10-09 Michael Natterer <mitch@gimp.org>
Remove the last code duplication from the undo system (or if not
the last then at least the most ugly):
* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
add "gboolean push_undo" parameter and add the item without
touching undo if it's TRUE. Changed assertions from
g_object_is_floating() to !gimp_item_is_attached() so they also
take items from the undo stack and not only newly created ones.
(gimp_image_remove_layer,channel,vectors): add "push_undo"
parameter here too. Also add a "new_active" parameter where an
optional new active item can be passed.
(gimp_image_remove_layer,channel): these functions must not be
called with push_undo=FALSE and a floating selection attached to
the layer/channel. This can't currently happen; added warnings in
case other code is changed and makes it happen anyway.
* app/core/gimpchannelundo.c
* app/core/gimplayerundo.c
* app/vectors/gimpvectorsundo.c: use above functions to add/remove
items instead of duplicating (parts of) their code. Pass
push_undo=FALSE and the previously active item to the remove()
functions.
* app/actions/channels-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpchannelundo.c
* app/core/gimpimage-crop.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimpimage-scale.c
* app/core/gimplayer-floating-sel.c
* app/core/gimplayerundo.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/vectors/gimpvectors-import.c
* app/vectors/gimpvectorsundo.c
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c
* app/widgets/gimpvectorstreeview.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
unless it's a new image like when loading and XCF file).
* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c: regenerated.
svn path=/trunk/; revision=27200
2008-09-30 Michael Natterer <mitch@gimp.org>
Bug 546924 – "New Image" misscalculating dimensions for non-pixel
sized templates
* app/core/gimptemplate.h: added private param flag
GIMP_TEMPLATE_PARAM_COPY_FIRST.
* app/core/gimptemplate.c (gimp_template_class_init): set the flag
on the resolution properties.
* app/dialogs/image-new-dialog.c (image_new_template_changed):
make sure the resolution properties are copied first.
* libgimpconfig/gimpconfig-utils.c (gimp_config_sync): remove
comment about fixing the template editor. That's not true any
more.
svn path=/trunk/; revision=27091
2008-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.[ch]: moved defines to the header file
and
changed to 640x400 which is actually almost the golden mean as
claimed by the comment.
* app/display/gimpdisplayshell.c: use the defines here.
svn path=/trunk/; revision=25165
2008-03-21 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: increased the size of the default
image
(to the next Fibonacci number for the development version and to
640x480 for GIMP 2.6).
svn path=/trunk/; revision=25163
2007-06-06 Sven Neumann <sven@gimp.org>
* app/core/gimpprojection.[ch]: added function that estimates the
memory requirements for an image projection.
* app/core/gimptemplate.c (gimp_template_notify): use it.
svn path=/trunk/; revision=22721
2006-10-27 Sven Neumann <sven@gimp.org>
* libgimpconfig/gimpcolorconfig-enums.[ch]
* libgimpconfig/gimpcolorconfig.c
* libgimpconfig/gimpconfig.def: removed unused enum
GimpColorFileOpenBehaviour.
* app/core/core-enums.[ch]: added enum GimpColorProfilePolicy.
* app/config/gimpcoreconfig.[ch]
* app/config/gimprc-blurbs.h: added property
"color-profile-policy".
* app/plug-in/Makefile.am
* app/plug-in/plug-in-icc-profile.[ch]: new files that wrap
usage
of the lcms plug-in.
* app/file/file-open.c: implement the user-configured policy for
embedded color profiles.
* app/widgets/gimpimageprofileview.c: use the wrapper to call
the
plug-in-icc-profile-info procedure.
* app/widgets/gimptoolbox-dnd.c: pass TRUE for "attach_comment"
parameter to gimp_create_image().
* app/core/gimptemplate.c
* app/file/Makefile.am: cosmetic changes.
* app/Makefile.am: some resorting to make the beast link again.
2006-04-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpparasitelist.[ch] (gimp_parasite_list_add): removed
the return value again.
(gimp_parasite_list_find): return a const parasite.
* app/core/gimp-parasites.[ch]
* app/core/gimpimage.[ch]
* app/core/gimpitem.[ch] (*_parasite_attach): take a const
parasite. Make a local copy of the parasite struct because
gimp_parasite_shift_parent() changes it.
(*_parasite_find): return a const parasite.
* app/core/gimptemplate.c
* app/text/gimptextlayer-xcf.c
* app/xcf/xcf-load.c: changed accordingly.
2006-01-18 Michael Natterer <mitch@gimp.org>
* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
GIMP_PARAM_STATIC_STRINGS.
* app/*/*.c: use them for all object properties so their
strings are not copied.
2005-12-10 Michael Natterer <mitch@gimp.org>
* app/config/*.c
* app/core/*.c
* app/display/*.c
* app/text/*.c
* app/vectors/*.c: port to G_DEFINE_TYPE() and friends. Some related
core reordering and cleanup.
2005-08-18 Sven Neumann <sven@gimp.org>
* app/core/gimptemplate.c: go back to using dpi as the default
resolution unit.
* app/core/gimp-utils.[ch]: moved the code to determine the unit
from the locale settings here as gimp_get_default_unit().
* app/dialogs/print-size-dialog.c
* app/widgets/gimpimagepropview.c: use the unit returned by the
new function to display the print size (bug #107497).
2005-08-17 Sven Neumann <sven@gimp.org>
* configure.in: check for langinfo.h and _NL_MEASUREMENT_MEASUREMENT.
* app/core/gimptemplate.c: try to determine the default unit from
the locale settings. Supposed to fix bug #107497.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: renamed struct member "unit" to
"resolution_unit".
* app/actions/image-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-undo-push.c
* app/dialogs/info-window.c
* app/vectors/gimpvectors-export.c
* app/widgets/gimptoolbox-dnd.c:
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c: changed accordingly. Use gimp_image_get_unit()
where appropriate.
* app/core/gimptemplate.c (gimp_template_set_from_image): fixed
unit handling. Don't touch the template unit, it is used as the
initial display unit. This will need further changes...