Commit Graph

4628 Commits

Author SHA1 Message Date
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
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
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
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
16637900b6 app: initialize variable 2014-08-16 02:54:57 +02:00
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
c077fb8dad app: add --verbose output when parsing and writing the action history 2014-07-29 18:13:57 +02:00
85668c8e69 app: filename -> GFile in parse_iso_codes() 2014-07-29 16:32:29 +02:00
e84ef0d7cc app: use GIO to find the locally installed user manual 2014-07-29 13:04:16 +02:00
50ca9068da app: more cleanup in the action history code, mostly general consistency 2014-07-29 12:28:18 +02:00
b200345a98 app: change GimpImageMapTool::get_settings_ui()'s "default_folder" to GFile 2014-07-29 11:56:49 +02:00
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
57cecb54fb app: some serious cleanup in gimpaction-history.c, still a lot to do 2014-07-28 11:22:20 +02:00
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
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
cf159ac68a app: get rid of some GtkObject variables, makes the gtk3-port diff smaller 2014-07-21 02:34:39 +02:00
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
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
944ba8131b app: honor GIMP_HANDLE_REMOTE_FILES when setting local-only in GimpFileDialog 2014-07-11 09:11:14 +02:00
dc842d481b app: use gimp_widget_flush_expose() in GimpProgressBox
instead of flushing the widget manually.
2014-07-11 00:40:56 +02:00
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
43e9a79ef9 app: gimp_thumb_box_take_file() must accept a NULL file 2014-07-08 21:40:17 +02:00
d4b35785b5 app: more URI -> GFile in GimpFileDialog 2014-07-08 01:41:45 +02:00
69686fe446 app: port GimpThumbBox from URI to GFile 2014-07-08 00:58:42 +02:00
c656c41d88 app: more URI -> GFile in gimpdnd-xds.c 2014-07-08 00:31:22 +02:00
d0a6d95dad app: remove a bunch of file-utils.h includes 2014-07-08 00:23:34 +02:00
7f966cad39 app: keep the image's "Untitled" string around as GFile too 2014-07-08 00:15:41 +02:00
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
0f8d84d5e9 app: port all file_open() and file_save() functions to GFile 2014-07-07 23:58:11 +02:00
0753b5a137 app: port gimp_text_buffer_load() and _save() to GIO 2014-07-03 12:57:18 +02:00
9f0e27307e app: change filename in gimp_text_buffer_load() and _save() to GFile 2014-07-02 15:10:53 +02:00
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
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
8c8135a881 app: port GimpImageMapTool's settings API from filename to GFile 2014-07-01 15:13:02 +02:00
6fd8a362df app: s/gimp_hsv_to_rgb4/gimp_hsv_to_rgb/ in GimpCircle 2014-06-30 17:30:05 +02:00
a665c30823 app: gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-21 22:39:37 +02:00
5e2d91dc0a app: don't leak the GtkTextBuffers of Gegl multiline text properties 2014-06-20 08:59:42 +02:00
40cbbf8faf app: argh, so much for less stupid 2014-06-19 19:00:23 +02:00
5a4e9d0e03 app: make the new rounding code in GimpSpinScale less totally stupid 2014-06-19 18:56:43 +02:00
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
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
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
c071959eb1 app: remove ", 0" left over from removing a MAX (foo, 0) 2014-06-09 03:33:48 +02:00
17bd4d2c28 app: make GimpOverlayDialog's title and icon-name settable after construction 2014-06-09 01:42:09 +02:00
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
f904088caf app: allow to select channels in GimpPickablePopup 2014-06-07 00:25:51 +02:00
2ef565b58f app: implement picking any image or layer in GimpPickableButton/Popup 2014-06-06 22:48:36 +02:00
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
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
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