Ell
c1347a7f26
app: construct tool-options GUI lazily
...
We currently construct the tool-options GUI for all the tools at
startup, which takes a significant amount of time. Instead,
only register the GUI construction function with the tool-options
object, using the new gimp_tools_set_tool_options_gui_func()
function, and use the registered function to construct the GUI when
actually needed.
2018-09-27 02:41:59 -04: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
5299b1894d
app: indentation in gimp-tools.c
2018-06-29 12:38:47 +02:00
Michael Natterer
37f69457b7
app: switch to using gimp-tool-options-manager
...
and remove all other tool options parent setting/unsetting and
property copying code. Also select a tool at the end of
tool_manager_init() so it is in sync with what the tool options
manager does.
2018-06-29 12:34:11 +02:00
Michael Natterer
b0beb0197a
Bug 795230 - Rename Blend tool and provide PDB compatibility
...
Rename the tool and its options, and the gradient sub-struct of paint
options.
2018-04-14 00:52:20 +02:00
Michael Natterer
895c0f558f
app: add small hack to make the generic operation tool always invisible
...
so it can't be added to the toolbox. It's entirely useless when
activated on its own.
2018-01-04 19:23:39 +01:00
Ell
e4440e3fdb
app: save custom gradient across sessions
...
Add a framework for saving and restoring internal data objects, in
gimp-internal-data.c. Internal data objects are saved in separate
files under a new "internal-data" subdirectory of the user's gimp
directory. The internal data is saved, restored, and cleared
together with the tool options.
Use this to save and restore the custom gradient. In the future,
we might add similar writable internal data objects that we'd want
to save.
2017-10-29 10:19:07 -04:00
Michael Natterer
36656175d1
app: some more s/blurb/label/ and s/help/tooltip/ in app/tools/
2017-07-04 22:36:24 +02:00
Michael Natterer
5e08d71437
app: gimp_tools_exit(): destroy the tool manager before the tool options
...
The tool manager still keeps an active tool which it unrefs on
destruction, triggering a final HALT on the tool, which may want to
lookup tool options to reset something. Happened with the new
widget-ported rectangle select tool.
2017-06-29 12:58:03 +02:00
Michael Natterer
109f23af39
app: replace the hue-saturation tool by a generic filter action
...
Move the GUI to a custom gimppropgui function.
2017-06-05 18:35:05 +02:00
Michael Natterer
757ca64e58
app: replace the color balance tool by a generic filter action
...
Move the color balance GUI to a custom gimppropgui function.
2017-06-05 01:20:37 +02:00
Michael Natterer
ecfec4103b
app: remove the colorize tool and replace it by a generic filter action
2017-06-04 21:21:43 +02:00
Michael Natterer
062df6bd09
Bug 772025 - Incomplete toolrc file causes GIMP to hang
...
gimp_tools_restore(): print the error message when parsing toolrc fails.
2016-09-28 14:53:42 +02:00
Michael Natterer
6a9ce551cb
app: rename GimpImageMapTool to GimpFilterTool
2016-05-10 13:52:24 +02:00
Michael Natterer
a659036b40
app: switch the list of tools to using "append" mode
...
and ret rid of registering tools in reverse order, and reversing the
list after deserializing it.
2016-05-01 16:05:44 +02:00
Michael Natterer
39909b6008
app: replace GimpList's internal GList with a GQueue
...
so we can easily iterate in reverse order, and access the last element
in O(1). Nothing makes use of this yet.
2016-05-01 15:22:44 +02:00
Michael Natterer
149d3f441f
app: turn the desaturate tool into a normal GEGL filter
2016-01-16 22:38:12 +01:00
Michael Natterer
7b009c6900
app: turn the posterize tool into an ordinary GEGL filter
...
which means replacing the whole thing by a few lines.
2016-01-16 21:41:00 +01:00
Michael Natterer
2e40af5dcf
app: remove virtual function GimpToolOptions::reset()
...
and use GimpConfig::reset() instead.
2015-12-29 12:47:04 +01:00
Michael Natterer
d01ba07ed6
configure.ac, app: make libmypaint a hard dependency
...
and move the MyPaint brush tool out of the playground.
2015-12-21 21:39:48 +01:00
Michael Natterer
22fc50c279
app: rename all values of enum GimpContextPropMask
...
from GIMP_CONTEXT_FOO_MASK to GIMP_CONTEXT_PROP_MASK_FOO.
Also rename the FIRST and LAST values of enum GimpContextPropType.
2015-09-08 21:18:49 +02:00
Jehan
5217900748
configure/app: libmypaint becomes an optional dependency.
2015-03-30 22:38:35 +02:00
Michael Natterer
071ede915a
app: first draft of GimpMybrushTool, which uses MyPaint brushes
2015-03-30 22:38:34 +02:00
Michael Natterer
d11f83a640
app: resurrect the Iscissors tool to a zombie state
...
The interaction is fully restored, it's also ported to the new halt()
and commit() API of tools and semi-properly GEGLized: the gradient map
is now constructed on the fly using a GimpTileHandlerValidate
subclass.
The only problem is that it doesn't find any edges in the image and is
totally useless. Pushing anyway to put an end to the bitrot, any help
with debugging is greatly appreciated...
2015-03-17 22:24:56 +01:00
Johannes Matschke
2989bad35a
Bug 721009 - new transform tool with freely placeable handles
...
Add new tool GimpHandleTransformTool which allows to freely place up
to 4 handles on the image, then move any one of them, which transforms
the image so that the remaining handles keep their position.
Did quite some cleanup on the code before pushing --Mitch
2015-03-05 12:36:59 +01:00
Michael Natterer
825d4ab185
app: make sure there is always a tool selected on startup
...
"No tool on startup" can happen if a tool has disappeared between
sessions, or by broken manual config file editing.
2015-03-03 20:24:40 +01:00
Marek Dvoroznak
f15a7bc71d
app: add NPD tool basics
2015-02-27 20:21:51 +01: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
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
23037b5230
app: convert all stock IDs kept around by the core by icon names
...
Particularly GimpViewable's stock_id. Make sure old config files
containing stock IDs are still properly parsed.
2014-05-07 01:01:56 +02:00
Michael Natterer
651be184b7
Bug 721066 - There is a 2nd, broken, "GEGL Operation" tool in the toolbox
...
Make the operation tool invisible by default.
2014-02-04 00:19:30 +01:00
Jehan
c7aa623a55
app: clean out a big bunch of leading tabs.
...
For some unknown reason, most calls to gimp_message_literal() were
indented with tabs.
2013-09-15 04:59:20 +12:00
Michael Natterer
9426a94617
app: fix default tool order, warp is at the end of transform tools
2013-05-22 00:49:29 +02:00
Michael Muré
d6ed13ef6c
GimpWarpTool: skeleton of the tool, with options
2013-05-21 23:28:40 +02:00
Barak Itkin
5fa0df17dd
Add a skeleton for the seamless clone tool, based on the cage tool
2013-05-15 00:25:30 +02:00
Michael Natterer
abbe2ecba9
app: build the foreground select tool again, minus the calls to SIOX
...
the interaction is completely there again, it just doesn't nothing
fancy with the mask :)
2013-04-30 00:04:28 +02:00
Mikael Magnusson
99f9d4d219
transformtool: add old "new" unified transformation tool
...
This is the proof of concept code I wrote before gsoc, with very naive
behaviour and simple interface.
2012-08-20 15:22:21 +02:00
Michael Natterer
513e3b6a78
app: disable the foreground select tool properly: #if 0 everything
...
so it's not in the way of further cruft removal.
2012-05-21 03:09:08 +02:00
Michael Natterer
d80182cf25
app: disable the IScissors tool, if you want it back, please go ahead
2012-05-20 20:38:12 +02:00
Michael Natterer
96357dbfd3
app: add infrastructure to invoke GEGL filters from a menu item
...
and for fun add pixelize and gaussian blur to Filters -> Blur.
2012-05-02 17:46:16 +02:00
Michael Natterer
7f5a43f3e1
app: rename GimpToolInfo::menu_path to ::menu_label
...
"path" is a really ancient pre-GtkAction terminology here.
2012-02-14 10:00:26 +01:00
Michael Natterer
91195e8593
app: remove the old tool presets system
...
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +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
357e25bfd1
app: move the cage tool after all other transform tools, not before them
2010-11-28 13:16:35 +01:00
Alexia Death
dfd5470a2e
Merge remote branch 'origin/master' into soc-2010-cage-2
2010-11-04 20:00:36 +02:00
Martin Nordholts
48690d60e1
app: Add gimp_tools_get/set_tool_options_gui()
...
Add gimp_tools_get_tool_options_gui() and
gimp_tools_set_tool_options_gui() widgets utility functions.
2010-10-31 13:05:15 +01:00
Michael Muré
24652b4fbd
empty gobject for GimpCage (data structure), GimpOperationCage (Gegl op) and GimpCageTool (frontend)
2010-08-08 13:16:57 +02:00
Michael Natterer
c448cc7d25
app: really really destroy the tool options widgets this time
2010-06-24 18:38:19 +02:00
Michael Natterer
bbd4038e98
app: make sure all tool options widgets are properly destroyed
...
...and with them all references their widgets keep (which are a lot).
Take ownership of the widget after creating it, so it can be reliably
unrefed upon exit.
2010-06-23 22:48:53 +02:00
Michael Natterer
94181ce538
app: don't overwrite all tool options' "tool" and "paint-info"
...
with bogus values from contextrc, we want them to always match the
tool option's type.
2010-04-21 20:43:27 +02:00