Michael Natterer
a20e926630
app: undeprecate styling of GimpComboTagEntry and GimpTagPopup
...
this looks correct now, but I doubt it still works 100% as with GTK+
2.x when the tag popup starts scrolling, we still measure the popup
size wrongly imo.
2018-06-04 21:10:12 +02:00
Michael Natterer
3f954350d9
app: don't let gtk_tree_store_clear() mess with our selected item
...
gimp_container_tree_view_clear_items(): GTK+ 3.x always keeps the row
with the cursor selected, so we get a gazillion selection changed
during gtk_tree_store_clear(), block our selection changed handler
during the clear.
2018-06-03 21:45:16 +02:00
Michael Natterer
e88fb8e9c7
app: remove all old font management code, switch to GimpFontFactory[View]
...
Biggest change in this commit is reordering stuff in GimpContext
because GimpFont is now a first class citizen.
2018-06-03 01:27:06 +02:00
Michael Natterer
d153c7489e
app: add GimpFontFactoryView as replacement for GimpFontView
2018-06-03 01:25:25 +02:00
Michael Natterer
9dc5c7767d
app: GimpDataFactoryView: don't add buttons for actions which don't exist
2018-06-03 01:25:25 +02: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
e5e998e9c5
app: hide container-editor busy box when clearing async-set binding
2018-05-31 05:00:28 -04:00
Ell
f847796943
app, libgimpwidgets: add generated cursor files to CLEANFILES
...
Needed after commit a9592a59c8 .
2018-05-31 02:56:07 -04:00
Jehan
6aebd30de1
app: remove icon sizing preferences.
...
With GTK+3, high or low density is taken care by the screen scale
factor. Having a separate preferences for this is redundant, and likely
even wrong.
It may be interesting though to have a new preference later, which would
allow smaller scale icon sizing since some people like their icon
slightly smaller or bigger, and also when you are using screens whose
density is at a limit scale factor. Right now, this can be done through
themes, but a GUI settings may be interesting. If I add such feature,
let's just do it from scratch later.
2018-05-31 04:12:05 +02:00
Jehan
b4df21785a
app: fix gimp_widget_load_icon() to work with symbolic icons too.
...
There is more work to be done, especially when scaling icons. But that's
a first step to prevent getting a gimp-wilber-eek icon all over the
place.
2018-05-30 11:57:30 +02:00
Michael Natterer
23a718c1dc
app: remove all size negotiation/allocation code from GimpDockable
...
GtkBin does just the right thing.
2018-05-30 00:36:30 +02:00
Michael Natterer
b11aac154b
app: remove useless "return" in GimpSpinScale
2018-05-30 00:35:18 +02:00
Ell
dd096d3ce5
app: show indication during font loading in text tool and font views
...
While fonts are loading, show a GimpBusyBox with an appropriate
message above the text tool options, and make the options
themselves insensitive, and in font views, such as in the fonts
dialog (through gimp_container_editor_bind_to_async_set(), added in
the previous commit).
2018-05-29 16:04:28 -04:00
Ell
03983f9547
app: add gimp_container_editor_bind_to_async_set()
...
... which takes a GimpAsyncSet and a message, and shows a
GimpBusyBox with that message, instead of the container view, while
the async set is nonempty.
We're going to use this for font-loading indication in font views,
such as in the fonts dialog.
2018-05-29 16:04:28 -04:00
Michael Natterer
e332ba008b
app: fix setting dock window size from GimpSessionInfo
...
In gimp_session_info_apply_geometry(), use gtk_window_resize() instead
of gtk_window_set_default_size() which magically fixes things. Leave a
big comment there because set_default_size() should just work.
2018-05-29 21:11:26 +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
Jehan
d4ff504735
app: fix broken debug output on gitlab.
...
The GIMP version string and the backtrace both look completely wrong
when pasted as-is on gitlab. Somehow all linefeed are gone.
This can be fixed by surrounding these as blocks (triple backticks),
using markdown syntax. Of course now the debug content is not for our
tracker only since packagers are encouraged to replace with their own
tracker URL, but this small markdown syntax is simple enough that it
should not break formatting on other platforms (as far as I know).
2018-05-28 06:26:46 +02:00
Ell
cdd96059f7
app: port all interfaces to G_DEFINE_INTERFACE()
...
... instead of calling g_type_register_static() ourselves.
2018-05-27 05:56:34 -04:00
Michael Natterer
baaa2cd7ca
app: remove the entire dockable tab auto-sizing code
...
It was totally broken and could never work like this in GTK+ 3.x, and
if it can be reimplemented it should be started from scratch.
2018-05-26 16:28:58 +02:00
Michael Natterer
d57ab7faf2
libgimpwidgets: move all GimpSizeEntry members to private
2018-05-25 19:15:00 +02:00
Ell
08ff2ac8c8
app: use gimp_gegl_buffer_copy() all over the place
...
Replace all uses of gegl_buffer_copy() in app/ with
gimp_gegl_buffer_copy(), added in the previous commit.
2018-05-25 08:12:27 -04:00
Michael Natterer
9d5fc680f8
app: actually set the color frames to "not dirty" after updating them
2018-05-24 01:52:29 +02:00
Michael Natterer
3e45427a36
app: fix drawing of GimpColorFrame's number
...
simply draw FG with alpha and remove the "number-color" style property.
2018-05-24 00:09:24 +02:00
Michael Natterer
47cdb11c44
app: fix setting a NULL image in gimp_menu_item_set_image()
...
hbox and label were attached to the wrong widget.
2018-05-23 22:24:08 +02:00
Michael Natterer
d9b97f2923
app: get rid of the dnd_window in GimpPanedBox
...
and draw a drop highlight like gimp_highlight_widget() does.
2018-05-23 19:47:24 +02:00
Michael Natterer
4eb50f8a64
app: fix gimp_highlight_widget() to not draw multiple highlights
2018-05-23 19:45:03 +02:00
Michael Natterer
38ef1054d1
app: handle GIMP_ZOOM_SMOOTH in gimp_palette_editor_zoom()
2018-05-23 12:41:46 +02:00
Michael Natterer
69bff16555
app: undeprecate GimpMeter
2018-05-23 10:07:59 +02:00
Michael Natterer
dba00b031b
app: remove insane sizing hacks and boxes from GimpThumbBox
...
and set the widget's width the right way.
2018-05-23 02:21:38 +02:00
Michael Natterer
e92419707f
app: fix GimpMessageBox size negotiation
...
Also remove obsolete get_path_for_child() impl. and set a max width of
80 chars on the labels.
2018-05-23 01:44:09 +02:00
Michael Natterer
d86dc8a5b4
app: undeprecation in GimpOverlayBox
...
and some size negotiation changes that have no effect at all, just
some hacking in the direction of making it a general-purpose
container, for whatever reason.
2018-05-23 00:42:41 +02:00
Michael Natterer
9647afc7e0
app: fix size negotiation of GimpOverlayDialog
...
so its contents are not cut off any longer.
2018-05-23 00:41:57 +02:00
Michael Natterer
db1cc4afc3
app: use gtk_widget_get_preferred_size() not get_requisition() in GimpView
2018-05-22 16:46:55 +02:00
Michael Natterer
2152bdc588
app: remove almost all code from GimpOverlayFrame
...
Let the parent GtkBin handle size request and allocation, and steal
the CDD style from GtkPopover.
2018-05-22 00:35:04 +02:00
Michael Natterer
7381bb1660
app: make GimpFgBgView draw within the focus rectangle
...
At least the code seems to have that effect, I have no clue what I'm
doing...
2018-05-21 23:07:22 +02:00
Jehan
eb7d59d327
app: gtk_icon_info_free() deprecated since GTK+3.8.
2018-05-21 22:31:34 +02:00
Michael Natterer
15ec52eab4
app: undeprecate GimpThumbBox
...
and cheat around to trick CSS into believing it's a treeview with
a header that says "Preview". Setting its width so it won't jump
around is still broken.
2018-05-21 19:59:38 +02:00
Michael Natterer
6f6ec64fa9
app: the return value of gdk_device_get_has_cursor() has become meaningless
...
so for now assume that all devices except floating ones move the
pointer, and figure out the details once multiple masters actually
exits.
2018-05-20 21:06:35 +02:00
Michael Natterer
9d4d68aa91
app: remove GimpScaleButton, it has not been used in ages
2018-05-20 21:06:35 +02:00
Michael Natterer
ecb99ab445
app: add the new distance, rotation and slider axes to GimpCoords
...
and add code to get them from events and devices.
2018-05-20 21:06:35 +02:00
Michael Natterer
4703a195bb
app: remove GimpHighlightableButton
...
and use gimp_button_set_suggested() and _set_destructive() instead.
2018-05-20 21:06:35 +02:00
Michael Natterer
f102ceb63f
app: add gimp_button_set_suggested,destructive() to gimpwidgets-utils
...
which set/unset the "suggested-action" and "destructive-action" style
classes and make sure the button relief is right.
2018-05-20 21:06:35 +02:00
Michael Natterer
602dfb9a38
app: the last s/GdkDeviceManager/GdkSeat/
2018-05-20 21:06:35 +02:00
Michael Natterer
d2edafbf16
app: use GdkDeviceTool properties to GimpDeviceInfo
...
and display the current tool's info in GimpDeviceInfoEditor.
2018-05-20 21:06:35 +02:00
Michael Natterer
9a4c9b6650
app: add "source", "vendor-id" and "product-id" to GimpDeviceInfo
...
and display them in GimpDeviceInfoEditor.
2018-05-20 21:06:35 +02:00
Michael Natterer
89a4ea85ef
app: port GimpDeviceManager and GimpDeviceInfo to GdkSeat
...
and also be smarter about what devices we enable by default: enable
all tablet devices and disable all things mouse, they can still be
enabled in the device dialog.
2018-05-20 21:06:35 +02:00
Jehan
24d0886f57
app: extended device concept does not seem to exist in GTK+3.
...
We were keeping around a flag telling us if coordinates are extended or
not. In GTK+2, a device indeed had to be enabled. In GTK+3, I can see
that device with extended inputs are enabled by default (they always
have pressure, etc.). This flag is made useless.
2018-05-20 21:06:35 +02:00
Michael Natterer
19caf4add8
app: undeprecate GimpDeviceStatus. don't use gtk_widget_set_state()
...
Use the same code as GimpPrefsBox to make the active device look like
a selected list item.
2018-05-20 21:06:35 +02:00
Jehan
e0b3e893d2
app: GTK+3 has more GdkAxisUse values.
...
This fixes a crash when we were looping until GDK_AXIS_LAST, but our
existing code was expecting less values.
Also I note that GTK+3 has an additional GDK_AXIS_ROTATION since version
3.22, even though we were told that some pens with rotation support
would report rotation values with same valuator as for the wheel (at
least, the Wacom Art Pen would apparently use the same 6th valuator).
For proper support, it would be really worth testing such pens.
2018-05-20 21:06:35 +02:00
Michael Natterer
f3f61379f7
app: remove the option to enable tearoff menus
2018-05-20 21:06:35 +02:00
Michael Natterer
00c6047108
app: undeprecate gimp_highlight_widget_draw()
...
by stealing the few lines of code from gtk-inspector. Looks better, too :)
2018-05-20 21:06:35 +02:00
Michael Natterer
71523b20cb
app: add the help button the proper way in GimpFileDialog
...
Removes deprecated API usage and brings back the button.
2018-05-20 21:06:34 +02:00
Michael Natterer
1fcebb5a73
app: don't use gtk_widget_modify_text() in GimpContainerEntry
...
Instead, show an EEK wilber icon if an object with the entered name
doesn't exist.
2018-05-20 21:06:34 +02:00
Michael Natterer
465300f0ae
app: undeprecate GimpDashEditor
2018-05-20 21:06:34 +02:00
Michael Natterer
d7e7020a32
app: undeprecate GimpDessionInfo and fix remembering size and position
...
Don't mix GtkWindow/GdkWindow/GdkEventConfigure values, always use
GtkWindow API. This seems to fix everything, probably because it
properly takes client-side window decorations into account.
2018-05-20 21:06:34 +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
e4d05a4758
app: use gimp_scroll_adjustment_values() in GimpNavigationEditor
...
and change signature of GimpNavigationView::scroll() to have
a GdkEventScroll instead of a GdkScrollDirection.
2018-05-20 21:06:34 +02:00
Michael Natterer
fa3abc957b
app: set GDK_SCROLL_MASK on widgets that need scroll events
2018-05-20 21:06:34 +02:00
Michael Natterer
a072a5b789
app: get rid of gdk_keymap_get_default(), use get_for_display() instead
2018-05-20 21:06:34 +02:00
Michael Natterer
7d151002b0
app: fix button order in GimpColorDialog
2018-05-20 21:06:34 +02:00
Michael Natterer
cb9651cf73
app: use the passed parent's toplevel in gimp_color_dialog_new()
2018-05-20 21:06:34 +02:00
Michael Natterer
389e86fff8
app: use GTK_ICON_SIZE_MENU for GimpColorEditor's page switching icons
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
dfb4d26611
Use gtk_show_uri_on_window(), gtk_show_uri() is deprecated
2018-05-20 21:06:34 +02:00
Michael Natterer
4e7eead7e3
app: set all GtkPaned widgets to have wide handles
...
the narrow handles' event areas did overlap with our own widgets close
to the handle.
2018-05-20 21:06:34 +02:00
Michael Natterer
407603326f
app: follow preferences changes/improvements in GimpDeviceEditor
2018-05-20 21:06:34 +02:00
Michael Natterer
126c9347e6
app: behold unseen fancy shit in preferences
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
b5d78ee98a
app: fix themeing of GimpHistogramView and GimpCurveView
...
by simply getting rid of all earlier added style properties
and instead using the style of the "view" CSS class.
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
73af1873a7
app: gdk_screen_get_monitor_workarea() -> gdk_monitor_get_workarea()
2018-05-20 21:06:33 +02:00
Michael Natterer
885f66158a
app: kill all except one GtkAlignment, the tag popup one is a bit tricky
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
Simon Budig
9cb67fa992
app: kill the last GtkTables.
2018-05-20 21:06:33 +02:00
Simon Budig
8e900d1867
app/widgets: port the toolbox indicator area to GtkGrid
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
Simon Budig
5e475d67bd
app/widgets: port gimpdashboard to GtkGrid
2018-05-20 21:06:33 +02:00
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
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
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
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
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
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
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
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
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