Commit Graph

5283 Commits

Author SHA1 Message Date
Michael Natterer 1de4e8a697 app: remove gimp_dock_temp_add() and _temp_remove()
and some leftover CSS prider cruft.
2018-06-08 01:41:44 +02:00
Michael Natterer 58d5cd2907 app: remove most of our own dockable DND code
and use GtkNotebook's implementation instead. This is mostly moving
dockable adding and removing code to GtkNotebook::page_added() and
::page_removed() and removing lots of code.
2018-06-08 01:37:19 +02:00
Michael Natterer a4061a6b0d Issue #1291 - Non-intrusive warning when saved XCF version...
...won't work with older GIMP?

Make gimp_image_get_xcf_version() return a "reason" string which lists
all reasons why the image can't be saved with compatibility for older
GIMP versions. Display the reason as tooltip on the compat hint label
in the save dialog.
2018-06-06 23:08:33 +02:00
Michael Natterer 247cc12cec app: use a GtkFlowBox for the toolbox' color/foo/image areas
not perfect but much better than before.
2018-06-05 18:43:46 +02:00
Michael Natterer 5fa8908c61 app: add missing include in GimpProcedureAction 2018-06-05 18:43:46 +02:00
Michael Natterer 07ae01aba8 app: remove unused variables in GimpEditor 2018-06-05 18:43:46 +02:00
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