1. 03 Jul, 2017 1 commit
  2. 02 Jul, 2017 1 commit
    • Michael Natterer's avatar
      app: start an infrastructure for on-canvas controllers for operations · f4f2de1b
      Michael Natterer authored
      Pass a "GimpCreateControllerFunc" to all gimppropgui-*.[ch]
      constructors which takes a callback (to update the config object when
      the on-canvas GUI) and a controller type that determines the
      callback's signature, and returns another callback (to update the
      on-canvas GUI when the config object changes).
      In GimpOperationTool, pass such a GimpCreateControllerFunc that
      handles creating and adding on-canvas controller via the new
      gimpfiltertool-widgets.[ch]. So far, a simple line like in the
      blend tool is supported.
      Add a custom GUI for gegl:spiral, and have its origin, radius and
      angle controlled by such a line.
  3. 04 Jun, 2017 1 commit
  4. 13 Sep, 2016 1 commit
    • Michael Natterer's avatar
      Bug 599573 - Remember dialog defaults between Gimp sessions · 20a32d97
      Michael Natterer authored
      Add GimpFillOptions and GimpStrokeOptions to GimpDialogConfig and use
      them in the Fill/Stroke Selection/Path dialogs and for the "with last
      values" commands. Add GUI for them to Preferences -> Dialog Defaults.
      This requires most of the stuff in my last few commits, and some
      more changes:
      GimpFillOptions is a GimpContext which has all sorts of connections to
      everything, including a Gimp pointer. Hack around in GimpDialogConfig
      to add a Gimp property, and add "gimp" parameters to quite some GimpRC
      functions. Treat the Gimp* as a GObject* in all public API because
      core/ stuff is not known in config/.
  5. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      	* all files with a GPL header and all COPYING files:
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      svn path=/trunk/; revision=27913
  6. 09 Dec, 2006 1 commit
  7. 13 Oct, 2003 1 commit
    • Sven Neumann's avatar
      app/Makefile.am app/main.c app/config/Makefile.am app/config/makefile.msc · 24c90dca
      Sven Neumann authored
      2003-10-14  Sven Neumann  <sven@gimp.org>
      	* app/Makefile.am
      	* app/main.c
      	* app/config/Makefile.am
      	* app/config/makefile.msc
      	* app/config/gimpconfig-dump.[ch]: removed the separate
      	gimpconfig-dump binary and moved the functionality into gimp
      	itself. It became a mess to build and seems cleaner this way.
  8. 03 Apr, 2003 1 commit
    • Michael Natterer's avatar
      Added preliminary support for image templates. Not finished yet. Addresses · a018b06a
      Michael Natterer authored
      2003-04-03  Michael Natterer  <mitch@gimp.org>
      	Added preliminary support for image templates. Not finished
      	yet. Addresses bug #96059. Now we need a volunteer to create
      	a nice collection of default templates...
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimptemplate.[ch]
      	* app/core/gimp-templates.[ch]: new files implementing the new
      	GimpTemplate object and the list of available image templates.
      	* app/core/gimp.[ch]: keep a container of templates around.
      	* app/core/gimpimage-new.[ch]: ported to use GimpTemplate. Removed
      	struct GimpImageNewValues.
      	* app/widgets/gimpcontainermenuimpl.c: changed to show the
      	"(none)" item for a NULL selection also, not only for an empty
      	* app/widgets/gimppropwidgets.[ch]: added
      	gimp_prop_size_entry_connect() which connects an externally
      	created GimpSizeEntry to object properties. Fixed the size entry
      	code to actually work.
      	* app/gui/image-menu.c
      	* app/gui/file-commands.[ch]: added "Save as Template" which
      	creates a new template from any image's properties.
      	* app/gui/file-new-dialog.c: use prop_widgets and GimpTemplate.
      	Offer the available templates in a menu at the top of the dialog.
  9. 15 May, 2002 1 commit
    • Sven Neumann's avatar
      added a return value to indicate success of · 9b6ef261
      Sven Neumann authored
      2002-05-15  Sven Neumann  <sven@gimp.org>
      	* app/config/gimpconfig.[ch]: added a return value to indicate
      	success of GimpConfigInterface::serialize. Added a GimpConfigError
      	value for write errors and check the return value of all write()
      	calls. Allow to specify file header and footer when calling
      	* app/config/gimpconfig-serialize.[ch]
      	* app/config/gimprc.c: changed accordingly.
      	* app/core/gimp-documents.[ch]: new files with functions to handle
      	* app/core/gimpdocuments.[ch]: removed ...
      	* app/core/gimpdocumentlist.[ch]: ... and added under this name.
      	Implements a generic document list.
      	* app/core/gimp-parasites.[ch]: new files with functions to handle
      	* app/core/gimpparasite.[ch]: removed.
      	* app/core/gimpparasitelist.[ch]: nothing more than a generic
      	parasite list.
      	* app/undo.c
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimp.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimpimage.c
      	* app/core/gimpitem.c
      	* app/file/file-open.c
      	* app/file/file-save.c
      	* app/gui/file-open-dialog.c
      	* app/pdb/parasite_cmds.c
      	* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
  10. 14 May, 2002 1 commit
    • Sven Neumann's avatar
      app/core/core-types.h made the list of recently used images an object · 7a560fea
      Sven Neumann authored
      2002-05-14  Sven Neumann  <sven@gimp.org>
      	* app/core/core-types.h
      	* app/core/gimpdocuments.[ch]: made the list of recently used
      	images an object derived from GimpList that implements the
      	* app/core/gimp.c
      	* app/file/file-open.c
      	* app/file/file-save.c: changed accordingly.
  11. 19 Apr, 2002 1 commit
    • Michael Natterer's avatar
      speak in terms of "uri", not "filename". Return the created imagefile. · b96f184b
      Michael Natterer authored
      2002-04-19  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpdocuments.[ch] (gimp_documents_add): speak in terms
      	of "uri", not "filename". Return the created imagefile.
      	* app/core/gimpimagefile.[ch]: factored out private function
      	gimp_imagefile_save_png_thumb() and call it from
      	Added public function gimp_imagefile_save_thumbnail() which takes
      	an imagefile and an image.
      	* app/file/file-open.c: create thumbnails for all images opened
      	interactively using gimp_imagefile_save_thumbnail().
      	* app/xcf/xcf-load.c (xcf_load_image): set the filename with
      	gimp_image_set_filename() so it gets converted to an URI as for
      	external plug-ins.
  12. 11 Aug, 2001 1 commit
    • Michael Natterer's avatar
      app/core/Makefile.am new file implementing the docindex.* replacement. · 4305c39c
      Michael Natterer authored
      2001-08-11  Michael Natterer  <mitch@gimp.org>
      	* app/core/Makefile.am
      	* app/core/gimpdocuments.[ch]: new file implementing the
      	docindex.* replacement.
      	* app/gimprc.c: added TT_XDOCUMENT to parse the new document
      	* app/file-save.c
      	* app/gui/file-open-dialog.c: add opened & saved images to the
      	document history.
      	* app/core/gimp.c: call gimp_documents_init/exit() instead of
      	doing it here.
      	* app/core/gimpimagefile.[ch]: removed the "filename" attribute
      	and use GimpObject's "name" instead.
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs.c
      	* app/gui/menus.c: added a menu entry/dockable for the document
      	* app/widgets/gimpdnd.[ch]: make it DND-able.
      	* app/widgets/gimppreview.c: fix  preview rendering correctly this
  13. 07 Jul, 2001 1 commit
    • Michael Natterer's avatar
      app/Makefile.am removed. · 1bcd3e18
      Michael Natterer authored
      2001-07-07  Michael Natterer  <mitch@gimp.org>
      	* app/Makefile.am
      	* app/context_manager.[ch]: removed.
      	* app/app_procs.c: call tool_mananger instead of context_manager
      	functions, pass "the_gimp" to some more functions.
      	* app/drawable.[ch]: pass a GimpContext to drawable_fill().
      	* app/errors.c: behave according to "stack_trace_mode" when using
      	the debugging signal handler.
      	* app/gimprc.[ch]: removed the core/ config variables.
      	* app/selection.c: set the selection's state to INVISIBLE in
      	* app/core/Makefile.am
      	* app/core/gimpcoreconfig.[ch]: new files (the configuration
      	variables used by core/).
      	* app/core/gimpcontext.[ch]: removed the global contexts (user,
      	default, ...) and their functions. It's no longer possible to pass
      	NULL to the context functions to manipulate the current context
      	(gimpcontext.c doesn't know the current context any more).
      	* app/core/gimp.[ch]: added them here. The functions are now called
      	gimp_[set|get]_*_context(). Added gimp_create_context() which is
      	the only function to create contexts now.
      	* app/gui/dialogs.[ch]
      	* app/gui/gui.[ch]: pass "gimp" to all functions.
      	* app/tools/tool_manager.[ch]
      	* app/tools/tools.[ch]: pass "gimp" to lots of functions. Added
      	the "global_tool_context" logic and the global/non-global paint
      	options switching from the context_manager. Pass "gimp" to all
      	tools' "register" functions.
      	* app/tools/*: changed accordingly.
      	* app/devices.c
      	* app/disp_callbacks.c
      	* app/file-open.[ch]
      	* app/file-save.c
      	* app/gdisplay.c
      	* app/gimage.c
      	* app/libgimp_glue.c
      	* app/module_db.c
      	* app/nav_window.c
      	* app/plug_in.c
      	* app/qmask.c
      	* app/undo.c
      	* app/base/base-config.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpdrawable-offset.c
      	* app/core/gimpgradient.c
      	* app/core/gimpimage-duplicate.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-new.c
      	* app/core/gimpimage.c
      	* app/core/gimppalette.c
      	* app/core/gimptoolinfo.[ch]
      	* app/core/gimpundo.c
      	* app/gui/brush-select.c
      	* app/gui/channels-commands.c
      	* app/gui/color-area.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/file-new-dialog.c
      	* app/gui/file-open-dialog.c
      	* app/gui/gradient-editor.c
      	* app/gui/gradient-select.c
      	* app/gui/info-window.c
      	* app/gui/layers-commands.c
      	* app/gui/menus.c
      	* app/gui/palette-editor.c
      	* app/gui/palette-import-dialog.c
      	* app/gui/palette-select.c
      	* app/gui/paths-dialog.c
      	* app/gui/pattern-select.c
      	* app/gui/preferences-dialog.c
      	* app/gui/resize-dialog.c
      	* app/gui/test-commands.c
      	* app/gui/tool-options-dialog.c
      	* app/gui/toolbox.c
      	* app/gui/tools-commands.c
      	* app/xcf/xcf-load.c
      	* app/xcf/xcf-save.c
      	* app/widgets/gimpchannellistview.c
      	* app/widgets/gimpdnd.c
      	* app/widgets/gimpdrawablelistview.[ch]
      	* app/widgets/gimpimagedock.c
      	* app/widgets/gimplayerlistview.c
      	* app/pdb/brushes_cmds.c
      	* app/pdb/drawable_cmds.c
      	* app/pdb/gradient_select_cmds.c
      	* app/pdb/gradients_cmds.c
      	* app/pdb/palette_cmds.c
      	* app/pdb/patterns_cmds.c
      	* app/pdb/procedural_db.c
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/palette.pdb
      	* tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage
      	of gimp_context_[get|set]_*(NULL), create contexts with
      	gimp_create_context(). Get the user/current context with
      	gimp_get_[user|current]_context(). Added/removed access to the
      	global "the_gimp" variable in some places. Get the core's config
      	variables from "core_config".
  14. 01 May, 2001 1 commit
    • Michael Natterer's avatar
      removed more GUI initialisation code. · d010bb5f
      Michael Natterer authored
      2001-05-01  Michael Natterer  <mitch@gimp.org>
      	* app/app_procs.c: removed more GUI initialisation code.
      	* app/color_transfer.c: removed useless includes.
      	* app/gui/brush-editor.[ch]
      	* app/gui/dialogs-constructors.c:
      	s/BrushEditGeneratedWindow/BrushEditor/, s/begw/brush_editor/, made
      	the brush preview of the editor autoresizing.
      	* app/gui/dialogs.h: removed "extern" declaration of non-existant
      	* app/gui/gui.[ch]: new function gui_post_init() which shows the
      	tips dialog.
      	* app/gui/tips-dialog.c: made signal handling nicer (clean up in a
      	"destroy" handler).
      	* app/gui/toolbox.[ch]: removed toolbox_raise(), removed the help
      	system (de)initialisation code which is now in gui.c, cleanup.
  15. 16 Apr, 2001 1 commit
    • Michael Natterer's avatar
      First attempt to get the docks session managed: · 059e7773
      Michael Natterer authored
      2001-04-16  Michael Natterer  <mitch@gimp.org>
      	First attempt to get the docks session managed:
      	* app/gimprc.c: new gimprc type "new-session-info" which will soon
      	replace the original one.
      	* app/menus.c
      	* app/gui/dialogs.c: s/_/-/g in all dialog identifier strings.
      	* app/session.[ch]: call the dialog factory's session functions.
      	* app/test_commands.c: use the dialog factory to create the tabs.
      	* app/gui/dialogs-commands.c
      	* app/gui/dialogs-constructors.[ch]: the constructors return widgets,
      	not dockables now.
      	* app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog
      	factories in the class struct. Added ugly code to do the GimpDock
      	session management.
      	* app/gui/gui.c
      	* app/widgets/gimpdock.c: changed accordingly.
  16. 14 Apr, 2001 1 commit
    • Michael Natterer's avatar
      configure.in app/Makefile.am new directory which will contain all gui code · 517de92a
      Michael Natterer authored
      2001-04-14  Michael Natterer  <mitch@gimp.org>
      	* configure.in
      	* app/Makefile.am
      	* app/gui/Makefile.am: new directory which will contain all gui code
      	except widgets (I was tired off adding new files to app/).
      	* app/apptypes.h
      	* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
      	from string descriptions. Should maybe go to widgets/.
      	* app/gui/dialogs-commands.[ch]: callbacks for the new menu
      	factory below.
      	* app/gui/dialogs-constructors.[ch]: dialog constructors which are
      	registered with the dialog factory.
      	* app/gui/dialogs.[ch]: register the dialogs with the factory.
      	* app/app_procs.c: call dialogs_register().
      	* app/menus.[ch]: a new item factory for creating dialogs.
      	* app/test_commands.c
      	* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
      	GimpDock struct.
      	* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
      	GtkNotebook's menu to get it integrated in the GtkItemFactory
      	which produces new dialogs.
  17. 24 Feb, 2001 1 commit
    • Michael Natterer's avatar
      added cmd_callbacks for the toolbox and the preferences dialog. · 04f71318
      Michael Natterer authored
      2001-02-24  Michael Natterer  <mitch@gimp.org>
      	* app/commands.[ch]: added cmd_callbacks for the toolbox and
      	the preferences dialog.
      	* app/context_manager.c: cleanup.
      	* app/gimppreview.[ch]: made gimp_preview_render() public.
      	* app/gimptoolinfopreview.c
      	* app/tools/gimptoolinfo.c: the tool previews look nice now but
      	are still ugly implemented (it renders tons of temp_bufs on each
      	state change).
      	* app/indicator_area.[ch]: pass a context to the constructor.
      	* app/menus.c: don't call the toolbox and the prefs dialog
      	directly but dispatch via commands.[ch]
      	* app/preferences_dialog.[ch]
      	* app/toolbox.[ch]: renamed the constructor / raise function, cleanup.
      	* app/tools/color_picker.c: tried to get the shortcut working again.
      	* app/tools/paint_options.c: the brush dialog's paint options
      	are shown/hidden from the context manager now.
  18. 29 Dec, 2000 1 commit
    • Michael Natterer's avatar
      app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h · 8d6c335f
      Michael Natterer authored
      2000-12-29  Michael Natterer  <mitch@gimp.org>
      	* app/Makefile.am
      	* app/channel_pvt.h
      	* app/drawable_pvt.h
      	* app/gdisplayF.h
      	* app/gimpdrawableP.h
      	* app/gimpimageP.h
      	* app/layer_pvt.h
      	* app/toolsF.h: removed these files.
      	* app/apptypes.h
      	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/channel.pdb
      	* tools/pdbgen/pdb/color.pdb
      	* tools/pdbgen/pdb/convert.pdb
      	* tools/pdbgen/pdb/display.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/fileops.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/help.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb
      	* tools/pdbgen/pdb/patterns.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/tools.pdb
      	* app/*: chainsaw #include cleanup:
      	- Never (never!!) include stuff in header files except where we
      	  need access to structures' contents (like derived objects).
      	- Added prototypes and proper formating in many files.
      	- The #include order in *all* *.c files is as follows:
      	#include "config.h"
      	#include <system stuff>
      	#include <gtk/gtk.h>
      	#include "apptypes.h"
      	#include "gimp stuff"
      	#include "libgimp stuff"
      	#include "libgimp/gimpintl.h"
      	By following this scheme we can easily see a file's dependencies
      	from it's #include's and can grep for the inclusion to find out
      	where a file is used.
      	* tools/pdbgen/app.pl: changed to follow the include scheme above.
      	* libgimp/Makefile.am
      	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
      	and from app/apptypes.h.
      	* libgimp/gimpcolorbutton.[ch]
      	* libgimp/gimpdialog.[ch]
      	* libgimp/gimphelpui.[ch]
      	* libgimp/gimpparasite.[ch]
      	* libgimp/gimppatheditor.[ch]
      	* libgimp/gimpprotocol.c
      	* libgimp/gimpquerybox.[ch]
      	* libgimp/gimpsizeentry.[ch]
      	* libgimp/gimptypes.h
      	* libgimp/gimpui.h
      	* libgimp/gimpunit.h
      	* libgimp/gimpunitmenu.[ch]
      	* libgimp/gimpwidgets.[ch]: changed accordingly.
      	* plug-ins/FractalExplorer/Dialogs.c
      	* plug-ins/gdyntext/message_window.c
      	* plug-ins/imagemap/imap_default_dialog.c
      	* plug-ins/imagemap/imap_file.c: these files used to include
      	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
      	no longer possible because the libgimpui headers don't inlcude
      	"libgimp/gimpunit.h" any more.
  19. 25 Sep, 2000 1 commit
  20. 27 Sep, 1999 1 commit
    • Michael Natterer's avatar
      app/Makefile.am app/gimphelp.[ch] new files · 002aa905
      Michael Natterer authored
      1999-09-27  Michael Natterer  <mitch@gimp.org>
      	* app/Makefile.am
      	* app/gimphelp.[ch]
      	* app/gimpui.[ch]: new files
      	* app/interface.[ch]
      	* app/preferences_dialog.[ch]
      	The GIMP Help System part 1: Press "F1" in any dialog to pop up
      	the help page for this dialog.
      	Moved the widget constructors from preferences_dialog.[ch] and the
      	query boxes from interface.[ch] to gimpui.[ch].
      	The dialog constructors take a help_func and a help_data
      	parameter and install the "F1" accelerator which emits the new
      	"help" signal.
      	The "help" signal callback calls help_func(help_data) which finally
      	has to call gimp_help() which in turn invokes the help browser.
      	Still have to find a proper way to (1) prevent "F1" being assigned
      	to some menu item and (2) to catch "F1" while browsing the menu
      	trees in order to pop up the help for the selected item.
      	* app/menus.c: a <Toolbox>/File/Help... menu item.
      	* app/commands.[ch]: a command callback for the "Help..." menu item.
      	* app/gimprc.[ch]: new boolean gimprc variable "use_help".
      	* app/info_dialog.[ch]: pass a help function and data to the info
      	dialog constructor.
      	* app/tools.[ch]: store the tools help page names in the tool info
      	structure. Export a special tools_help_func() which shows the help
      	page for the active tool.
      	* app/[all files calling a dialog constructor]: pass the dialog's
      	help page to the constructor.
      	Most dialogs are now created by gimp_dialog_new() which also sets
      	up the action_area and the WM delete event callback, so I removed
      	the resp. code from these files.
      	Fixed some minor bugs and did some other stuff but didn't change
      	any logic except dialog creation.
      	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
      	help browser and don't install any menu path (all done in
      	app/gimphelp.[ch] now).
  21. 22 Aug, 1999 1 commit
    • Tor Lillqvist's avatar
      Use spinbutton for number of colours. · 32879baf
      Tor Lillqvist authored
      1999-08-22  Tor Lillqvist  <tml@iki.fi>
      * app/convert.c: Use spinbutton for number of colours.
      * app/preferences_dialog.h: Export gimp_spin_button_new. Not the
      most logical place for it, though.
  22. 27 Mar, 1999 1 commit
  23. 08 Jun, 1998 1 commit