Commit Graph

798 Commits

Author SHA1 Message Date
Michael Natterer e2daae315b an evil temp_hack which lets GimpContext managing the active display
2001-08-14  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
	the active display withoug including "gdisplay.h". Will go away as
	soon ad context properties are registered dynamically.

	* app/module_db.c: cleaned up the object code in preparation of
	moving it to core/.

	* app/path.c: connect to GimpImage's

	* app/core/gimpobject.[ch]: derive it from GObject, not from
	GtkObject any more (yeah :-)

	* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
	removed some remaining GtkObject-isms.

	(left in a few #include <gtk/gtk.h> where bigger changes are needed
	to get rid of the UI dependency).

	* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
	temporarily.

	* app/core/gimp.c (gimp_create_display): unref the image after
	creating it's first display.

	* app/core/gimpbrush.[ch]: disabled the parts of the code which
	depend on GimpPaintTool.

	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c: changed accordingly.

	* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
	active display without including "gdisplay.h"

	* app/core/gimpimage-mask.[ch]: pass a context to
	gimage_mask_stroke() and get the current tool's PDB string from
	there.

	* app/core/gimpedit.c: changed accordingly.

	* app/core/gimpimage.c: use gimp_image_update() instead of
	gdisplays_update_full().

	* app/gui/color-area.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/image-commands.c
	* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
	GObjects).

	* app/gui/menus.c: fix some const warnings by explicit casting.

	* app/tools/*.[ch]: ported all tools to GObject, some minor
	cleanup while i was on it.

	* app/widgets/gimpdialogfactory.[ch]: ported to GObject.

	* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.

	* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
	which inserts #include "widgets/widgets-types.h" before ordinary
	includes.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* app/pdb/brush_select_cmds.c
	* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-08-14 14:53:55 +00:00
Michael Natterer 79faae01b4 Switched to GObject reference counting:
2001-08-12  Michael Natterer  <mitch@gimp.org>

	Switched to GObject reference counting:

	* app/core/gimpcontainer.c: only ref(), not ref()/sink() children
	of strong containers. Reordered gimp_container_remove() so we
	don't need to ref the object while removing it.

	* app/core/gimpcontext.c: misc fixes. Needs to be badly tortured...

	* app/app_procs.c
	* app/gdisplay.c
	* app/gimprc.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdocuments.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpobject.c
	* app/core/gimpparasite.c
	* app/core/gimppattern.c
	* app/core/gimpundostack.c
	* app/gui/dialogs.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpfuzzyselecttool.c: changed accordingly: don't
	ref()/sink() any more, unref all (??) objects after adding them to
	strong containers, misc. minor fixes.

	* app/gui/dialogs-constructors.c
	* app/widgets/gimpwidgets.c: use g_object_add_weak_pointer()
	instead of simply crashing because g_object_weak_ref() was used
	with gtk_widget_destroyed, brrr.

	* app/widgets/gimpdnd.c: removed unneeded g_return_if_fail()'s.
2001-08-12 15:39:23 +00:00
Michael Natterer da68142ee9 split "destroy" up in "dispose" and "finalize".
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: split "destroy" up in "dispose" and "finalize".

	* app/core/gimpcontext.c: objects need to be passed around with
	g_param_spec_object() or bad things will happen.

	* app/gui/channels-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/gui.c
	* app/gui/layers-commands.c
	* app/gui/resize-dialog.c
	* app/gui/select-commands.c
	* app/tools/gimpclonetool.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimppreview.c: removed many connections to
	"destroy": Connect to "dispose" or use g_object_weak_ref()
	instead.
2001-08-11 21:10:44 +00:00
Michael Natterer 5e74fa373a fsck^^^ -- lovely autofoo wants "changequote([,])dnl"
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* configure.in: fsck^^^ -- lovely autofoo wants "changequote([,])dnl"

	* app/core/gimpcontext.[ch]: lots of GObject porting.

	* app/core/gimpobject.[ch]: added a "disconnect" signal, which
	like gtk's "destroy" is emitted in dispose(). This is ugly but
	I don't see another "clean" way to implement weak containers.

	* app/core/gimpcontainer.c: connect to the "disconnect" signal of
	the children of weak containes.

	* app/core/gimpimage.[ch]: replaced the "destroy" implementation
	with "dispose" + "finalize". Removed gimage->undo_history.

	* app/devices.c
	* app/gui/dialogs-constructors.c
	* app/gui/tools-commands.c
	* app/tools/tool_manager.c
	* app/widgets/gimpimagedock.c: changed accordingly.
2001-08-11 19:53:35 +00:00
Michael Natterer 357f463d59 added a TODO entry about additional image/file info.
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: added a TODO entry about additional image/file info.

	* app/file-save.c: #include "core/gimpdocuments.h"

	* app/core/gimpcontainer.[ch]: made virtual functions out of some
	signals.

	* app/core/*.[ch]: more GObject stuff: ported all
	gimp_foo_get_type() functions and replaced almost all "destroy"
	implementations with either "finalize" or "dispose" functions.
2001-08-11 14:39:19 +00:00
Michael Natterer 4305c39cf0 app/core/Makefile.am new file implementing the docindex.* replacement.
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
	history.

	* 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
	history.

	* app/widgets/gimpdnd.[ch]: make it DND-able.

	* app/widgets/gimppreview.c: fix  preview rendering correctly this
	itme.
2001-08-11 07:47:35 +00:00
Michael Natterer 2353c5d3e7 fix compiler warning.
2001-08-10  Michael Natterer  <mitch@convergence.de>

	* app/nav_window.c: fix compiler warning.

	* app/core/gimp.[ch]: added gimp->documents which will be an MRU
	list of GimpImagefile objects.

	* app/core/gimpcontainer.c: added some g_return_if_fail().

	* app/gui/palette-editor.c: use GtkImage instead of GtkPixmap,
	s/gtk_signal_*/g_signal_*/.

	* app/widgets/gimppreview.c: render the checkerboard only for
	channel == -1. In particular, don't render it for channel
	previews.

	* app/module_db.c
	* app/core/*.c
	* app/gui/colormap-dialog.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimperasertool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/tool_manager.c
	* app/widgets/*.c
	* libgimpwidgets/*.c: s/gtk_type_new/g_object_new/
2001-08-10 14:41:39 +00:00
Sven Neumann 52b3387214 app/core/Makefile.am app/core/core-types.h added first draft of a
2001-08-09  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimagefile.[ch]: added first draft of a GimpImagefile
	object that will handle image files on disk, in particular their
	thumbnails.
2001-08-09 09:07:17 +00:00
Michael Natterer 7de0a2cbdd removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+
2001-08-07  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: removed a gdk_pointer_ungrab(), it was
	only there because of buggy gtk+ 1.2.x. Cosmetic changes.

	* app/undo.c: use G_N_ELEMENTS() instead of
	sizeof(array)/sizeof(element).

	* app/gui/menus.c: more stock icons, moved the item_factory
	creation into the menus_get_foo_factory() functions, use
	G_N_ELEMENTS(). This file badly needs to be spit up...

	* app/core/gimpviewable.[ch]
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpmenuitem.[ch]
	* app/widgets/gimppreview.[ch]: replaced tons of signal emissions
	by virtual functions which are *much* faster. Moreover, all of
	them are private implementation bits of the specific class
	hierarchy and are useless or even dangerous to be exposed as
	signals.

	* app/widgets/gimpdrawablelistitem.c: removed the drag_motion()
	implementation as it's already done in the parent class.

	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimplayerlistitem.c: redraw the widget when the
	drop_type has changed. Fixes drop_indicator drawing.
2001-08-07 12:42:23 +00:00
Michael Natterer 30d2fdef07 configure.in themes/Default/images/Makefile.am some new Makefiles to make
2001-08-06  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/Makefile.am: some new Makefiles to
	make it installable.

	* Makefile.am
	* gtkrc: removed...

	* themes/Default/Makefile.am
	* themes/Default/gtkrc: ...added here.

	* themes/Default/imagerc: new file (not used, just for
	documentation) which loads the default theme's images in the same
	way the inlined pixbufs are registered with the stock system.

	* gimprc.in
	* gimprc.win32
	* user_install
	* user_install.bat
	* app/gimprc.[ch]: added "theme-path" and "theme" gimprc variables.

	* app/app_procs.c: prase gimprc before initializing the GUI.

	* app/core/gimpdatafiles.[ch]: added support for getting only
	subdirectories in the callback.

	* libgimpbase/gimpenv.c: as a temp_hack gimp_gtkrc(); returns the
	default theme's gtkrc.

	* app/gui/gui.c: build a hash of theme directories and select
	the one configured in gimprc.theme. Use gimp_gtkrc()'s default
	value if there is no theme installed or configured.

	* app/gui/preferences-dialog.c: Added theme_path to the GUI. No
	stuff for selection the theme yet.

	* app/gui/menus.c: beautify <Image>/Tools/

	* app/tools/gimpcroptool.c: register in <Image>/Tools/Transform Tools/
2001-08-05 20:34:10 +00:00
Michael Natterer fdabe08cf0 DIE broken pipe, DIE 2001-08-05 16:08:19 +00:00
Michael Natterer 233f8860c7 Makefile.am configure.in themes/.cvsignore themes/Makefile.am
2001-08-05  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* configure.in
	* themes/.cvsignore
	* themes/Makefile.am
	* themes/Default/.cvsignore
	* themes/Default/Makefile.am
	* themes/Default/images/.cvsignore
	* themes/Default/images/*.png
	* themes/Default/images/tools/.cvsignore
	* themes/Default/images/tools/*.png: new place for all images
	which are registered with the stock system. The default images are
	all inlined but we will install the default theme later along with
	an appropriate gtkrc as a template for custom themes.

	Added PNGs of all tools icons. Thanks to syngin :)

	* pixmaps/.cvsignore
	* pixmaps/Makefile.am: reverted everything to the old state. This
	directory will go away soon.

	* libgimpwidgets/gimpstock.[ch]: changed accordingly. Register
	stock icons in GTK_ICON_SIZE_BUTTON for all tools.

	* app/core/gimptoolinfo.[ch]
	* app/tools/tool_manager.[ch]: GimpToolInfo wants a stock_id and a
	pre-rendered GdkPixbuf instead of ugly icon_data now. Added some
	workarounds until GimpPreview is a GtkImage and uses GdkPixbuf
	instead of TempBuf.

	* app/tools/Makefile.am
	* app/tools/icons.h: die, uglyness, die.

	* app/tools/[all tools].c: register with a stock_id, not a
	icon_data pointer.

	* app/gui/dialogs-constructors.c: Oops, GIMP badly crashed on
	changing the image for the past few days :)

	* app/gui/menus.c: create the tools' menu entries with stock
	icons.

	* app/gui/toolbox.c: use GtkImages instead of GimpPreviews for
	the toolbox buttons. Will need to change this back as soon
	as GimpPreview actually _is_ a GtkImage.
2001-08-05 16:07:02 +00:00
Michael Natterer a824143b20 set style properties for dockables.
2001-08-03  Michael Natterer  <mitch@gimp.org>

	* gtkrc: set style properties for dockables.

	* app/main.c: some #if 0'ed code for mem profiling.

	* app/gui/commands.[ch]
	* app/gui/menus.c: added a mem profiling menu entry + callback.

	* app/gui/palette-editor.c: added a #warning as reminder, use
	gtk_dialog_set_has_separator().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistview.[ch]: added some style
	properties to set GimpDockable and friends' borders and spacings.

	* libgimpwidgets/gimppixmap.[ch]
	* libgimpwidgets/gimpsizeentry.[ch]
	* libgimpwidgets/gimpunitmenu.[ch]: GObject stuff, cleanup.

	* app/docindex.c
	* app/errorconsole.c
	* app/gdisplay_color_ui.c
	* app/gimpprogress.c
	* app/module_db.c
	* app/undo_history.c
	* app/user_install.c
	* app/gui/channels-commands.c
	* app/gui/gradient-editor.c
	* app/gui/info-window.c
	* app/gui/tips-dialog.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimpdatafactoryview.c
	* libgimp/gimpexport.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* plug-ins/[lots of files]:

	Some perl mass processing applying s/_("Foo")/GTK_STOCK_FOO/g,
	minor manual cleanup in some files.
2001-08-03 19:43:19 +00:00
Sven Neumann 8590e01fb9 app/tools/gimpairbrushtool.c app/tools/gimpblendtool.c
2001-08-01  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimperasertool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/paint_options.c
	* app/tools/selection_options.c
	* app/tools/transform_options.c: got rid of all remaining gtk_signal
	wrappers.
2001-08-01 02:57:58 +00:00
Sven Neumann fc12bd9a52 defined GimpTransferMode enum.
2001-08-01  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: defined GimpTransferMode enum.

	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpdodgeburntool.[ch]: use it here instead of defining
	the same enum again. Some GObject porting.

	* app/tools/gimpsmudgetool.h: removed unused enum SmudgeMode.

	* app/pdb/color_cmds.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimptools_pdb.[ch]
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/tools.pdb: changed accordingly (mostly generated)
2001-08-01 02:01:49 +00:00
Sven Neumann b2c676bd74 added GTK_DISABLE_COMPAT_H back to CPPFLAGS.
2001-08-01  Sven Neumann  <sven@gimp.org>

	* configure.in: added GTK_DISABLE_COMPAT_H back to CPPFLAGS.

	* app/user_install.c
	* app/base/base.c
	* app/gui/info-window.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c
	* app/pdb/procedural_db_cmds.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdrawablelistview.c
	* app/widgets/gimpnavigationpreview.c
	* libgimpbase/gimpparasiteio.c
	* libgimpwidgets/gimpwidgets.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/newsprint.c
	* plug-ins/common/uniteditor.c
	* plug-ins/dbbrowser/dbbrowser_utils.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/ifscompose/ifscompose_storage.c
	* plug-ins/print/gimp_main_window.c
	* tools/gimp-remote.c
	* tools/pdbgen/pdb/procedural_db.pdb: replaced lots of deprecated
	glib, gdk and gtk+ functions using the new API.

	* app/paint-funcs/paint-funcs-rgb.c: removed trailing commas.
2001-08-01 00:35:59 +00:00
Michael Natterer fc2ab58510 eek, my last change changed the width of all GtkRange subclasses, not only
2001-07-31  Michael Natterer  <mitch@gimp.org>

	* gtkrc: eek, my last change changed the width of all GtkRange
	subclasses, not only GtkScale, fixed now.

	* app/devices.c: use GTK_STOCK_FOO button texts.

	* app/interface.c
	* app/qmask.[ch]: renamed all qmask callbacks to *_callback().

	* app/gui/tool-options-dialog.c: GObject stuff, use
	gtk_dialog_set_has_separator() instead of poking around.

	* app/widgets/gimpcolorpanel.c: set panel->color_notebook to NULL
	in "destroy".

	* app/widgets/gimpnavigationpreview.c: return TRUE from the
	"expose_event" handler.

	* app/widgets/gimppreview.c: tiny optimizatin.
2001-07-31 16:55:59 +00:00
Sven Neumann 0f6ab278ae removed g_signal_handlers_disconnect_by_data again. As Owen pointed out,
2001-07-31  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h: removed g_signal_handlers_disconnect_by_data
	again. As Owen pointed out, it's generally a bad idea to use it since
	you can't be absolutely sure that no one else has a pointer to the
	data you are disconnecting.

	* app/gdisplay.c: added the macro here temporarily.

	* app/module_db.c
	* app/undo_history.c
	* app/gui/brush-editor.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/pattern-select.c: use g_signal_handlers_disconnect_by_func.

	* libgimpwidgets/gimpbutton.c
	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpfileselection.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppatheditor.c
	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.c: GObject porting.
2001-07-31 11:33:13 +00:00
Michael Natterer 8fae094e90 set the width of the scrollbar slider to the same value as our default
2001-07-30  Michael Natterer  <mitch@gimp.org>

	* gtkrc: set the width of the scrollbar slider to the same value
	as our default font size so the sliders are nicely aligned with
	their descriptive labels.

	* libgimpwidgets/gimpdialog.[ch]
	* libgimpwidgets/gimpquerybox.[ch]: use GLib-isms and create the
	dialogs' action_area buttons with gtk_dialog_add_button() so we
	can use the GTK_STOCK_FOO buttons and plug in our own icon factory
	later.

	* app/qmask.[ch]: fixed the qmask buttons by applying proper
	GdkEvent callback conventions.

	* libgimpwidgets/gimpcolorbutton.c: NULLify all pointers in
	"destroy".

	* app/gdisplay_ops.c
	* app/gimphelp.c
	* app/interface.c
	* app/gui/brush-editor.c
	* app/gui/color-notebook.c
	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/gui/resolution-calibrate-dialog.c
	* app/gui/tool-options-dialog.c
	* app/widgets/gimpwidgets-utils.c
	* libgimpwidgets/gimpunitmenu.c: g_signal_* and GObject stuff,
	use lots of GTK_STOCK_OK and friends instead of _("OK") etc.,
	misc minor cleanups.
2001-07-30 17:17:36 +00:00
Michael Natterer 8d9931f719 code formating paranoia.
2001-07-29  Michael Natterer  <mitch@gimp.org>

	* app/gimphelp.c: code formating paranoia.

	* app/core/gimp.c: one more g_signal_connect().

	* app/tools/gimpmeasuretool.c: a gtk_widget_show() was optimized
	away :)

	* plug-ins/Makefile.am: re-enabled script-fu and dbbrowser.

	* plug-ins/dbbrowser/dbbrowser_utils.[ch]
	* plug-ins/script-fu/script-fu-console.[ch]
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-text-console.[ch]
	* plug-ins/script-fu/script-fu.c: use GtkTextBuffer/GtkTextView
	all over the place. GUI code cleanup in the dbbrowser and
	the script-fu console.
2001-07-30 00:46:09 +00:00
Sven Neumann b906b3947f app/devices.c app/disp_callbacks.c app/docindex.[ch] app/file-save.c
2001-07-29  Sven Neumann  <sven@gimp.org>

	* app/devices.c
	* app/disp_callbacks.c
	* app/docindex.[ch]
	* app/file-save.c
	* app/gdisplay.c
	* app/gimpprogress.[ch]
	* app/gimprc.c
	* app/plug_in.c
	* app/gui/gradient-editor.c
	* app/gui/menus.[ch]: more GObject and const changes.
2001-07-29 14:09:50 +00:00
Hans Breuer 95a8c72405 updated for GTK2 build
2001-07-28  Hans Breuer  <hans@breuer.org>

	* */*/makefile.msc : updated for GTK2 build

	* app/widgets/makefile.msc : (new file) forgot this one last time

	* plug-ins/common/animationplay.c : reflect that GTK2 has its
	gdk<x|win32|fb>.h files in the back-end sub directories

	* plug-ins/common/gif.c :
	* plug-ins/common/jpeg.c :
	* plug-ins/dbbrowser/dbbrowser_utils.c :
	* plug-ins/gap/gap_dbbrowser_utils.c :
	* plug-ims/gimpressionist/presets.c :
	* plug-ims/gimpressionist/imap_setting.c :
	* plug-ims/gimpressionist/imap_source.c :
	* plug-ims/script-fu/script-fu-console.c :
	* plug-ims/script-fu/script-fu-scripts.c : #define GTK_ENABLE_BROKEN
	and include <gtk/gtktext.h> to make them compile/work again

	* plug-ins/common/spheredesigner.c : gtk_color_selction_set_opacity
	renamed to gtk_color_selction_set_current_alpha

	* plug-ins/gflare/gtkmultioptionmenu.c : ported ny removing the
	virtual draw function and style->xthickness and ythickness via
	direct access, klass field isn't available anymore

	* plug-ins/common/nlfilt.c :
	* plug-ims/gap/gap_movdialog.c :
	* plug-ims/gimpressionist/gimpressionist.c : gtk_widget_set_default_visible is
	neither available nor needed anymore

	* plug-ins/common/plugindetails.c : ported to GtkTextBuffer
	and reflect gtk_paned api changes

	* plug-ims/gimpressionist/imap_preview.c : replace GTK_WIDGET(a)->klass
	access by GTK_WIDGET_GET_CLASS(a)

	* plug-ims/gimpressionist/imap_selection.c :
	* plug-ims/gimpressionist/imap_toolbar.c :
	* plug-ims/gimpressionist/imap_tools.c : gtk_toolbar api changes
2001-07-28 19:40:07 +00:00
Sven Neumann 2671ae157e defined convenience macro g_signal_handlers_disconnect_by_data(). Will try
2001-07-27  Sven Neumann  <sven@gimp.org>

	* app/core/core-types.h:
	defined convenience macro g_signal_handlers_disconnect_by_data().
	Will try to persuade Tim to accept it for GLib.

	* app/module_db.c
	* app/undo_history.c
	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdatafactory.c
	* app/core/gimpparasite.c
	* app/gui/brush-editor.c
	* app/gui/brush-select.c
	* app/gui/dialogs.c
	* app/gui/file-open-dialog.c
	* app/gui/gradient-select.c
	* app/gui/gradients-commands.c
	* app/gui/menus.c
	* app/gui/pattern-select.c: GObject porting.
	Replaced all gtk_object_[unref|ref] calls by their g_object_
	counterparts, expect refs that are used with gtk_object_sink().
2001-07-27 19:41:54 +00:00
Michael Natterer 6e6749f953 gtkrc updated for gtk+ 2.0, added a "gimp-" prefix to all global GIMP
2001-07-25  Michael Natterer  <mitch@gimp.org>

	* gtkrc
	* gtkrc_user: updated for gtk+ 2.0, added a "gimp-" prefix to
	all global GIMP styles.

	* app/app_procs.c: typo.

	* app/user_install.c
	* app/gui/resolution-calibrate-dialog.[ch]: use GtkRcStyle along
	with gtk_widget_get_modifier_style()/gtk_widget_modify_style() as
	recommended instead of messing with the widgets' styles directly.

	* app/core/gimpdatalist.[ch]
	* app/core/gimpparasitelist.[ch]
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.[ch]: GObject porting stuff.
2001-07-25 15:22:55 +00:00
Sven Neumann 98f9812ebb fixed typo.
2001-07-25  Sven Neumann  <sven@gimp.org>

	* app/devices.c: fixed typo.

	* app/gdisplay.c
	* app/undo_history.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/color-area.c
	* app/gui/gradient-editor.c
	* app/gui/gui.c
	* app/gui/paths-dialog.c
	* app/gui/splash.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpinktool.c
	* app/tools/gimptexttool.c:
	s/gdk_[bit|pix]map_unref/gdk_drawable_unref/

	* app/xcf/xcf-load.c: use GObject functions

	* plug-ins/common/animationplay.c: include GDK backend specific
	headers
2001-07-25 13:21:57 +00:00
Sven Neumann e5949e4326 app_procs.c errors.c errors.h file-save.c gdisplay.c module_db.c use
2001-07-25  Sven Neumann  <sven@gimp.org>

	* app_procs.c
	* errors.c
	* errors.h
	* file-save.c
	* gdisplay.c
	* module_db.c
	* undo.c: use GObject functions and const fixes.
2001-07-25 01:03:43 +00:00
Sven Neumann f5cfbd50da app/nav_window.c app/user_install.c app/pdb/color_cmds.c
2001-07-25  Sven Neumann  <sven@gimp.org>

	* app/nav_window.c
	* app/user_install.c
	* app/pdb/color_cmds.c
	* app/pdb/selection_cmds.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptool.c
	* app/tools/paint_options.c
	* app/tools/selection_options.c
	* app/tools/tool_manager.c
	* app/tools/transform_options.c
	* app/widgets/gimpdnd.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/selection.pdb: use GObject functions.
2001-07-25 00:27:41 +00:00
Michael Natterer 06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
Hans Breuer 5469bc4bac updated
2001-07-22  Hans Breuer  <hans@breuer.org>

	* app/*/makefile.msc :
	* plug-ins/makefile.msc	:
	* libgimp/gimp.def :
	* libgimpwidgets/gimpwidgets.def : updated

	* makefile.msc :
	* app/xcf/makefile.msc :
	* regexrepl/makefile.msc : new files

	* app/base/base-config.c : a work-around for a gccism with
	structure initialization

	* app/core/gimp.c :
	* app/core/gimpimage-new.c :
	* app/gui/color-area.c
	* app/widgets/gimpdialogfactory.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf-write.c
	* plug-ins/common/plasma.c :
	* plug-ins/flame/libifs.c : added <string.h> for strlen(), strcpy(),
	memcpy(), memcmp() and friends

	* plug-ins/imagemap/imap_rectangle.c :
	* plug-ins/ifscompose/ifscompose_storage.c : added <stdlib.h> for abs()

	* plug-ins/common/spheredesigner.c : reflect renaming of drawable.id
	drawable.drawable_id

	* plug-ins/script-fu/siod-wrapper.c : <string.h> and conditional use
	of script_fu_server_quit () cause there is not yet script-fu server
	on win32.
2001-07-22 22:18:01 +00:00
Michael Natterer b844c98549 removed path_to_beziersel() so this file can be safely included from
2001-07-17  Michael Natterer  <mitch@gimp.org>

	* app/path.[ch]: removed path_to_beziersel() so this file can be
	safely included from core/.

	* app/tools/gimpbezierselecttool.[ch]: added it here.

	* app/core/core-types.h: added a GimpToolOptions typedef. Removes
	deps into tools/ and will later be a core object anyway.

	* app/tools/tools-types.h: removed the ToolOptions typedef here.

	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage.c
	* app/core/gimptoolinfo.[ch]: removed deps into tools/, misc stuff.

	* app/tools/tool_manager.[ch]: some ugly temp hacks. Please ignore.

	* app/widgets/gimpdialogfactory.[ch]: added a "remember_if_open" field
	to the GimpDialogFactoryEntry so we can manage dialogs which should
	not be re-opened on startup.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c: register & create all editor dialog with the
	"global_dialog_factory".

	* app/gui/tool-options-dialog.c
	* app/tools/*: s/ToolOptions/GimpToolOptions/
2001-07-17 20:50:01 +00:00
Michael Natterer b280b493c7 don't use the global "the_gimp" variable.
2001-07-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: don't use the global "the_gimp" variable.

	* app/core/gimpimage-convert.c: don't update the display here.

	* app/gui/gui.c: connect to the images' "mode_changed" signal
	and update here.

	* app/gui/brush-editor.[ch]
	* app/gui/gradient-editor.[ch]
	* app/gui/palette-editor.[ch]: pass a "Gimp" pointer to all
	editors. Added an palette_name entry to the palette editor.

	* app/gui/colormap-dialog.[ch]: removed all the dialog stuff and
	made the constructor return a vbox so it can be integrated in a
	dockable. Lots of cleanup and removal of anqiuqe aretfacts.

	* app/gui/dialogs-constructors.[ch]: wrap the colormap dialog in
	a dockable.

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: integrate the new dockable, made the "Brushes.."
	etc. menu entries create dockbles. Moved the old dialogs and the
	test menu entries to "Old + Testing" and removed N_() so the .po
	files stay cruft-free.

	* app/gui/test-commands.[ch]: removed lots of stuff which is not
	"testing" any more.
2001-07-15 14:32:44 +00:00
Michael Natterer 2d82171679 app/appenv.h removed "use_mmx" and the MMX detection.
2001-07-13  Michael Natterer  <mitch@gimp.org>

	* app/appenv.h
	* app/main.c: removed "use_mmx" and the MMX detection.

	* app/base/Makefile.am: build the MMX detection unconditionally
	as it's already #ifdef'ed in the source.

	* app/base/detect-mmx.h: added a header for detect-mmx.S

	* app/base/base-config.[ch]: added the "use_mmx" boolean.

	* app/base/base.c: call intel_cpu_features() here.

	* app/paint-funcs/paint-funcs.c: #include "base/base-config.h".

	* app/floating_sel.c
	* app/core/gimpimage.c: removed commented out cruft.

	* app/core/gimplayer.c: gimp_layer_new_from_tiles(): pass the
	gimage instead of NULL to gimp_layer_new() because layers have to
	be created in an image context now
	(checked gimp_layer_new_from_tile()'s callers if this is
	semantically correct).
2001-07-13 19:25:34 +00:00
Michael Natterer 166714985c app/Makefile.am app/gimpunit.c removed...
2001-07-11  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpunit.c
	* app/unitrc.h: removed...

	* app/core/Makefile.am
	* app/core/gimpunit.[ch]: ...re-added here.

	* app/core/gimp.[ch]: added the image and drawable hash tables,
	next_image_ID, next_guide_ID and next_drawable_ID, added a
	GimpCoreConfig pointer which is now initalized dynamically.

	* app/core/gimpcoreconfig.[ch]: don't provide a global core_config
	variable any more (need to access gimp->config now).

	* app/gdisplay.[ch]
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage.[ch]: removed all global variables from
	gimpimage.c and gimpdrawable.c, pass a Gimp* to all *_get_by_ID()
	functions.

	* tools/pdbgen/app.pl: pass Gimp* to all _get_by_ID() functions.

	* app/app_procs.c
	* app/file-open.c
	* app/file-save.c
	* app/gimprc.c
	* app/libgimp_glue.c
	* app/module_db.c
	* app/plug_in.c
	* app/undo.c
	* app/user_install.c
	* app/core/core-types.h
	* app/core/gimpcontext.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-new.c
	* app/core/gimpparasite.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* app/widgets/gimpdnd.c

	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/display_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/fileops_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/tools_cmds.c
	* app/pdb/undo_cmds.c
	* app/pdb/unit_cmds.c

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/unit.pdb: changed accordingly.
2001-07-11 12:39:49 +00:00
Michael Natterer 9d87e554de removed the gimp_busy boolean, check whether user_installation is needed
2001-07-10  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.[ch]: removed the gimp_busy boolean, check whether
	user_installation is needed here, not in user_install.c, parse
	gtkrc an friends only if(!no_interface), create the Gimp object
	before parsing gimp's rc files an pas it to the parse functions,
	many other cleanups.

	* app/appenums.h: added MessageHandlerType and StackTraceMode.

	* app/appenv.h: removed MessageHandlerType, declare all global
	variables from main.c (no more hidden global stuff please).

	* app/errors.[ch]: added the fatal message func here (from main.c),
	removed the StackTraceMode enum.

	* app/gimprc.[ch]: renamed functions to gimprc_*(), pass a Gimp
	pointer to some functions.

	* app/gimpunit.c
	* app/unitrc.h: ok, this is ugly: renamed all functions to
	_gimp_unit_*() and made them public. The unit list is part
	of the Gimp object now, so pass a Gimp* to all functions.

	* app/libgimp_glue.[ch]: added EEKy wrappers for all gimp_unit_*()
	functions which are used by widgets.

	* app/main.c: cleaned up the global variables, removed the fatal
	message handler, call app_init() directly, not via the
	user_install stuff, misc. cleanups.

	* app/user_install.[ch]: removed the check if user_installation is
	needed (done by app_procs.c now).

	* app/core/gimp.[ch]: added the user_unit list and the "busy"
	boolean. Moved gimp_[set|unset]_busy() here. Added
	gimp_initialize() which is called after unitrc and gimprc are
	parsed.

	* app/batch.c
	* app/colormaps.c
	* app/devices.c
	* app/disp_callbacks.c
	* app/gdisplay_ops.c
	* app/gimphelp.c
	* app/module_db.c
	* app/nav_window.c
	* app/plug_in.c
	* app/core/gimpcontext.c
	* app/core/gimpdatafiles.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.c
	* app/core/gimpparasite.c
	* app/core/gimpparasitelist.h
	* app/gui/file-open-dialog.c
	* app/gui/gui.[ch]
	* app/gui/info-dialog.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/session.c
	* app/gui/tips-dialog.c
	* app/gui/toolbox.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimptransformtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcursor.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/app.pl
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/message.pdb
	* tools/pdbgen/pdb/unit.pdb
	* app/pdb/image_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/unit_cmds.c: changed accordingly, minor cleanups.
2001-07-10 19:16:16 +00:00
Michael Natterer d7fde9e68d app/Makefile.am app/datafiles.[ch] app/gimpparasite.[ch] removed...
2001-07-09  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/datafiles.[ch]
	* app/gimpparasite.[ch]
	* app/parasitelist.[ch]: removed...

	* app/core/Makefile.am
	* app/core/gimpdatafiles.[ch]
	* app/core/gimpparasite.[ch]
	* app/core/gimpparasitelist.[ch]: ...and added here.

	* app/gimprc.c
	* app/module_db.c
	* app/plug_in.c
	* app/undo.c
	* app/core/gimp.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/parasite.pdb
	* app/pdb/parasite_cmds.c: changed #include's accordingly.
2001-07-09 19:48:30 +00:00
Michael Natterer b54b5ed6a0 added a (commented out) function to open files (to get rid of including
2001-07-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: added a (commented out) function to open
	files (to get rid of including gui/file-open-dialog.h)

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: renamed all functions because they
	are no callbacks any more. Removed the _by_extension() callbacks.

	* app/gui/file-commands.[ch]: added the
	file_[open|save]_by_extension() callbaks here along with some
	other stuff which has nothing to do with the file dialogs.

	* app/gui/menus.c: added a helper function to create an item
	factory, cleanup.

	* app/gui/palette-editor.[ch]: contains only the editor for a
	single palette now (removed the notebook and the palette list).
	Renamed all functions to palette_editor_*(). Will be made a
	dockable later.

	* app/gui/palette-select.[ch]: made it work like the other
	selection dialogs.

	* app/app_procs.c
	* app/docindex.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/widgets/gimpdnd.c: changed accordingly.
2001-07-09 17:58:56 +00:00
Michael Natterer c56094201d the active_tool may change in the middle of gdisplay_canvas_events(), so
2001-07-08  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: the active_tool may change in the middle
	of gdisplay_canvas_events(), so re-get it after using it for
	cursor_update.

	* app/base/boundary.c: made some global variables local.

	* app/core/gimpdrawable.c: don't call gimp_drawable_set_visible()
	in gimp_drawable_configure() because we don't want signal
	emissions while configuring the drawable.

	* app/gui/Makefile.am
	* app/gui/brushes-commands.[ch]
	* app/gui/data-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/patterns-commands.[ch]: new files for new new item
	factories' callbacks.

	* app/gui/menus.[ch]: added context menus for brushes, patterns, ...

	* app/gui/gradient-editor.c
	* app/gui/palette-editor.c: removed the "Save as POV", "Import
	Palette" and "Merge Palattes" buttons as they are item factory
	callbacks now.

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]: pass a
	"GimpContainerContextFunc" pointer to all GimpContainerEditor
	subclasses' constructors. Use the function to show the context
	menu.

	* app/widgets/gimpcontainergridview.c: dispatch the previews'
	"context" signal.

	* app/widgets/gimppreview.[ch]: new signal "context" which is
	emitted on right-click.

	* app/gui/brush-select.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/test-commands.c: changed accordingly.
2001-07-08 21:44:52 +00:00
Michael Natterer 37ce6b9ac8 app/Makefile.am removed.
2001-07-08  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/drawable.[ch]: removed.

	* app/core/gimpdrawable.[ch]: added the functions here. Made an
	end to the myth that FG/BG and the undo system (!!!) are not
	really part of the core.

	* app/disp_callbacks.c
	* app/floating_sel.c
	* app/image_map.c
	* app/qmask.c
	* app/undo.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/gui/channels-commands.c
	* app/gui/gui.c
	* app/gui/layers-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpchannellistitem.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c
	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/parasite_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/tools_cmds.c
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly. Misc small
	fixes and cleanups.
2001-07-07 22:49:01 +00:00
Michael Natterer 3196563c14 app/Makefile.am removed.
2001-07-07  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimage.[ch]: removed.

	* app/core/gimp.c: s/gimage_new/gimp_image_new/

	* app/gui/gui.c
	* app/tools/tool_manager.c: added the handlers from gimage.c
2001-07-07 18:16:18 +00:00
Michael Natterer b70ee4b76d put all tool_manager variables into a struct which is attached to a
2001-07-07  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.[ch]: put all tool_manager variables into
	a struct which is attached to a "Gimp". Pass a Gimp* to all
	tool_manager functions.

	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/scale.c
	* app/scroll.c
	* app/undo.c
	* app/gui/convert-dialog.c
	* app/gui/edit-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c: changed accordingly.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptool.c
	* app/tools/gimptransformtool.c: mostly bad hacks for tool dialogs
	which exist without a real context. Needs some more review.
2001-07-07 17:36:00 +00:00
Michael Natterer 5693956664 app/core/Makefile.am new files for gimp_image_crop() and
2001-07-07  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpimage-crop.[ch]: new files for gimp_image_crop()
	and gimp_image_crop_auto_shrink() (should share large portions of
	code with gimp_image_resize()).

	* app/tools/gimpcroptool.[ch]: removed here.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/tools.pdb: gimp_crop --> gimp_image_crop

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* app/pdb/tools_cmds.c
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimptools_pdb.[ch]: regenerated.

	* plug-ins/common/autocrop.c
	* plug-ins/common/gif.c
	* plug-ins/common/guillotine.c
	* plug-ins/common/zealouscrop.c
	* plug-ins/perl/examples/image_tile
	* plug-ins/script-fu/scripts/add-bevel.scm
	* plug-ins/script-fu/scripts/ripply-anim.scm
	* plug-ins/script-fu/scripts/slide.scm: changed accordingly. Some
	cleanups in the plug-ins.
2001-07-07 14:53:42 +00:00
Michael Natterer 1bcd3e1834 app/Makefile.am removed.
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
	selection_pause().

	* 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".
2001-07-07 12:17:23 +00:00
Michael Natterer a84d697b93 don't add the image to the image container, don't call undo_free().
2001-07-05  Michael Natterer  <mitch@gimp.org>

	* app/gimage.c: don't add the image to the image container,
	don't call undo_free().

	* app/core/gimp.[ch]: add new images to gimp->images, optionally
	attach the comment parasite.

	* app/core/gimpedit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/gui/file-open-dialog.c
	* app/gui/toolbox.c
	* tools/pdbgen/pdb/image.pdb
	* app/pdb/image_cmds.c
	* app/xcf/xcf-load.c: call gimp_create_image() and/or
	gimp_create_display(), don't attach a comment parasite.

	* app/core/gimpimage.c: call undo_free() in "destroy".

	* app/file-open.c
	* app/gui/palette-import-dialog.c
	* app/xcf/xcf-save.c: don't #include "gimage.h"
2001-07-05 16:21:36 +00:00
Michael Natterer a0014f7e8e app/Makefile.am removed...
2001-07-05  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/image_new.[ch]: removed...


	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimage-new.[ch]: ...and (partly) added here.

	* app/core/gimp.[ch]: added gimp_create_image() which will be the
	_only_ place to get new images from soon.
	Added  a "create_display_func" function pointer...

	* app/gui/gui.[ch]: ...which gets initialized here.

	This way the core can create displays without depending on the
	interface.

	* app/app_procs.c
	* app/apptypes.h
	* app/core/gimpedit.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.[ch]: changed accordingly.
2001-07-05 15:34:26 +00:00
Michael Natterer f7c69b072b renamed gimp_initialize() to gimp_restore() because it loads all kinds of
2001-07-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: renamed gimp_initialize() to gimp_restore()
	because it loads all kinds of data. Added gimp_shutdown() to save
	the data. Added the global parasite list.

	* app/apptypes.h: removed ParasiteList.

	* app/core/core-types.h: added GimpParasiteList.

	* app/gimpparasite.[ch]: removed the global parasite list.

	* app/parasitelist.[ch]: s/ParasiteList/GimpParasiteList/
	s/parasite_list_*/gimp_patasite_list_*/

	* app/widgets/gimpdatafactoryview.c: don't save the data in
	gimp_data-factory_data_free().

	* app/app_procs.c
	* app/gimprc.c
	* app/undo.c
	* app/core/gimpchannel.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/pdb/brushes_cmds.c
	* app/pdb/parasite_cmds.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/parasite.pdb: changed accordingly.
2001-07-04 22:59:25 +00:00
Michael Natterer 0164596064 app/core/Makefile.am app/core/core-types.h added an "application object"
2001-07-04  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimp.[ch]: added an "application object" called Gimp.

	Currently, it contains the image list, the clipboard, the data
	factories, the procedural hashtable and the tool info list.  It's
	the toplevel object of the core object system. Finally, creating a
	Gimp object will return a standalone gimp core engine instance
	with no other global states/variables involved.

	* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
	Removed stuff which is now done by the "Gimp" object. Merged
	gimp_init() into app_init() because gimp_init() is taken now.

	* app/context_manager.[ch]: removed stuff done by "Gimp".

	* app/batch.[ch]
	* app/gimage.[ch]
	* app/xcf/xcf-load.[ch]
	* app/xcf/xcf.[ch]
	* app/core/gimpedit.[ch]
	* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
	argument.

	* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
	parameter to all internal procedures and to all procedural_db_*
	functions.

	* app/core/gimpcontext.[ch]
	* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.

	* app/devices.c
	* app/errors.c
	* app/file-open.c
	* app/file-save.c
	* app/gimphelp.c
	* app/gimpunit.c
	* app/image_new.c
	* app/main.c
	* app/nav_window.c
	* app/plug_in.c
	* app/base/base.c
	* app/core/gimpdatafactory.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimptoolinfo.[ch]
	* app/gui/brush-select.c
	* app/gui/convert-dialog.c
	* app/gui/dialogs-constructors.c
	* app/gui/edit-commands.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/info-window.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/test-commands.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimppainttool.h
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.h
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
	lots of includes. Many files still access the global "the_gimp"
	variable exported by app_procs.h.

	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/palette.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
	use "the_gimp" here because all procedures get passed a "Gimp"
	pointer now.

	* app/pdb/*: regenerated.
2001-07-04 19:31:35 +00:00
Michael Natterer 3e36b8f54b new directory app/xcf/
2001-07-03  Michael Natterer  <mitch@gimp.org>

	* configure.in: new directory app/xcf/

	* app/Makefile.am
	* app/global_edit.[ch]
	* app/xcf.[ch]: removed.

	* app/core/Makefile.am
	* app/core/gimpedit.[ch]: added here...

	* app/xcf/.cvsignore
	* app/xcf/Makefile.am
	* app/xcf/xcf-load.[ch]
	* app/xcf/xcf-private.h
	* app/xcf/xcf-read.[ch]
	* app/xcf/xcf-save.[ch]
	* app/xcf/xcf-seek.[ch]
	* app/xcf/xcf-write.[ch]
	* app/xcf/xcf.[ch]: ...and here (chopped up).

	* app/app_procs.c
	* app/disp_callbacks.c
	* app/floating_sel.c
	* app/gui/edit-commands.c
	* app/gui/toolbox.c
	* app/pdb/edit_cmds.c
	* app/widgets/gimpbufferview.c
	* tools/pdbgen/pdb/edit.pdb: changed accordingly.
2001-07-03 18:38:56 +00:00
Sven Neumann 1b8ef8b50e applied patch from Peter Kirchgessner <peter@kirchgessner.net> that fixes
2001-07-03  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/xwd.c: applied patch from Peter Kirchgessner
	<peter@kirchgessner.net> that fixes bug #56830.

	* app/global_edit.c: attach default comment to image created by
	gimp_edit_paste_as_new().

	Both changes merged from stable branch.
2001-07-02 23:18:10 +00:00
Michael Natterer e94f175120 allow a NULL gimage argument for gimp_edit_paste_as_new() (don't set
2001-07-02  Michael Natterer  <mitch@gimp.org>

	* app/global_edit.c: allow a NULL gimage argument for
	gimp_edit_paste_as_new() (don't set resolution and unit).

	* app/disp_callbacks.[ch]
	* app/interface.c: allow dropping of a GimpBuffer (pastes the
	buffer).

	* app/gui/toolbox.c: ditto (creates a new image).
2001-07-02 20:57:58 +00:00
Michael Natterer d81b47ce70 removed GimpFillType.
2001-06-29  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: removed GimpFillType.

	* app/gimprc.c: parse the session-info's new "aux-info" field.

	* app/global_edit.[ch]: removed the old "Paste Named" dialog and
	prefixed all functions with "gimp_".

	* app/core/core-types.h: added GimpFillType.

	* app/core/gimpbrush.[ch]: new signal "spacing_changed".

	* app/gui/Makefile.am
	* app/gui/tools-commands.[ch]: one more file cut out of commands.[ch].

	* app/gui/commands.[ch]: removed the tools stuff here.

	* app/gui/brush-select.[ch]
	* app/gui/dialogs-constructors.c: use the new GimpBrushFactoryView
	(see below).

	* app/gui/dialogs-commands.[ch]
	* app/gui/menus.[ch]:

	- Made it 64bit safe again by passing the dialog factory's
	  identifiers as GQuarks, not as guints created by GPOINTER_TO_UINT().
	- Added a "gchar *quark_string" field to GimpItemFactoryEntry
	  which gets transformed into a GQuark by menus_create_item().
	- Added SEPARATOR() and BRANCH() macros which make the *_entries[]
	  arrays more readable.
	- Added a menu item to show/hide GimpImageDock's image menu.
	- Removed file_last_opened_cmd_callback().

	* app/gui/edit-commands.c: the global_edit functions are "gimp_"
	prefixed now.

	* app/gui/file-commands.[ch]: added file_last_opened_cmd_callback()
	here.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpbrushfactoryview.[ch]: new widget: a
	GimpDataFactory subclass with a "spacing" scale.

	* app/widgets/gimpcontainereditor.[ch]:

	- Connect to the GimpContainerView's "select_item",
	  "activate_item" and "context_item" signals here once instead of
	  in each subclass and dispatch them via new virtual functions.
	- Added a convenience function which makes DND to the buttons much
	  less painful for subclasses.

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdatafactoryview.[ch]: changed accordingly.

	* app/widgets/gimpdialogfactory.[ch]:

	- Added gimp_dialog_factory_dialog_raise() which can raise
	  toplevel dialogs _and_ dockables (and creates them if they are
	  not open yet).
	- Keep track of all created dialogs (not only toplevels).
	- Added an "aux_info" field to GimpSessionInfo which is a GList of
	  gchar* and is saved in sessionrc.
	- Remember if GimpImageDock's image menu is visible by using an
	  aux_info string.
	- The code did not become nicer with all those new constraints. I
	  have to add comments before I forget how it works.

	* app/widgets/gimpdockbook.c: set the state of the "Show Image Menu"
	menu item before popping up the item factory.

	* app/widgets/gimpimagedock.[ch]: added
	gimp_image_dock_set_show_image_meu().

	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/perl/examples/fit-text
	* plug-ins/perl/examples/terral_text
	* plug-ins/perl/examples/tex-to-float: register all text rendering
	plug-ins under <Image>/Filters/Text

	* app/pdb/brush_select_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/enums.pl
	* po/POTFILES.in: changed according to all the stuff above.
2001-06-29 19:25:03 +00:00