Commit graph

4487 commits

Author SHA1 Message Date
Michael Natterer
6f3ee00963 Bug 735424 - Save Tag Filter Options
Save the active tag filter in sessionrc.
2014-11-05 21:14:31 +01:00
Michael Natterer
950f753ede Bug 736907 - Compat mode for XCF
- add gimp_image_get,get_xcf_compat_mode()
- add a compat toggle to GimpFileDialog which is shown and sensitive
  only for a save (not export), and if the image structure allows
  to save an old version at all. The button also has a tooltip
  which explains why it is sensitive and what it does
- add "gboolean xcf_compat" to file_save_dialog_save_image()
- in file_save_dialog_save_image(), call image_set_xcf_compat_mode(TRUE)
  only around the call to file_save() and set it to FALSE after saving
- in xcf_save_invoker(), honor the image's XCF compat flag and save an
  RLE-compressed XCF if possible

The above is very convoluted and doesn't pass the "xcf_compat" boolean
directly because we can't change the parameters of gimp-xcf-save, and
because the gimp-xcf-save might be called indirectly.
2014-10-20 22:54:11 +02:00
Michael Natterer
5d8824f42e app: move all GimpBrush members to a private struct
Add and use accessors for width, height, x_axis and y_axis.
2014-10-12 01:16:32 +02:00
Michael Natterer
69f6d7fc8a app: don't ref the tool options GUI in gimp_tool_options_editor_dispose()
They are kept alive by a ref owned by GimpToolOptions, refing them
here made them all being leaked on exit.
2014-10-09 00:35:57 +02:00
Michael Natterer
88e8fbce17 app: remove unclear fix from gimp_tool_options_editor_tool_changed()
It was introduced in e7ade3f8ec. The
g_return_if_fail() is IMO useless, the actual fix (which I kept) was
pulling the call to gimp_tool_options_editor_presets_update() inside
the if().
2014-10-09 00:33:33 +02:00
Michael Natterer
aa6024dc93 app: don't leak all results from separate_uline_pattern() in GimpSpinScale 2014-10-06 20:34:22 +02:00
Michael Natterer
849481a861 Clean up code around calls to g_file_replace()
- use G_FILE_CREATE_NONE instead of 0
- don't put "Could not open <file> for writing: <error>" around the
  returned error, the returned message is already verbose
2014-10-04 02:44:54 +02:00
Michael Natterer
90c967a39f Bug 737008 - Curve color always black
Don't hardcode "black" for the "Value" curve in GimpCurvesTool.
Instead, pass a NULL color to GimpCurveView, which is then interpreted
as the theme's text color (the curve's background is the theme's text
background color). We still hardcode pure red, green and blue for the
other curves.
2014-09-21 12:32:23 +02:00
Michael Natterer
0cceaff828 Bug 721482 - Make language codes relocatable
Manually picked one line of ef0ef921b8
that makes parse_iso_codes() find the iso-codes package in the bundle
on OS X.
2014-09-17 12:47:21 +02:00
Michael Natterer
7b69b3b60e Bug 733390 - Picking a color should also change the active color...
...in the opened Color Modify window

Connect to the toolbox' context's foreground-changed and
background-changed signals and update the color dialog.
2014-09-16 23:56:50 +02:00
Jehan
b9a9169656 app: update action search to use glib API.
I now normalize with g_str_tokenize_and_fold() which uses standard
Unicode normalization.
I don't use g_str_match_string() directly though, because I want to
run additional checks to order the results by relevance. For instance
I still want actions whose labels starts with the search string to be
at the top, and results with same order as search token before those
with a different order. Then results with match in the tooltip. Finally
I also returns results with partial match in the label, and the rest in
the tooltip, though at the bottom of the list.
Other than that, this returns the same results as g_str_match_string()
with a similar algorithm. In particular now we only match the start of
tokens (a substring in the middle of a token won't match anymore).
I kept the small 2-character trick matching the first letters of the
first 2 words of the label, but I got rid of the fuzzy search (that none
really found ever relevant anyway).
2014-09-16 04:03:43 +02:00
Michael Natterer
14978bfe5d Simplify calls to g_output_stream_write_all()
It returns TRUE only if all bytes were written, so there is no need to
get and check the bytes_written return value.
2014-09-07 20:30:14 +02:00
Jehan
cd0b2f61c0 app: g_file_new_for_uri() return object not freed with g_object_unref().
Non-freed GFile object when saving or exporting the first time, i.e.
with default extensions.
2014-08-19 01:38:13 +02:00
Mikael Magnusson
16637900b6 app: initialize variable 2014-08-16 02:54:57 +02:00
Michael Natterer
dae366bb6e configure.ac, *: require GLib 2.40.0
Remove gimp_output_stream_[v]printf() and use the new functions from
GLib instead. Use memmove() instead of the deprecated g_memmove().
2014-08-12 15:30:19 +02:00
Michael Natterer
c077fb8dad app: add --verbose output when parsing and writing the action history 2014-07-29 18:13:57 +02:00
Michael Natterer
85668c8e69 app: filename -> GFile in parse_iso_codes() 2014-07-29 16:32:29 +02:00
Michael Natterer
e84ef0d7cc app: use GIO to find the locally installed user manual 2014-07-29 13:04:16 +02:00
Michael Natterer
50ca9068da app: more cleanup in the action history code, mostly general consistency 2014-07-29 12:28:18 +02:00
Michael Natterer
b200345a98 app: change GimpImageMapTool::get_settings_ui()'s "default_folder" to GFile 2014-07-29 11:56:49 +02:00
Michael Natterer
b81f46185e app: port the action history to GimpConfigWriter, GimpScanner and to GIO
which means the file format has changed, but it will silently ignore
the parse error when encountering the old format.
2014-07-28 16:44:44 +02:00
Michael Natterer
57cecb54fb app: some serious cleanup in gimpaction-history.c, still a lot to do 2014-07-28 11:22:20 +02:00
Michael Natterer
b03d69dd40 libgimpbase, app: add variants of gimp_$foo_directory() which return GFiles
gimp_directory_file(), gimp_data_directory_file() etc. The new
functions take a variable list of path elements to the file,
the list has to be NULL-terminated. Remove the newly added
gimp_personal_rc_gfile(). Start using the new functions in app/.
2014-07-28 02:04:01 +02:00
Michael Natterer
57e6b22b9d app, plug-ins: remove file-uri completely
and enable the new file-remote code in app unconditionally.
2014-07-23 21:37:13 +02:00
Michael Natterer
cf159ac68a app: get rid of some GtkObject variables, makes the gtk3-port diff smaller 2014-07-21 02:34:39 +02:00
Michael Natterer
328e4eff18 app: add gimp_progress_set_text_literal()
and use it instead of set_text (progress, "%s", literal_message);
2014-07-20 23:32:19 +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
944ba8131b app: honor GIMP_HANDLE_REMOTE_FILES when setting local-only in GimpFileDialog 2014-07-11 09:11:14 +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
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
43e9a79ef9 app: gimp_thumb_box_take_file() must accept a NULL file 2014-07-08 21:40:17 +02:00
Michael Natterer
d4b35785b5 app: more URI -> GFile in GimpFileDialog 2014-07-08 01:41:45 +02:00
Michael Natterer
69686fe446 app: port GimpThumbBox from URI to GFile 2014-07-08 00:58:42 +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
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
0f8d84d5e9 app: port all file_open() and file_save() functions to GFile 2014-07-07 23:58:11 +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
9f0e27307e app: change filename in gimp_text_buffer_load() and _save() to GFile 2014-07-02 15:10:53 +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
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
8c8135a881 app: port GimpImageMapTool's settings API from filename to GFile 2014-07-01 15:13:02 +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
a665c30823 app: gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-21 22:39:37 +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
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