Commit Graph

1457 Commits

Author SHA1 Message Date
ccd6e31673 libgimpwidgets: use g_printerr() not g_warning() for wrong icon theme paths 2016-01-04 00:30:51 +01:00
da1b4dac42 libgimpwidgets: missing link library for GetICMProfile() on Win32.
This function is available in gdi32 library.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd316948%28v=vs.85%29.aspx
2015-12-29 18:43:41 +01:00
d4aa39a7cd app, libgimpwidgets, icons: rename mypaint brush icons and help ID
from "mybrush" to "mypaint brush".
2015-12-21 00:09:55 +01:00
a5eff27149 app: add new GimpData subclass GimpMybrush and infrastructure around it
- GimpContext API and property
- a GimpDataFactory
- List and grid views with GimpDataFactoryView
- actions and a context menu

None of this is connected to the actual tool yet, or depends on
libmypaint in any way.
2015-12-20 23:51:44 +01:00
a33daf99fe libgimpcolor: rename RGB and GRAY gimp_color_profile_new_*() functions
to be more consistent, as discussed in bug #756389.
2015-12-15 20:42:21 +01:00
71894bd787 libgimpwidgets: rename gimpstock.[ch] to gimpicons.[ch]
because stock is on its way out, so we better start renaming and
deprecating stuff sooner than later.
2015-12-12 20:44:46 +01:00
69f87bcc84 libgimpwidgets: be smarter when changing icon themes, and have fallbacks
Add gimp_stock_set_icon_theme() which can be called at any time, also
before gimp_stock_init(), in which case we avoid setting the configured
icon theme twice on startup. Call it from libgimp/gimpui.c and
from app/gui/icon-themes.c so the app and plug-ins use the same
icon theme.
2015-12-12 19:32:11 +01:00
5beb69d009 icons: new symbolic icon theme for GIMP.
Images originally created by Jakub Steiner and Barbara Muraus as the
"Art Libre" icon set.
The contributor jEsuSdA later worked on it.
It will now be available in the new icon theme selection through
preferences.
Many icons/size are still missing but this first commit makes a start
for complementary work.
2015-12-09 23:00:14 +01:00
6762bf5b9b Bug 759105 - Patch to add icon theme selection
Add support for custom icon themes much like custom theme
support. There is still work to be done but this is the
basic functionality.
2015-12-09 12:50:15 +01:00
494398e3b8 Bug 756019 - Color pickers UX inconsistencies
Switch the axes of the GimpColorSelect color area so that on the X
axis, we always modify the first of the two channels of RGB or HSV
that are edited here, and on the Y axis the second.
2015-10-08 23:47:16 +02:00
cda4ab7492 libgimpwidgets: argh... 2015-10-08 22:47:32 +02:00
560d481083 libgimpwidgets: some more cleanup in GimpColorSelect 2015-10-08 22:24:13 +02:00
494ec0ace5 libgimpwidgets: change GimpColorSelect's handle positions to double
so we can select more than 256 values on each color channel.
2015-10-08 21:10:33 +02:00
30a86e38b8 libgimpwidgets: slightly redo how GimpPickButton calls its new backends
to make porting to GTK+ 3.x easier, for less diff to the gtk3-port
branch.
2015-10-06 23:44:36 +02:00
1debefb20f Bug 756019 - Color pickers UX inconsistencies
Increase spacing between the HSV and RGB slider groups in
GimpColorScales. Yes there was spacing before, but hardly visible.
2015-10-06 23:39:49 +02:00
a89e1d6d8c libgimpwidgets: fix signal emission in gimppickbutton-default.c
so color picking works again on != OS X ;)
2015-10-06 23:31:21 +02:00
153b19ac56 Only build Quartz-specific color picking code on OS X/Quartz builds 2015-10-04 18:11:16 +02:00
e570eb0be4 Make gimp_pick_button_clicked properly private 2015-10-04 17:14:10 +02:00
0d88399eb8 Bug 753175 - color picker locks down the GUI
The common code relies on X11 pointer grabbing semantics, which does
not work well on OS X. An attempt using event taps also proved
problematic, in particular with regard to setting the mouse cursor.

This patch implements a fully separate code for use on OS X platforms.
It works by simply overlaying the desktop with big transparent windows
on which the mouse cursor is set and motion events are captured. Evil,
but it works.
2015-10-04 16:27:17 +02:00
f6df750714 libgimpwidgets: minor formatting changes in gimpruler.c
to make rebasing this file in gtk3-port a little less painful.
2015-09-27 13:45:13 +02:00
8c02b360fb libgimpwidgets: Disconnect ruler's idle handler in dispose
As discussed on irc, this is more appropriate than finalize because
we shouldn't be making any gtk calls after dispose.
2015-09-06 17:41:09 -04:00
3233a70bae libgimpwidgets: Avoid updating the rulers too often.
Ever since 72617e42b, whenever the user generated a lot of mouse
input, we would constantly queue redraws to the rulers. These redraws
had a higher idle priority than updating the canvas, so we would
rarely get around to canvas updates, which made certain tools
(painting with dynamics, the blend tool) feel very unresponsive.

This fixes it by only redrawing the rulers if the mouse has moved
far from the last location, or if there are no idle handlers with
a priority above LOW.
2015-09-06 17:18:12 -04:00
fd0203ce80 libgimpwidgets: change parameters of gimp_widget_get_color_transform()
Change GimpColorManaged to GimpColorProfile.
2015-09-01 23:40:57 +02:00
0d3978df87 libgimpwidgets: improve the looks of GimpColorProfileView 2015-08-22 22:00:51 +02:00
10e4a261a7 libgimpwidgets: simplify GimpColorProfileChooserDialog's preview widget
There is no need for a frame around a scrolled window, the scrolled
window has the same shadow type API.
2015-08-22 11:20:00 +02:00
72617e42b4 Bug 736411 - Ruler updates cause slowdown when painting
We now avoid drawing rulers in the position property setter and use
gtk's region invalidation instead. Previously, we were basically
redrawing the ruler inside the mouse event handler, which is pure evil.
2015-08-13 11:41:18 -04:00
5672e80ea1 libgimpwidgets: port GimpColorProfileStore and -ComboBox to GFile
and deprecate the old filename-based API. Port everything to use the
new GFile functions.
2015-08-01 16:20:14 +02:00
cbae4cb20a Bug 752377 - Incorrect UTF-8 string for ICC files, Pango error
gimp_color_profile_combo_box_set_active(): don't unref the profile
then use its label (which is owned by the profile). Found by Massimo.
2015-07-16 19:17:38 +02:00
0693298d63 libgimpcolor, *: change all GimpColorConfig getters to return const gchar*
instead of a gchar* which has to be freed. Cache all the strings in
the GimpColorConfig instance.
2015-07-12 14:10:18 +02:00
c102dde92b libgimpcolor, *: change GimpColorProfile to be a GObject
it used to be a typedef to gpointer and actually was a cmsHPROFILE.

Change its API to be more "standard", remove the public close()
function. The object caches both the cmsHPROFILE and the data/length
ICC blob, so conversions between the two become obsolete (simply call
get_lcms_profile() or get_icc_profile()).

Adapt everything to the new API, but port it in a naive way for now,
the code doesn't take advantage of the new possibilities yet (like
refcounting).
2015-07-10 22:53:59 +02:00
16971ff186 libgimpwidgets: formatting cleanup in gimp_widget_get_color_transform() 2015-06-16 23:43:04 +02:00
affef350e7 libgimpwidgets: fix registration of GimpRuler's "unit" property
Install it with the PROP_UNIT id not PROP_LOWER (probably a copy &
paste mess). Spotted by John Cuppit.
2015-06-14 22:57:46 +02:00
3565b33019 libgimpconfig: rename the new GimpColorConfig profile accessor functions
gimp_color_config_get_foo_profile() -> get_foo_color_profile()

because the old names clash with possible future accessors for the raw
filename properties.
2015-06-03 09:57:34 +02:00
4910c28957 libgimpcolor: rename the gimp_lcms_*() functions to gimp_color_profile_*()
because it doesn't make sense to call the typedef GimpColorProfile
but the function namespace gimp_lcms_*().
2015-06-03 09:41:23 +02:00
8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
2dd6d7fa65 libgimpwidgets: remove /* GIMP_DISABLE_DEPRECATED */ from #endif
It seems to confuse gtk-doc.
2015-05-30 21:55:53 +02:00
263fabbb9b libgimpwidgets: simplify gimp_widget_get_color_transform()
Make sure src_profile and dest_profile always exist. Also optimize
things by not returning a transform if the profiles are equal.
2015-05-30 01:07:34 +02:00
d3e11c5b2c modules, libgimpwidgets: use gimp_color_managed_get_color_profile()
which always returns a profile, instead of code that uses the ICC
blob and falls back to GimpColorConfig's profile, then falls back
to the built-in profiles.
2015-05-27 12:53:46 +02:00
4c55f45552 libgimpwidgets: don't try to open non-regular files as ICC profiles
Instead, show proper messages in the profile chooser's preview pane.
2015-05-19 13:12:34 +02:00
d93ed29f45 libgimpwidgets: gimp_widget_get_color_transform: honor display-profile-from-gdk 2015-05-13 01:12:03 +02:00
394bc25be1 libgimpwidgets: return the formats from gimp_widget_get_color_transform()
Turn the src_format and dest_formats into "const Babl **" and make
them return the actually used formats. Change the lcms display module
accordingly.
2015-05-11 00:45:18 +02:00
af84148fed libgimpwidgets: Fix the order of #includes
Otherwise, G_OS_WIN32 and GDK_WINDOWING_QUARTZ will never be
defined by the time we reach the #ifdefs.
2015-05-08 22:53:49 -04:00
f21f6e5a28 libgimpwidgets: add gimp_widget_get_color_transform()
Which returns a GimpColorTransform to transform a GimpColorManaged's
pixels to a GtkWidget's color space, using a GimpColorConfig's
settings. This is *unfinished* API and in the end will enable simple
display color management for the app, libgimp and plug-ins.
2015-05-09 01:20:50 +02:00
6b0b774302 libgimpwidgets: add gimpwidgetsutils.[ch]
Move some functions from libgimpwidgets/gimpwidgets.[ch]
and from app/widgets/gimpwidgets-utils.[ch]. Newly add
gimp_widget_get_color_profile() which is extracted from
modules/display-filter-lcms.c.
2015-05-06 22:15:30 +02:00
6c800db1cc Use the newly added profile utility functions all over the place 2015-05-06 16:38:57 +02:00
957471604f icons, app, libgimpwidgets: use GResource for the compiled-in icons
And a small improvement in cursors/Makefile.am
2015-04-21 21:57:08 +02:00
c72bc50e5d Bug 747057 - Usability issues with GimpFileEntry
Make the "Show in File Manager" button insensitive when the file entry
is empty.
2015-04-15 22:56:19 +02:00
7c36f94f7f cursors,app,libgimpwidgets: include cursors using GResource
instead of deprecated inline pixbufs. Require on gdk-pixbuf >= 2.30.8.
2015-04-14 22:55:10 +02:00
071ede915a app: first draft of GimpMybrushTool, which uses MyPaint brushes 2015-03-30 22:38:34 +02:00
9b6bacc0d8 Bug 723901 - Add open in file manager button in Folders settings
Add the button, using the new gimp_file_show_in_file_manager() API.
2015-03-29 23:52:11 +02:00