Commit Graph

12199 Commits

Author SHA1 Message Date
Martin Nordholts 2d3aae3982 app: Expand docks in GimpDockColumns 2009-10-04 14:59:31 +02:00
Martin Nordholts d8392b8c52 app: Don't resize the left dock area when the image window is resized 2009-10-04 13:51:47 +02:00
Martin Nordholts 3b721864d7 app: Only show dock separators when rearranging the UI
For now, only show dock separators when they are needed, not all the
time. We need a better solution eventually, but at least docks in the
image window doesn't look terrible any longer.
2009-10-04 12:58:30 +02:00
Martin Nordholts 8fd011e75e app: Make right dock column not resize when adjusting left pane 2009-10-04 11:27:46 +02:00
Martin Nordholts d3435b14e6 app: Put docks in the image window in single-window mode in panes 2009-10-04 11:13:05 +02:00
Martin Nordholts fcf5895575 app: Move docks to image window in 'Single-window mode'
When 'Single-window mode is enabled, move the toolbox and existing
docks into the image window. Needs a lot of more work but is
functional enough for curious people.

Implemented by adding a new GimpUIConfigurer component that has global
knowledge. There is a single application instance of this
component. It subscribes to changes in the single-window-mode config
property and adjusts the UI accordingly.
2009-10-04 02:10:11 +02:00
Martin Nordholts 10f6ba7774 app: Add simple utility function gimp_dock_columns_add_dock()
Add simple utility function gimp_dock_columns_add_dock(). We'll create
a more sophisticated API later.
2009-10-04 02:10:11 +02:00
Martin Nordholts 4acbda8b35 app: Add more verbose "dialog-factory" debug output 2009-10-04 02:10:11 +02:00
Martin Nordholts d1958a5103 app: Add GimpDockColumns to the left and right of a GimpImageWindow 2009-10-04 02:10:11 +02:00
Martin Nordholts 301e5c2c34 app: Maintain a list of GimpImageWindow:s on an app instance level 2009-10-04 02:10:11 +02:00
Martin Nordholts 2d1d2aae17 app: Handle dock windows without docks in action_data_get_foo() 2009-10-04 02:10:11 +02:00
Michael Natterer 750c11f001 Move the display render buf size #defines to gimpdisplayshell-render.h 2009-10-03 00:15:04 +02:00
Michael Natterer 1a7c67bc05 Remove duplicate #define GIMP_DISPLAY_RENDER_BUF_WIDTH 256 2009-10-03 00:11:34 +02:00
Michael Natterer cbc4013412 Reindent prototypes 2009-10-03 00:06:44 +02:00
Michael Natterer f6fd3aed51 Move GimpDisplayShell's expose functions to separate files 2009-10-02 23:55:26 +02:00
Michael Natterer 6c46d1ec73 Fix some comment typos and formatting 2009-10-02 23:43:58 +02:00
Michael Natterer 3d13f8d4d5 Tweak display finding logic of previous commit a bit
(gimp_display_new): add the new shell to the active display's image
window, not the first display's.
2009-10-02 21:50:02 +02:00
Michael Natterer 3106b66186 Finally enable multiple images in one window
(gimp_display_new): if single-window-mode is active, put the new shell
into the first display's image window.
2009-10-02 21:15:07 +02:00
Michael Natterer ff20a1367d Make GimpImageWindow handle the empty display correctly
Keep around a boolean state "is_empty" and update it when adding and
removing shells, and when the image of any shell changes. Do empty
display voodoo only when the "is_empty" state changes.
2009-10-01 19:44:13 +02:00
Michael Natterer 625885eb9d Make sure the shell is really destroyed when removing it from the window
Explicitely call gtk_widget_destroy() to break whatever reference
cycles so the shell really goes away.
2009-10-01 19:44:13 +02:00
Michael Natterer a6bb7fb8ee Remove accidentially added #include 2009-09-30 19:31:13 +02:00
Michael Natterer b9b7cadbb0 Use large image previews as tab widgets 2009-09-30 19:25:38 +02:00
Michael Natterer 98a4653186 (gui_display_get_window): return the ID of the toplevel, not of the shell 2009-09-30 17:01:55 +02:00
Michael Natterer 97f556160f Remove #include "display/gimpimagewindow.h" 2009-09-30 15:00:09 +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 ccdab9e4cd Make updagin the image window's ui manager more sane
(gimp_image_window_image_notify): update the ui manager unconditionally
(both when a display is emptied *and* filled)

(gui_display_create): remove updating code here. It was not belonging
here anyway and the image window does the right thing now.
2009-09-30 00:00:36 +02:00
Sven Neumann bc9602c410 remove pointless delete-event handler 2009-09-29 23:38:16 +02:00
Tal Trachtman 9fe00a7877 Bug 596472 - Rotate brushes artifacts at certain rotation angles
Solved a bug in the bilinear interpolated brush transform algorithm that
sometimes caused pixel artifacts to appear on brush edges for brushes
rotated 90, -90, -180, 180 degrees.
2009-09-29 23:03:58 +02:00
Michael Natterer ee2fdbcf8f Enable some #if 0'ed code and use the just added API
gimp_display_delete(): remove shells from image windows with more than
one shell instead of destroying the window.
2009-09-29 23:01:33 +02:00
Michael Natterer d1dc70fbdf Add some more shell management API to GimpImageWindow
- gimp_image_window_remove_shell()
- gimp_image_window_get_n_shells()
2009-09-29 22:59:48 +02:00
Michael Natterer 3189b8f45f Move GimpImage::saved and GimpImage::exported handlers to the right place
GimpDisplay is *only* for proxying the image's projection, every other
image/display connection belongs into GimpDisplayShell, so move these
handlers from gimpdisplay-handlers.c to gimpdisplayshell-handlers.c.
2009-09-29 22:38:34 +02:00
Michael Natterer 35588efaa1 Remove "gimp-" prefix from the shell's "icon" and "title" properties
The prefix was needed because GtkWindow also has "icon" and "title"
properties.
2009-09-29 22:20:12 +02:00
Michael Natterer d046da90e2 Merge the image window's active shell logic with the notebook's active page
Add a GtkNotebook::switch_page() handler and move all shell switching
code there. In gimp_image_window_set_active_shell(), simply set the
right notebook page.
2009-09-29 22:14:10 +02:00
Michael Natterer e8061e5a7e Add a notebook for the display shells 2009-09-29 21:57:57 +02:00
Michael Natterer b0f7a7daf4 Add a central hbox for docks and display shells 2009-09-29 21:47:58 +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 59274856ad Derive GimpDisplayShell from GtkVBox instead of GimpImageWindow
...and pack the widget into a separately created GimpImageWindow.
2009-09-29 20:56:14 +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 97987aff6e Add gimp_display_shell_get_window() which returns an image window or NULL 2009-09-28 23:53:05 +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 87001c1b3a gtk_window_present() the toplevel, not the shell 2009-09-28 22:55:54 +02:00
Michael Natterer 54edc20113 Add missing #include "gimpimagewindow.h" 2009-09-28 22:55:54 +02:00
Michael Natterer 45f4a99339 Don't set any options in gimp_display_shell_new()
All options are properly set when the shell is set active in its image
window.
2009-09-28 22:55:54 +02:00
Michael Natterer 1273a63eab Update the shell's appearance when it is set active in the image window 2009-09-28 22:55:53 +02:00
Michael Natterer 16038023a5 Remove some dead code and fix some comments 2009-09-28 22:55:53 +02:00
Michael Natterer a8876834e8 Move the remaining menubar signal connections from the shell to the window 2009-09-28 22:55:53 +02:00
Michael Natterer 375a25dd24 Destroy the toplevel, not the shell in gimp_display_delete()
Also add disabled code that removes the display from an image window
that has more then one display.
2009-09-28 22:55:53 +02:00
Michael Natterer f7f58d57be gtk_window_present() the toplevel, not the shell 2009-09-28 22:55:52 +02:00
Michael Natterer accdd3d8a1 Go via the toplevel to get to the menubar manager 2009-09-28 22:55:52 +02:00