Commit Graph

90 Commits

Author SHA1 Message Date
2bf21338a3 removed more code and cleaned up the API.
2007-05-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsessioninfo.[ch]: removed more code and cleaned
	up the API.

	* app/widgets/Makefile.am
	* app/widgets/gimpsessioninfodock.[ch]: added the removed code here.

	* app/widgets/gimpdialogfactory.c: changed accordingly.


svn path=/trunk/; revision=22604
2007-05-24 20:06:34 +00:00
616ba659f3 removed lots of code...
2007-05-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsessioninfo.[ch]: removed lots of code...

	* app/widgets/Makefile.am
	* app/widgets/gimpsessioninfoaux.[ch]
	* app/widgets/gimpsessioninfobook.[ch]
	* app/widgets/gimpsessioninfodockable.[ch]: ...and added it here.
	Also allocate all structs using GSLice.

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdocked.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimppaletteeditor.c: changed accordingly.


svn path=/trunk/; revision=22603
2007-05-24 19:22:06 +00:00
17f8ab01e6 app/widgets/gimpclipboard.c app/widgets/gimpcontainerview.c allocate
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpclipboard.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdialogfactory.c: allocate structs using 
GSlice.


svn path=/trunk/; revision=22582
2007-05-22 18:08:42 +00:00
e8edf3f408 added new ugly function gimp_dialog_factory_hide_dialog() which does
2007-03-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added new ugly function
	gimp_dialog_factory_hide_dialog() which does gtk_widget_hide() and
	sets the stored visibility state to GIMP_DIALOG_VISIBILITY_INVISIBLE
	in order to avoid re-showing dialogs that were already insivible due
	to TAB-toggling when we gtk_widget_hided them.

	* app/tools/gimptransformtool.c
	* app/tools/gimpimagemaptool.c: use the new function instead of
	gtk_widget_hide() to hide tool dialogs. Fixes bug #414006.


svn path=/trunk/; revision=22111
2007-03-13 22:55:07 +00:00
41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
80bddf14a9 code cleanup; only call gtk_window_present() if called with present ==
2006-05-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factory_dialog_new_internal): code cleanup; only call
	gtk_window_present() if called with present == TRUE.
2006-05-29 16:41:18 +00:00
a5de974a8f One of the following changes fixes a crash on exit when there is a cut
2006-05-21  Michael Natterer  <mitch@gimp.org>

	One of the following changes fixes a crash on exit when there is a
	cut buffer and a clipboard manager is runnig. I don't care which,
	since they are all the right thing to do:

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_finalize):
	don't remove the factory from the hash table of all factories here...

	(gimp_dialog_factory_dispose): ...but here. Use the right key for
	the toolbox factory.

	(gimp_dialog_factories_set_busy)
	(gimp_dialog_factories_unset_busy): check the return value of
	g_type_class_ref() before using it.

	Unrelated:

	(gimp_dialog_factory_dispose): free the list of open dialogs here,
	not in dispose(). Don't leak all the factory's session infos.
2006-05-21 15:32:20 +00:00
6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
5236dc6f13 app/actions/dockable-actions.c app/actions/dockable-commands.[ch]
2006-01-17  Michael Natterer  <mitch@gimp.org>

	* app/actions/dockable-actions.c
	* app/actions/dockable-commands.[ch]
	* app/dialogs/dialogs-constructors.[ch]
	* app/dialogs/dialogs.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/widgets/gimpbrusheditor.[ch]
	* app/widgets/gimpbrushfactoryview.h
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcomponenteditor.[ch]
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainercombobox.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerentry.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainerpopup.[ch]
	* app/widgets/gimpcontainertreeview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpfontview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimppatternfactoryview.[ch]
	* app/widgets/gimppropwidgets.[ch]
	* app/widgets/gimpselectioneditor.[ch]
	* app/widgets/gimpsessioninfo.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimptoolview.[ch]
	* app/widgets/gimpundoeditor.[ch]
	* app/widgets/gimpviewablebox.c
	* app/widgets/gimpviewablebutton.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/widgets/gimpviewrenderer.c: change the word "preview" to
	"view" whereever we talk about GimpView or GimpViewRenderer
	objects or their sizes. Ther were renamed from "Preview" a long
	time ago and we had a preview/view naming mess ever since.
2006-01-17 10:08:50 +00:00
047770d011 added missing cast 2005-12-29 22:05:12 +00:00
b07cbb500f fiddle with the "focus-on-map" window hint to prevent the dialogs from
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factories_show_foreach):
	fiddle with the "focus-on-map" window hint to prevent the dialogs
	from grabbing the focus away from the image window. Fixes bug #167762
	for window managers supporting this hint.

	* app/display/gimpdisplayshell-callbacks.c: removed redundant call
	to gdk_window_focus() that wasn't having the desired effect anyway.
2005-12-29 21:32:46 +00:00
8fec4cd8c1 split gimp_dialog_factories_toggle() into two functions. Turned the
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: split
	gimp_dialog_factories_toggle() into two functions. Turned the
	tri-state into a simple boolean state. Dialogs are now either
	shown or not, without treating the toolbox any special.

	* app/actions/dialogs-commands.c
	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
2005-12-29 20:47:29 +00:00
61df53ec54 port to G_DEFINE_TYPE() and friends. Some related cleanup.
2005-12-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-19 22:37:49 +00:00
93eab43eef Use the canonical form for signal names.
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names.
2005-05-27 16:51:39 +00:00
35b50986ae refactoring.
2005-05-12  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c: refactoring.
2005-05-12 21:21:38 +00:00
9f527b8255 added new function gimp_dockable_blink() which lets the dockable's
2005-01-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added new function
	gimp_dockable_blink() which lets the dockable's title_area blink.

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factory_dialog_new_internal): let wilber blink at the
	user :) Fixes bug #164156.
2005-01-18 15:18:35 +00:00
f571ceebec if called with (ensure_visibility == TRUE), raise the toolbox. Fixes bug
2005-01-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factories_toggle):
	if called with (ensure_visibility == TRUE), raise the toolbox.
	Fixes bug #163381.
2005-01-09 00:08:42 +00:00
a24047788c be more tolerant and silently skip entries that the dialog factory doesn't
2004-11-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpsessioninfo.c: be more tolerant and silently
	skip entries that the dialog factory doesn't recognize.

	* app/widgets/gimpdialogfactory.c: minor cleanup.
2004-11-04 21:02:34 +00:00
6a50c27047 added "name", "blurb", "stock_id" and "help_id" to struct
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.
2004-09-26 18:41:29 +00:00
4a75d7271e Added boolean parameter to gimp_dialog_factories_toggle to make it
2004-09-11  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: Added boolean parameter to
	gimp_dialog_factories_toggle to make it possible to ensure a visible
	toolbox.

	* app/actions/dialogs-commands.c: Use the new parameter to ensure
	toolbox visibility after the last image window closes.

	* app/display/gimpdisplayshell-callbacks.c: Changed accordingly.

	Fixes bug #137057 (the discussion is in bug #152285)
2004-09-11 19:19:26 +00:00
abf395c0cd renamed parameter "gboolean raise_if_found" to "return_existing" and added
2004-09-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factory_dialog_new_internal): renamed parameter
	"gboolean raise_if_found" to "return_existing" and added
	additional parameter "gboolean present".

	(gimp_dialog_factory_dialog_new)
	(gimp_dialog_factory_dialog_raise)
	(gimp_dialog_factory_dockable_new): pass both parameters (passing
	"present" as "raise_if_found" was not quite correct).
2004-09-09 09:02:26 +00:00
ce1370bb2e added a boolean parameter to gimp_dialog_factory_dialog_new() to let the
2004-09-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added a boolean parameter to
	gimp_dialog_factory_dialog_new() to let the caller decide whether
	the window should be presented or not.

	* app/actions/dialogs-commands.c
	* app/actions/image-commands.c
	* app/actions/templates-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/widgets/gimpsessioninfo.c: changed accordingly. Do not let
	gimp_dialog_factory_dialog_new() present the dialog if we need to
	change it after creation. This avoids annoying resizes, noticeable
	especially with the error dialog.
2004-08-31 22:41:15 +00:00
b7f58e163e Renamed GimpPreviewSize to GimpViewSize.
* app/core/core-enums.h: Renamed GimpPreviewSize to GimpViewSize.

* app/core/core-enums.c: Regenerated.

* app/actions/dockable-actions.c

* app/config/gimpcoreconfig.c
* app/config/gimpcoreconfig.h
* app/config/gimpdisplayconfig.c
* app/config/gimpdisplayconfig.h

* app/core/gimpundo.c

* app/display/gimpnavigationeditor.c

* app/gui/dialogs.c
* app/gui/file-open-location-dialog.c

* app/tools/gimppaintoptions-gui.c
* app/tools/gimptextoptions.c

* app/widgets/gimpbrushselect.c
* app/widgets/gimpcontainerpopup.c
* app/widgets/gimpcontainerview.c
* app/widgets/gimpdialogfactory.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpselectioneditor.c
* app/widgets/gimpsessioninfo.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c
* app/widgets/gimpundoeditor.h
* app/widgets/gimpviewablebutton.c: Changed accordingly.
2004-08-29 11:58:05 +00:00
5b83b759d7 set/unset the busy cursor on all windows which have widget->window, not
2004-07-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_set_busy_foreach)
	(gimp_dialog_factories_unset_busy_foreach): set/unset the busy
	cursor on all windows which have widget->window, not only for
	those which are GTK_WIDGET_VISIBLE. Fixes stale busy cursors when
	dialogs are hidden while the busy cursor is active and later shown
	again.
2004-07-12 11:47:54 +00:00
2498adc5f6 added enum GimpCursorFormat which can be one of { BITMAP, PIXBUF,
2004-06-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.[ch]: added enum GimpCursorFormat
	which can be one of { BITMAP, PIXBUF, PIXBUF-PREMULTIPLY } to
	work around broken X servers.

	* app/config/gimpguiconfig.[ch]
	* app/config/gimprc-blurbs.h: added GimpGuiConfig::cursor-format.

	* app/gui/preferences-dialog.c: added a GUI for the new option.

	* app/widgets/gimpcursor.[ch]: added cursor_format parameter
	to gimp_cursor_new() and _set().

	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpdialogfactory.c: pass an appropriate cursor_mode.
2004-06-13 02:08:54 +00:00
de7a940501 app/config/gimpconfig-deserialize.c app/config/gimpscanner.c
2004-05-12  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpscanner.c
	* app/core/gimp-edit.c
	* app/core/gimpchannel-combine.c
	* app/core/gimpcontainer.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-combine.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpprogress.c
	* app/gui/info-dialog.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/plug-in/plug-in.c
	* app/tools/gimpdrawtool.c
	* app/tools/tool_manager.c
	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-save.c
	* libgimp/gimpexport.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimppixmap.c
	* libgimpwidgets/gimpunitmenu.c: replaced G_GNUC_FUNCTION,
	G_GNUC_PRETTY_FUNCTION, G_STRLOC and hardcoded function names in
	g_warning()s by G_STRFUNC.
2004-05-12 08:13:33 +00:00
6f1612db55 made enum GimpDialogVisibilityState and GIMP_DIALOG_VISIBILITY_KEY public.
2004-03-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: made enum
	GimpDialogVisibilityState and GIMP_DIALOG_VISIBILITY_KEY public.

	* app/widgets/gimpsessioninfo.c (gimp_session_info_get_geometry):
	only look at GTK_WIDGET_VISIBLE(info->widget) if the dialog's
	visibility state is GIMP_DIALOG_VISIBILITY_UNKNOWN and map the
	visibility state to info->open otherwise.

	Fixes bug #137076.
2004-03-13 18:19:46 +00:00
6614f8a940 some cleanup while hunting window positioning bugs.
2003-12-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c: some cleanup while hunting
	window positioning bugs.
2003-12-21 21:51:58 +00:00
964c83a82f Fixed intra-session position management for file dialogs and newly created
2003-11-24  Michael Natterer  <mitch@gimp.org>

	Fixed intra-session position management for file dialogs and newly
	created docks:

	* app/widgets/gimpdockable.c (gimp_dockable_detach)
	* app/gui/file-dialog-utils.c (file_dialog_new): don't call
	gtk_window_set_position() on session managed dialogs and docks.

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
	make sure new docks get GDK_HINT_USER_POS set so they remember
	their positions across hide/show.

	* app/widgets/gimpdock.c: removed unused disabled code.
2003-11-24 12:07:29 +00:00
56863fac49 support '|'-separated lists of dialog identifiers and raise any of them if
2003-11-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]
	(gimp_dialog_factory_dialog_raise): support '|'-separated lists of
	dialog identifiers and raise any of them if it is already open, or
	the first dialog in the list otherwise.

	* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
	removed the same functionality here.

	* app/gui/edit-commands.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimptextoptions.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimptoolbox-indicator-area.c: pass lists of dialog
	identifiers to gimp_dialog_factory_dialog_raise().
2003-11-18 12:28:15 +00:00
7e3b14297f app/widgets/gimpdialogfactory.c updated gtk-doc comments.
2003-11-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimptooldialog.c: updated gtk-doc comments.
2003-11-10 23:40:35 +00:00
b62f8e9a75 To be multihead safe, each new window or menu needs to be associated with
2003-11-08  Michael Natterer  <mitch@gimp.org>

	To be multihead safe, each new window or menu needs to be
	associated with a GdkScreen or it will pop up on the default
	screen.

	* libgimpwidgets/gimpquerybox.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooldialog.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/edit-commands.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/templates-commands.[ch]
	* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
	paramaters to all functions which create menus, popups or windows
	and pass "parent" to gimp_dialog_new() or one of the various
	wrappers around it. As a side effect, this fixes bug #61092.

	* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
	instead of "parent" here since there are no possible parent
	windows on startup.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_button_press): added a quick hack to
	send a display to another screen: click the origin button with the
	middle mouse button.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_screen_changed): don't chain up
	undonditionally (don't crash).

	* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
	dialog's screen from a non-GtkWidget parent widget. The rest of
	non-window parent widget handling is still unimplemented.

	* libgimpwidgets/gimpcolorbutton.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/module-browser.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: changed accordingly. Changed all
	menu_position funcs to place the menu on the right screen.
2003-11-08 15:32:38 +00:00
c40a8121bc added a GdkDisplay parameter and added the convenience function
2003-11-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcursor.[ch] (gimp_cursor_new): added a
	GdkDisplay parameter and added the convenience function
	gimp_cursor_set().

	* app/display/gimpdisplayshell-cursor.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpdialogfactory.c: changed accordingly.
2003-11-01 20:53:18 +00:00
2b0c05131f renamed gimp_dialog_factories_idle() and _unidle() to
2003-10-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: renamed
	gimp_dialog_factories_idle() and _unidle() to
	gimp_dialog_factories_set_busy() and _unset_busy().
	Added utility function gimp_dialog_factory_set_widget_data() and
	public API gimp_dialog_factory_from_widget() so we don't need to
	g_object_[set|get]_data() with magic keys all over the place.

	* app/widgets/gimpsessioninfo.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-menu.c
	* app/gui/gui-vtable.c: changed accordingly.

	* app/widgets/gimpsessioninfo.c: remember active page of all dock
	notebooks in sessionrc.

	* app/widgets/gimpsessioninfo.h: cleaned up the session info structs.
2003-10-13 11:57:50 +00:00
87480880c3 Cleaned up session management and changed the format of sessionrc in a way
2003-10-10  Michael Natterer  <mitch@gimp.org>

	Cleaned up session management and changed the format of sessionrc
	in a way that allows extensions without changing the format during
	the 2.0 cycle:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpsessioninfo.[ch]: new files implementing the whole
	GimpSessionInfo stuff (parsing, saving, restoring, utility functions).
	Save / parse the position of GimpDock's panes (bug #122964).

	* app/widgets/gimpdialogfactory.[ch]: removed saving, restoring
	and session related utility functions and use the ones from
	the new files above.

	* app/gui/session.c: removed parsing and use the new stuff.

	* app/widgets/gimpdock.[ch]: added new virtual functions
	GimpDock::set_aux_info() and GimpDock::get_aux_info():

	* app/widgets/gimpimagedock.c: implement them and handle the
	"auto_follow_active" and "show_image_menu" properties.

	* app/widgets/gimpdockable.[ch]: added the same virtual functions
	to the GimpDockable class. Enables forward-compatible per-dockable
	session management (bug #122964).

	* app/gui/dialogs-commands.c
	* app/gui/gui.c: changed accordingly.

	* etc/sessionrc: ditto. Look at this file and update your own
	sessionrc manually if you don't want to lose it.
2003-10-10 15:59:12 +00:00
a8ed5f6bf5 pass the menu_factory of the newly created dock to gimp_dockbook_new(),
2003-09-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_restore_foreach): pass the menu_factory of
	the newly created dock to gimp_dockbook_new(), not the one of the
	dialog_factory we are restoring (doesn't matter since we have only
	one global_menu_factory, but this code should still not do wrong
	things)
2003-09-23 15:58:07 +00:00
56438a7b9b app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2003-09-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpnavigationview.c
	* app/gui/resolution-calibrate-dialog.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpwidgets-utils.c: get the size from the current
	screen, not always from the default one.

	* plug-ins/common/wmf.c: ask GIMP for the monitor resolution instead
	of taking the value from GDK.
2003-09-09 11:35:27 +00:00
f20ea3af76 default to GIMP_TAB_STYLE_PREVIEW. (gimp_dockable_new): fall back to _ICON
2003-09-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_init): default to
	GIMP_TAB_STYLE_PREVIEW.
	(gimp_dockable_new): fall back to _ICON if
	dockable->get_preview_func is NULL.

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_restore_foreach): ditto.
2003-09-02 14:15:39 +00:00
6ef4d95fdb added devel-docs/app.
2003-08-09  Sven Neumann  <neo@bender>

	* configure.in: added devel-docs/app.

	* app/core/gimpitem.c
	* app/widgets/gimpdialogfactory.c: more documentation fixes.

2003-08-09  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* app: added a first version of docs for the application. The
	templates are not yet in CVS and it's not built by default (and
	probably never will be).
2003-08-09 16:46:02 +00:00
2dbb388024 app/config/gimpconfig-deserialize.c app/config/gimpconfig-serialize.c
2003-08-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig.c
	* app/config/gimprc.c
	* app/core/gimpitem.[ch]
	* app/display/gimpprogress.[ch]
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpenummenu.c
	* app/widgets/gimpfontselection.c
	* app/widgets/gimpwidgets-utils.c: documentation fixes.
2003-08-08 19:30:23 +00:00
c1921c104a added a hack that ensures that the toolbox is always first in all
2003-07-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdialogfactory.c: added a hack that ensures that
	the toolbox is always first in all dialog_factories_foreach calls.
	This way the toolbox appears first in sessionrc and first on screen.

	* etc/sessionrc: updated the sample sessionrc, tweaked it a little.
2003-07-08 16:24:00 +00:00
6fabca2e17 Added configurable styles for dockable tabs (fixes bug #87376):
2003-07-08  Michael Natterer  <mitch@gimp.org>

	Added configurable styles for dockable tabs (fixes bug #87376):

	* app/widgets/widgets-enums.[ch]: added new enum GimpTabStyle
	which can be one on { ICON, NAME, ICON_NAME, ICON_BLURB }.

	* app/widgets/gimpdockable.[ch]: added a GimpTabStyle member to
	the GimpDockable struct which defaults to GIMP_TAB_STYLE_ICON.
	Renamed "short_name" to "name" and "name" to "blurb". Renamed
	GimpDockableGetTabFunc to GimpDockableGetIconFunc. Implemented all
	tab styles in gimp_dockable_real_get_tab_widget() and use the
	"get_icon_func" only for creating the tab's icon, not the entire
	tab widget.

	* app/widgets/gimpdockbook.[ch]: changed accordingly. Create the
	menu widgets and the DND icon using gimp_dockable_get_tab_widget()
	with tab_style == GIMP_TAB_STYLE_ICON_BLURB instead of duplicating
	tons of code. Made gimp_dockbook_get_tab_widget() public because
	it's needed for exchanging tabs on-the-fly.

	* app/widgets/gimpimagedock.c: changed accordingly.

	* app/widgets/gimpdialogfactory.c: remember the dockables' tab
	style in sessionrc.

	* app/gui/dialogs-menu.c: added a submenu to select the tab style
	for each dockable.

	* app/gui/dialogs-commands.[ch]: new callback
	dialogs_tab_style_cmd_callback().

	* app/gui/dialogs-constructors.[ch]: added stock_ids to all
	dockables, swapped the "name" and "blurb" parameters, reordered
	functions, cleanup.

	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: use GIMP_STOCK_DEFAULT_COLORS for the
	color editor dockable and renamed it to "FG/BG Color".
2003-07-08 15:07:56 +00:00
95f8fca15e set GDK_HINT_USER_POS for all session managed dialogs, not only for those
2003-05-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c: set GDK_HINT_USER_POS for all
	session managed dialogs, not only for those which already have
	saved session info. This way the dialogs keep their position
	acrosss hide/show within the same session, even if they have never
	been used before.

	* app/gui/dialogs.c: added entries for the file open/save dialogs.
	Fixed some entries.

	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: register the file dialogs with
	the dialog factory.
2003-05-03 23:02:26 +00:00
fefaf61b28 added new function gimp_dialog_factory_add_foreign() which adds a dialog
2003-05-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added new function
	gimp_dialog_factory_add_foreign() which adds a dialog that was not
	created by the factory itself. Its identifier however must be
	registered with the factory. Connect to all toplevel dialogs'
	"configure_event" and remember the resulting window geometry so we
	get session management for *all* dialogs, not only for those which
	were open on exit.

	* app/gui/dialogs.c: added the "File New" dialog. Added foreign
	entries (without constructor) for all dialogs opened by tools.

	* app/gui/dialogs-constructors.[ch]: added a constructor for
	the file_new dialog.

	* app/gui/file-new-dialog.[ch]: renamed file_new_dialog_create()
	to file_new_dialog_new() and removed the gimage and template
	paramaters. Adder new function file_new_dialog_set() to set
	gimage and template after creation.

	* app/gui/file-commands.c
	* app/gui/templates-commands.c: changed accordingly.

	* app/tools/gimpimagemaptool.[ch]
	* app/tools/gimptransformtool.[ch]: added
	"const gchar *shell_identifier" to the tool structs. Register the
	tool dialogs using gimp_dialog_factory_add_foreign().

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpthresholdtool.c: set "shell_identifier" so the
	dialogs become session managed. Fixes bug #61091.

	* app/tools/gimpcroptool.c: register the crop dialog with the
	dialog factory. Fixes bug #52849.

	* app/tools/gimpcolorpickertool.c: ditto.

	Unrelated:

	* app/tools/gimptool.c: no need to cast the return value of
	g_object_new().
2003-05-02 18:43:15 +00:00
3ab2e64809 removed gimp_scanner_parse_string_list() since the format it read wasn't
2003-03-10  Sven Neumann  <sven@gimp.org>

	* app/config/gimpscanner.[ch]: removed gimp_scanner_parse_string_list()
	since the format it read wasn't proper s-expressions syntax.

	* app/config/gimpconfigwriter.c: a couple of minor cleanups.

	* app/gui/color-history.[ch]
	* app/gui/session.c
	* app/widgets/gimpdialogfactory.[ch]: use GimpConfigWriter to
	write the sessionrc. Had to do some minor changes to the file
	format.
2003-03-10 19:01:07 +00:00
28da5054ad app/widgets/gimpdialogfactory.c removed GDK_HINT_USER_POS and
2003-01-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimptoolbox.c: removed GDK_HINT_USER_POS and
	GDK_HINT_USER_SIZE again because they caused problems with
	some window managers Instead, set the window's size with
	gtk_window_parse_geometry().
2003-01-11 02:18:18 +00:00
8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
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.
2003-01-10 17:55:53 +00:00
1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
78b4a1df9d app/widgets/gimpbrushfactoryview.c app/widgets/gimpcontainereditor.c
2003-01-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerlistview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemlistview.c: check preview sizes to be
	smaller than GIMP_PREVIEW_MAX_SIZE instead of using a hardcoded
	and much too small value of 64.

	* app/widgets/gimpdialogfactory.c: check that the preview size is
	in range of the GimpPreviewSize enum when parsing the sessionrc.
2003-01-04 18:47:55 +00:00
4bb66b59cc app/widgets/gimpdialogfactory.c convince more window managers to actually
2003-01-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimptoolbox.c: convince more window managers to
	actually use the specified window positions/sizes by adding
	GDK_HINT_USER_POS and GDK_HINT_USER_SIZE to the windows'
	geometry hints.
2003-01-03 15:56:34 +00:00