Michael Natterer
acd3a6f169
Clean up color selector styling
...
- remove redundant frames, 3d-frames are gone anyway, so no need to
keep double out/in frames around
- give all color selector classes CSS names
- add/fix some theme CSS styles
2018-06-24 15:41:04 +02:00
Michael Natterer
2b8b780b6a
app, libgimpwidgets: all GimpColorHexEntries should have the same tooltip
...
Set the tooltip in GimpColorHexEntry itself and remove all other
tooltip setting. This just moves the translatable string sround in
libgimpwidgets/, and even removes it from app/.
2018-06-24 14:19:25 +02:00
Michael Natterer
a04f2f3b3a
libgimpwidgets: remove unused variable in GimpColorButton
2018-06-20 12:41:38 +02:00
Michael Natterer
60dfc45700
libgimpwidgets: finish GimpColorScale undeprecation, and lots of cleanup
...
- derive it from GtkScale not GtkRange so we get the keybindings again
- remove scroll_event() implementation, the parent class does the right
thing now
- remove lots of magic size calculation code about focus and borders
and whatnot
- instead, style its CSS nodes using a hardcoded CSS provider and simply
"know" the size of the slider in draw(), did this in code instead of
the theme CSS because we do pretty evil things here and we don't want
theme authors to think they can change much about it
2018-06-20 12:41:38 +02:00
Michael Natterer
5674e31850
Generate icon resources where they are needed, and don't include .c files
...
Treat the gimp-core-pixbufs and gimp-icon-pixbufs resources like we
changed the cursor resources before, and clean out a lot of cruft from
icons/ (there is no need to generate stuff in all icon themes when we
include only one fallback icon from one theme).
2018-06-13 20:02:05 +02:00
Michael Natterer
8d66e7eaa1
libgimpwidgets: improve gimp_scroll_adjustment_values()
...
so it works for very small adjustment page sizes. Same as GTK+ commit
c0ba041c73214f82d2c32b2ca1fa8f3c388c6170
2018-06-13 15:22:51 +02:00
Michael Natterer
007bc5d8ae
libgimpwidgets: pack the cells in GimpPageSelector's icon view manually
...
See previous commit.
2018-06-12 18:32:21 +02:00
Michael Natterer
8d6f023b41
Issue #1435 - Add tooltips to GimpColorNotebook's tabs
2018-06-08 19:44:29 +02:00
Michael Natterer
b75cbcb417
libgimpwidgets: install gimpbusybox.h as public header
2018-06-08 18:58:04 +02:00
Michael Natterer
b36205176e
app, libgimp*: remove the config option to disable tooltips
...
Also remove all traces of it from the plug-in protocol and raise the
protocol version to 0x0100 (we now allow features and therefore
version bumps in stable, and the master protocol version should always
be higher). Fix the code that aborts plug-in startup on protocol
version mismatch, we can't use gimp_message() because we have no
protocol.
2018-06-06 19:23:30 +02:00
Ell
8d35299410
libgimpwidgets: add exponentiation support to eevl
...
Add support for exponentiation (using the ^ operator) to eevl.
This is occasionally useful, e.g., in geometrically-derived
quantities involving square roots.
2018-06-01 10:53:06 -04:00
Michael Natterer
1b7d63cce9
Use g_set_object() in a lot of places, and splrinkle some g_clear_object()
2018-06-01 12:59:52 +02:00
Ell
f847796943
app, libgimpwidgets: add generated cursor files to CLEANFILES
...
Needed after commit a9592a59c8
.
2018-05-31 02:56:07 -04:00
Jehan
0ac3cd01f0
libgimpwidgets: fix default icon.
...
gtk_window_set_default_icon_name() apparently isn't able to properly
fallback to symbolic or non-symbolic variant. So let's test both.
There is also gtk_window_set_icon_list() but it takes a list of pixbuf,
so I really doubt it is the best solution either. The proposed solution
is working ok for now, even though I feel it is again a bit hackish.
2018-05-30 23:52:24 +02:00
Jehan
f3347d6961
libgimpwidgets: making GimpCellRenderer symbolic and DPI aware.
...
This commit makes 2 improvements to this renderer. First it will allow
it to find symbolic variants of icons. Second it properly renders icons
when the display is scaled, by producing pixbuf size double to logical
drawing size and making cairo rendering it at the expected logical size.
2018-05-30 16:16:32 +02:00
Michael Natterer
0f484ed3d5
libgimpwidgets: remove all size negotiation/allocation code from GimpFrame
...
Let GtkFrame handle things and simply set "spacing" and "indent" as
left and top margins on the frame's child.
This fixes all tests \o/
2018-05-30 00:37:15 +02:00
Ell
000fd8e69b
libgimpwidgets: add GimpBusyBox
...
GimpBusyBox is used to show a message indicating an operation is in
progress. It's basically just a spinner and a label, with some
styling.
We're going to use it both in app/ and in a plug-in.
2018-05-29 16:04:28 -04:00
Michael Natterer
2f425f0e2a
libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values()
2018-05-29 00:04:31 +02:00
Michael Natterer
a9592a59c8
Merge request 4 - Generated .c sources are used as headers...
...
...Generate .h files instead.
Generate proper .c and .h files for color-picker and tool cursors in
the directories where they are built, and stop including them in other
.c files.
2018-05-28 17:25:18 +02:00
Michael Natterer
7fab74f431
libgimpwidgets: use G_DEFINE_ABSTRACT_CLASS for preview classes
2018-05-28 17:24:58 +02:00
Michael Natterer
7990b1d57c
libgimp: update all .def files
2018-05-25 22:13:33 +02:00
Michael Natterer
d57ab7faf2
libgimpwidgets: move all GimpSizeEntry members to private
2018-05-25 19:15:00 +02:00
Michael Natterer
080f7ae909
libgimpwidgets: undeprecate GimpNumberPairEntry and style the font with CSS
2018-05-21 19:31:15 +02:00
Michael Natterer
ee62c7e92c
libgimpwidgets: undeprecate GimpScrolledPreview
2018-05-21 14:07:40 +02:00
Michael Natterer
ed023bf05e
libgimpwidgets: undeprecate insensitive drawing of GimpColorSacle
...
the same way as in GimpColorArea.
2018-05-20 21:06:35 +02:00
Michael Natterer
9b3366309c
libgimpwidgets: undeprecate insensitive drawing of GimpColorArea
...
by simply drawing the buffer with cairo_mask() and a stipple pattern
so we get the same effect as before, but without rendering the
widget's background color into the buffer ourselves.
2018-05-20 21:06:35 +02:00
Michael Natterer
0b7aad66ed
libgimpwidgets: left-align gimp_prop_enum_label_new()
...
just like gimp_prop_label_new().
2018-05-20 21:06:35 +02:00
Michael Natterer
4133a032de
Undeprecate/improve GimpScaleComboBox and GimpUnitComboBox
...
Remove label-scale style properties and gtk_widget_modify_font()
hacks and theme them using CSS.
2018-05-20 21:06:35 +02:00
Simon Budig
7d64cf62c6
libgimpwidgets: rename the _grid()-Variants of gimp_scale_entry_*
...
Adjust all plugins to follow accordingly.
This concludes the GtkTable'ocide.
2018-05-20 21:06:35 +02:00
Simon Budig
f01a978627
libgimpwidgets: kill the last remaining occurencces of GtkTable
2018-05-20 21:06:35 +02:00
Simon Budig
25c033b263
some odds and ends regarding GtkTable removal...
2018-05-20 21:06:35 +02:00
Michael Natterer
2dd2f1509b
Enable and fix smooth scrolling and zooming
...
- Fix gimp_scroll_adjustment_values() for smooth scroll events
- Set GDK_SMOOTH_SCROLL_MASK on all widgets where we set GDK_SCROLL_MASK
- Add GIMP_ZOOM_SMOOTH to enum GimpZoomType
- Add "gdouble delta" to gimp_zoom_model_step()
- Change the meaning of the "scale" parameter to "scale or delta" in
all functions that take GimpZoomType and a scale factor.
2018-05-20 21:06:34 +02:00
Michael Natterer
4a979995a3
libgimpwidgets: add gimp_scroll_adjustment_values()
...
and use it in GimpScrolledPreview. It supports smooth scrolling and
does roughly the same as a whole lot of magic code in GtkScrolledWindow
and GtkRange, resulting in the same scrolling behavior as in stock
GTK+ widgets.
2018-05-20 21:06:34 +02:00
Michael Natterer
97e19eb385
libgimpwidgets: set GDK_EVENT_SCROLL on GimpPreview's preview area
2018-05-20 21:06:34 +02:00
Michael Natterer
b55e481459
libgimpwidgets: remove gimp_spin_button_new()
2018-05-20 21:06:34 +02:00
Michael Natterer
c2752a685c
libgimpwidgets: also move GTK_RESPONSE_CLOSE buttons to the left
...
in GimpDialog's header bar.
2018-05-20 21:06:34 +02:00
Michael Natterer
bdbec7941c
Use the new macros from the last commit in all files
...
...and gone are the annoying warnings.
2018-05-20 21:06:34 +02:00
Michael Natterer
3be0d13be3
libgimpwidgets: add macros to hide alternative_button_order warnings
...
Since we don't know yet what to do about this, let's not spam the
build with distracting warnings in the meantime.
gimp_dialog_set_alternative_button_order
gimp_dialog_set_alternative_button_order_from_array
are macros which just call the deprecated GtkDialog functions, but
wrap them in G_GNUC_BEGIN,END_IGNORE_DEPRECATIONS.
2018-05-20 21:06:34 +02:00
Michael Natterer
08458dcdf6
libgimpwidgets: port GimpPreview to GtkGrid
2018-05-20 21:06:34 +02:00
Michael Natterer
1d8696cd80
Get rid of gdk_flush() globally, use gdk_display_flush()
2018-05-20 21:06:34 +02:00
Michael Natterer
b857311bbf
libgimpwidgets: undeprecate gimppickbutton-default.c
2018-05-20 21:06:33 +02:00
Michael Natterer
bb2a9d119f
libgimpconfig: move all GimpColorConfig members to private
2018-05-20 21:06:33 +02:00
Michael Natterer
369b273157
libgimpwidgets: move GimpEnumStore.enum_class to private
2018-05-20 21:06:33 +02:00
Michael Natterer
d87eddb1c4
libgimpwidgets: move all GimpPreview members to private
...
and add tons of API so subclasses can still do their thing, probably
subject to change/fix.
2018-05-20 21:06:33 +02:00
Simon Budig
9cb67fa992
app: kill the last GtkTables.
2018-05-20 21:06:33 +02:00
Simon Budig
9954030487
app/widgets: port the gimpstrokeeditor to GtkGrid
2018-05-20 21:06:33 +02:00
Michael Natterer
3e680b9f32
libgimpwidgets: move all GimpScrolledPreview members to private
2018-05-20 21:06:33 +02:00
Michael Natterer
a535e425ee
libgimpwidgets: move all GimpPreviewArea members to private
2018-05-20 21:06:33 +02:00
Michael Natterer
677c2bb8d0
libgimpwidgets: move public GimpIntStore member to private
2018-05-20 21:06:33 +02:00
Michael Natterer
f4f106ad26
libimp*: add private pointers to all instance structs
...
even if we don't have private members (yet). Also make class padding 8
pointers in all headers. This commit moves nothing to private, it just
makes all headers consistent and adjusts .c files accordigly.
2018-05-20 21:06:33 +02:00
Michael Natterer
4afb7ca4c7
libgimpwidgets: set the widgets's hexpand in gimp_grid_attach_aligned()
2018-05-20 21:06:33 +02:00
Simon Budig
72e63887ba
libgimpwidgets: convert GimpSizeEntry to a GtkGrid.
2018-05-20 21:06:32 +02:00
Michael Natterer
6c8cf7876a
Replace lots of deprecated gtk_menu_popup(), only GimpUIManager left
2018-05-20 21:06:30 +02:00
Michael Natterer
4f0a87ffa6
app, libgimpwidgets, themes: fix some themeing
...
Add CSS names using gtk_widget_class_set_css_name(), remove styling in
code and instead do it properly in CSS, so far in the System theme.
All horribly incomplete but a start.
2018-05-20 21:06:30 +02:00
Michael Natterer
56b28773da
libgimpwidgets: honor the gtk-dialogs-use-header setting in GimpDialog
...
and undeprecate the widget.
2018-05-20 21:06:30 +02:00
Michael Natterer
1f29d499f8
libgimpwidgets: GimpBrowser undeprecated: threads and focus-on-click
2018-05-20 21:06:30 +02:00
Michael Natterer
5ece7a8d1f
Port a lot of stuff from GdkScreen/monitor_number to GdkMonitor
...
including some fixes for getting pointer coords, and needed
API changes in libgimpwidgets.
2018-05-20 21:06:30 +02:00
Michael Natterer
7efaf024f3
libgimpwidgets: create GimpIntComboBox' cells in constructed() not init()
...
Apparently this now has to happen later due to some GTK+ change.
2018-05-20 21:06:30 +02:00
Michael Natterer
901c3ddcf8
Get rid of the deprecated gtk_icon_size_lookup_for_settings()
...
and use gtk_icon_size_lookup() instead.
2018-05-20 21:06:30 +02:00
Michael Natterer
7b6d42a443
libgimpwidgets: add gimp_grid_attach_aligned()
2018-05-20 21:06:30 +02:00
Michael Natterer
1b3135ca95
Get rid of using GtkMisc API globally
2018-05-20 21:06:30 +02:00
Michael Natterer
80985692a4
libgimpwidets: port GimpColorScales to GtkGrid
2018-05-20 21:06:30 +02:00
Michael Natterer
1ce246f2da
libgimpwidgets: add GtkGrid variants of gimp_[color_]scale_entry_new()
...
as temporary porting hack, they will eventually be renamed to the old
names once GtkGrid porting is done.
2018-05-20 21:06:30 +02:00
Michael Natterer
37e24d0059
libgimpwidgets: remove gimp3migration.[ch]
2018-05-20 21:06:29 +02:00
Michael Natterer
ad23eeb86f
libgimpwidgets: derive GimpChainButton from GtkGrid not GtkTable
2018-05-20 21:06:29 +02:00
Michael Natterer
1f0d296eb6
libgimpwidgets: remove most deprecated cruft
2018-05-20 21:06:29 +02:00
Michael Natterer
da5e72369e
libgimpwidgets: make GimpColorScale more-or-less work fine
...
also derive it from GtkRange directly not from GtkScale.
2018-05-20 21:06:29 +02:00
Michael Natterer
a5b5eaebd3
libgimpwidgets, app: use GdkRGBA instead of GdkColor for cell backgrounds
2018-05-20 21:06:29 +02:00
Michael Henning
2ef224237e
libgimpwidgets: Separate ruler text layer from background.
...
Also fix failing to clear backing_store at the same time.
2018-05-20 21:06:29 +02:00
Michael Henning
69497c84a6
libgimpwidgets: Draw marker in correct position on ruler.
...
With gtk+3, the cairo context is offset by allocation.x/y for us,
so we no longer need to add that factor in while drawing.
2018-05-20 21:06:29 +02:00
Michael Natterer
6165ca7425
libgimpwidgets: #if 0 more stuff in gimp3migration
2018-05-20 21:06:29 +02:00
Michael Natterer
cc010a4288
Incomplete notebook and tab theming commit, to be improved
2018-05-20 21:06:29 +02:00
Michael Natterer
e8f0c14491
app: use gdk_device_get_position() inetad of gdk_display_get_pointer()
2018-05-20 21:06:29 +02:00
Michael Natterer
64d80e9aa4
Port cell renderers to gtk_cell_renderer_get_state()
2018-05-20 21:06:28 +02:00
Michael Natterer
cc0b48d710
libgimpwidgets: move all GimpColorProfileStore members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
d9171ef627
libgimpwidgets: move all GimpMemsizeEntry members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
6e84d584f4
libgimpwidgets: move all GimpEnumLabel members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
86603f30b9
libgimpwidgets: move all GimpColorSelection members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
7eac782a15
libgimpwidgets: move GimpColorProfileComboBox::dialog to private
2018-05-20 21:06:28 +02:00
Michael Natterer
f20b2d1a43
libgimpwidgets: move all GimpColorScale members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
0e35af2723
libgimpwidgets: move all GimpColorNotebook members to a private struct.
2018-05-20 21:06:28 +02:00
Michael Natterer
9c15020c41
libgimpwidgets: add padding
2018-05-20 21:06:28 +02:00
Michael Natterer
455f2e2e38
libgimpwidgets: move all GimpColorHexEntry members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
c32681f4c3
libgimpwidgets: move all GimpColorDisplayStack members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
79dd44fb18
libgimpwidgets: move all GimpColorDisplay members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
db6c2ea658
libgimpwidgets: move all GimpBrowser members to a private struct
...
The newly added API is ugly and will change.
2018-05-20 21:06:28 +02:00
Michael Natterer
fd45ea2051
libgimpwidgets: move all GimpChainButton members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
482be36a00
libgimpwidgets: move all GimpCellRendererToggle members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
651e313f49
libgimpwidgets: move all GimpColorButton members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
281370dce2
libgimpwidgets: move all GimpCellRendererColor members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
0318ea9dfe
libgimpwidgets: move all GimpButton members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
88ac850834
libgimpwidgets: move padding members from instance to class struct
2018-05-20 21:06:28 +02:00
Michael Natterer
d2116f481b
libgimpwidgets: move all GimpOffsetArea members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
271f94928f
libgimpwidgets: move all GimpColorArea members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
3d4ef455d2
libgimpwidgets: move all GimpPickButton members to a private struct
2018-05-20 21:06:28 +02:00
Michael Natterer
6e982cd0a4
libgimpwidgets: use g_object_ref()/unref() for GdkCursors
...
The are GObjects now.
2018-05-20 21:06:28 +02:00
Michael Natterer
f689ef7b16
libgimpwidgets: implement GtkWidget::style_updated() instead of style_set()
2018-05-20 21:06:28 +02:00
Michael Natterer
1264285cff
libgimpwidgets: implement GtkWidget::state_flags_changed()
...
instead of GtkWidget::state_changed()
2018-05-20 21:06:28 +02:00
Michael Natterer
52af5f00c0
libgimpwidgets: port GimpNumberPairEntry to gtk_widget_override_font()
2018-05-20 21:06:28 +02:00
Michael Natterer
8c75151f39
llibgimpwidgets: port GimpScrolledPreview to GtkStyleContext
2018-05-20 21:06:27 +02:00