Commit Graph

34 Commits

Author SHA1 Message Date
c8c12f2ac1 libgimpwidgets: improve/fix more of GimpMemSizeEntry.
Looking further at this widget, many things are not right. Here are the
changes:
- Use binary prefixes (i.e. kibibyte, mebibyte and gibibyte) instead of
  decimal ones. We are making binary shifts so we were actually showing
  the wrong units.
- Round the value to the closest integer when showing it, not towards 0.
  Otherwise I had cases where it was showing 7GiB for an actual value of
  7.69GiB (default as computed by GIMP from my actual physical memory).
  Note that I am actually unsure even rounding makes sense. Shouldn't we
  rather show double values with a few digits after the decimal points?
  For such values, I think it would make sense.
- Do not edit the internally saved accurate value when the entry is
  edited to the same less accurate value as our saved value would be
  shown too. In particular when changing the display unit to a bigger
  one, we don't want to lose accuracy. This is especially true for low
  values. Say you don't have a lot of memory and you set the Tile cache
  size to 1.5GiB (1536MiB), you certainly don't want it to become either
  1 or 2GiB when switching display unit to GiB. Now even if the number
  will still display with less accuracy, the internal value will stay
  accurate.

(cherry picked from commit d886bb1b90)
2020-08-05 15:43:46 +02:00
35c9e0a213 libgimpwidgets: fix setting GimpMemSizeEntry value with unit change.
This bug doesn't happen when setting value through the GUI as in such
case, the unit never changed. It happened when setting a value which
could not be properly displayed by current unit (typically smaller than
1 in this unit, or with remainder).
In such a case, we should not manually set private->shift before
gimp_int_combo_box_set_active(), or the callback was failing to
reconfigure the GtkAdjustement, in particular min and max values.

As a consequence, hitting a Preferences reset, with a GimpMemSizeEntry
in Gigabytes, it got reset to Kilobytes with the max values capped at
4096. So I realized a Reset ended me with a Tile cache size of 4096 KB
in particular, which is of course ridiculously small and would be a
problem if one doesn't notice the issue immediately.

(cherry picked from commit 0be4e5c1dc)
2020-08-05 15:10:21 +02:00
Ell
2dad85b84f libgimpwidgets, app, plug-ins: use GimpSpinButton everywhere
Replace all direct uses of GtkSpinButton with GimpSpinButton, so
that its modified behavior extends to all our spin buttons.
2019-03-09 07:43:13 -05:00
a88c0ffb93 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
582c6edd54 libgimp*: use some g_clear_object() and g_clear_pointer() 2017-09-03 15:14:51 +02:00
eaea58f5e3 libgimpwidgets: deprecate gimp_spin_button_new()
it should have never been added in the first place. Port all users
to using gtk_spin_button_new() directly.
2014-06-21 22:35:39 +02:00
5fd46384a5 libgimpwidgets: include <gegl.h> in all files that include gimpcolordisplay.h 2013-11-01 22:32:31 +01:00
fe19ad9706 Bug 683694 - Spelling errors
Reworded all places that used to say "allows to".
2012-11-11 15:50:25 +01:00
9c6338900e libgimp*: don't derive from GtkHBox and GtkVBox in libgimp either
I know this is not 100% compatible, but is in fact absolutely safe to
change unless somebody is using the headers in ways that are totally
wrong.
2011-07-27 19:53:34 +02:00
1f7ff98c45 libgimpwidgets: move docs from template files to inline comments
but leave the template file for gimpstock there because its contents
would be too much for gimpstock.h.
2010-07-05 18:01:28 +02:00
3795f9b9c5 libgimpwidgets/gimpchainbutton.c libgimpwidgets/gimpcolorarea.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpcolorscale.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpdialog.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppickbutton.c
	* libgimpwidgets/gimppixmap.c
	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimpruler.c
	* libgimpwidgets/gimpscrolledpreview.c
	* libgimpwidgets/gimpwidgets.c: use accessors for various members
	of GTK+ structures that don't exist any longer when GSEAL_ENABLE
	is defined.


svn path=/trunk/; revision=28190
2009-03-22 15:42:42 +00:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
2531fa76f8 use G_GUINT64_CONSTANT() instead of a cast.
2008-01-06  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c: use G_GUINT64_CONSTANT()
	instead of a cast.


svn path=/trunk/; revision=24542
2008-01-06 00:52:00 +00:00
511579f4ce lower the upper limit for "undo-levels", mainly for getting a smaller
2007-10-18  Sven Neumann  <sven@gimp.org>

	* app/config/gimpcoreconfig.c: lower the upper limit for
	"undo-levels", mainly for getting a smaller entry in the
	Preferences dialog.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_new):
	seven digits are enough for a memsize entry.


svn path=/trunk/; revision=23869
2007-10-18 13:42:13 +00:00
fb095cf281 don't redefine the GimpParasite struct, just use it.
2007-04-12  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpprotocol.[ch] (struct _GPParam): don't redefine
	the GimpParasite struct, just use it.

	* libgimp/gimp.c: include gimpparasite.h.

	* libgimp/gimpitemcombobox.c (gimp_item_combo_box_new): initialize
	combo_box_type to suppress a compiler warning.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_new):
	avoid dereferencing a type-punned pointer.


svn path=/trunk/; revision=22237
2007-04-12 14:32:44 +00:00
6feb7bb82c depend on glib >= 2.10.2, gtk+ >= 2.8.18 and pango >= 1.12.3. Define
2006-07-05  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib >= 2.10.2, gtk+ >= 2.8.18
	and pango >= 1.12.3. Define FOO_DISABLE_DEPRECATED also for
	glib 2.12, gtk+ 2.10 and pango 2.14

	* app/sanity.c
	* app/gui/gui.c: adjusted sanity checks accordingly.

	* app/dialogs/stroke-dialog.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpuimanager.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* plug-ins/helpbrowser/gimpthrobber.c: replace gtk_object_sink()
	by combinations of g_object_ref_sink() and g_object_unref().
2006-07-05 13:40:47 +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
f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
33ae55f873 libgimp/*.c libgimpconfig/*.c libgimpmodule/*.c libgimpthumb/*.c port to
2005-12-20  Michael Natterer  <mitch@gimp.org>

	* libgimp/*.c
	* libgimpconfig/*.c
	* libgimpmodule/*.c
	* libgimpthumb/*.c
	* libgimpwidgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-20 20:35:23 +00:00
3ca90a182e Use the canonical form for signal names in lots of places (but by far not
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names in lots
	of places (but by far not all).
2005-05-27 13:05:26 +00:00
06a84e61ab don't use camel case in memory size identifiers.
2004-10-31  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c: don't use camel case in memory
	size identifiers.
2004-10-31 11:56:14 +00:00
b56eb39ead updated app/actions/makefile.msc app/menus/makefile.msc : (new files)
2004-07-11  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated
	  app/actions/makefile.msc app/menus/makefile.msc : (new files)
	  app/actions/Makefile.msc app/menus/Makefile.am : added to EXTRA_DIST

	* libgimpbase/gimputils.c libgimpwidgets/gimpmemsizeentry.c
	  app/widgets/gimppropwidgets.c : bumped compiler version check,
	msvc6 still can't cast from unsigned __int64 to double

	* app/actions/debug-actions.c : only use debug_*_callback
	and thus debug_action if ENABLE_DEBUG_MENU

	* app/core/gimpalette-import.c : added gimpwin32-io.h

	* plug-ins/common/convmatrix.c : s/snprintf/g_snprintf/

	* plug-ins/common/screenshot.c : make it compile with msvc,
	but still no win32 specific implementation ...
2004-07-11 21:53:17 +00:00
a0e845c8a9 libgimpwidgets/gimpmemsizeentry.c ported to GimpIntComboBox.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c
	* modules/cdisplay_proof.c: ported to GimpIntComboBox.

	* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
	API as deprecated and removed the code here.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
	code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.

	* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.

	* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.

	* app/widgets/gimpwidgets-constructors.c: added a #warning and
	#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
	remaining user of gimp_int_option_menu_new().
2004-04-20 14:37:12 +00:00
0aec8c079e added GIMP_MAX_MEMSIZE, an arbitrary upper limit for memory sizes. It must
2003-11-25  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimplimits.h: added GIMP_MAX_MEMSIZE, an arbitrary
	upper limit for memory sizes. It must be smaller than G_MAXDOUBLE
	since our memsize entry doesn't handle anything larger.

	* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new):
	check against GIMP_MAX_MEMSIZE, not G_MAXDOUBLE.

	* app/config/gimpbaseconfig.c
	* app/config/gimpcoreconfig.c
	* app/config/gimpguiconfig.c: use GIMP_MAX_MEMSIZE instead of
	G_MAXULONG. The latter is larger than G_MAXDOUBLE on 64bit
	machines and caused bug #127908.

	* libgimpwidgets/gimpmemsizeentry.c: added casts to guint64.
2003-11-25 19:45:01 +00:00
b23682bf8e still unacceptable patched to compile without FT2, see bug #113681
2003-11-16  Hans Breuer  <hans@breuer.org>

	* app/text/*.c : still unacceptable patched to compile
	without FT2, see bug #113681

	* **makefile.msc : updated

	* app/config/gimpconfig-dump.c : include gimpwin32-io.h

	* app/plug-in/plug-ins.c : don't depend on g_print handling
	%s with NULL pointers, it doesn't anymore with glib cvs at
	least not on win32

	* app/widgets/gimppropwidgets.c
	  libgimpbase/gimputils.c
	  libgimpwidgets/gimpmemsizeentry.c :
	sorry about the mess, need to work-around a stupi not able
	to cast from guint64 to double

	* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
	avoid 'overflow in floating-point constant arithmetic' by disabling
	an imho alays questionable g_return_val_if_fail() for _MSC_VER only

	* libgimpmodule/gimpmodule.def : sorted

	* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
	definition

	* app/gui/themes.c : filenames in rc files need to be escaped
2003-11-16 21:20:14 +00:00
178c225318 add gimp_int_option_menu_set_history as a wrapper for
2003-11-14  Manish Singh  <yosh@gimp.org>

        * libgimpwidgets/gimpwidgets.[ch]: add gimp_int_option_menu_set_history
        as a wrapper for gimp_option_menu_set_history.

        * app/gui/brush-select.c
        * app/gui/resize-dialog.c
        * app/tools/gimpcurvestool.c
        * app/widgets/gimppropwidgets.c
        * app/widgets/gimplayertreeview.c
        * app/widgets/gimpcolorframe.c
        * libgimpwidgets/gimpmemsizeentry.c
        * modules/cdisplay_colorblind.c: use the above.
2003-11-14 19:02:24 +00:00
4961608004 implementedgimp_int_option_menu_new and gimp_int_radio_group_new, which
2003-11-14  Manish Singh  <yosh@gimp.org>

	* libgimpwidgets/gimpwidgets.[ch]: implementedgimp_int_option_menu_new
	and gimp_int_radio_group_new, which are the same as
	gimp_option_menu_new2 and gimp_radio_group_new2, but they take
	integers as values to map instead of gpointers, which avoids casts
	in pretty much all uses of it in the tree.

	* app/gui/image-commands.c
	* app/gui/offset-dialog.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpwidgets-constructors.c
	* libgimpwidgets/gimpmemsizeentry.c
	* modules/cdisplay_colorblind.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/align_layers.c
	* plug-ins/common/blinds.c
	* plug-ins/common/borderaverage.c
	* plug-ins/common/bumpmap.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/edge.c
	* plug-ins/common/emboss.c
	* plug-ins/common/fractaltrace.c
	* plug-ins/common/gif.c
	* plug-ins/common/hot.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/lic.c
	* plug-ins/common/mail.c
	* plug-ins/common/max_rgb.c
	* plug-ins/common/mblur.c
	* plug-ins/common/mng.c
	* plug-ins/common/mosaic.c
	* plug-ins/common/nlfilt.c
	* plug-ins/common/papertile.c
	* plug-ins/common/pnm.c
	* plug-ins/common/ps.c
	* plug-ins/common/psp.c
	* plug-ins/common/ripple.c
	* plug-ins/common/shift.c
	* plug-ins/common/sinus.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/struc.c
	* plug-ins/common/sunras.c
	* plug-ins/common/tiff.c
	* plug-ins/common/waves.c
	* plug-ins/common/wind.c
	* plug-ins/fits/fits.c
	* plug-ins/flame/flame.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/color.c
	* plug-ins/gimpressionist/orientmap.c
	* plug-ins/gimpressionist/placement.c
	* plug-ins/maze/maze_face.c
	* plug-ins/sgi/sgi.c: Use gimp_int_option_menu_new and
	gimp_int_radio_group_new.

	* plug-ins/common/CML_explorer.c: make function_graph_new take a
	gpointer *data instead of a gpointer data, and properly pass an
	int through it.

	* plug-ins/common/mng.c: mark menu strings for translation.

	* plug-ins/rcm/rcm.c: remove initialization for Success member
	in RcmParams, since it's gone now.
2003-11-14 18:05:39 +00:00
1de9b39f31 changed to use guint64 instead of gulong.
2003-11-14  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.[ch]: changed to use guint64
	instead of gulong.

	* app/core/gimptemplate.c (gimp_template_notify): removed unused
	variable.
2003-11-14 12:29:51 +00:00
6b2e3415c9 fixed a problem with the value being clamped to wrong boundaries when
2003-11-12  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c: fixed a problem with the
	value being clamped to wrong boundaries when setting the value
	prorammatically.
2003-11-12 16:39:11 +00:00
1e0816fa93 minor cleanup.
2003-10-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.c (gimp_config_diff_internal): minor
	cleanup.

	* app/core/gimptemplate.[ch]: added a comment property.

	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: removed "default_comment" property
	and set the default comment on the default image template.

	* app/widgets/gimptemplateeditor.c: added a comment editor widget.

	* app/core/gimp.c
	* app/gui/file-new-dialog.c
	* app/gui/preferences-dialog.c
	* app/pdb/gimprc_cmds.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.

	* libgimpwidgets/gimpmemsizeentry.c (gimp_memsize_entry_init):
	increased spacing between the spinbutton and the menu.
2003-10-15 15:30:11 +00:00
5abd43b81e added a default spacing of two pixels between the entry end the menu.
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c: added a default spacing of
	two pixels between the entry end the menu. Random cleanups.
2003-06-06 18:22:46 +00:00
5031fd61f5 add a tooltip if a param_spec has a non-NULL blurb. Addresses bug #68485.
2003-01-25  Sven Neumann  <sven@gimp.org>

        * app/widgets/gimppropwidgets.c: add a tooltip if a param_spec has
        a non-NULL blurb. Addresses bug #68485.

        * app/config/gimpbaseconfig.c
        * app/config/gimpcoreconfig.c
        * app/config/gimpdisplayconfig.c
        * app/config/gimpguiconfig.c
        * app/config/gimprc-blurbs.h: marked some blurbs as translatable.

        * Makefile.am
        * app/config/Makefile.am: added dist-hooks so the system gimprc
        and gimprc manpage get generated when doing a release.

        * libgimpwidgets/gimpmemsizeentry.[ch]: added the spinbutton to
        the GimpMemsizeEntry struct so we can access it in order to add
        a tooltip.
2003-01-25 20:29:42 +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
8f7f7a21f4 libgimpwidgets/Makefile.am made GimpMemsizeEntry a widget which doesn't
2003-01-05  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpmemsizeentry.[ch]: made GimpMemsizeEntry a
	widget which doesn't use a GtkAdjustment to store the value.  The
	latter caused problems on 64bit machines since a gdouble doesn't
	provide enough precision for G_MAXULONG.

	* libgimpwidgets/gimpwidgets.[ch]
	* libgimpwidgets/gimpwidgetstypes.h
	* app/widgets/gimppropwidgets.c: changed accordingly.
2003-01-05 13:52:14 +00:00