1. 12 May, 2004 1 commit
    • Michael Natterer's avatar
      app/actions/documents-actions.c app/actions/documents-commands.c · 2632cd8f
      Michael Natterer authored
      2004-05-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/documents-actions.c
      	* app/actions/documents-commands.c
      	* app/actions/edit-actions.c
      	* app/actions/edit-commands.[ch]
      	* app/actions/layers-actions.c
      	* app/actions/layers-commands.c
      	* app/actions/select-actions.c
      	* app/actions/select-commands.[ch]
      	* app/actions/vectors-actions.c
      	* app/actions/vectors-commands.[ch]: added tooltips for actions
      	which are now used for dialog buttons, added callback
      	implementations which formerly lived in various widgets, moved
      	some actions around and did some general cleanups.
      
      	* menus/image-menu.xml.in: s/edit-stroke/select-stroke/
      
      	* menus/Makefile.am
      	* menus/selection-editor-menu.xml: new popup menu.
      
      	* app/menus/menus.c: register <SelectionEditor> and <UndoEditor>
      	UI managers.
      
      	* app/widgets/gimpeditor.[ch]: added construct properties
      	"menu-factory", "menu-identifier", "ui-path" and "popup-data".
      	Implement GObject::constructor() and create the UI manager
      	if all needed properties were set. Enables creating action
      	buttons at widget construction time because they need a
      	UI manager.
      
      	(gimp_editor_add_action_button): changed to take a va_list of
      	"extended" actions which are invoked if the resp. button emits
      	"extended_clicked". Store the actions and their modifier masks in
      	a list attached to the button.
      
      	* app/widgets/gimpcontainerview.c
      	(gimp_container_view_item_selected): if the view has container
      	*and* context, simply change the context and return.
      
      	(gimp_container_view_context_changed): don't emit "select_item"
      	manually but simply call gimp_container_view_select_item().
      
      	(gimp_container_view_viewable_dropped): use
      	gimp_container_view_item_selected() instead of changing the
      	context directly.
      
      	* app/widgets/gimpcontainereditor.c
      	(gimp_container_editor_select_item): update the UI manager.
      
      	* app/widgets/gimpdockable.c: don't try to fiddle with the
      	dialog's menu if it doesn't have a ui_path (happens if the UI
      	manager is just a collection of actions for the dialog buttons and
      	has no menu registered).
      
      	* app/widgets/gimpimageeditor.c: connect to the image's "flush"
      	signal and update the UI manager in the callback.
      
      	* app/widgets/gimpitemtreeview.c: use GimpEditor's construct
      	properties to create the UI manager so GimpItemTreeView subclasses
      	can have action buttons. Update the UI manager in
      	gimp_item_tree_view_select_item().
      
      	* app/widgets/gimpbufferview.c
      	* app/widgets/gimpcolormapeditor.c
      	* app/widgets/gimpcontainergridview.c
      	* app/widgets/gimpdatafactoryview.c
      	* app/widgets/gimpfontview.c
      	* app/widgets/gimpimageview.c
      	* app/widgets/gimptemplateview.c
      	* app/widgets/gimptoolview.c: changed calls to
      	gimp_editor_add_action_button() accordingly and removed some
      	unneeded select_item() implementations.
      
      	* app/widgets/gimpchanneltreeview.c
      	* app/widgets/gimpvectorstreeview.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimpselectioneditor.[ch]
      	* app/widgets/gimpundoeditor.[ch]: use action buttons and removed
      	lots of callbacks which went to the resp. action callbacks.
      
      	* app/widgets/widgets-types.h: removed some now unneeded function
      	prototypes.
      
      	* app/gui/dialogs-constructors.c: changed (simplified) many dialog
      	constructors accordingly.
      2632cd8f
  2. 09 Nov, 2003 1 commit
    • Michael Natterer's avatar
      app/gui/file-commands.[ch] app/gui/file-dialog-utils.[ch] · 9b6f0cd3
      Michael Natterer authored
      2003-11-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/gui/file-commands.[ch]
      	* app/gui/file-dialog-utils.[ch]
      	* app/gui/file-open-dialog.[ch]
      	* app/gui/file-save-dialog.[ch]
      	* app/gui/gradients-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimperrorconsole.c
      	* libgimpwidgets/gimpfileselection.c: show file selections on
      	their parent widget's screen.
      9b6f0cd3
  3. 08 Apr, 2003 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpbrushfactoryview.[ch] app/widgets/gimpbufferview.[ch] · f20e559b
      Michael Natterer authored
      2003-04-08  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpcontainergridview.[ch]
      	* app/widgets/gimpcontainertreeview.[ch]
      	* app/widgets/gimpcontainerview.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpimageview.[ch]
      	* app/widgets/gimpitemtreeview.[ch]
      	* app/widgets/gimptemplateview.[ch]: removed "min_item_x" and
      	"min_item_y" parameters all over the place. Added
      	"preview_border_width" instead.
      
      	* app/widgets/gimpmenuitem.c: ensure that all menu items have the
      	same height.
      
      	* app/widgets/gimpcontainerpopup.c
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimpundoeditor.c
      	* app/gui/brush-select.c
      	* app/gui/dialogs-commands.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/font-select.c
      	* app/gui/gradient-select.c
      	* app/gui/palette-select.c
      	* app/gui/pattern-select.c: changed accordingly.
      
      	* app/gui/dialogs-constructors.c: removed the borders from the tool
      	and template lists.
      f20e559b
  4. 10 Jan, 2003 1 commit
    • 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
  5. 12 Sep, 2002 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpdocumentview.[ch] app/gui/documents-commands.[ch] changed · 57d3fff3
      Michael Natterer authored
      2002-09-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpdocumentview.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/menus.c: changed icon/variables/functions to say
      	"Remove" instead of "Delete" because "Delete" is misleading (we
      	don't delete the file but just remove the entry from the document
      	history).
      57d3fff3
  6. 25 Jan, 2002 1 commit
    • Michael Natterer's avatar
      CPPFLAGS: added -DGTK_DISABLE_DEPRECATED · 9dd403f7
      Michael Natterer authored
      2002-01-25  Michael Natterer  <mitch@gimp.org>
      
      	* configure.in: CPPFLAGS: added -DGTK_DISABLE_DEPRECATED
      
      	* libgimpwidgets/gimpdialog.c: still use the deprecated
      	gtk_window_set_policy() but spit out a #warning.
      
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpitemfactory.[ch]: made it a GtkItemFactory
      	subclass. This way we can reproduce the effect of
      	gtk_item_factory_get_from_path() which is deprectated for good
      	reasons.  For GIMP, using it its perfectly OK since we only have
      	one item factory per "<prefix>".
      
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdialogfactory.[ch]
      	* app/widgets/gimpdock.c
      	* app/widgets/gimpdockbook.c
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpdrawablelistview.[ch]
      	* app/widgets/gimppreview.c
      	* app/display/gimpdisplayshell-callbacks.c
      	* app/display/gimpdisplayshell.[ch]: pass around GimpItemFactory
      	pointers instead of "const gchar *" item factory identifiers.
      	Replaced gtk_window_set_policy() by gtk_window_set_resizable()
      	and other recommended stuff.
      
      	* app/gui/about-dialog.c
      	* app/gui/dialogs-constructors.c
      	* app/gui/dialogs.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/gradient-editor.c
      	* app/gui/menus.c
      	* app/gui/offset-dialog.c
      	* app/gui/splash.c
      	* app/gui/tips-dialog.c
      	* app/gui/toolbox.c: lots of
      	s/gtk_item_factory_from_path/gimp_item_factory_from_path/,
      	gtk_window_set_policy() replacements, misc fixes.
      
      	* plug-ins/gdyntext/charmap_window.c
      	* plug-ins/gdyntext/gdyntext_ui.c
      	* plug-ins/gdyntext/message_window.c
      	* plug-ins/imagemap/imap_main.c: replaced gtk_window_set_policy().
      9dd403f7
  7. 30 Nov, 2001 1 commit
    • Michael Natterer's avatar
      app/core/Makefile.am new files: the QMask stuff stripped from GUI code. · bba84137
      Michael Natterer authored
      2001-11-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/Makefile.am
      	* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
      	stripped from GUI code. Added gimp_image_qmask_invert().
      
      	* app/core/gimpimage.[ch]: removed the QMask functions.
      
      	* app/display/Makefile.am
      	* app/display/gimpdisplayshell-qmask.[ch]: removed.
      
      	* app/gui/Makefile.am
      	* app/gui/qmask-commands.[ch]: new files for the new QMask item
      	factory callbacks and the qmask query dialog.
      
      	* app/gui/menus.c: added a context menu for the QMask button.
      
      	* app/display/gimpdisplayshell.c
      	* app/display/gimpdisplayshell-handlers.c: don't include the qmask
      	stuff.
      
      	* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
      	callbacks here. Don't popup the dialog on double_click. Show
      	the contect menu on right-click.
      
      	* app/display/gimpdisplayshell-callbacks.[ch]:
      	gimp_display_shell_canvas_events(): removed the hack of
      	conntecting "key_press_event" to gtk_true() while a tool is
      	active. Instead, check for (event & GDK_BUTTON1_MASK) in the
      	key_press and key_release handlers and stop signal emission. Save
      	the modifier state on "button_press" and restore it after
      	"button_release".
      
      	Changed the way context menus are updated/shown:
      
      	- removed GimpContainerContextFunc.
      	- pass around item factory identifiers (e.g. "<Brushes>")
      	- added voodoo to update the menus before showing them.
      
      	* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
      	a GimpItemFactoryUpdateFunc parameter, attach it as data to the
      	factory and use it to update the menu in
      	gimp_item_factory_popup_with_date().
      
      	* app/widgets/gimpwidgets-utils.[ch]: removed
      	gimp_item_factory_popup_with_data() here.
      
      	* app/widgets/gimpbrushfactoryview.[ch]
      	* app/widgets/gimpbufferview.[ch]
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpdatafactoryview.[ch]
      	* app/widgets/gimpdocumentview.[ch]
      	* app/widgets/gimpdrawablelistview.[ch]: use item_factory
      	identifier strings all over the place.
      
      	* app/widgets/gimpdockbook.c: removed the menu update code, it's
      	now in gui/dialogs-commands.c.
      
      	* app/gui/brushes-commands.[ch]
      	* app/gui/buffers-commands.[c]
      	* app/gui/channels-commands.[ch]
      	* app/gui/dialogs-commands.[ch]
      	* app/gui/documents-commands.[ch]
      	* app/gui/gradient-editor-commands.[ch]
      	* app/gui/gradients-commands.[ch]
      	* app/gui/layers-commands.[ch]
      	* app/gui/palettes-commands.[ch]
      	* app/gui/patterns-commands.[ch]: removed all show_context_menu()
      	functions and made the update functions public. Changed all
      	update functions to use the gimp_item_factory_set_foo() methods
      	instead of gimp_menu_item_set_foo().
      
      	* app/gui/menus.c: pass the update functions to the
      	gimp_item_factory_new().
      
      	* app/gui/dialogs-constructors.c: pass item factory identifiers to
      	all view constructors.
      
      	* app/gui/gradient-editor.c: show the context menu using the new
      	method.
      
      	* app/gui/toolbox.c: no need to include "dialogs-commands.h".
      bba84137
  8. 22 Nov, 2001 1 commit
    • Sven Neumann's avatar
      bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22. · 757017a8
      Sven Neumann authored
      2001-11-23  Sven Neumann  <sven@gimp.org>
      
      	* configure.in: bumped version number to 1.3.1.
      	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
      	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
      	exist any longer.
      
      	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
      	be frozen now.
      
      	* HACKING: removed reference to RELEASE-TO-CVS.patch
      
      	* app/gui/menus.c
      	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
      	to the new GTK+/Pango API.
      
      	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.
      
      	* app/core/gimpmarshal.list: added all marshallers we use.
      
      	* app/core/gimpmarshal.[ch]: regenerated.
      
      	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.
      
      	* data/images/
      	* app/app_procs.c
      	* app/gui/splash.c:
      
      	* libgimpbase/Makefile.am
      	* libgimpbase/gimpbase.h
      	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.
      
      	* app/gimprc.c
      	* plug-ins/common/ps.c
      	* plug-ins/gdyntext/gdyntext.c
      	* plug-ins/gdyntext/gdyntextcompat.c
      	* plug-ins/gfig/gfig.c
      	* plug-ins/gflare/gflare.c
      	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
      	of gimp_strescape() and gimpstrcompress().
      
      	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
      	all _get_type function as G_GNUC_CONST.
      
      	* tools/pdbgen/enumcode.pl
      	* tools/pdbgen/lib.pl: make them generate header files using
      	G_BEGIN_DECLS/G_END_DECLS.
      
      	* pixmaps/Makefile.am
      	* pixmaps/wilber3.xpm: removed ...
      	* data/images/tips_wilber.png: ... and added here as PNG
      
      	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.
      
      	* data/images/gimp_splash.ppm: removed ...
      	* data/images/gimp_splash.png: ... and added as PNG
      
      	* app/app_procs.c
      	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.
      
      	* app/gui/about-dialog.c: sink the GtkPreview.
      757017a8
  9. 22 Oct, 2001 1 commit
    • Michael Natterer's avatar
      app/Makefile.am removed. · 70ce7bae
      Michael Natterer authored
      2001-10-22  Michael Natterer  <mitch@gimp.org>
      
      	* app/Makefile.am
      	* app/docindex.[ch]: removed.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpdocumentview.[ch]: new widget as replacement.
      
      	* app/core/gimpcontext.[ch]: added context->imagefile property.
      
      	* app/app_procs.c
      	* app/file-save.c
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/gui.c
      	* app/gui/menus.c
      	* app/gui/test-commands.c: changed accordingly.
      
      	* app/widgets/gimpcontainerview.[ch]: added "gboolean reorderable"
      	property which needs to be set by subclasses.
      
      	* app/widgets/gimpdrawablelistview.c: removed the "insert_item"
      	implementation which was used to make the items reorderable.
      
      	* app/widgets/gimpcontainerlistview.[ch]: make the list items
      	reorderable depending on view->reorderable.
      
      	* app/widgets/gimpbufferview.c: made it reorderable.
      
      	* app/widgets/gimpcontainereditor.[ch]
      	* app/widgets/gimpcontainergridview.[ch]
      	* app/widgets/gimpdatafactoryview.c: changed accordingly.
      70ce7bae