Commit Graph

17571 Commits

Author SHA1 Message Date
Michael Natterer e820f26eec app: port theme searching to GFileEnumerator 2014-07-20 17:09:25 +02:00
Michael Natterer 14c39816d8 app: keep the theme directories around a GFiles
and change gimp_get_theme_dir() to return a GFile.
2014-07-20 17:09:25 +02:00
Michael Natterer 6694f6be1a app: don't create gimp->documents twice (broke that in the last commit)
Also, clean up gimp_init() to not zero-initialize stuff, which makes
it much more readable.
2014-07-15 00:22:43 +02:00
Michael Natterer 9d3418ef1c app: make sure --verbose gets passed to the Gimp instance's members
Add CONSTRUCT_ONLY property "verbose" and create the members which get
a "gimp" pointer passed in constructed() instead of init().
2014-07-15 00:09:15 +02:00
Michael Natterer 08fdf55fe1 app: add --verbose output to GimpInterpreterDB and GimpEnvironTable 2014-07-14 22:55:53 +02:00
Michael Natterer 83f69aa9fb app: don't set the same GFile again in gimp_imagefile_set_file()
I don't think this can happen, but better safe than sorry.
2014-07-13 19:13:11 +02:00
Michael Natterer a4ff0b17c8 app: also check for errors on closing the file in xcf_save_invoker()
and improve the error message.
2014-07-13 15:09:54 +02:00
Michael Natterer f8848f06fd app: paranoia: ref file_save()'s GFile during save, see previous commit 2014-07-13 15:08:45 +02:00
Michael Natterer af7646754f app: don't set the same GFile again in gimp_image_set_file()
or we might unref the GFile used e.g. in File->Save under the calling
code's feet.
2014-07-13 15:05:10 +02:00
Michael Natterer 7e9f4cc732 app: don't convert XCF filenames to UTF-8 display names twice
g_file_get_parse_name() already returns UTF-8, don't call
g_filename_display_name() on its result.
2014-07-13 14:03:00 +02:00
Michael Natterer 9e0c55eb04 app: remove two unused forgotten members from struct XcfInfo 2014-07-13 01:44:10 +02:00
Michael Natterer a6601d563b app: some GimpProgress cleanup
- change start() and set_text() to use "format" and "..." instead of
  "message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
Michael Natterer 335381579c app: don't dereference a NULL GError in file_remote_copy_file() 2014-07-12 23:02:01 +02:00
Michael Natterer 2c28b271cc app: disconnect from the progress' "cancel" signal in file_remote_copy_file() 2014-07-11 09:21:59 +02:00
Michael Natterer 944ba8131b app: honor GIMP_HANDLE_REMOTE_FILES when setting local-only in GimpFileDialog 2014-07-11 09:11:14 +02:00
Michael Natterer 3bffdd9766 app: set the return status reliably in file_save()
and make sure that GIMP_PDB_EXECUTION_ERROR is returned when uploading
fails.
2014-07-11 02:03:18 +02:00
Michael Natterer c91b63f8ab app: port file-open and file-save to the new file-remote utilities
but only use them if GIMP_HANDLE_REMOTE_FILES is set.
2014-07-11 01:52:17 +02:00
Michael Natterer 9680a28deb app: add file-remote.[ch] which implements uploading/downloading
and will make the file-uri plug-in obsolete.
2014-07-11 01:23:11 +02:00
Michael Natterer dc842d481b app: use gimp_widget_flush_expose() in GimpProgressBox
instead of flushing the widget manually.
2014-07-11 00:40:56 +02:00
Michael Natterer 5c1f14be67 app: add gimp_mount_enclosing_volume(), using the the GimpGui vtable
and implement it in gui-vtable.c using gtk_mount_operation_new().
2014-07-11 00:40:34 +02:00
Michael Natterer a4b807905c app: change gimp_get_temp_filename() to gimp_get_temp_file() 2014-07-10 22:32:09 +02:00
Michael Natterer c1f7ec52a8 app: add gimp_pdb_image_get_guide() and use it in the guide PDB wrappers
It returns a proper error message if a guide ID doesn't exist.
2014-07-10 20:24:10 +02:00
Michael Natterer ad9fd33915 app: guide cleanup
- Move all GimpGuide members to a private struct
- Remove cruft checks for position < 0, we don't keep removed guides
  around in the image's guide list since a long time ago
- Add #define GIMP_GUIDE_POSITION_UNDEFINED G_MININT and use that
  instead of -1 (this is also a prerequisite for having guides
  outside of the image)
2014-07-10 00:20:57 +02:00
Michael Natterer 99ccf7223b app: fix handling of guides and sample points in gimpimage-resize.c
Don't iterate the lists with for() because the loops can remove items,
which makes us say g_list_next() on a removed list item. Instead, use
while() and get the next item before possibly removing the current
one.
2014-07-10 00:08:14 +02:00
Michael Natterer e9e33421e2 app: turned an XCF debug patch I had into proper GIMP_LOG=xcf output
only for loading and incomplete, but a start.
2014-07-09 22:36:55 +02:00
Michael Natterer 39f7401703 app: change Gimp->default_folder from being a path to a GFile
Also fix GimpFileDialog to actually start with that folder, and not in
its parent folder.
2014-07-09 20:12:05 +02:00
Michael Natterer ef53921133 app: make GimpImageFile handle a NULL URI/GFile
and reorder its functions to be in the usual order.
2014-07-09 20:10:58 +02:00
Michael Natterer 43e9a79ef9 app: gimp_thumb_box_take_file() must accept a NULL file 2014-07-08 21:40:17 +02:00
Michael Natterer c3573c3c45 app: keep the plug-in executable path around as GFile 2014-07-08 21:09:35 +02:00
Michael Natterer 4bd2f3e87c app: add back code that only checks local files for type and permissions
I've seen these tests failing on remote files that load and save just
fine if the test is removed.
2014-07-08 20:27:07 +02:00
Michael Natterer f049ac68b8 app: fix leak and remove unused variable in file-utils.c 2014-07-08 20:27:07 +02:00
Michael Henning 45472ee088 app: Fix unique logic on windows 2014-07-08 12:50:50 -04:00
Michael Natterer e978c31e33 app: fix gui-unique.c for OSX and Windows (untested, not even built) 2014-07-08 10:39:50 +02:00
Michael Natterer c884c4f630 app: change file_utils_filename_to_uri() to file_utils_filename_to_file() 2014-07-08 10:25:25 +02:00
Michael Natterer 3ba0589f14 app: make file_utils_filename_is_uri() private 2014-07-08 10:14:53 +02:00
Michael Natterer b9e234f042 app: fix tests test-save-and-export and test-xcf 2014-07-08 10:07:18 +02:00
Michael Natterer ba00571756 app: file_utils_file_get_ext() now returns an allocated string 2014-07-08 09:10:29 +02:00
Michael Natterer 5e13f81b99 app: change file_utils_uti_get_ext() to file_utils_file_get_ext() 2014-07-08 02:58:59 +02:00
Michael Natterer 58f579cbe6 app: fix GFile porting leaks in file-save-dialog.c 2014-07-08 02:26:51 +02:00
Michael Natterer a43730390c app: remove obsolete cruft from file-utils.[ch] 2014-07-08 01:42:44 +02:00
Michael Natterer d4b35785b5 app: more URI -> GFile in GimpFileDialog 2014-07-08 01:41:45 +02:00
Michael Natterer 25f190d309 app: port gimp_imagefile_get_description() from URI to GFile 2014-07-08 01:34:14 +02:00
Michael Natterer 98ae4b1f2c app: use g_file_new_for_commandline_arg_and_cwd() in unique.c 2014-07-08 01:25:17 +02:00
Michael Natterer c2f7ec7b16 app: port file-actions and file-commands from URI to GFile 2014-07-08 01:19:39 +02:00
Michael Natterer 221fa11544 app: URI -> GFile in file-save-dialog.c 2014-07-08 01:07:07 +02:00
Michael Natterer 69686fe446 app: port GimpThumbBox from URI to GFile 2014-07-08 00:58:42 +02:00
Michael Natterer f319a9c838 app: add gimp_imagefile_set_file() 2014-07-08 00:49:05 +02:00
Michael Natterer 0c6bf0bc44 app: simplify gimp_image_set_file() 2014-07-08 00:47:58 +02:00
Michael Natterer b17cc3823b app: fix file_utils_file_with_new_ext() to not just cut off the extension 2014-07-08 00:39:55 +02:00
Michael Natterer c656c41d88 app: more URI -> GFile in gimpdnd-xds.c 2014-07-08 00:31:22 +02:00
Michael Natterer d0a6d95dad app: remove a bunch of file-utils.h includes 2014-07-08 00:23:34 +02:00
Michael Natterer 7f966cad39 app: keep the image's "Untitled" string around as GFile too 2014-07-08 00:15:41 +02:00
Michael Natterer f5afc78532 app: don't leak all the image's GFiles 2014-07-08 00:03:08 +02:00
Michael Natterer ff6ea69569 app: change the image's various URIs to GFiles
which gets rid of a lot of temporarily added GFile code again because
we don't need to convert between URI and GFile any longer.
2014-07-07 23:58:11 +02:00
Michael Natterer a6aa35df57 app: port file_open_from_command_line() to GFile
Use g_file_new_for_commandline_arg() and remove
file_utils_any_to_file().
2014-07-07 23:58:11 +02:00
Michael Natterer 0f8d84d5e9 app: port all file_open() and file_save() functions to GFile 2014-07-07 23:58:11 +02:00
Michael Natterer 3f52828896 app: change GimpImageFile and GimpDocumentList to speak GFile 2014-07-07 23:58:11 +02:00
Michael Natterer 7e2ab1949b app: port themerc writing to GIO 2014-07-05 01:42:19 +02:00
Michael Natterer bc1e8ab3fc app: port file magic checking to GIO 2014-07-05 00:58:46 +02:00
Michael Natterer b7863269f0 libgimpcolor: change gimp_lcms_profile_open_from_file() from filename to GFile
and change most of the lcms plug-in to using GFile too.
2014-07-04 23:57:27 +02:00
Michael Natterer c885af6c3e app: only add supported image files to the document history
Initialize the history after plug-ins, and check each item listed by
GtkRecentManager against the mime-types supported by our load
plug-ins.
2014-07-04 20:01:08 +02:00
Michael Natterer 6e631420c3 app: fix error handling warning in gimp_brush_load_abr() 2014-07-04 19:16:58 +02:00
Michael Natterer e6f4252d55 app: simplify GimpData load/save error reporting a lot
Add the filename and general "Foo failed" spam generically in GimpData
and GimpDataFactory, and make the individual loaders/savers much
simpler.
2014-07-04 18:46:02 +02:00
Michael Natterer 29427fa4f1 app: port GimpImageMapTool settings import/export to streams
Simplifies and centralizes error checking and reporting.
2014-07-04 18:31:00 +02:00
Michael Natterer b4cdecb4c3 app: port the curves and levels cruft format loaders to GIO 2014-07-04 13:18:01 +02:00
Michael Natterer 6f7e244d75 app: add GInputStream* parameter to GimpDataLoadFunc
and port all loaders to loading from an already open stream.
2014-07-04 03:31:03 +02:00
Michael Natterer e7d9e01d63 app: port ABR brush loading to GIO 2014-07-04 02:18:52 +02:00
Michael Natterer 16ca9a4dcf app: port gradient loading to GIO 2014-07-04 00:15:02 +02:00
Michael Natterer 01878cc2e0 app: improve palette loading error message 2014-07-04 00:14:36 +02:00
Michael Natterer aab55c34c8 app: add a GOutputStream* parameter to GimpData::save()
Open/close the stream generically in GimpData. Improves error handling
and simplifies the save() functions.
2014-07-03 23:44:38 +02:00
Michael Natterer 52032961c2 app: add (disabled) code that blits the image directly from the graph
bypassing the projection buffer.
2014-07-03 20:52:02 +02:00
Michael Natterer 249041d927 Bug 732698 - Select > Shrink/Grow/Border not working in GIMP master
Always pass level = 0 to gegl_buffer_set(). This actually makes a
difference since GEGL's level processing got some fixes.
2014-07-03 20:47:02 +02:00
Michael Natterer 4d50c3aafd app: port gimp_palette_load_css() to GIO
which finishes palette porting. Remove all temp hack porting code
and a ton of ugly includes.
2014-07-03 17:36:01 +02:00
Michael Natterer 12d6519f3e app: port gimp_palette_load_aco() to GIO 2014-07-03 17:23:11 +02:00
Michael Natterer aedc3c0ddb app: port gimp_palette_load_psp() to GIO 2014-07-03 16:59:04 +02:00
Michael Natterer 5d4d3a0e3c app: port more palette importers to GIO 2014-07-03 16:42:37 +02:00
Michael Natterer 3213fe04ef app: port gimp_palette_load_detect_format() to GIO 2014-07-03 16:27:05 +02:00
Michael Natterer bfd8aa69f5 app: prepare for more palette load/import GOI porting
by passing an open GInputStream to gimp_palette_load_gpl(), all
palette import functions will become like that.
2014-07-03 16:11:26 +02:00
Michael Natterer 9ec4e93434 app: port gimp_palette_load_gpl() to GIO 2014-07-03 15:49:58 +02:00
Michael Natterer 32e2aebbe0 app: remove old includes from gimpdata.c too 2014-07-03 15:49:29 +02:00
Michael Natterer 9d11dc046d app: forgot to remove the creepy includes in gimpbrush-load.c after porting 2014-07-03 15:48:38 +02:00
Michael Natterer 87463dbe46 app: don't leak a GError in gimp_brush_generated_load() 2014-07-03 15:47:57 +02:00
Michael Natterer 70e6d86bdf app: port gimp_pdb_dump() to GIO 2014-07-03 14:52:27 +02:00
Michael Natterer 673d666d0c app: port gimp_vectors_export_file() to GIO 2014-07-03 13:29:29 +02:00
Michael Natterer 77b6af2da8 app: implement gimp_curve_load() and _save() in GIO
They are currently unused, but implementing them was a copy/paste
no brainer.
2014-07-03 13:22:10 +02:00
Michael Natterer a572638656 app: fix copy/paste GError bug in some calls to g_file_replace() 2014-07-03 13:01:01 +02:00
Michael Natterer 0753b5a137 app: port gimp_text_buffer_load() and _save() to GIO 2014-07-03 12:57:18 +02:00
Michael Natterer 799a3d4352 app: g_mkdir() -> g_file_make_directory() in gimptooloptions.c 2014-07-03 01:33:20 +02:00
Michael Natterer 53376def7a app: forgot one filename -> GFile earlier 2014-07-03 00:21:04 +02:00
Michael Natterer f146d454e8 app: port the pluginrc code from filename to GFile 2014-07-03 00:04:58 +02:00
Michael Natterer 4e6a6079f4 app: port levels cruft format saving to GIO 2014-07-02 23:45:16 +02:00
Michael Natterer 87ecc83885 app: port curves cruft format saving to GIO 2014-07-02 23:40:26 +02:00
Michael Natterer a49709ef6c app: port gradient saving to GIO 2014-07-02 23:26:40 +02:00
Michael Natterer 3bfb2154a0 app: port palette saving to GIO 2014-07-02 22:41:51 +02:00
Michael Natterer 8202fa1a77 app: port pattern loading to GIO 2014-07-02 22:29:57 +02:00
Michael Natterer b0f9a42fb3 app: port generated brush saving to GIO 2014-07-02 22:16:09 +02:00
Michael Natterer 77c20040ae app: port generated brush loading to GIO 2014-07-02 21:33:00 +02:00
Michael Natterer add91b70b9 app: port brush loading to GIO 2014-07-02 21:11:49 +02:00
Michael Natterer 9f0e27307e app: change filename in gimp_text_buffer_load() and _save() to GFile 2014-07-02 15:10:53 +02:00
Michael Natterer 3687e1b32b app: change filename in gimp_vectors_import_file() to GFile 2014-07-02 14:54:56 +02:00
Michael Natterer 632b64fedf app: change filename in gimp_vectors_export_file() to GFile 2014-07-02 14:47:11 +02:00
Michael Natterer 3dbae5e4d9 Bug 727854 - Export file type should not be based on filename extension
Keep the export proc acound in the image (just as we keep around
the save proc), and use it when exporting again.
2014-07-02 14:24:02 +02:00
Michael Natterer c88800e840 app: add gimp-priorities.h and keep the most important priorities there
also add comments with all predefined priorities as documentation.
2014-07-02 04:47:24 +02:00
Michael Natterer b5530e9e3d Use the new GeglAccessMode enum instead of the old values 2014-07-02 02:00:35 +02:00
Michael Natterer 3665352ad6 app: change gimp_config_file_backup_on_error() to take a GFile 2014-07-01 20:02:45 +02:00
Michael Natterer 98e7ec090b app: use the new gimp_personal_rc_gfile() in lots of places
and pass the GFile to the newly added GFile-based GimpConfig,
GimpScanner etc. functions. This is starting to make sense now...
2014-07-01 20:02:45 +02:00
Michael Natterer 651c3d56ff app: more filename -> GFile 2014-07-01 15:56:39 +02:00
Michael Natterer a31cb02405 app: return a GFile from gimp_tool_info_build_options_filename()
and rename it to gimp_tool_info_get_options_file().
2014-07-01 15:41:12 +02:00
Michael Natterer 8c8135a881 app: port GimpImageMapTool's settings API from filename to GFile 2014-07-01 15:13:02 +02:00
Michael Natterer 20032907e0 app: use gimp_file_get_utf8_name() in the code ported to GFile earlier 2014-07-01 14:25:37 +02:00
Michael Natterer 113617f526 app: change the GimpData loading API from filename to GFile 2014-07-01 02:30:22 +02:00
Michael Natterer 7be12ec523 app: add gimp_xml_parser_parse_gfile() 2014-07-01 02:29:30 +02:00
Michael Natterer b7c78c5b97 app: use gimp_config_serialize_to_gfile() for dynamics and tool presets 2014-07-01 02:06:44 +02:00
Michael Natterer 6ec5fb80e4 libgimpconfig: add API operating on GFiles instead of filenames
to GimpConfigInterface's wrappers, to GimpConfigWriter and to
GimpScanner.
2014-07-01 01:57:31 +02:00
Michael Natterer 9696e297ac app: turn GimpData's "filename" string into a "file" GFile
One more step, but for now just causes more code in most places to get
to the path inside the GFile.
2014-07-01 01:19:35 +02:00
Michael Natterer f2b265f751 app: more correct code in gimp_projection_chunk_render_iteration()
wasn't broken before, just too obscure.
2014-06-30 23:12:53 +02:00
Michael Natterer 630d74a4c4 app: fix gimp_drawable_merge_filter() to make a copy of the result again
We optimized away so much redundant processing that we now need to
copy the region already processed by the GimpApplicator from its
cache, when it would previously have been created "for free" by all
the redundant processing.
2014-06-30 21:26:01 +02:00
Michael Natterer 48ece1f31d app: revive debug utility function gimp_create_image_from_buffer()
and fix it not to leak the created image.
2014-06-30 21:06:13 +02:00
Michael Natterer 6fd8a362df app: s/gimp_hsv_to_rgb4/gimp_hsv_to_rgb/ in GimpCircle 2014-06-30 17:30:05 +02:00
Michael Natterer 784e74e1d8 app: remove bogus (but harmless) assignment from GimpOperationColorize 2014-06-30 17:28:04 +02:00
Michael Henning db4f67048d app: Always return values in non-void functions. 2014-06-29 22:35:34 -04:00
Michael Natterer 6fb9d1a3b0 app: cancel the tool progress if the progress title was clicked 2014-06-30 03:41:46 +02:00
Michael Natterer 2d2bdbd48f app: implement GimpCanvasItem::hit() in GimpCanvasProgress
Allow hits only on the progress text. Hackish proof-of-concept hack.
2014-06-30 03:40:34 +02:00
Michael Natterer f4803af808 app: add boolean "cancelable" API to GimpImageMap and gimpdrawable-filter.[ch]
Return booleans indicating success (FALSE == user has canceled), and
allow canceling only in GimpImageMapTool for now.
2014-06-30 01:06:04 +02:00
Michael Natterer 9604eea1c7 Bug 732447 - View->Rotate menu items are not translated
view_actions_setup(): create the rotate actions with the right message
context.
2014-06-30 00:48:55 +02:00
Michael Natterer 16381c9bf9 app: make gimp_gegl_apply_cached_operation() cancelable via GimpProgress
In gimp_drawable_merge_filter(), use that feature to make filter
applying cancelable. Stop projection rendering first, because we have
to run the event loop manually in order to receive input for
canceling, but we don't want the projection to be constructed from
that manual loop running.
2014-06-30 00:10:25 +02:00
Michael Natterer 9ec2a3cdeb app: implement progress canceling in GimpTool
In gimp_tool_progress_start(), if the progress is cancelable, grab on
an invisible widget and emit the progress' "cancel" signal when Escape
is pressed.
2014-06-30 00:02:33 +02:00
Michael Natterer 3795c597ba app: add gimp_projection_stop_rendering()
which stops a running chunk renderer and moves its remaining
unrendered region back to the projection's dirty region.
2014-06-29 23:57:22 +02:00
Michael Natterer 2ac5ab7dc3 app: don't use the projection in gimpdisplayshell-render.c
The image implements the GimpPickable interface too.
2014-06-29 23:11:53 +02:00
Michael Natterer 34dd127ace app: don't include gimpprojection.h in gimpdisplayshell-scroll.c
It's not needed.
2014-06-29 23:11:12 +02:00
Michael Natterer 0e2b8f236d Bug 731362 - Merging layers (outside layer folders)...
...causes layer folders to expand

In gimp_image_remove_layer(), don't use the top element of
image->layer_stack as the new active layer, because it is simply some
arbitrary layer that was previously selected. That stack is only good
for finding the last active layer when returning from the channels
dialog. Instead, let the proper logic run and use the new active item
returned by gimp_item_tree_remove_item(), which is the layer below the
removed one, if any, or the one above it otherwise.
2014-06-29 21:00:03 +02:00
Michael Henning 2e3e4597ef app: Slight cleanup in gimpdisplayshell-rotate-dialog.c 2014-06-29 14:58:12 -04:00
Michael Natterer 5c7e2f5c95 app: add gegl:mirrors to Filters -> Distorts as "Kaleidoscope" 2014-06-27 12:02:16 +02:00
Michael Natterer 88762df4cf app: more debug output in GimpWarpTool, for fixing the timeout mess... 2014-06-26 14:01:35 +02:00
Michael Natterer 78bc7ac94e app: improve and clean up the canvas rotation dialog
Make the action area buttons behave less unexpected, and add and angle
dial.
2014-06-26 13:48:12 +02:00
Michael Natterer c0fbbcdac4 app: fix up obsolete comments in GimpImageMap, and reorder members 2014-06-25 18:53:44 +02:00
Michael Natterer 6eba4c716b app: cleanup in GimpImageMap
- don't allow to create a GimpImageMap of an operation without output
- make "region", "mode" and "gamma-hack" settable on a map that
  already has a graph
- don't insert a useless "over" if the operation is a source op
- do the gamma-hack always on formats with alpha, so we don't lose
  intermediate alpha results on source ops
- simplify graph connection a lot
- in GimpImageMap tool, don't recreate the map when reconfiguring
  "region" and "gamma-hack"
2014-06-25 18:16:52 +02:00
Michael Natterer 1ff1c687f4 app: add gimp_image_map_set_mode()
which allows to set opacity and paint_mode on the contained
GimpApplicator.
2014-06-24 20:18:34 +02:00
Michael Henning ef79cfdade app: Make GIMP_PROJECTION_CHUNK_TIME a gdouble
Otherwise, it's immediately rounded to 0.
2014-06-22 10:38:44 -04:00
Michael Natterer a665c30823 app: gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-21 22:39:37 +02:00
Michael Natterer f04ec31478 app: don't leak the property keys hash tables of duplicated Gegl paramspecs
This leak never happened because the duplicates are currently never
freed.
2014-06-20 09:00:46 +02:00
Michael Natterer 5e2d91dc0a app: don't leak the GtkTextBuffers of Gegl multiline text properties 2014-06-20 08:59:42 +02:00
Michael Natterer 99efd9c1a5 app: make sure the warp tool's canvas circle updates when its size changes
and make the undo functions static, no idea why they were not.
2014-06-20 01:14:53 +02:00
Michael Natterer 374fd6cfd6 app: fix some blacklisting typos in GimpGeglTool 2014-06-20 01:14:21 +02:00
Michael Natterer 921bd34495 app: fix GimpCanvasProgress' extents for short progress texts 2014-06-19 23:29:00 +02:00
Michael Natterer 001a75e1d2 app, plug-ins: move Filters/Render/Nature to Filters/Render/Fractals
but keep "Nature" around for compat, it's hidden if empty.
2014-06-19 23:11:30 +02:00
Michael Natterer 88450445fc app: don't unref progress twice in gimp_gegl_apply_cached_operation() 2014-06-19 23:09:41 +02:00
Michael Natterer 40cbbf8faf app: argh, so much for less stupid 2014-06-19 19:00:23 +02:00
Michael Natterer 5a4e9d0e03 app: make the new rounding code in GimpSpinScale less totally stupid 2014-06-19 18:56:43 +02:00
Michael Natterer be80f49018 app: round mouse-entered GimpSpinScale values to the spinbutton's precision
So the adjustment's value is always what is shown (and can be entered
manually) in the widget. This way a GimpSpinScale will never change
its adjustment on focus-out, and not cause whatever unexpected updates
of its model and whatever is connected to it (like changing the
properties and thus unvalidating the caches of a Gegl graph).
2014-06-19 15:49:27 +02:00
Michael Natterer 77a515dd0f app, libgimpwidgets: don't set unchanged object properties again
gimp_prop_adjustment_callback(): compare the property's current value
before setting it.
2014-06-19 02:01:10 +02:00
Michael Natterer 726f7683f6 app: require gegl:cache in sanity_check_gegl_ops() 2014-06-18 18:53:36 +02:00
Michael Natterer db2ea536da app: add an optional gegl:cache at the output of GimpApplicator
Add "gboolean use_cache" to gimp_applicator_new(). Don't use a cache
anywhere but in GimpImageMap because it incrementally fills that cache
via the projection update. In gimp_drawable_merge_filter(), get that
cache and pass it to gimp_gegl_apply_cached_operation() which then
avoids doing the work twice for the already cached results. Win!
2014-06-18 18:50:53 +02:00
Michael Natterer 14614cb349 app: add gimp_gegl_apply_cached_operation()
which does the same as gimp_gegl_apply_operation() but takes
additional arguments which are a cache buffer and a list of rectangles
that specify the already computed region in the cache buffer.
2014-06-18 18:42:17 +02:00
Michael Natterer 3af1fff5af app: make the first image jump to the center of the canvas before rendering
Make GIMP_DISPLAY_SHELL_FILL_IDLE_PRIORITY a bit higher than
GIMP_PROJECTION_IDLE_PRIORITY which is the priority of chunk
rendering.
2014-06-17 23:29:24 +02:00
Michael Natterer 98f97a9580 libgimp, pdb: port gimp_drawable_curves_explicit,spline() to double
and deprecate gimp_curves_explicit,spline().
2014-06-17 22:37:46 +02:00
Michael Natterer 847606d177 app: add back gimp_curves_config_new_spline,explicit()
but as versions using gdouble instead of guint8. Use the new functions
from the just renamed _cruft() variants.
2014-06-17 22:23:41 +02:00
Michael Natterer f5e4f01c52 app: make gimp_curves_config_new_spline,explicit() handle variable #points
Also, append _cruft to the function name because they take guint8*
arrays, will add proper ones next.
2014-06-17 21:10:33 +02:00
Michael Natterer a5fe6c244f app: same fix for gimp_drawable_curves_explicit()
whch is about to change anyway, but better start refactoring from
a correct state.
2014-06-17 20:31:25 +02:00
Michael Natterer fabcf2ccfe pdb: actually create a free curve in the gimp_curves_explicit() wrapper
It was creating a spline curve that was entirely broken.
2014-06-17 20:23:02 +02:00
Michael Natterer 2124ddebe6 app: make gimp_curve_set_n_points and set_n_samples() public API 2014-06-17 20:07:24 +02:00
Michael Natterer f21a649053 app: disable row-fetching optimization in gimppickable-contiguous-region.c
GeglSampler is now much faster. Leave the #ifdefs there for the time
being for benchmarking purposes.
2014-06-17 20:05:05 +02:00
Thomas Manni 0206effba0 Bug 731697 - Colorize operation does not restitute alpha channel correctly
Copy the src alpha value in GimpOperationColorize.
2014-06-15 23:39:09 +02:00
Michael Natterer 34d96a3a87 all: same changes as in the last commit, for the convert precision dialog 2014-06-15 22:19:33 +02:00
Michael Natterer eafbab4247 app: attach the convert to indexed dialog to the image
and not to some widget returned by action_data_get_widget(), and some
more cleanup in image_convert_base_type_cmd_callback().
2014-06-15 22:10:06 +02:00
Michael Natterer 35bd3b450d app: use gimp_image_estimate_memsize() in gimp_image_scale_check()
and also improve its result a bit, I think... (whether or not undo
memory should be included here is debatable).
2014-06-15 21:49:38 +02:00
Michael Natterer 57ef7a2959 app: add gimp_image_estimate_memsize()
to be used to estimate an image's memory size at another precision or
size.
2014-06-15 21:40:05 +02:00
Michael Natterer 28e4ae341b app: some cleanup in gimp_template_notify()
- use gimp_babl_mask_format() to get the new image's selection format
- don't call g_object_notify("icon-name"), GimpViewable does that already
2014-06-15 21:29:34 +02:00
Michael Natterer b6052dc568 app: fix some glitches in GimpPickablePopup
- connect double click on the list of channels
- actually allow channels to be picked
- repopulate the channel view when the image changes

This must have been a late night hack...
2014-06-15 18:30:47 +02:00
Michael Natterer 9f0fde1397 app: add gimp_gegl_pyramid_get_memsize(), used by gimp_projection_get_memsize() 2014-06-15 18:21:05 +02:00
Michael Natterer 02c9dacc8f app: s/GimpPrecision/GimpComponentType/ in gimp_projection_estimate_memsize() 2014-06-14 23:20:52 +02:00
Michael Natterer 909c4b4084 app: add a GimpCpmponentType parameter to GimpDrawable::estimate_memsize()
so we can also estimate converting the drawable to other precisions.
2014-06-14 23:12:22 +02:00
Simon Budig a7c82d2964 app: rework gimp:shapeburst towards more floats, try to improve readability. 2014-06-14 02:56:33 +02:00
Michael Natterer efd354b733 app: compare gamma-correced colors when finding contiguous regions
This maps threshold changes by moving the mouse more uniformly to the
growing/shrinking of the selected area, and the tools should work
perceptually anyway. Also, it makes things another 10 times as fast on
gamma-corrected drawables.
2014-06-12 23:49:50 +02:00
Michael Natterer 64d9e146d8 app: prefetch entire rows of pixels when finding contiguous regions
Makes the thing about twice as fast (used by fuzzy select, bucket fill)
2014-06-12 23:26:01 +02:00
Michael Natterer 604c14a08c app: allow the fuzzy and by-color select tools to show the mask directly
instead of the outline. This is experimental, please comment. The
color is currently hardcoded to magenta.
2014-06-11 22:15:00 +02:00
Michael Natterer 21a8f9c96b app: add boolean "mask_inverted" to GimpDisplayShell
and to gimp_display_shell_set_mask(). It allows to choose whether the
mask is drawn inverted, instead of always drawing it inverted.
2014-06-11 21:33:57 +02:00
Michael Natterer 6857d0141d Revert "app: put #include "gegl-plugin.h" back in two places, but with a FIXME"
This reverts commit 5c1d0e8dc2.

gegl_operation_get_key() is now included via gegl.h as it should.
2014-06-10 23:04:32 +02:00
Michael Natterer 5c1d0e8dc2 app: put #include "gegl-plugin.h" back in two places, but with a FIXME 2014-06-10 10:04:22 +02:00
Michael Natterer 8aa0019c2e app: clean up inclusion of gegl-plugin.h, mostly removals 2014-06-10 03:13:09 +02:00
Michael Natterer 7496a0471b app: GimpGeglTool: show the operations' title, if they have one 2014-06-10 03:11:54 +02:00
Michael Natterer 8aa6ff9608 Bug 731389 - gimp-edit-copy causes assertion failure on exit
Shutdown the clipboard earlier at exit, it runs quite some code on
storing the copied buffer.
2014-06-10 01:35:30 +02:00
Michael Natterer c071959eb1 app: remove ", 0" left over from removing a MAX (foo, 0) 2014-06-09 03:33:48 +02:00
Michael Natterer cd479ce04e app: add an "auto overlay" API to GimpToolGui
which makes tool dialogs auto-overlay if the canvas is large
enough. Set all tools dialogs except GimpImageMapTool's dialog to
auto.
2014-06-09 03:08:43 +02:00
Michael Natterer 17bd4d2c28 app: make GimpOverlayDialog's title and icon-name settable after construction 2014-06-09 01:42:09 +02:00
Michael Natterer f348d1d321 app: add a title bar and close button to GimpOverlayDialog
as first step in a bigger tool dialog cleanup.
2014-06-09 00:19:23 +02:00
Michael Natterer 5d3583af87 app: remove xcf-load check that layer_type == image_type
This is not always true for floating selections.
2014-06-07 17:53:29 +02:00
Massimo Valentini 87596258d0 Bug 730396: GIMP crashes loading a XCF it saved
stop reading reached eof
2014-06-07 16:40:39 +02:00
Massimo Valentini a64a319d78 Bug 730396: GIMP crashes loading a XCF it saved
add few validity checks loading a xcf file.
2014-06-07 16:33:17 +02:00
Michael Natterer f904088caf app: allow to select channels in GimpPickablePopup 2014-06-07 00:25:51 +02:00
Michael Natterer 0d4e40da7b app: clean up some disabled code 2014-06-06 23:45:00 +02:00
Michael Natterer 2ef565b58f app: implement picking any image or layer in GimpPickableButton/Popup 2014-06-06 22:48:36 +02:00
Michael Natterer c9fc83a932 app: make gimp_container_view_remove_container() more robust
Don't special case on view_iface->model_is_tree and always run
gimp_container_view_remove_foreach(), also on the view's toplevel
container.  Run gimp_container_view_clear_items() anyway on the
toplevel as an optimization, but with a big comment. This makes all
views (on list *and* tree models) behave the same way, and makes
view_iface->model_is_tree practically obsolete, will remove it later.
2014-06-06 22:48:35 +02:00
Michael Natterer 55e8528eff app: GimpContainerTreeView: keep a reference on tree_view->model
during the lifetime of the widget. Leaving that up to the GtkTreeView
was working for mysterious reasons even during destruction of the
widget. It's safer and cleaner this way.
2014-06-06 22:48:35 +02:00
Michael Natterer 35b3b2bfcf app: chain up unconditionally gimp_container_entry_clear_items()
so the parent implementation can clear the item hash table.
2014-06-06 22:48:35 +02:00
Massimo Valentini fe4502fe04 Bug 730980: GIMP enters an infinite loop loading a truncated xcf 2014-06-06 18:35:25 +02:00
Michael Natterer ce1c86b71b app: activate GimpPopup's binding set in key_press()
not that of its subclass. Fixes selecting items with return/enter.
2014-06-06 09:22:51 +02:00
Michael Natterer 52aa22f6aa app: add GimpPickablePopup which will allow picking any image/layer's
For now contains a dysfunctional image list.
2014-06-06 01:47:12 +02:00
Michael Natterer b0b8fda94c app: factor out a generic GimpPopup widget out of GimpContainerPopup 2014-06-06 00:57:20 +02:00
Michael Natterer 3f18d5b26d app: always return a widget from gimp_prop_gui_new()
As a fallback, return a label saying "This operation has no editable
properties".
2014-06-05 23:14:00 +02:00