Michael Natterer
534c02d590
app: fix GimpPrefsBox' page titles to look like selected rows again
2018-05-20 21:06:33 +02:00
Michael Natterer
18c4a288ee
app: properly align frame children in GimpGridEditor
2018-05-20 21:06:33 +02:00
Michael Natterer
affec75898
app: pack the content vbox expanding in GimpPrefsBox
2018-05-20 21:06:33 +02:00
Jehan
9fafb858bd
app: do not run gtk_window_present() in about_dialog_create().
...
The window will be raised soon after anyway. No need to do it too early,
which makes setting a transient parent useless afterwards. In particular
we were still getting a "GtkDialog mapped without a transient parent"
message.
2018-05-20 21:06:33 +02:00
Jehan
7642715c17
app: allow setting parent for dialogs created by GimpDialogFactory.
...
Fixes a bunch of:
> Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
2018-05-20 21:06:33 +02:00
Simon Budig
4cac8373ff
app/tools: fix the resize behaviour of the curves tool dialog.
2018-05-20 21:06:33 +02:00
Simon Budig
4bf50c23ea
app/widgets: port GimpImagePropView to GtkGrid
2018-05-20 21:06:33 +02:00
Simon Budig
6452afb7e0
app/widgets: get rid of GtkTable in GimpTemplateEditor
2018-05-20 21:06:33 +02:00
Simon Budig
9d000f749f
app/display: get rid of GtkTable
2018-05-20 21:06:33 +02:00
Simon Budig
2fb681f582
app/tools: get rid of GtkTable
2018-05-20 21:06:33 +02:00
Simon Budig
a14723b9d8
dialogs: get rid of GtkTable
2018-05-20 21:06:33 +02:00
Simon Budig
c14df1fd4e
preferences-dialog: get rid of GtkTable
2018-05-20 21:06:33 +02:00
Michael Natterer
4cd19e6f65
app: undeprecate everything in propgui/, mostly table -> grid
2018-05-20 21:06:32 +02:00
Michael Natterer
a6354632c7
app: fix splash text color
2018-05-20 21:06:32 +02:00
Michael Natterer
d5c75afe2f
app: honor the use-header-bar setting in GimpToolDialog
2018-05-20 21:06:32 +02:00
Michael Natterer
960b530d03
app: put back two lines that got lost in earlier GTK+ 3.0 porting
2018-05-20 21:06:32 +02:00
Michael Natterer
807e98b46c
app: make spinscale much more bearable by fixing some coords
2018-05-20 21:06:32 +02:00
Simon Budig
0e819225d1
dialogs: some table->grid conversion in the item dialogs
2018-05-20 21:06:32 +02:00
Simon Budig
72e63887ba
libgimpwidgets: convert GimpSizeEntry to a GtkGrid.
2018-05-20 21:06:32 +02:00
Timm Bäder
509813c1a9
spinscale: Decrease height
2018-05-20 21:06:32 +02:00
Michael Natterer
44b9bfe613
spinscale: remove our own border drawing
2018-05-20 21:06:32 +02:00
Timm Bäder
fde2df5539
spinscale: Fix styling
2018-05-20 21:06:32 +02:00
Timm Bäder
1fda8e1963
fgbgvew: Pass correct state to GtkStyleContext api
2018-05-20 21:06:32 +02:00
Timm Bäder
1198a7e5af
dockbook: chain up at end of size-allocate
2018-05-20 21:06:32 +02:00
Michael Natterer
b2dd892eb4
app: set the right "use-header-bar" on all (?) dialogs
2018-05-20 21:06:32 +02:00
Michael Natterer
7549b6efe4
Bug 794132 - Make the plug-in protocol version part of the plug-in command line
...
Also clean GPConfig struct from deprecated members and bump the
plug-in protocol version number.
2018-05-20 21:06:30 +02:00
Michael Natterer
3571fc3ae2
app: port GimpCursorView to GtkGrid
2018-05-20 21:06:30 +02:00
Michael Natterer
b9103bbc5f
Revert "app: remove all deprecated threads_enter/leave code"
...
This reverts commit 94b028bc39c7250997ee9883793e6649bf2490c7.
Dunno what breaks here, it just crashes, leave the commits there
instead of rebasing them away, as reminder...
2018-05-20 21:06:30 +02:00
Michael Natterer
579cf4c428
app: remove all deprecated threads_enter/leave code
2018-05-20 21:06:30 +02:00
Michael Natterer
ebe528aca8
app: port most menu items that want images to gimp_menu_item_set_image()
...
or remove the item setting completely.
2018-05-20 21:06:30 +02:00
Michael Natterer
0c05ec63f6
app: add utility functions gimp_widget_get,set_image()
...
as replacement for the deprecated GtkImageMenuItem, for the few cases
where we really want an icon/image in a menu item.
2018-05-20 21:06:30 +02:00
Michael Natterer
10e3a968c1
app: remove the unused GimpContainerGridView
2018-05-20 21:06:30 +02:00
Michael Natterer
65d4450b3e
app, themes: move GimpDisplayShell styling to CSS
...
Looks half-decent again now.
2018-05-20 21:06:30 +02:00
Michael Natterer
03feaf39c3
app: port GimpDisplayShell to use GtkGrid
2018-05-20 21:06:30 +02:00
Michael Natterer
2f1a4fdc67
app: gimp_ui_manager_ui_popup_at_pointer() and use it where appropriate
...
Only one call to gimp_ui_manager_ui_popup() left...
2018-05-20 21:06:30 +02:00
Michael Natterer
ab1edce8af
app: use gimp_ui_menager_up_popup_at_widget() for the quick mask menu
2018-05-20 21:06:30 +02:00
Jehan
26710104ba
Revert "Bug 794356 - Rulers always shown for subsequent image views"
...
This reverts commit ea48b9f31c
.
Final revert of GTK+2 hack.
2018-05-20 21:06:30 +02:00
Jehan
e7e7f00528
Revert "Bug 784480 - Clicking on-canvas GUI with a tablet stylus crashes..."
...
This reverts commit a8bc8d202c
.
Continue removing the same GTK+2 hack.
2018-05-20 21:06:30 +02:00
Jehan
654ef12d58
Revert "Bug 794356 - Rulers always shown for subsequent image views"
...
This reverts commit 7230d5d777
.
Remove GTK+2 only hack.
2018-05-20 21:06:30 +02:00
Michael Natterer
b28228d911
app: add gimp_ui_manager_ui_popup_at_widget()
...
and use it where we used to pass gimp_button_menu_position() to
gimp_ui_manager_up_popup(), remove gimp_button_menu_position() because
it's now unused.
2018-05-20 21:06:30 +02:00
Michael Natterer
4c68fb70d4
app: use gtk_widget_get_preferred_size() in gimp_tool_gui_canvas_resized()
2018-05-20 21:06:30 +02:00
Jehan
588da0c8e8
app: remove #undef GDK_DISABLE_DEPRECATED
...
This was only needed for the insensitive menu item hack which has now be
removed to support CSS themes.
2018-05-20 21:06:30 +02:00
Michael Natterer
4a6388b265
app: use gtk_menu_popup_at_widget() in GimpIconPicker
2018-05-20 21:06:30 +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
251d2f494e
app: port some stuff to gdk_seat_grab/ungrab
2018-05-20 21:06:30 +02:00
Jehan
3dd5f19e65
app: the "Default" theme had been removed to "System" a long time ago.
...
Fix a "No such file or directory" error.
2018-05-20 21:06:30 +02:00
Jehan
23649d65be
app: allow to select if we prefer a dark variant of the current theme.
...
GTK+ has the concept of theme variants, and in particular if we prefer
the dark variant of a theme. This can be chosen globally but also
per-application. Make this choice customizable in the Theme tab of
Preferences.
By default, the dark variant will be prefered.
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
be6d77b915
app: undeprecate GimpSpinScale, still looks like shit tho
2018-05-20 21:06:30 +02:00
Michael Natterer
0f725080c6
app: add missing const to gimp_cell_renderer_button_activate()
2018-05-20 21:06:30 +02:00
Tobias Ellinghaus
c1e73b1cd4
Fix compile
2018-05-20 21:06:30 +02:00
Michael Natterer
241af754b9
app: get rid of some GtkTables in tools/
2018-05-20 21:06:30 +02:00
Michael Natterer
4c5f0ff0de
app: fix border width of GimpOverlayDialog
2018-05-20 21:06:30 +02:00
Michael Natterer
679ac0cb1e
app: get rid of GtkArrow in GimpColorDialog
2018-05-20 21:06:30 +02:00
Michael Natterer
f34b879a2d
app: get rid of GtkHSeparator and GtkHScale
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
7bd6734a04
Get rid of all GtkAlignments, use GtkWidget align/margin instead
2018-05-20 21:06:30 +02:00
Michael Natterer
45d02a8e5f
app: port GimpColorHistory to GtkGrid
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
1b3135ca95
Get rid of using GtkMisc API globally
2018-05-20 21:06:30 +02:00
Michael Natterer
f180a171cd
pdb: remove all deprecated procedures
2018-05-20 21:06:29 +02:00
Michael Natterer
1671da428c
libgimpbase: remove almost all deprecated compat cruft
...
Keep infrastructure for compat enums around because we will
mose definitely need it again.
2018-05-20 21:06:29 +02:00
Michael Natterer
c50fb989c8
app: make GimpHighlightableButton build on GTK+ 3.x
2018-05-20 21:06:29 +02:00
Michael Natterer
30efaca5f9
app: port gimpwidgets-utils.c to GTK+ 3.x
2018-05-20 21:06:29 +02:00
Michael Natterer
717ba49c8c
app: port GimpMeter to GTK+ 3.x
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
Jehan
7b20173dc8
Bug 762279 - "Tip of the day" links opens two links.
...
Use the "activate-link" signal instead of "clicked" on tip links, so
that we can stop signal propagation.
Otherwise it opens "http://docs.gimp.org/ " everytime.
2018-05-20 21:06:29 +02:00
Michael Natterer
52fe0dad60
Revert "Bug 762279 - "Tip of the day" links opens two links"
...
This reverts commit dc33afd95b
.
That hack is not for gtk3...
2018-05-20 21:06:29 +02:00
Michael Natterer
895b544af2
app: port GimpContainerTreeView from style_set() to style_updated()
2018-05-20 21:06:29 +02:00
Michael Natterer
09e6313c14
app: use gimp_color_display_stack_get_filters() instead of stack->filters
2018-05-20 21:06:29 +02:00
Michael Natterer
ab6f19438c
app: remove GTK_OBJECT() case in GimpPopup
2018-05-20 21:06:29 +02:00
Michael Natterer
6b447c3643
app: port GimpCircle and subclasses to GTK+ 3
2018-05-20 21:06:29 +02:00
Jehan
5e9f450d24
Use GTK+3 gtk_get_locale_direction() function instead of current hack.
...
This new function is available from the released dev version 3.11.4. But
we don't want to require GTK+ master for the gtk3-port branch, so I
leave the old hack in a GTK_CHECK_VERSION() macro, to be removed later
when we update GTK+ required version.
2018-05-20 21:06:29 +02:00
Michael Natterer
922f55ab85
app: s/GtkObject/GtkAdjustment/ in gimpdisplayhsell-rotate-dialog.c
2018-05-20 21:06:29 +02:00
Michael Natterer
345ef9f0a9
app: port wilber drawing to GtkStyleContext
2018-05-20 21:06:29 +02:00
Michael Natterer
b68e4a1401
app: don't use the deprecated GDK_EXTENSION_EVENTS_ALL
2018-05-20 21:06:29 +02:00
Michael Natterer
1fdc472c68
app: make the statusbar's progress label visible again
...
and remove setting of removed align properties. The label alignment is
broken now until that feature comes back to gtk+.
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
820d6fbe95
app: don't use "size-request" for the toolbox' wilber, it's gone
2018-05-20 21:06:29 +02:00
Michael Natterer
cf07fae3c6
app: implement GtkContainer::get_path_for_child() in GimpMessageBox
...
and handle our internal icon child ourselves.
2018-05-20 21:06:29 +02:00
Michael Natterer
8b8242947b
app: GimpDock: port font size modification to GtkCssProvider
2018-05-20 21:06:29 +02:00
Michael Natterer
98dd27b776
app: port GimpTagPopup to GtkStyleContext
...
This doesn't look as it should at all, but is entirely useable and
undeprecated, and I really want to keep the diff to master small. Will
fix after we switch to GTK+ 3.0.
2018-05-20 21:06:29 +02:00
Michael Natterer
8bb1637013
app: port GimpNavigationEditor to GtkStyleContext
2018-05-20 21:06:29 +02:00
Michael Natterer
bc7b35d2d6
app: port GimpHistogramView to gdk_device_grab()/ungrab()
2018-05-20 21:06:29 +02:00
Michael Natterer
aa96d9629e
app: port GimpGradientEditor to GtkSyleContext
2018-05-20 21:06:29 +02:00
Michael Natterer
f8f42f0946
app: let the file dialog expand/collapse with the file type expander
...
Using the new gtk_expander_set_resize_toplevel().
2018-05-20 21:06:29 +02:00
Michael Natterer
3b00ba8f06
app: remove some forgotten #undef GSEAL_ENABLE
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
76859c3c32
app: make input devices, grabs and therefore generally tools work again
...
- add new "device from event" apparatus that works on GTK+ 3.x
- fix the active device selection mechanism
- use the new device grabbing functions
- make sure we don't process events while we have a grab on
another device
- compensate for some really obscure (and likely broken) behavior
of XI2, it feels like we are the first real users...
2018-05-20 21:06:29 +02:00
Michael Natterer
97df7535a1
app: gimp_device_info_get_device_coords(): workaround for XI2 b0rk
...
for the time being, use gdk_window_get_device_position() instead of
gdk_device_get_axis() for X and Y, which gets rid of subpixel
coordinates, but at least returns values != 0. Also, don't ask
keyboard devices for coordinates.
2018-05-20 21:06:29 +02:00
Michael Natterer
09b9263d5c
app: gimp_print_event(): add the device to the event debug output.
2018-05-20 21:06:29 +02:00
Michael Natterer
0c00a72b17
app: remove gimp_rgb_get,set_gdk_color()
...
and inline the few lines into their only users.
2018-05-20 21:06:29 +02:00
Michael Natterer
4b322b8326
app: use GdkRGBA instead of GdkColor in some places
2018-05-20 21:06:29 +02:00
Michael Natterer
e522c1dbf6
app: port GimpComboTagEntry to GtkStyleContext
2018-05-20 21:06:29 +02:00
Michael Natterer
107fc72237
app: define all GimpHistogramView colors via style properties and CSS
2018-05-20 21:06:28 +02:00
Michael Natterer
bbf2c3947b
app: port GimpCurveView to GtkStyleContext
...
reusing the new grid-color property added in the parent class.
2018-05-20 21:06:28 +02:00
Michael Natterer
a4b8dafe61
app: add style property and default CSS for GimpHistogramView's grid-color
2018-05-20 21:06:28 +02:00
Michael Natterer
88a96cf3fb
app: add gimp_get_style_color() to simplify GdkRGBA style property lookup
2018-05-20 21:06:28 +02:00
Michael Natterer
c4d721e06d
app: port GimpCellRendererDashes to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
64d80e9aa4
Port cell renderers to gtk_cell_renderer_get_state()
2018-05-20 21:06:28 +02:00
Michael Natterer
9244cbe898
app: port GimpOverlayChild to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
f5c3bb00c2
app: remove call to gtk_widget_style_attach() from GimpOverlayBox
2018-05-20 21:06:28 +02:00
Michael Natterer
1cd367845d
app: port GimpColorFrame away from GtkStyle, using a new style property
2018-05-20 21:06:28 +02:00
Michael Natterer
dfa38fc26a
app: remove obsolete device checks from GimpToolbox
...
The new code doesn't actually work properly, but the old one was
clearly bogus with GTK+ 3.x.
2018-05-20 21:06:28 +02:00
Michael Natterer
912128fe2e
app: when checking for a device change, check the event's source device
...
because the events we receive always come from either master or
floating devices, but never from a slave source device.
2018-05-20 21:06:28 +02:00
Michael Natterer
9c9ba4895d
app: always ask the master device for its axes or state
2018-05-20 21:06:28 +02:00
Michael Natterer
5d1ab3e5f9
app: port GimpTagEntry to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
74564dfef3
app: port GimpHistogramView to GtkStyleContext
...
Locally added shade() and mix() utility functions which use
GtkSymbolicColor. Will move them to a better place once they are
needed elsewhere.
2018-05-20 21:06:28 +02:00
Michael Natterer
f3d65fdb59
Implement GtkWidget::style_updated() instead of ::style_set()
2018-05-20 21:06:28 +02:00
Michael Natterer
dcb991c6c7
app: port GimpThumbBox to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
afaa31bb33
app: use gtk_widget_override_font() instead of modify_font()
2018-05-20 21:06:28 +02:00
Michael Natterer
dada25b14e
app: port GimpToolEditor to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
3b37a7a1c8
app: port GimpDockWindow to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
3374e32264
app: port GimpPaletteView to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
132485779e
app: port GimpStrokeEditor to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
72ad56006b
app: don't use style->black and style->white
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
0e35af2723
libgimpwidgets: move all GimpColorNotebook 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
aedd3e43de
app: port GimpScaleButton to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
da0e45db60
app: port GimpOverlayFrame to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
4a677c52fb
app: port GimpOverlayBox to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
3b8bcb1e4d
app: use gtk_menu_shell_get_selected_item()
2018-05-20 21:06:28 +02:00
Michael Natterer
ce2cd374ee
Replace gdk_cursor_unref() with g_object_unref()
2018-05-20 21:06:28 +02:00
Michael Natterer
8c975484ab
app: check whether child widgets exist in GtkWidget::style_updated()
...
because it is emitted repeatedly during widget construction, when not
everything is in place yet.
2018-05-20 21:06:28 +02:00
Michael Natterer
19528a61fe
app: copy gimp.css instead of gtkrc to the user's gimp directory
...
Also, don't migrate gtkrc files from older gimp versions.
2018-05-20 21:06:28 +02:00
Michael Natterer
af1bb43f37
Port theme and gtkrc file loading to CSS files using GtkCssProvider
2018-05-20 21:06:28 +02:00
Michael Natterer
e713ad4a43
app: implement GtkWidget::style_updated() instead of style_set()
2018-05-20 21:06:28 +02:00
Michael Natterer
ad7fe94d86
app: use gdk_drag_context_get_selected_action() instead of conect->action
2018-05-20 21:06:28 +02:00
Michael Natterer
cfbec6b311
app: use gdk_drag_context_get_source_window()
...
instead of peeking into the struct
2018-05-20 21:06:28 +02:00
Michael Natterer
de225a74a2
app: port the about dialog to GtkStyleContext
2018-05-20 21:06:28 +02:00
Michael Natterer
1d304ea273
app: s/gtk_widget_modify_font/gtk_widget_override_font/
2018-05-20 21:06:27 +02:00
Michael Natterer
eb312ed55a
app: remove calls to gtk_widget_get,set_extension_events()
2018-05-20 21:06:27 +02:00
Michael Natterer
084a01abfe
app: port GimpDashEditor to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
2c10a7c95a
app: port GimpContainerBox to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
72d90394f5
app: port gimp_get_icon_size() to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
f69ca15573
app: port GimpFgBgView to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
f21ad702a2
app: port GimpFgBgEditor to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
a142c8916c
app: port GimpComponentEditor to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
200dbf96ce
app: port GimpColormapEditor to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
1138846d4e
app: port GimpContainerTreeView to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
ed1d57a882
app: port GimpContainerIconView to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
5c6d52c5f3
app: port GimpPanedBox to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
5b3e3023cd
app: port setting the canvas padding color to GtkStyleContext
2018-05-20 21:06:27 +02:00
Michael Natterer
2200ca2371
app: port GimpBlobEditor to GtkStyleContext
...
Also, add prelighting for the handle.
2018-05-20 21:06:27 +02:00
Michael Natterer
9e7d1206ac
app: change the list of available devices to something that makes sense
...
Include the client pointer, its slaves, and all floating devices.
2018-05-20 21:06:27 +02:00
Michael Natterer
fc440cc4d0
app: port the device sort function to GdkDeviceManager
...
Also make sure we don't pass around uninitialized keyvals and
modifiers of device keys.
2018-05-20 21:06:27 +02:00
Michael Natterer
9c84e15484
app: put the toolbox' areas into a box until we decided about a wrapping widget
2018-05-20 21:06:27 +02:00
Michael Natterer
de3bd90f9a
app: introduce struct GimpDeviceKey because GdkDeviceKey is gone
2018-05-20 21:06:27 +02:00
Michael Natterer
0f90d95ab4
app: use GdkDevice accessors
2018-05-20 21:06:27 +02:00
Michael Natterer
898df1c5c3
app: implement proper height-for-width in GimpToolPalette
2018-05-20 21:06:27 +02:00
Michael Natterer
b9cfa11205
app: skip keyboard devices so the device list becomes reasonable
2018-05-20 21:06:27 +02:00
Michael Natterer
8c3a0d17f4
app: port GimpSpinScale to GTK+ 3.0
2018-05-20 21:06:27 +02:00
Michael Natterer
64cde17687
app: don't connect to "size-requst" because that's deprecated
...
Instead, connect to "style-set" and calculate the widget's size
request there. Also fix the label's offsets after whatever GTK+ text
drawing changes.
2018-05-20 21:06:27 +02:00
Michael Natterer
ef80e1755c
app: port GimpOverlayBox to GtkWidget::get_preferred_width/height()
2018-05-20 21:06:27 +02:00
Michael Natterer
4085ad0cbc
app: fix GimpOverlayDialog's minimum height
...
and avoid some code duplication by using the parent class' size
negotiation code.
2018-05-20 21:06:27 +02:00
Michael Natterer
20627342ac
app: port to the new size request API
2018-05-20 21:06:27 +02:00
Michael Natterer
2ffda5a25d
app: remove GtkWrapBox
2018-05-20 21:06:27 +02:00
Michael Natterer
76d15851b1
app: port the colormap editor to GTK+ 3.0
2018-05-20 21:06:27 +02:00
Michael Natterer
1a82e4adce
app: add ugly workaround to make the icon view adapt to view size changes
2018-05-20 21:06:27 +02:00
Michael Natterer
08cb6022c7
app: cairo_save()/restore() around chaining up in draw()
2018-05-20 21:06:27 +02:00
Michael Natterer
23e3ae8fbe
app: use the new GtkScrollable API instead of deprecated tree view API
2018-05-20 21:06:27 +02:00
Michael Natterer
707131f695
app: GtkEntry turned into a no-window widget
...
Therefore, use the new get_area() functions to figure where to draw
from instead of the removed get_window() ones. Also adjust the tag
popup positioning code accordingly.
2018-05-20 21:06:27 +02:00
Michael Natterer
3b784075f3
app: port to GtkWidget::draw()
2018-05-20 21:06:27 +02:00
Michael Natterer
c3b7cee99b
app: forgot to remove a cairo_destroy() in draw()
2018-05-20 21:06:27 +02:00
Michael Natterer
5f2034451b
app: port to GtkWidget::draw()
2018-05-20 21:06:27 +02:00
Michael Natterer
fd7551bc19
app: don't translate to allocation.x,y
2018-05-20 21:06:27 +02:00
Michael Natterer
b85f40b815
app: remove GimpContainerGridView from the build entirely
...
but leave it in the tree as reference for the time being.
2018-05-20 21:06:27 +02:00
Michael Natterer
5d2b26a101
app: port popup arrow drawing to cairo and get rid of the arrow_pixbuf
2018-05-20 21:06:27 +02:00
Michael Natterer
1e8b020ac7
app: passing -1 as width/height to gtk_paint_box() no longer works
2018-05-20 21:06:26 +02:00
Michael Natterer
40b9ba002a
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
27df9b617a
app: didn't completely commit the display shell expose() -> draw() change
2018-05-20 21:06:26 +02:00
Michael Natterer
86e033d495
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
f8ef0c71c2
app: can't set the scale combo entry's properties in init() any longer
...
Set them in constructed() instead.
2018-05-20 21:06:26 +02:00
Michael Natterer
1812012d59
app: port to GtkWidget::draw() but disable the code inside with #if 0
2018-05-20 21:06:26 +02:00
Michael Natterer
6494894334
app: port the tag entry to GTK+ 3.0
2018-05-20 21:06:26 +02:00
Michael Natterer
a0a303bb42
app: remove call to gtk_statusbar_set_has_resize_grip()
2018-05-20 21:06:26 +02:00
Michael Natterer
9dfc455c12
app: port to GtkWidget::draw() (incompletely)
2018-05-20 21:06:26 +02:00
Michael Natterer
672e297219
app: use the container icon view, the grid view is not GTK+ 3.0-able
2018-05-20 21:06:26 +02:00
Michael Natterer
4ca9a5b33f
app: port the overlay stuff to GTK+ 3.0
2018-05-20 21:06:26 +02:00
Michael Natterer
bfa8831d62
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
bb6c901364
app: port the splash to GTK+ 3.0
2018-05-20 21:06:26 +02:00
Michael Natterer
00cde1a499
app: remove calls to colormap functions, they are gone
2018-05-20 21:06:26 +02:00
Michael Natterer
2a01159f0e
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
172f607ac5
app: use GdkDeviceManager to list devices
2018-05-20 21:06:26 +02:00
Michael Natterer
27659afa7c
app: pass the cairo_region_t to gdk_window_invalidate_region() directly
2018-05-20 21:06:26 +02:00
Michael Natterer
c7baa65843
app: s/GtkObject/GtkAdjustment/ in app/dialogs/
2018-05-20 21:06:26 +02:00
Michael Natterer
72bb4229fe
app: port tools to GTK+ 3.0 (trivial changes only)
2018-05-20 21:06:26 +02:00
Michael Natterer
df65b0bdcd
app: use gtk_widget_get_preferred_size() instead of size_request()
2018-05-20 21:06:26 +02:00
Michael Natterer
e888be6a9a
app: port GimpScalComboBox to GTK+ 3.0
2018-05-20 21:06:26 +02:00
Michael Natterer
3c8d9a1de8
app: use gtk_widget_get_preferred_size() instead of size_request()
2018-05-20 21:06:26 +02:00
Michael Natterer
1a04428815
app: remove obsolete (GtkObject **) casts
2018-05-20 21:06:26 +02:00
Michael Natterer
5c720fa886
app: port device management to GdkDeviceManager
2018-05-20 21:06:26 +02:00
Michael Natterer
00b207a8d8
app: port call to gtk_paint_arrow() to GTK+ 3.0
2018-05-20 21:06:26 +02:00
Michael Natterer
04961e056d
app: no need to alloc colors any longer, GdkColormap is gone
2018-05-20 21:06:26 +02:00
Michael Natterer
bb3a98dab7
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
99133bc271
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
b16a564fd5
app: port GimpPaletteView to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
c872dfb140
app: port GimpNavigationView to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
0ba456bbd0
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
232a168785
app: s/GtkObject/GtkAdjustment/
2018-05-20 21:06:26 +02:00
Michael Natterer
8f8d62167d
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
691069947f
app: port to GtkWidget::draw() and s/GtkObject/GtkAdjustment/
2018-05-20 21:06:26 +02:00
Michael Natterer
18feaf6ce1
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
94f1e6800d
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
04e9734685
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
5ddb81272f
app: port virtual functions to GTK+ 3.0 API
2018-05-20 21:06:26 +02:00
Michael Natterer
942eb89f19
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
8c0265c525
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
94d19047ac
app: remove GTK_OBJECT() cast
2018-05-20 21:06:26 +02:00
Michael Natterer
ace9ed91cb
app: port to GtkWidget::draw()
2018-05-20 21:06:26 +02:00
Michael Natterer
bb0eb4a7c3
Revert "app: Fix on canvas widgets ignoring clicks from tablets - bug 614441"
...
This reverts commit a059c0e7eb
.
2018-05-20 21:06:26 +02:00
Michael Natterer
dbd9797a13
Switch to version 2.99/3.0 in a lot of places and depend on GTK+ 3.22
...
and lots of other newer libraries.
2018-05-20 21:06:26 +02:00
Michael Natterer
4591452007
app: remove the gimp-2-6 session compatibility test
...
It was unreliable and a huge pain, and 2.6 is really old shit.
2018-05-20 20:02:13 +02:00
Michael Natterer
68c774daab
app: also special-case "undo-size" when generating default docs
...
and hardcode it to "1g", so properties of the dist machine don't leak
into the tarball.
2018-05-20 18:43:03 +02:00
Michael Natterer
9ebf36f873
configure.ac: require babl >= 0.1.50
2018-05-20 15:24:33 +02:00
Michael Natterer
5a6b00ea86
Revert "depend on babl-0.1.50"
...
This reverts commit 0aec661cda
which accidentially deleted the start of configure.ac
2018-05-20 15:23:23 +02:00
Øyvind Kolås
0aec661cda
depend on babl-0.1.50
2018-05-20 10:56:36 +02:00
Michael Natterer
1d3bd593c1
app: nobody knows why this is needed, move along
2018-05-20 02:36:31 +02:00
Michael Natterer
2439ae3acf
app: add new action "view-scroll-center" with shortcut Shift+J
...
The zoom focus discussion on IRC suggests that everybody is annoyed
about centering behavior (or lack thereof), so here is a way to
explicitly center the image witout zooming.
2018-05-19 18:06:49 +02:00
Michael Natterer
ef2cf21f10
Bug 796252 - Mouse wheel zooming should center on cursor...
...
... _even at low zoom levels_
Pass GIMP_ZOOM_FOCUS_POINTER to gimp_display_shell_scale() when
wheel-scrolling, and change the scaling code to really honor
GIMP_ZOOM_FOCUS_POINTER and not apply magic image centering.
This keep the same point centered under the mouse for wheel-scrolling
and the zoom tool (== when the zooming is really triggered at a
certain mouse position).
2018-05-19 15:24:52 +02:00
Ell
25490b0251
app: implement GimpPickable::get_pixel_average() in various classes
...
Implement GimpPickable::get_pixel_average(), added in the previous
commit, in GimpDrawable, GimpImage, and GimpProjection, using
gimp_gegl_average_color(), added in the commit before last. This
is significantly faster than the default implementation.
2018-05-18 15:07:32 -04:00
Ell
b98a04aadc
app: add GimpPickable::get_pixel_average() vfunc
...
... which calculates the average color of the pickable over a given
area. Use this function in gimp_pickable_pick_color() when
sample_average is TRUE, and provide a default implementation which
calculates the average color using GimpPickable::get_pixel_at(), as
gimp_pickable_pick_color() did before.
The default implementation is rather slow; classes that implement
the GimpPickable interface can provide a faster specialized version
(see the next commit).
2018-05-18 15:07:32 -04:00
Ell
d272368251
app: add gimp_gegl_average_color()
...
... which takes a GeglBuffer and calculates the average color over
a given area.
2018-05-18 15:07:32 -04:00
Øyvind Kolås
580576e702
configure/app: depend on GEGL 0.4.2
2018-05-16 23:26:44 +02:00
Michael Natterer
64954afa4b
app: don't use the user context in GimpDeviceEditor's container view
...
GimpDeviceInfo is a GimpToolPreset now, and using the user context
would cause the device info selected in the dialog to be set globally
as tool preset. Use a temporary context instead, the container view
just needs it because.
2018-05-16 22:41:12 +02:00
Ell
23dab4311a
Bug 796153 - Airbrush doesn't paint on timeout, and crashes with dynamics
...
gimp_airbrush_stamp(), which is called during the airbrush timeout
to periodically stamp the airbrush, assumes the saved symmetry's
origin is the same as during the original call to
gimp_airbrush_paint(). However, since commit
bc09c71818
, we clear the symmetry's
origin at the end of gimp_paint_core_paint(), resulting in an empty
symmetry with a NULL origin during gimp_airbrush_stamp(). As a
result, no dab is painted, and we segfault if there's active
dynamics.
Fix this by saving the symmetry's origin coords during
gimp_airbrush_paint(), and restoring them in gimp_airbrush_stamp().
2018-05-16 14:40:48 -04:00
Michael Natterer
320d23f964
app: make sure all devices loaded from devicerc have tool options
...
We rely on GimpDeviceInfo's tool-options being non-NULL, so make sure
this is the case and fix NULL options with the current tool's options
after loading devicerc.
2018-05-16 20:07:26 +02:00
Michael Natterer
2f629072f1
Bug 787919 - Tool options are lost when switching device
...
GimpDeviceInfo is the only way to store per-device settings like
color, brush etc. It used to be derived from GimpContext and therefore
limited to the context's properties, causing everything else (all
tool-individual options) to be lost on device change.
Derive it from GimpToolPreset instead, so it's capable of storing
arbitrary tool options.
Adapt things to the new class hierarchy and add a bunch of signal
handlers that make sure the active device's GimpDeviceInfo is updated
properly when the tool changes. Also change device switching
accordingly.
Change GimpDeviceStatus to only show the stuff that is relevant to
each device's tool.
And various small changes to make things work properly...
2018-05-16 02:09:19 +02:00
Michael Natterer
d6e0ca5054
Bug 796090 - (wrong) true-color preview of GEGL filter ops, ...
...
...like gaussian blur in indexed mode
In GimpDrawable's source node, after the filter stack, insert a node
that converts the pixels back to the drawable's format if the drawable
is indexed.
2018-05-16 02:09:19 +02:00
Michael Natterer
918f60836d
Bug 796073 - Zero-size selections affect movement of pasted content...
...
...in weird ways
In gimp_rectangle_tool_button_press(), when the press triggers a
GimpEditSelectionTool operation (like moving a floating selection),
make sure we don't call COMMIT on a zero-size rectangle, because that
would get special treatment by commit(). Instead, CANCEL a zero-size
rectangle so stuff behaves as if it has never been there.
2018-05-15 23:59:05 +02:00
Øyvind Kolås
55429df954
configure/app: depend on babl-0.1.48
2018-05-15 21:50:45 +02:00
Ell
5c7064fb9f
app: make gimp-atomic parameters volatile
2018-05-15 12:58:38 -04:00
Ell
03141fc30a
app: don't use mask sampler in gimp_pickable_contiguous_region_by_seed()
...
In gimp_pickable_contiguous_region_by_seed(), use gegl_buffer_get()
to sample the mask buffer, instead of using a sampler. The sampler
is created at the beginning of the operation, and is subsequently
used after modifying the mask buffer, which should be avoided,
since the sampler may return outdated cached data.
2018-05-14 03:12:40 -04:00
Jehan
20f20dd7b1
configure, app: encourage packagers to set custom bug tracker.
...
We get a lot of packaging bugs for third-party builds in our tracker,
especially since our debug tool now opens directly our bug tracker.
It would be preferred if third-party packagers were to make a first
filtering of bugs and only reported once they knew for sure that the bug
is in core code, and not in packaging.
Our configure script will now propose a --with-bug-report-url option
allowing to set a different web address. This address will be the one
opening in the debug dialog.
2018-05-14 05:44:06 +02:00
Ell
a6bee79e0d
app: in gimp_pickable_contiguous_region_by_seed(), use sampler object ...
...
... instead of gegl_buffer_sample()
Ditto.
2018-05-13 19:40:46 -04:00
Ell
3c95928031
app: in GimpIScissorsTool, use sampler object ...
...
... instead of gegl_buffer_sample()
Ditto.
2018-05-13 19:40:46 -04:00
Ell
b7d95ad503
app: in GimpOperationCageTransform, use sampler object ...
...
... instead of gegl_buffer_sample()
GEGL commit 26f13cbfe9aaaa8c176162e54fdbb8af6876538e got rid of the
per-buffer cached samplers, making gegl_buffer_sample() much more
expensive, suitable primarily for one-off samples.
Use a sampler object instead.
2018-05-13 19:40:46 -04:00
Michael Natterer
e9f2e82cff
Bug 796071 - Clicking outside of a selection frame creates a new, ...
...
...zero-size selection
Make sure that clicking outside any selection halts the rectangle
select tool. This fixes ellipse select too.
2018-05-13 23:00:36 +02:00
Jehan
6a10ad3416
app: "validate" has the wrong meaning.
...
That was an obvious faux ami with French.
Status changed to "press Enter to refine", with the requirement of
staying not too long (this is a status message, not documentation), and
that also announces what will be the next step.
2018-05-13 21:53:25 +02:00
Michael Natterer
93064f4b2b
app: formatting in gimpfreeselecttool.h
2018-05-13 21:46:37 +02:00
Ell
b296496a65
app: in gimp_atomic_slist_pop_head(), don't warn on empty list
...
Allow trying to pop the head of an empty GSList, and just return
NULL.
2018-05-13 15:33:15 -04:00
Ell
5b7806e13c
app: in GimpHistogramEditor, clear update timeout after validating
...
In gimp_histogram_editor_validate(), clear the update timeout, so
that if we validate the histogram before the timeout (in
particular, if editor->histogram itself is clear) we don't end up
unnecessarily re-validating it at the timeout.
2018-05-13 15:21:28 -04:00
Ell
5ed79b65bb
app: in GimpHistogram, parallelize histogram calculation
...
Use gimp_parallel_distribute_area() to parallelize the histogram
calculation, which seems to scale very well.
2018-05-13 15:21:28 -04:00
Ell
398474ff58
app: add gimp-atomic
...
... which provides a set of higher-level lock-free atomic
operations.
Currently, the only two operations are
gimp_atomic_slist_push_head() and gimp_atomic_slist_pop_head(),
which atomically push/pop the first element of a GSList.
2018-05-13 15:21:28 -04:00
Ell
16a24ff081
app: various GimpAsync improvements
...
Code cleanup.
Improve function descriptions.
Improve function precondition checks.
Make sure the main thread is properly synced with the async thread
before calling the completion callbacks in the idle function.
Guarantee that all callbacks are called in FIFO order, even
callbacks added during the execution of other callbacks.
2018-05-13 15:21:28 -04:00
Jehan
a89dc87aec
Bug 795950 - Foreground selection tool requires use of the Enter key.
...
It is not obvious that you have to hit Enter to validate the first step
of Foreground Selection tool, i.e. the rough free selection. Adding this
information in status message.
Since Enter would only work once the free selection is closed or that
you have at least 3 points (then Enter closes the selection for you), I
also add gimp_free_select_tool_get_n_points() so that we can know how
many points were created from the Foreground Select tool, and only
update the status message when relevant.
2018-05-13 19:27:26 +02:00
Ell
4c767b4f03
app: fix gimp-parallel shutdown
...
Some leftover from an earlier version. Caused gimp_parallel_exit()
to hang, although we could only notice that in GIMP_UNSTABLE
builds.
2018-05-13 11:55:16 -04:00
Michael Natterer
5b2dd00fab
app: put the call to gimp_gui_ungrab() back in gimp_eek()
...
It got lost while improving our error handling.
2018-05-13 13:49:33 +02:00
luz.paz
69b2e84924
Source and trivial typos
...
Found via `codespell` and `grep`
2018-05-12 23:44:47 +02:00