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