Commit Graph

43 Commits

Author SHA1 Message Date
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Michael Natterer 901350ba20 app: use g_clear_pointer() in more places 2019-05-27 17:47:55 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer 5d1ab3e5f9 app: port GimpTagEntry to GtkStyleContext 2018-05-20 21:06:28 +02:00
Michael Natterer 707131f695 app: GtkEntry turned into a no-window widget
Therefore, use the new get_area() functions to figure where to draw
from instead of the removed get_window() ones. Also adjust the tag
popup positioning code accordingly.
2018-05-20 21:06:27 +02:00
Michael Natterer 6494894334 app: port the tag entry to GTK+ 3.0 2018-05-20 21:06:26 +02:00
Michael Natterer 0cb3e75f79 app: use a lot of g_clear_object() and g_clear_pointer()
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);
2017-07-15 18:42:44 +02:00
Jehan f4abe9a8c0 app: s/seperator/separator/ in an extracted comment for the translators. 2016-10-02 00:07:24 +02:00
Michael Natterer 31aa1269ec Bug 749777 - Deleting current gradient from script leads to...
GIMP_IS_TAGGED error and possible Gimp crash (core segfault)

Fix again by restoring code I accidentially deleted in
ae708d6419. I don't really understand
what it is doing but better not remove it without understanding.
2015-06-06 23:06:20 +02:00
Michael Natterer ae708d6419 Bug 749777 - Deleting current gradient from script leads to...
GIMP_IS_TAGGED error and possible Gimp crash (core segfault)

Remove the object from GimpTagEntry's selected_items when it is
removed from the GimpContainer.
2015-05-31 00:31:40 +02:00
Michael Natterer 7fca15c27d Bug 722975 - crash when removing tag from palette while filtering by same tag
Each of the following cleans up tag refcounting, fixes access to
released memory, or other small glitches. Not sure which change
actually fixed the bug:

gimp_data_remove_tag(): remove the found tag, not the passed in tag
(which is to be treated only as a value for comparison).

gimp_tagged_remove_tag(): don't continue the loop after the tag to
remove has been found, there can only be one matching tag, and the
list element has become invalid.

gimptagentry.c: keep references around for the members of
entry->common_tags, and make sure the references are always dropped
properly. In assign_tags(), reference the "add" and "remove" lists for
paranoia and safety reasons.
2014-01-26 21:03:28 +01:00
Ville Skyttä 6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
Michael Natterer 30b4fe8510 app: fix UI tag matching to always work case-insensitively
Add gimp_tag_has_prefix() and use it in GimpTagEntry when completing
patrially entered tag names, and fix two uses of strcmp() in
GimpTagPopup to use gimp_tag_compare_with_string().
2012-05-05 18:58:04 +02:00
Michael Natterer 5a7b7d9a4b app: add gimp_gegl_buffer_get_tile_manager()
and ust it in some get_memsize() functions instead of having a
FIXME. So many files changed because they need to inlcude <gegl.h>
now.
2012-05-02 17:46:07 +02:00
Michael Natterer 2414301799 Review the last few commits and apply some style fanaticism
some completely unrelated,
2012-02-07 20:36:55 +01:00
Massimo Valentini 39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
Michael Natterer af0570372d app: GimpTagEntry formatting cleanup, no logic changes 2011-12-01 20:24:37 +01:00
Michael Natterer f22d6b9d3b app: use the portable EXTEND_SELECTION modifier instead of SHIFT 2011-10-05 19:26:54 +02:00
Michael Natterer c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
Michael Natterer 24ee3370b8 Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
Michael Natterer 7c60bb5181 app: use more of the new GDK_KEY_foo key names
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer aec66d0c26 app: make GimpTaggedContainer properly memory manage the filter list
instead of leaking it. Also make the fact that tags in the list can
validly be NULL obvious by adding utility functions
gimp_tag_or_null_ref/unref().
2011-03-24 12:28:45 +01:00
Michael Natterer 7eda388fec app: fix possible GimpTagEntry crash by keeping the query idle ID around
Remove it in gimp_tag_query_dispose().
2011-03-24 09:55:32 +01:00
Michael Natterer 051ef0ebcb app: add GimpTaggedContainer
which is a copy of GimpFilteredContainer with s/Filtered/Tagged/ and
no other change. #if 0 GimpFilteredContainer for now and use
GimpTaggedContainer instead all over the place.
2011-03-22 23:11:46 +01:00
Michael Natterer 075c7d4a4d app: avoid the deprecated gdk_drawable_get_size() on GTK+ >= 2.24
Use gdk_window_get_width/height() instead.
2011-03-17 15:10:17 +01:00
Michael Natterer fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Natterer a2c70822d4 Use accessors from GTK+ 2.20 instead of using sealed members directly 2010-04-19 19:21:07 +02:00
Aurimas Juška 8e87f06e20 app: Add support for tag assignment on multiple selected items
Tag assignment has been redesigned according to Peter Sikking's
recommendations. When multiple resources are selected, common tags
to all of them are listed in tag asignment widget. On assignment
it is detected which tags were added and removed from common tag set
and the selected resources are updated accordingly (instead of
replacing their previous tags).
2010-03-07 18:59:27 +02:00
Michael Natterer 2651c2517b Bail our from expose() when the event doesn't come from entry->text_area 2009-11-06 12:04:58 +01:00
Michael Natterer 1a23b9ecf2 Build with GSEAL_ENABLE and #undef it where accessors are missing 2009-10-17 20:20:39 +02:00
Michael Natterer 84e933d80b Use accessors instead of widget->window and widget->style 2009-07-15 03:58:30 +02:00
Michael Natterer bcc31e20e7 use "list" as variable name for iterators to be consistent with the rest
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptagentry.c: use "list" as variable name for
	iterators to be consistent with the rest of GIMP; various code
	cleanups.


svn path=/trunk/; revision=28196
2009-03-22 19:10:15 +00:00
Michael Natterer f1f3913b5e use gtk_paint_layout() instead of fiddling with a PangoRenderer manually.
2009-03-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptagentry.c (gimp_tag_entry_expose): use
	gtk_paint_layout() instead of fiddling with a PangoRenderer
	manually.


svn path=/trunk/; revision=28096
2009-03-02 22:28:57 +00:00
Michael Natterer 7dd3ce30f2 allow to leave the widget with Ctrl+Tab. Handle GDK_KP_Tab and
2009-03-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptagentry.c (gimp_tag_entry_key_press): allow to
	leave the widget with Ctrl+Tab. Handle GDK_KP_Tab and
	GDK_ISO_Left_Tab.


svn path=/trunk/; revision=28095
2009-03-02 22:16:40 +00:00
Michael Natterer c06c90b545 add gimp_tagged_set_tags() which takes a GList of tags.
2009-03-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptagged.[ch]: add gimp_tagged_set_tags() which
	takes a GList of tags.

	* app/widgets/gimptagentry.c (gimp_tag_entry_assign_tags): use it.

	(gimp_tag_entry_item_set_tags): remove.


svn path=/trunk/; revision=28094
2009-03-02 21:48:50 +00:00
Michael Natterer 56198ec77b app/widgets/gimpcombotagentry.c indentation, spacing, some general
2009-03-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcombotagentry.c
	* app/widgets/gimptagentry.c: indentation, spacing, some general
	formatting cleanup.

	(gimp_tag_entry_expose): don't leak the PangoAttrList.


svn path=/trunk/; revision=28093
2009-03-02 21:34:59 +00:00
Aurimas Juška a31ca23ddb fixed popup list (tag cloud) toggling by querying tags immediately instead
* app/widgets/gimptagentry.c (gimp_tag_entry_set_tag_string):
fixed popup list (tag cloud) toggling by querying tags immediately
instead of adding idle handler.

svn path=/trunk/; revision=28044
2009-02-16 14:44:04 +00:00
Aurimas Juška cf3e18312e don't cause tag query after focus-out. Fixes annoying bug.
* app/widgets/gimptagentry.c (gimp_tag_entry_commit_tags),
(gimp_tag_entry_strip_extra_whitespace): don't cause tag query
after focus-out. Fixes annoying bug.

svn path=/trunk/; revision=28043
2009-02-16 13:59:31 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Sven Neumann 2d2aec81b9 another small formatting cleanup
svn path=/trunk/; revision=27863
2008-12-31 00:25:20 +00:00
Sven Neumann d9d657ca19 added GimpTagEntryMode.
2008-12-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/widgets-enums.[ch]: added GimpTagEntryMode.

	* app/widgets/gimptagentry.[ch]: removed it here. Also did some
	code cleanup, mostly formatting.

	* app/widgets/gimpcombotagentry.[ch]
	* app/widgets/gimptagpopup.[ch]: some code cleanup, mostly
	formatting.


svn path=/trunk/; revision=27861
2008-12-31 00:01:24 +00:00
Aurimas Juška 3093ef28ce fixed handling of tags which contain non-ASCII characters.
* app/widgets/gimptagentry.c: fixed handling of tags which contain
non-ASCII characters.

svn path=/trunk/; revision=27822
2008-12-21 16:41:09 +00:00
Martin Nordholts 4255e43681 Bug 555954 – Merge Tagging of Gimp Resources GSoC Project
Merge the rest of the tagging code developed on the tagging branch
by Aurimas Juška. Development will now continue in trunk.

* app/core/gimptag.[ch]: New files (not strictly true but almost)
implementing the represention of a tag.

* app/core/gimptagcache.[ch]: New files implementing functionality
for loading and saving tags to tags.xml, and assigning loaded tags
to tagged objects.

* app/core/gimpfilteredcontainer.[ch]: New files implementing a
tag filtered GimpContainer.

* app/widgets/gimptagentry.[ch]: New files implementing a
GtkEntry-like widget for entering tags.

* app/widgets/gimpcombotagentry.[ch]: New files implementing a
combobox-like widget for selecting tags.

* app/widgets/gimptagpopup.[ch]: New files implementing a popup of
all available tags that can be selected and combined in a
checkbox-like way.

* app/core/gimp.[ch]: Add a GimpTagCache member and manage tag
assignment and saving and loading to/from tags.xml.

* app/widgets/gimpdatafactoryview.c: Add the tag query and tag
assignment widgets to the UI and show the tag filtered items
instead of all items.

* app/core/Makefile.am
* app/widgets/Makefile.am: Add new files.

* app/core/core-types.h
* app/widgets/widgets-types.h: Add new types.

svn path=/trunk/; revision=27816
2008-12-20 14:46:54 +00:00