Commit Graph

1538 Commits

Author SHA1 Message Date
Michael Natterer 23cd244c65 Make display->instance private, add an accessor and use it everywhere 2009-10-06 09:16:46 +02:00
Michael Natterer d1ded0617f More gimp_display_get_shell() instead of display->shell 2009-10-05 19:58:03 +02:00
Michael Natterer 8ba18309eb Use display->gimp intead of display->image->gimp 2009-10-04 20:05:28 +02:00
Michael Natterer ac98c2c234 Use gimp_display_get_shell() instead of directly accessing it 2009-10-04 19:56:39 +02:00
Michael Natterer 31a41c2b3d Use gimp_display_shell_present() instead of gtk_window_present() 2009-10-04 19:27:58 +02:00
Michael Natterer aa85917b1a Raise the toplevel not the shell 2009-10-04 18:54:20 +02:00
Michael Natterer dee0afed79 Move the statusbar back to GimpDisplayShell
Keeping it in GimpImageWindow was a bad idea because
- it wasted space
- it produced evil code because
- it conceptually didn't belong there
2009-10-04 15:33:03 +02:00
Martin Nordholts 2d1d2aae17 app: Handle dock windows without docks in action_data_get_foo() 2009-10-04 02:10:11 +02:00
Martin Nordholts e36c3ee9bd app: Fix keyboard shortcuts not working when non-image-windows focused
Handle GIMP_IS_DOCK_WINDOW in action_data_get_foo(). This makes image
related keyboard shortcuts work again when e.g. a dock is the focused
window. Fix discovered by Michael Natterer.
2009-09-30 07:34:55 +02:00
Michael Natterer 1c430a2b19 Move all GimpImageWindow members to a private struct
Add accessor functions for publically available members and visibility
functions for menubar and statusbar.
2009-09-29 21:44:43 +02:00
Michael Natterer 253b8e2cbe Use gimp_display_shell_get_window() instead of gtk_widget_get_toplevel()
The new function does the right thing, unlike get_toplevel() which
returns the shell itself if it is not in a window. Check the return
value of get_window() for being non-NULL.
2009-09-29 20:32:26 +02:00
Michael Natterer 35739c743c Change GimpImageWindow API to speak in shells, not displays
A widget container should keep around child widgets, not whatever
objects that just have widgets.
2009-09-28 22:55:55 +02:00
Michael Natterer bb8daa49a3 Present the toplevel not the shell 2009-09-28 22:55:55 +02:00
Michael Natterer 10b98034d4 Move the statusbar to GimpImageWindow
As with the menubar, port some code properly, and add some
horrible /* FIXME image window */ hacks to make it work.
2009-09-28 22:55:38 +02:00
Michael Natterer 6793d68769 Move the menubar and the menubar_manager to GimpImageWindow
Also move some of their related code and update other code to
go via gtk_widget_get_toplevel(), but also add some horrid temp
/* FIXME image window */ hacks.
2009-09-28 22:55:38 +02:00
Michael Natterer be93e6564a Move the fullscreen API from GimpDisplayShell to GimpImageWindow
Also remove GimpDisplayShell's "window_state" member. Use
gtk_widget_get_toplvel() to get to the GimpImageWindow when we need a
display shell's fullscreen state.
2009-09-28 22:55:37 +02:00
Michael Natterer 7c66b4c43d Support GimpImageWindow as action callback user_data 2009-09-28 22:55:36 +02:00
Martin Nordholts c39b8758d5 app: Make dock actions like "Show Image Selection" work
Take into account that the toplevel is not a dock any longer but a
dock window.
2009-09-27 17:12:18 +02:00
Martin Nordholts 9fa51f70f4 Add a Single-window mode
Add a single-window mode that can be toggled from 'Windows ->
Single-window mode'. No code is yet hooked to the mode though.
2009-09-26 18:28:41 +02:00
Martin Nordholts 5447938d5c app: Fix bogus cast in dock-actions.c 2009-09-26 16:13:42 +02:00
Martin Nordholts 0be33be0dc app: Add missing #include "widgets/gimpdockwindow.h" 2009-09-26 15:18:33 +02:00
Martin Nordholts c9d8aafb68 app: Change a few GIMP_IS_DOCK to GIMP_IS_DOCK_WINDOW
In many places we are interested in wether or not we have a dock
window, not a dock. This is in preparation for making GimpDock a
non-GimpDockWindow.
2009-09-26 14:26:49 +02:00
Martin Nordholts 62dde84e43 app: Change GimpDialogFactory signals to "dock-window-added/removed"
Change the GimpDialogFactory signals "dock-added" and "dock-removed"
to "dock-window-added" and "dock-window-removed". Doing this makes
sense for a couple of reasons. First of all, the dialog factory is
built around top-levels. Second of all, the listeners to the signals
(such as the "recently closed docks" construct) work on a
gtk-window-level, not a dock level.

This change is a preparation for when GimpDock will stop being a
GimpDockWindow.
2009-09-26 13:11:42 +02:00
Michael Natterer e79c3c9bd7 Allow merging down a group layer
There is no reason to disallow this, the merged-down group layer will
simply disappear from the image just as a normal layer, and its
projection composited with the layer below.
2009-09-21 19:21:03 +02:00
Michael Natterer 90893cea84 Add "layers-merge-group" action, callback and menu items 2009-09-21 19:17:02 +02:00
Martin Nordholts 8bfcd14f9a app: Add GimpSessionInfo getters and setters 2009-09-20 14:51:03 +02:00
Martin Nordholts e87ed66ba7 app: Don't cast GimpDock to GimpDockWindow
In preparation for making GimpDock inherit from a non-window, stop
casting GimpDocks to GimpDockWindows. Instead look up the toplevel
widget for a dock and get the dock window that way.
2009-09-15 07:58:14 +02:00
Martin Nordholts 8ffda9d20f app: Add and use windows_actions_dock_to_action_name() 2009-09-14 23:36:22 +02:00
Martin Nordholts 2ac7cedbfc app: Make GimpDockbook instance data private
Make GimpDockbook instance data private and add necessary getters and
setters.
2009-09-13 16:30:09 +02:00
Martin Nordholts fb99f99788 Move dock window themeing to GimpDockWindow
Move the dock window related themeing namely default dock heght and
font scale from GimpDock to GimpDockWindow to get rid of yet another
GtkWindow dependency from GimpDock.

Note that this change requires gtkrc updates where "GimpDock::" needs
to be repaced with "GimpDockWindow::".
2009-09-13 11:23:02 +02:00
Michael Natterer 84b02fb978 Refuse to convert layer trees to indexed 2009-09-07 21:09:24 +02:00
Michael Natterer 60ac874cd0 Refuse to add group layers to indexed images 2009-09-07 21:08:25 +02:00
Michael Natterer df9e9e2609 Disable layer masks on group layers for the time being
Will enable it again when I fixed it properly, it's clearly a
non-trivial problem that needs some thinking. Disabled for now because
it causes crashes.
2009-09-05 15:37:48 +02:00
Sven Neumann 8405d69e86 formatting 2009-09-03 20:54:06 +02:00
Martin Nordholts 9359c5d44f app: Escape the file names in export menu items
We need to escape _ in the filenames we use for the 'Overwrite' and
'Export to' menu items, otherwise they show up as mnemonics.
2009-09-03 20:14:15 +02:00
Michael Natterer 9e18f771c4 Replace "Group Layer" by "Layer Group" in all user visible strings 2009-09-03 14:57:18 +02:00
Michael Natterer f1f186c718 Change mnemonic of "New Group Layer..." to "G" 2009-09-03 09:10:42 +02:00
Michael Natterer c39dfab87c Don't access image->width and ->height directly 2009-09-03 01:03:29 +02:00
Michael Natterer c6c0817602 Don't make the action that invokes the tool insensitive for locked vectors 2009-09-01 12:44:30 +02:00
Michael Natterer a3558e3cb8 Remove GIMP_OBJECT() casts when calling gimp_object_get_name() 2009-08-31 22:47:18 +02:00
Michael Natterer e6235cd982 Don't allow stroking to locked items and group items 2009-08-29 20:20:25 +02:00
Michael Natterer 02903d6970 Use gimp_item_is_content_locked() instead of gimp_item_get_lock_content()
Use the new API whenever we want to determine the item's effective
lock state (whether we can write to the item's content or not). Use
gimp_item_get_lock_content() only in code that actually deals with
*this* item's locked state, which is only the PDB wrappers and GUI to
modify the flag on the item itself.
2009-08-29 15:27:04 +02:00
Michael Natterer 85c6af5d42 Separate checks for "writable" from "is group" when setting sensitivity 2009-08-29 12:51:58 +02:00
Martin Nordholts 957cf2cfa9 app: Always use gimp_object_get_name()
Begin to consider GimpObject::name as private and always use
gimp_object_get_name(). Change gimp_object_get_name() to take an
untyped pointer so we don't have to do so awfully many casts. There is
a runtime check for the type inside the function anyway.
2009-08-29 12:41:29 +02:00
Michael Natterer d442379d5e Change GimpProjectable::update to GimpProjectable:invalidate
The only purpose of this change is to avoid having the "update"
signal twice on GimpGroupLayer (from GimpDrawable and from
GimpProjectable). Switch back to normal g_signal_connect()
in the projection.
2009-08-26 13:06:55 +02:00
Michael Natterer d37dc64b16 Add GError reporting to gimp_image_merge_down()
- turn g_return_if_fail() of more complex conditions into errors.
- change PDB wrapper accordingly instead of adding a ton of conditions
  there.
2009-08-25 22:02:02 +02:00
Michael Natterer d91a89e157 Make "Merge down" work on trees and start fixing the rest of the merge code
* make internal merge functions aware of the container to merge and
  its parent layer.
* git rid of some cruft in gimp_image_merge_down().
* merge down works within one container (naturally) and needs:
  - the uppper layer not to be a group
  - the lower layer to be writable
* fix action sensitivity accordingly.
2009-08-25 21:26:14 +02:00
Michael Natterer 8a4d6c315f Enable "layers-resize" for group layers 2009-08-25 17:32:55 +02:00
Michael Natterer f812d09d1b Enable "layers-crop" for group layers 2009-08-25 17:30:50 +02:00
Michael Natterer 40cf6fa62a Allow scaling of group layers even though they appear locked 2009-08-25 14:31:33 +02:00