1. 28 Jan, 2004 1 commit
    • Michael Natterer's avatar
      Added infrastructure to make sure we don't write to the global brush, · 894cf70d
      Michael Natterer authored
      2004-01-28  Michael Natterer  <mitch@gimp.org>
      	Added infrastructure to make sure we don't write to the global
      	brush, pattern etc. directories. Needed to make this configurable
      	because we can't rely on the global directories being read-only,
      	having certain names or being otherwise detectable at runtime in a
      	sane way. Fixes bug #132214.
      	* libgimpbase/gimpdatafiles.[ch]: added "const gchar *dirname" to
      	the GimpDataFileData struct so callbacks don't need to call
      	g_path_get_dirname() for each file.
      	* libgimpwidgets/gimpfileentry.c: made it work with non UTF-8
      	encoded filenames.
      	* libgimpwidgets/gimppatheditor.[ch]: ditto. Added GUI and API for
      	setting/getting a second "writable_path". The widget makes sure
      	that the writable_path is always a subset of the path.
      	* app/config/gimpconfig-utils.[ch]: added new function
      	* app/config/gimpcoreconfig.[ch]: added separate properties for
      	the writable brush, pattern, gradient, palette and font paths.
      	* app/config/gimprc-blurbs.h: added (still empty) blurbs for the
      	new properties.
      	* app/core/gimpdata.[ch] (gimp_data_set_filename): added parameter
      	"gboolean writable". Set data->writable to FALSE by default. If
      	"writable" is passed as TRUE, still check if we can write to the
      	file before setting data->writable to TRUE.
      	(gimp_data_create_filename): changed "data_path" parameter to
      	"dest_dir" and assume dest_dir is writable.
      	(gimp_data_duplicate): set data->dirty to TRUE to make sure
      	duplicated things will be saved.
      	* app/core/gimpbrush.c
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpbrushpipe.c
      	* app/core/gimpgradient.c
      	* app/core/gimppalette.c
      	* app/core/gimppattern.c: don't set the data's filename and don't
      	touch data->dirty in the _load() functions because that's done by
      	the data factory now. Don't touch data->dirty in the _duplicate()
      	functions because that's done by gimp_data_duplicate() itself now.
      	* app/core/gimpdatafactory.[ch] (gimp_data_factory_new): added
      	"writable_property_name" and remember it.
      	Added utility function gimp_data_factory_get_save_dir() which
      	determines the directory to save new datas to.
      	Added public function gimp_data_factory_data_save_single() which
      	saves a single data object.
      	Make sure new things get saved to the first writable directory
      	as specified in preferences.
      	* app/core/gimp.c (gimp_real_initialize): pass the writable_paths'
      	property names to gimp_data_factory_new().
      	* app/widgets/gimpdataeditor.c (gimp_data_editor_save_dirty): use
      	gimp_data_factory_data_save_single() instead of implementing
      	saving here.
      	* app/widgets/gimppropwidgets.[ch] (gimp_prop_path_editor_new):
      	added "const gchar *writable_property_name" parameter (can be
      	Added the needed callbacks to handle the writable_path and made
      	the path_editor and file_entry code aware of non UTF-8 filename
      	encodings. Some general cleanup.
      	* app/gui/preferences-dialog.c: changed accordingly.
  2. 04 Nov, 2003 1 commit
    • Sven Neumann's avatar
      register a log handler for the Gimp-Text domain. · ec220279
      Sven Neumann authored
      2003-11-05  Sven Neumann  <sven@gimp.org>
      	* app/app_procs.c: register a log handler for the Gimp-Text domain.
      	* app/text/gimpfont.c: code cosmetics.
      	* app/text/gimptext-compat.c: removed debugging output.
      	Let GIMP work w/o any fonts. Of course you won't get any text
      	functionality then:
      	* app/text/gimpfontlist.c: don't install any font aliases if no
      	fonts were found.
      	* app/text/gimptextlayer.c: refuse to render any text layers when
      	the GIMP fonts list is empty.
      	* app/tools/gimptexttool.c: removed redundant includes.
      	* app/tools/gimptextoptions.c: removed the font selection widget.
      	This is a temporary regression that will be cured by improving the
      	GimpFontView widget.
      	* app/widgets/Makefile.am
      	* app/widgets/gimpfontselection-dialog.[ch]
      	* app/widgets/gimpfontselection.[ch]
      	* app/widgets/gimppropwidgets.[ch]: removed the font selection and
      	all references to it. Fixes bug #119267.
  3. 23 Oct, 2003 1 commit
  4. 01 Oct, 2003 1 commit
    • Sven Neumann's avatar
      renamed gimp_prop_size_entry_connect() to gimp_prop_coordinates_connect(). · ef94033e
      Sven Neumann authored
      2003-10-01  Sven Neumann  <sven@gimp.org>
      	* app/widgets/gimppropwidgets.[ch]: renamed
      	gimp_prop_size_entry_connect() to gimp_prop_coordinates_connect().
      	Added a new property widget that is a single GimpSizeEntry and is
      	connected to size and unit properties.
      	* app/widgets/gimptemplateeditor.c: changed accordingly.
      	* app/widgets/gimpstrokeeditor.c: added a "resolution" property
      	and use the new property widget.
      	* app/gui/stroke-dialog.c: pass the image resolution to
  5. 07 Jul, 2003 1 commit
    • Michael Natterer's avatar
      app/gui/Makefile.am removed... · 878ee7b0
      Michael Natterer authored
      2003-07-07  Michael Natterer  <mitch@gimp.org>
      	* app/gui/Makefile.am
      	* app/gui/device-status-dialog.[ch]: removed...
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpdevicestatus.[ch]: ...added here as widget. The
      	thing is narrower now but not nicer and needs some polishing.
      	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_color_area_new()
      	and gimp_prop_stock_image_new() (the latter is still unused).
      	* app/gui/dialogs-constructors.[ch]
      	* app/gui/dialogs.c: made the device status a dockable.
      	* app/gui/dialogs-menu.c
      	* app/gui/image-menu.c
      	* app/gui/toolbox-menu.c: changed accordingly.
      	* app/gui/gui.c: update the device status dialog indirectly now
      	using the new gui_device_change_notify() callback.
  6. 03 Apr, 2003 1 commit
    • Michael Natterer's avatar
      Added preliminary support for image templates. Not finished yet. Addresses · a018b06a
      Michael Natterer authored
      2003-04-03  Michael Natterer  <mitch@gimp.org>
      	Added preliminary support for image templates. Not finished
      	yet. Addresses bug #96059. Now we need a volunteer to create
      	a nice collection of default templates...
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimptemplate.[ch]
      	* app/core/gimp-templates.[ch]: new files implementing the new
      	GimpTemplate object and the list of available image templates.
      	* app/core/gimp.[ch]: keep a container of templates around.
      	* app/core/gimpimage-new.[ch]: ported to use GimpTemplate. Removed
      	struct GimpImageNewValues.
      	* app/widgets/gimpcontainermenuimpl.c: changed to show the
      	"(none)" item for a NULL selection also, not only for an empty
      	* app/widgets/gimppropwidgets.[ch]: added
      	gimp_prop_size_entry_connect() which connects an externally
      	created GimpSizeEntry to object properties. Fixed the size entry
      	code to actually work.
      	* app/gui/image-menu.c
      	* app/gui/file-commands.[ch]: added "Save as Template" which
      	creates a new template from any image's properties.
      	* app/gui/file-new-dialog.c: use prop_widgets and GimpTemplate.
      	Offer the available templates in a menu at the top of the dialog.
  7. 24 Mar, 2003 1 commit
    • Michael Natterer's avatar
      register GimpPaintApplicationMode with the type system. · c40a6f99
      Michael Natterer authored
      2003-03-24  Michael Natterer  <mitch@gimp.org>
      	* app/paint/paint-enums.[ch]: register GimpPaintApplicationMode
      	with the type system.
      	* app/paint/gimppaintoptions.[ch]: replaced "gboolean incremental"
      	with "GimpPaintApplicationMode application_mode"
      	* app/paint/gimpairbrush.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/paint/gimppencil.c: changed accordingly.
      	* tools/pdbgen/pdb/paint_tools.pdb: ditto. Set all paint options
      	values using g_object_set().
      	* app/widgets/gimppropwidgets.[ch]: added
      	gimp_prop_enum_check_button_new() which can represent two
      	specified enum values and renders itself "inconsistent" for all
      	other values.
      	* app/tools/paint_options.c: use it for the "Incremental" toggle.
      	* app/pdb/paint_tools_cmds.c
      	* tools/pdbgen/enums.pl: regenerated.
  8. 19 Feb, 2003 1 commit
  9. 18 Feb, 2003 1 commit
    • Michael Natterer's avatar
      added gimp_prop_preview_new(). · 89297805
      Michael Natterer authored
      2003-02-18  Michael Natterer  <mitch@gimp.org>
      	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_preview_new().
      	* app/tools/gimpblendoptions.c
      	* app/tools/paint_options.c: use it.
  10. 07 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Added object properties for almost all tool_options values and registered · eeec3ced
      Michael Natterer authored
      2003-02-07  Michael Natterer  <mitch@gimp.org>
      	Added object properties for almost all tool_options values
      	and registered lots of enums with the type system:
      	Part I (enum and type cleanup):
      	* app/core/core-enums.[ch]
      	* app/core/core-types.h: removed InternalOrientaionType and
      	register GimpOrientationType. Register GimpChannelOps.
      	Removed GimpToolOptionsGUIFunc.
      	* app/xcf/xcf-private.h: added XcfOrientationType with the
      	same values as the old InternalOrientationType
      	* app/xcf/xcf-load.c
      	* app/xcf/xcf-save.c: translate between GimpOrientationType and
      	* app/core/gimpdrawable-transform-utils.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-duplicate.c
      	* app/core/gimpimage-guides.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-scale.c
      	* app/core/gimpimage.h
      	* app/display/gimpdisplayshell.c
      	* tools/pdbgen/stddefs.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
      	* app/pdb/guides_cmds.c
      	* app/pdb/transform_tools_cmds.c
      	* libgimp/gimpenums.h
      	* libgimpproxy/gimpproxytypes.h
      	* plug-ins/script-fu/script-fu-constants.c
      	* tools/pdbgen/enums.pl: regenerated.
      	* libgimptool/gimptoolenums.[ch]: added GimpTransformGridType.
      	* libgimptool/gimptooltypes.h: removed GimpToolOptionsResetFunc,
      	added GimpToolOptionsGUIFunc.
      	Part II (tool options changes):
      	* app/config/gimpconfig-utils.c (gimp_config_reset_properties):
      	don't reset object properties because they have NULL as default
      	* app/widgets/gimppropwidgets.[ch]: added
      	gimp_prop_paint_mode_menu_new() and gimp_prop_scale_entry_new(),
      	which are all needed by the new tool options GUI code.
      	* app/tools/tool_options.[ch]: removed the "reset_func" since
      	the virtual reset() method is used now.
      	* app/paint/gimpairbrushoptions.[ch]
      	* app/paint/gimpcloneoptions.[ch]
      	* app/paint/gimpconvolveoptions.[ch]
      	* app/paint/gimpdodgeburnoptions.[ch]
      	* app/paint/gimperaseroptions.[ch]
      	* app/paint/gimppaintoptions.[ch]
      	* app/paint/gimpsmudgeoptions.[ch]: added properties all over the
      	place and removed the widget and default_value members from
      	the structs. Renamed some values (e.g. s/type/clone_type/).
      	Don't #include <gtk/gtk.h>.
      	* app/paint/gimpairbrush.c
      	* app/paint/gimpclone.c
      	* app/paint/gimpconvolve.c
      	* app/paint/gimpdodgeburn.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/paint/gimppaintcore-stroke.c
      	* app/paint/gimppaintcore.c
      	* app/paint/gimppencil.c
      	* app/paint/gimpsmudge.c
      	* app/paint/paint-types.h
      	* app/paint/paint.c: changed accordingly. Don't #include <gtk/gtk.h>.
      	* tools/pdbgen/pdb/paint_tools.pdb: changed accordingly.
      	* app/pdb/paint_tools_cmds.c: regenerated.
      	* app/tools/gimpblendoptions.[ch]
      	* app/tools/gimpbucketfilloptions.[ch]
      	* app/tools/gimpcolorpickeroptions.[ch]
      	* app/tools/gimpcropoptions.[ch]
      	* app/tools/gimpflipoptions.[ch]
      	* app/tools/gimpinkoptions.c
      	* app/tools/gimpmagnifyoptions.[ch]
      	* app/tools/gimpmeasureoptions.[ch]
      	* app/tools/gimpmoveoptions.[ch]
      	* app/tools/gimptextoptions.c
      	* app/tools/paint_options.[ch]
      	* app/tools/selection_options.[ch]
      	* app/tools/transform_options.[ch]: ditto: added properties and
      	removed widget and default_value stuff. Removed most reset functions.
      	Use gimp_prop widgets all over the place, renamed some values
      	as above.
      	* app/tools/Makefile.am
      	* app/tools/gimpairbrushtool.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpconvolvetool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpdodgeburntool.c
      	* app/tools/gimperasertool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimpselectiontool.c
      	* app/tools/gimpsheartool.c
      	* app/tools/gimpsmudgetool.c
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpvectoroptions.c: changed accordingly. Ported
      	the paint_options GUI constructors to gimp_prop widgets.
      	* app/widgets/gimpselectioneditor.c
      	* app/gui/tool-options-dialog.c: changed accordingly.
  11. 05 Feb, 2003 1 commit
    • Sven Neumann's avatar
      added some blurbs that will show up as tooltips in the text tool options. · 87b133f8
      Sven Neumann authored
      2003-02-05  Sven Neumann  <sven@gimp.org>
      	* app/text/gimptext.c: added some blurbs that will show up as
      	tooltips in the text tool options. Tweaked default values.
      	* app/text/gimptextlayout.c (gimp_text_layout_position): if
      	gravity is none (the default), position the layout according to its
      	* app/widgets/gimpenummenu.[ch]: added new functions that create a
      	hbox of radio buttons with icons from an enum type.
      	* app/widgets/gimppropwidgets.[ch]: added a property widget
      	constructors for the new enum_stock_box.
  12. 03 Feb, 2003 2 commits
    • Sven Neumann's avatar
      app/display/gimpdisplayshell-selection.[ch] app/tools/gimpblendtool.c · 2c708aca
      Sven Neumann authored
      2003-02-04  Sven Neumann  <sven@gimp.org>
      	* app/display/gimpdisplayshell-selection.[ch]
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimplevelstool.c
      	* app/tools/gimpthresholdtool.c
      	* app/tools/gimptransformtool.c: misc trivial changes and cleanup.
      	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_unit_menu_new()
      	and removed the scale widget again.
      	* app/tools/gimptexttool.c: replaced the size scale entry with a
      	spinbutton and made the unit menu working.
      	* app/text/gimptext.c: increased the upper boundary for the font
      	size again now that we don't use a scale any longer.
    • Sven Neumann's avatar
      changed the text used in the preview. · 4fb5ca6a
      Sven Neumann authored
      2003-02-03  Sven Neumann  <sven@gimp.org>
      	* app/widgets/gimpfontselection-dialog.c: changed the text used in
      	the preview.
      	* app/widgets/gimpfontselection.[ch]: removed the yes/no image
      	that used to signal a valid font but stopped working a long time
      	* app/widgets/gimppropwidgets.c: added a property widget for fonts.
      	* app/tools/gimptexttool.c: use the new prop_widget.
  13. 01 Feb, 2003 1 commit
    • Sven Neumann's avatar
      app/config/gimpconfig.[ch] added a reset method to GimpConfigInterface. · 47f2a7f8
      Sven Neumann authored
      2003-02-01  Sven Neumann  <sven@gimp.org>
      	* app/config/gimpconfig.[ch]
      	* app/config/gimpconfig-utils.[ch]: added a reset method to
      	GimpConfigInterface. Added the new function gimp_config_reset()
      	* app/text/gimptext.c: added a GimpConfigInterface to GimpText.
      	* app/widgets/Makefile.am
      	* app/widgets/gimptexteditor.[ch]: new files that hold the simple
      	text editor dialog used by the text tool.
      	* app/widgets/gimppropwidgets.[ch]: added new widget constructor
      	* app/tools/gimptexttool.[ch]: replaced old-style ToolOptions with
      	a GimpText object. Connect text layers to the text tool by means
      	of their GimpText objects. Still work in progress ...
  14. 29 Jan, 2003 1 commit
  15. 23 Nov, 2002 1 commit
    • Michael Natterer's avatar
      removed gimp_config_values_equal(). · 4ce4adf8
      Michael Natterer authored
      2002-11-23  Michael Natterer  <mitch@gimp.org>
      	* app/config/gimpconfig-utils.[ch]: removed
      	* app/config/gimpconfig-serialize.c
      	* app/config/gimpconfig.c: use g_param_values_cmp() instead so
      	our registered compare methods are used.
      	* app/config/gimpdisplayconfig.[ch]: added "canvas_padding_mode"
      	and "canvas_padding_color" properties.
      	* app/display/display-enums.[ch]: added enum GimpDisplayPaddingMode
      	which can be one of { theme, light check, dark check, custom }.
      	* app/display/gimpdisplay.h
      	* app/display/gimpdisplay-handlers.c: removed cached monitor
      	resolution values...
      	* app/display/gimpdisplayshell.[ch]: ...and added them here. Added
      	padding state as in GimpDisplayConfig. Added utility function
      	gimp_display_shell_set_padding() which hides all the details.
      	Added the new padding modes to the padding color button's context
      	* app/display/gimpdisplayshell-callbacks.[ch]: don't fiddle
      	with colors manually but use gimp_display_shell_set_padding()
      	in realize() and in the color button callbacks.
      	* app/display/gimpdisplayshell-handlers.c: connect to
      	notify::monitor-[xy]resolution and
      	notify::canvas-padding-[mode|color] and update accordingly.
      	* app/widgets/gimppropwidgets.[ch]: added
      	* app/widgets/gimpdialogfactory.[ch]: added
      	gimp_dialog_factories_session_clear() (unimplemented).
      	* app/gui/preferences-dialog.c: added widgets for padding mode and
      	color. Removed some callbacks by connecting the functions they
      	called directly. Cleanup.
  16. 22 Nov, 2002 1 commit
  17. 20 Nov, 2002 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am new files containing constructors for views on · 0005b5d2
      Michael Natterer authored
      2002-11-20  Michael Natterer  <mitch@gimp.org>
      	* app/widgets/Makefile.am
      	* app/widgets/gimppropwidgets.[ch]: new files containing
      	constructors for views on GObject properties.
      	* app/gui/Makefile.am: the build preferences-dialog again.
      	* app/gui/dialogs-constructors.c
      	* app/gui/dialogs.c
      	* app/gui/menus.c: added it back to the dialog system (as a non
      	signleton to get the new model <-> view stuff some testing).
      	* app/gui/preferences-dialog.c: here it is again, using property
      	view widgets. Lots of stuff removed & simplified. Some things
      	still #if 0'ed and/or non-working. No saving yet, stuff...