1. 12 Dec, 2004 1 commit
  2. 24 Oct, 2004 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpgradienteditor.[ch] added public APIs for zooming the · 714771d4
      Michael Natterer authored
      2004-10-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/widgets/gimppaletteeditor.[ch]: added public APIs for
      	zooming the editors. Use gimp_editor_add_action_button() to create
      	all buttons. Removed all button callbacks and all duplicated
      	button sensitivity logic.
      
      	* app/widgets/gimpdataeditor.c (gimp_data_editor_set_data): update
      	the editor's UI manager if it exists.
      
      	* app/actions/gradient-editor-actions.c
      	* app/actions/gradient-editor-commands.[ch]: added zoom actions
      	and callback and call gimp_gradient_editor_zoom(). Fixed
      	gradient_editor_actions_update() to actually set all items'
      	sensitivity (it was possible to modify read-only gradients and
      	even to crash GIMP).
      
      	* app/actions/palette-editor-actions.c
      	* app/actions/palette-editor-commands.[ch]: changed "new" and
      	"zoom" actions to actually do their job instead of calling
      	gtk_button_clicked(editor->foo_button).
      714771d4
  3. 26 Sep, 2004 3 commits
    • Michael Natterer's avatar
      added "data" property. · 692863b3
      Michael Natterer authored
      2004-09-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdataeditor.[ch]: added "data" property.
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimppaletteeditor.c: pass the current data to
      	g_object_new() so we never end up with initially empty editors.
      692863b3
    • Michael Natterer's avatar
      added CONSTRUCT_ONLY "data-factory" property. Removed · db85b169
      Michael Natterer authored
      2004-09-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdataeditor.[ch]: added CONSTRUCT_ONLY
      	"data-factory" property. Removed gimp_data_editor_construct().
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimppaletteeditor.c: pass the construct parameters
      	to g_object_new().
      db85b169
    • Michael Natterer's avatar
      added "name", "blurb", "stock_id" and "help_id" to struct · 6a50c270
      Michael Natterer authored
      2004-09-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdialogfactory.[ch]: added "name", "blurb",
      	"stock_id" and "help_id" to struct GimpDialogFactoryEntry and to
      	gimp_dialog_factory_dialog_register(). Added typedef
      	GimpDialogConstructor which takes a GimpDialogFactoryEntry in
      	addition to the parameters GimpDialogNewFunc takes. Added a
      	constructor function pointer to GimpDialogFactory which defaults
      	to a function that just returns entry->new_func(). Use that
      	constructor instead of entry->new_func() for creating
      	dialogs. Added public API gimp_dialog_factory_set_constructor().
      
      	* app/dialogs/dialogs.c: register name, blurb, stock_id and
      	help_id for all dockables so all the dialog info lives in one huge
      	ugly table now. For the global_toolbox_factory and the
      	global_dock_factory, set a constructor which creates a dockable
      	around the widget returned by entry->new_func().
      
      	* app/dialogs/dialogs-constructors.[ch]: don't create the dockable
      	in each dialog constructor. Removes tons of code and reduces most
      	constructors to a "return gimp_foo_new(...)" one-liner. Got rid of
      	all static variables, they were from a time when GimpDialogFactory
      	was unable to manage singletons.
      
      	* app/widgets/gimpbrusheditor.[ch]
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/widgets/gimppaletteeditor.[ch]: return GtkWidget, not
      	GimpDataEditor from gimp_foo_editor_new().
      
      	* app/widgets/gimpdataeditor.c: minor cleanups.
      6a50c270
  4. 02 May, 2004 1 commit
    • Michael Natterer's avatar
      added help IDs to all actions representing the toplevel popups and menus · 9377b26e
      Michael Natterer authored
      2004-05-02  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/*-actions.c: added help IDs to all actions
      	representing the toplevel popups and menus (as fallbacks for the
      	still-to-be-written help system intrgration of GimpUIManager).
      
      	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
      	call to gtk_ui_manager_ensure_update() because that's done by
      	gimp_ui_manager_ui_get() now.
      
      	* app/widgets/gimpmenufactory.[ch]: removed API to register and
      	create item factories.
      
      	* app/gui/menus.c: changed accordingly.
      
      	* app/gui/dialogs.c
      	* app/actions/plug-in-commands.c
      	* app/gui/file-dialog-utils.c
      	* app/gui/file-save-dialog.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpdockable.c
      	* app/widgets/gimpdockbook.[ch]
      	* app/widgets/gimpimagedock.c
      	* app/widgets/gimpitemtreeview.c: removed leftover item factory
      	cruft.
      
      	* app/widgets/widgets-types.h: removed item factory typedefs...
      
      	* app/widgets/gimpitemfactory.h: ...and added them here.
      
      	* app/widgets/gimpactiongroup.[ch]: added new function
      	gimp_action_group_add_plug_in_actions().
      
      	* app/actions/plug-in-actions.c: use it here instead of adding
      	the actions manually.
      
      	* app/widgets/gimptoolbox.c: ported the code which dynamically
      	updates the tool button tooltips on accelerator changes to
      	GtkAction. Disabled the whole stuff because GTK+ lacks
      	gtk_action_get_accel_closure().
      9377b26e
  5. 21 Apr, 2004 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager · 0b8c4b3e
      Michael Natterer authored
      2004-04-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
      	API to update all action groups and knows which UIs it can create
      	from which XML files.
      
      	* app/widgets/gimpmenufactory.[ch]: register the XML file
      	basenames along with path of their toplevel menus. Create
      	GimpUIManagers instead of GtkUIManagers and register the
      	XML files and menu paths with them.
      
      	* app/gui/menus.c: register all XML files and their toplevel
      	menu paths.
      
      	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
      	creating the GtkItemFactory. Added "const gchar *ui_identifier"
      	parameter to gimp_editor_create_menu().
      
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
      	parameters to all constructors.
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpbrushfactoryview.c
      	* app/widgets/gimpbufferview.c
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcomponenteditor.c
      	* app/widgets/gimpcontainerpopup.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimperrorconsole.c
      	* app/widgets/gimpfontview.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimpimageview.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimppatternfactoryview.c
      	* app/widgets/gimptemplateview.c
      	* app/widgets/gimptooloptionseditor.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/gradient-select.c
      	* app/gui/palette-select.c
      	* app/gui/pattern-select.c: pass UI identifiers to the changed
      	functions above.
      
      	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
      	the menubar (menubar creating code still commented out).
      
      	* app/display/gimpdisplay.c
      	* app/gui/gui-vtable.c: update the ui manager.
      0b8c4b3e
  6. 13 Feb, 2004 1 commit
    • Michael Natterer's avatar
      Fixed GimpData's default "writable" and "deletable" behaviour: · d991e64b
      Michael Natterer authored
      2004-02-13  Michael Natterer  <mitch@gimp.org>
      
      	Fixed GimpData's default "writable" and "deletable" behaviour:
      
      	* app/core/gimpdata.c (gimp_data_init): default to writable and
      	deletable == TRUE (something that has no filename was never loaded
      	from disk and can't be undeletable or read-only).
      	Fixes bug #134274.
      
      	* app/core/gimpdata.[ch]: added new function
      	gimp_data_make_internal() which frees the filename and sets the
      	data's flags accordingly.
      
      	* app/core/gimp-gradients.c (gimp_gradients_add_gradient)
      	* app/core/gimpbrush.c (gimp_brush_get_standard)
      	* app/core/gimpgradient.c (gimp_gradient_get_standard)
      	* app/core/gimppalette.c (gimp_palette_get_standard)
      	* app/core/gimppattern.c (gimp_pattern_get_standard): use the
      	new function for internal data objects.
      
      	* app/core/gimpdata.c (gimp_data_save, gimp_data_delete_from_disk)
      	* app/core/gimpdatafactory.c (gimp_data_factory_save_single):
      	bail out with g_return_if_fail() is the data is not writable
      	or deletable.
      
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpdatafactoryview.c: changed accordingly.
      d991e64b
  7. 05 Feb, 2004 1 commit
    • Michael Natterer's avatar
      Disallow editing of data objects which have no save functionality. Also · 195880cb
      Michael Natterer authored
      2004-02-05  Michael Natterer  <mitch@gimp.org>
      
      	Disallow editing of data objects which have no save functionality.
      	Also fixed the misassumption that "deletable" is always equal to
      	"writable". Fixes bug #133456.
      
      	* app/core/gimpdata.[ch]: added a "deletable" property which is
      	always equal to "writable" except when the data class does not
      	implement GimpData::save() (then deletable may be TRUE but
      	writable is always FALSE).
      
      	* app/gui/brushes-menu.c
      	* app/gui/gradients-menu.c
      	* app/gui/palettes-menu.c
      	* app/gui/patterns-menu.c
      	* app/widgets/gimpdatafactoryview.c: look at data->deletable when
      	setting the sensitivity of the "Delete" buttons and menu items.
      
      	* app/widgets/gimpdatafactoryview.c
      	(gimp_data_factory_view_tree_name_edited): rename the data
      	only if it's writable and restore the old name otherwise.
      
      	* app/widgets/gimpdataeditor.c: no need to look at data->internal
      	for figuring if the data is editable, data->editable is enough.
      
      	All files above: s/writeable/writable/g
      
      	* app/widgets/gimpbrusheditor.c (gimp_brush_editor_set_data):
      	simplified.
      195880cb
  8. 28 Jan, 2004 1 commit
    • Michael Natterer's avatar
      Added infrastructure to make sure we don't write to the global brush, · 894cf70d
      Michael Natterer authored
      2004-01-28  Michael Natterer  <mitch@gimp.org>
      
      	Added infrastructure to make sure we don't write to the global
      	brush, pattern etc. directories. Needed to make this configurable
      	because we can't rely on the global directories being read-only,
      	having certain names or being otherwise detectable at runtime in a
      	sane way. Fixes bug #132214.
      
      	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
      	the GimpDataFileData struct so callbacks don't need to call
      	g_path_get_dirname() for each file.
      
      	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
      	encoded filenames.
      
      	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
      	setting/getting a second "writable_path". The widget makes sure
      	that the writable_path is always a subset of the path.
      
      	* app/config/gimpconfig-utils.[ch]: added new function
      	gimp_config_build_writable_path().
      
      	* app/config/gimpcoreconfig.[ch]: added separate properties for
      	the writable brush, pattern, gradient, palette and font paths.
      
      	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
      	new properties.
      
      	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
      	"gboolean writable". Set data->writable to FALSE by default. If
      	"writable" is passed as TRUE, still check if we can write to the
      	file before setting data->writable to TRUE.
      
      	(gimp_data_create_filename): changed "data_path" parameter to
      	"dest_dir" and assume dest_dir is writable.
      
      	(gimp_data_duplicate): set data->dirty to TRUE to make sure
      	duplicated things will be saved.
      
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpgradient.c
      	* app/core/gimppalette.c
      	* app/core/gimppattern.c: don't set the data's filename and don't
      	touch data->dirty in the _load() functions because that's done by
      	the data factory now. Don't touch data->dirty in the _duplicate()
      	functions because that's done by gimp_data_duplicate() itself now.
      
      	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
      	"writable_property_name" and remember it.
      	Added utility function gimp_data_factory_get_save_dir() which
      	determines the directory to save new datas to.
      	Added public function gimp_data_factory_data_save_single() which
      	saves a single data object.
      	Make sure new things get saved to the first writable directory
      	as specified in preferences.
      
      	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
      	property names to gimp_data_factory_new().
      
      	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
      	gimp_data_factory_data_save_single() instead of implementing
      	saving here.
      
      	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
      	added "const gchar *writable_property_name" parameter (can be
      	NULL).
      
      	Added the needed callbacks to handle the writable_path and made
      	the path_editor and file_entry code aware of non UTF-8 filename
      	encodings. Some general cleanup.
      
      	* app/gui/preferences-dialog.c: changed accordingly.
      894cf70d
  9. 11 Nov, 2003 2 commits
  10. 10 Nov, 2003 2 commits
  11. 18 Oct, 2003 1 commit
    • Michael Natterer's avatar
      need to set docked_iface->get_preview to NULL explicitly now that the · 2e9f3fb9
      Michael Natterer authored
      2003-10-18  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpitemtreeview.c
      	(gimp_item_tree_view_docked_iface_init): need to set
      	docked_iface->get_preview to NULL explicitly now that the
      	interface vtable inheriting is fixed (the layers, channels and
      	paths dialogs can't show preview tabs because they don't always
      	have a container).
      
      	* app/widgets/gimpimagedock.c (gimp_image_dock_get_aux_info):
      	fixed typo: s/auctive/active/. Added #defines for the magic
      	aux-info identifiers to avoid bugs like that.
      
      	* app/widgets/gimpcoloreditor.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimppaletteeditor.c. addef #defines for aux-info
      	identifiers here, too.
      2e9f3fb9
  12. 11 Oct, 2003 2 commits
    • Michael Natterer's avatar
      added utility function gimp_session_info_aux_new(). · 158aa7f2
      Michael Natterer authored
      2003-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpsessioninfo.[ch]: added utility function
      	gimp_session_info_aux_new().
      
      	* app/widgets/gimpcoloreditor.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpimagedock.c (get_aux_info): use it.
      158aa7f2
    • Michael Natterer's avatar
      app/widgets/widgets-types.h added new struct GimpSessionInfoAux which · b136228d
      Michael Natterer authored
      2003-10-11  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpsessioninfo.[ch]: added new struct
      	GimpSessionInfoAux which contains "gchar *name" and "gchar *value".
      	Changed sessionrc "aux-info" format again to be really extendable
      	this time. Also breaks everybody's sessionrc again.
      
      	* app/widgets/gimpimagedock.c
      	* etc/sessionrc: changed accordingly.
      
      	Implemented the stuff suggested in bug #122964. Fixes bug #122964
      	and bug #52206:
      
      	* app/widgets/gimpdataeditor.[ch]: replaced the "Gimp" member by a
      	"GimpDataFactory" and changed gimp_data_editor_construct()
      	accordingly. Implement GimpDockedInterface::set_aux_info() and
      	get_aux_info() and remember the currently edited data across
      	sessions.
      
      	* app/gui/gradient-editor-commands.c
      	* app/gui/gradient-editor-menu.c
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimppaletteeditor.c: changed accordingly.
      
      	* app/widgets/gimpcoloreditor.c: remember the active color
      	selector across sessions.
      b136228d
  13. 25 Mar, 2003 1 commit
    • Sven Neumann's avatar
      Makefile.am removed this header file. · 28fddfd5
      Sven Neumann authored
      2003-03-25  Sven Neumann  <sven@gimp.org>
      
      	* Makefile.am
      	* gimpintl.h: removed this header file.
      
      	* gimpmiscui.c: include libgimp-intl.h.
      
      	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
      	textdomain so that plug-ins don't need to do that explicitely.
      
      	* libgimp/stdplugins-intl.h: added the functionality that used to
      	live in gimpintl.h and removed the libgimp related stuff. Got rid
      	of the INIT_I18N_UI() macro.
      
      	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
      	Plug-ins simply call INIT_I18N() once in their run() function.
      
      	* plug-ins/script-fu/script-fu-intl.h: added the functionality
      	that used to live in gimpintl.h and removed the libgimp related
      	stuff.
      
      	* app/Makefile.am
      	* app/gimp-intl.h: new file that defines the gettext macros for
      	the GIMP core.
      
      	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
      
      	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
      28fddfd5
  14. 21 Mar, 2003 1 commit
    • Michael Natterer's avatar
      added a GimpItemFactory to the GimpEditor struct. Added · 7f613b47
      Michael Natterer authored
      2003-03-21  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpeditor.[ch]: added a GimpItemFactory to the
      	GimpEditor struct. Added gimp_editor_create_menu().
      
      	* app/widgets/gimpcolormapeditor.[ch]
      	* app/widgets/gimpcomponenteditor.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.[ch]
      	* app/widgets/gimpitemtreeview.[ch]: removed item_factory pointers
      	and lots of inalizers which just unref'ed the item_factory.  Use
      	gimp_editor_create_menu() instead.
      
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimppaletteeditor.c: changed accordingly.
      7f613b47
  15. 10 Mar, 2003 1 commit
    • Michael Natterer's avatar
      added "gboolean data_editable" which gets set in · 1522b841
      Michael Natterer authored
      2003-03-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdataeditor.[ch]: added "gboolean data_editable"
      	which gets set in gimp_data_editor_real_set_data(). Set the name
      	entry insensitive if the data is not editable.
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimpgradienteditor.c: look at editor->data_editable
      	instead of duplicating the logic in all subclasses.
      
      	* app/widgets/gimppreview.[ch]: added "gboolean expand" and
      	gimp_preview_set_expand() like in GtkPreview bacause smooth auto
      	resizing can only be done by the widget itself, not via external
      	callbacks.
      
      	* app/display/gimpnavigationview.c
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimpselectioneditor.c: set expand == TRUE. Removed
      	"size_allocate" callbacks. They resize *much* smoother now.
      	Various cleanups.
      
      	* app/widgets/gimpnavigationpreview.c: recalculate the preview
      	coordinates when the size changes.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimppreviewrenderer-utils.c
      	* app/widgets/gimppreviewrenderergradient.[ch]: new renderer which
      	is much faster because it projects the gradient without creating
      	intermediate buffers. Rendering can be restricted to an interval
      	from [left...right].
      
      	* app/widgets/gimpgradienteditor.[ch]: undeprecated by using
      	GimpPreview instead of GtkPreview. Cleanup.
      
      	* app/gui/gradient-editor-commands.c: changed accordingly.
      1522b841
  16. 10 Jan, 2003 2 commits
    • Michael Natterer's avatar
      app/widgets/gimpcolormapeditor.c app/widgets/gimpcontainereditor.[ch] pass · dd27eb1e
      Michael Natterer authored
      2003-01-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.c: pass the editor widget as
      	callback_data to GtkItemFactory callbacks, not a "Gimp" pointer.
      
      	* app/gui/buffers-commands.c
      	* app/gui/colormap-editor-commands.c
      	* app/gui/data-commands.c
      	* app/gui/documents-commands.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/gradients-commands.c
      	* app/gui/images-commands.c
      	* app/gui/palette-editor-commands.c
      	* app/gui/palettes-commands.c
      
      	* app/gui/patterns-commands.c: simply cast the passed "data"
      	pointer instead of calling gimp_widget_get_callback_context().
      	Don't #include "widgets/gimpwidgets-utils.h".
      dd27eb1e
    • Michael Natterer's avatar
      Move away from creating all item_factories statically in menus_init() but · 8d86ec25
      Michael Natterer authored
      2003-01-10  Michael Natterer  <mitch@gimp.org>
      
      	Move away from creating all item_factories statically in
      	menus_init() but create a new one for each place where one is
      	needed:
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
      	configures the GimpItemFactories it knows about on-the-fly.
      
      	* app/widgets/gimpitemfactory.[ch]: added
      	gimp_item_factory_update() which calls the "update_func". Added
      	"gboolean update_on_popup" so item_factories can be configured to
      	require manual updates (used for the <Image> factory).
      
      	* app/gui/menus.[ch]: create a "global_menu_factory" and register
      	all menus we have with it. Added various setup functions which
      	do stuff like adding the "Open Recent" menu or reorder plug-in
      	menu entries. Removed the debugging stuff...
      
      	* app/gui/Makefile.am
      	* app/gui/debug-commands.[ch]: ...and added it here.
      
      	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
      	<Paths> factories here because they are still global.
      
      	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
      	parameters to "item_factory" and create/update the entries for the
      	passed item_factory only. Makes the whole stuff much more
      	straightforward.
      
      	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().
      
      	* app/display/gimpdisplay.[ch]
      	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
      	"popup_factory" parameters to gimp_display_new() and
      	gimp_display_shell_new(). Create the menubar_factory and the
      	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
      	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
      	gimp_display_shell_menu_update() and don't call it directly (it's
      	a GimpItemFactory update_func now). Call gimp_item_factory_update()
      	on the resp. factories instead.
      
      	* app/gui/qmask-commands.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/tools/gimpimagemaptool.c: changed accordingly.
      
      	* app/widgets/gimpbrusheditor.c
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcolormapeditor.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdataeditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdialogfactory.[ch]
      	* app/widgets/gimpdock.c
      	* app/widgets/gimpdockbook.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/widgets/gimpimageview.[ch]
      	* app/widgets/gimpitemlistview.[ch]
      	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
      	GimpMenuFactory pointers and menu_identifiers so all views can
      	create their item_factories themselves. Unref the factories when
      	they are no longer needed because they belong to the views now.
      
      	* app/gui/dialogs-commands.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/dialogs.c
      	* app/gui/brush-select.c
      	* app/gui/gradient-select.c
      	* app/gui/palette-select.c
      	* app/gui/pattern-select.c: changed accordingly.
      
      	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
      	menu_factory and menu_identifier parameters.
      
      	* app/gui/file-open-dialog.[ch]
      	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
      	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
      	and moved the <Load> and <Save> factory callbacks to file-commands.c
      
      	* app/gui/file-commands.[ch]: changed accordingly.
      
      	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
      	and guides callbacks to do their job only if the setting has
      	actually changed. Don't update whole item factories afterwards.
      	Instead, just change the state of the items that actually need
      	update.
      
      	Unrelated:
      
      	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
      	and friends to FALSE since we don't know that the new channel will
      	be empty (fixes QMask and probably other stuff).
      
      	* app/gui/image-commands.c
      	* app/gui/vectors-commands.c: cleanup.
      8d86ec25
  17. 05 Jan, 2003 1 commit
  18. 01 Nov, 2002 1 commit
  19. 12 Jun, 2002 1 commit
    • Michael Natterer's avatar
      added a boolean "internal" which indicates that the data object is an · 91cfa783
      Michael Natterer authored
      2002-06-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdata.[ch]: added a boolean "internal" which
      	indicates that the data object is an automatically created
      	internal object. Changed the code to refuse saving to deleting
      	internal objects.
      
      	* app/core/Makefile.am
      	* app/core/gimp-gradients.[ch]: new files implementing internal
      	gradients (FG -> BG in RGB and HSV and FG -> transparent).
      
      	* app/core/gimp.c: call gimp_gradients_init().
      
      	* app/core/gimpdatafactory.c (gimp_data_factory_data_free): don't
      	free internal objects so they stay there on "Refresh".
      
      	* app/core/gimpdatalist.c: sort internal objects to the beginning
      	of the list.
      
      	* app/widgets/gimpdataeditor.c: refuse to change the name of
      	internal objects.
      
      	* app/widgets/gimpdatafactoryview.c: set the "Delete" button
      	insensitive for internal objects.
      
      	* app/widgets/gimpgradienteditor.c: refuse to edit internal
      	gradients, just display them so color picking works.
      
      	* app/gui/brushes-commands.c
      	* app/gui/gradients-commands.c
      	* app/gui/palettes-commands.c
      	* app/gui/patterns-commands.c: set the "Delete" menu item
      	insensitive for internal objects.
      
      	* app/gui/gui.c: need to call render_setup() earlier because of
      	you-dont-want-to-know-why. Will change it back once the previews
      	have their own render buffers.
      
      	* app/tools/gimpblendtool.c: Replaced the "Type" menu by a preview
      	showing the active gradient. Clicking the preview pops up the
      	gradient selection. Renamed the "Gradient" menu to "Shape". Removed
      	"blend_mode" from the BlendOptions struct because we always use
      	"custom" mode now.
      91cfa783
  20. 10 Mar, 2002 1 commit
    • Michael Natterer's avatar
      app/gui/dialogs-constructors.[ch] app/gui/dialogs.c made the tool options · 8b8442e9
      Michael Natterer authored
      2002-03-10  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs.c
      	* app/gui/tool-options-dialog.[ch]: made the tool options dialog
      	dockable. Create a fancy tab for it which looks like the old
      	dialog header.
      
      	* app/gui/gui.c
      	* app/gui/menus.c
      	* app/gui/toolbox.c: changed accordingly.
      
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimperasertool.c: moved the tool toggling widgets to
      	the top.
      
      	* app/tools/paint_options.c: show the paint mode menu for all
      	paint tools but set it insensitive where it makes no sense.
      	Reduces flickering and makes the tools' similarity more obvious.
      
      	* app/widgets/gimpdataeditor.c: fixed segfault in
      	gimp_data_editor_set_data() (data may be NULL), don't pass NULL to
      	gtk_entry_set_text(), make the name entry insensitive if data ==
      	NULL.
      
      	* app/widgets/gimpdialogfactory.c: fixed longstanding bug which
      	made newly created docks steal the first session entry with a NULL
      	widget instead of the first _dock_ session entry with a NULL
      	widget. Added even more debugging output. Cleanup.
      
      	* app/widgets/gimpdockbook.c: made the tab/menu widget code more
      	general to cover the tool options tab.
      8b8442e9
  21. 08 Mar, 2002 1 commit
    • Michael Natterer's avatar
      added GimpPaletteEntry typedef. · b0e05cda
      Michael Natterer authored
      2002-03-08  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/core-types.h: added GimpPaletteEntry typedef.
      
      	* app/core/gimppalette.h: removed it here.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpeditor.[ch]: new widget which is the base class
      	for everything which is a vbox and has a button area at the
      	bottom.
      
      	* app/widgets/gimpcontainerview.[ch]: derived from GimpEditor now.
      
      	* app/widgets/gimpdataeditor.[ch]: a GimpEditor subclass which is
      	the base class for the new data editors below.
      
      	* app/widgets/gimpbrushfactoryview.c
      	* app/widgets/gimpbufferview.c
      	* app/widgets/gimpchannellistview.c
      	* app/widgets/gimpdatafactoryview.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimpitemlistview.c
      	* app/widgets/gimplayerlistview.c
      	* app/widgets/gimpvectorslistview.c
      	* themes/Default/gtkrc: chagec accordingly.
      
      	* app/gui/Makefile.am
      	* app/gui/brush-editor.[ch]
      	* app/gui/gradient-editor.[ch]
      	* app/gui/palette-editor.[ch]: removed...
      
      	* app/widgets/gimpbrusheditor.[ch]
      	* app/widgets/gimpgradienteditor.[ch]
      	* app/widgets/gimppaletteeditor.[ch]: ...and added back as
      	GimpDataEditor subclasses. Lots of cleanup and stuff...
      
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs.c
      	* app/gui/gradient-editor-commands.c
      	* app/gui/gui-types.h
      	* app/gui/palette-select.c
      	* app/tools/gimpcolorpickertool.c: changed accordingly.
      b0e05cda