Commit Graph

3735 Commits

Author SHA1 Message Date
Martin Nordholts 9bd423994d app: Make Alt-Click on layer thumbnail in Layers dockable discoverable
Make Alt-Click on layer thumbnail in Layers dockable discoverable, at
least in theory, by adding this info to the menu item tooltips.
2010-08-17 18:59:04 +02:00
Martin Nordholts a0dc12a0f3 Remove "Text to Selection" actions
Remove "Text to Selection" actions. They were added to make the
feature more discoverable. But we should make the original "Alpha to
selection" feature more discoverable, not treating text layers in a
special way where it's not needed.
2010-08-17 18:59:04 +02:00
Michael Natterer 7df1a4f3df app: clean up GimpColorBar rendering and add cairo_surface_mark_dirty() 2010-07-30 16:25:08 +02:00
Michael Natterer 208096bc7c app: port GimpColorBar drawing to cairo 2010-07-30 14:58:55 +02:00
Michael Natterer 4466b3a35b app: remove code duplication in the histogram and curve views
by letting the histogram view always draw the background and the outer
borders. Also fix a lot of off-by-one problems in the curve view which
occur due to the 0.5,0.5 offset of cairo line drawing.
2010-07-30 12:51:03 +02:00
Michael Natterer c548a593e5 app: port GimpHistogramView drawing to cairo 2010-07-30 12:18:08 +02:00
Michael Natterer 900fd00c00 app: port GimpTagPopup drawing to cairo 2010-07-29 14:41:50 +02:00
Michael Natterer d28a04ac04 app: port GimpFgBgEditor drawing to cairo 2010-07-29 14:20:37 +02:00
Michael Natterer c5951857e1 app: forgot cairo_destroy() 2010-07-29 14:10:01 +02:00
Michael Natterer 8d67b5b69b app: port GimpFgBgView rendering to cairo 2010-07-29 14:05:51 +02:00
Michael Natterer 06488d03fe app: draw the curve view's background with cairo
and fix focus line drawing by one pixel.
2010-07-28 16:15:54 +02:00
Michael Natterer c3a4825a8a app: simplify GimpOverlayFrame drawing a lot
Thanks to Benjamin Otte for some tips.
2010-07-27 17:26:40 +02:00
Sven Neumann 8cf801c8e0 app: allow to delete curve points
Pressing Delete in the Curve view now deletes the selected point
on the curve.
2010-07-26 01:08:44 +02:00
Michael Natterer 4165dfb217 app: move the alt-click selection feature to GimpItemTreeView
so it works the same for layers, channels and vectors and remove the
separate (and different) implementations from all subclasses.
2010-07-20 23:36:16 +02:00
Michael Natterer 8b31211639 Fix the bulid after GtkNotebookPage got deprecated in gtk-2-22
In all GtkNotebook::switch_page() callbacks, simply replace
GtkNotebookPage* by gpointer.
2010-07-16 15:24:25 +02:00
Michael Natterer 314a6ab926 app: merge the layer, channel and vectors repositioning APIs
into an API based on GimpItem.
2010-07-08 18:08:13 +02:00
Michael Natterer fad6053643 Make cairo code work with newer cairo backends that actually use caching
Call cairo_surface_flush() before reading or writing a surface's
pixels directly, and use cairo_surface_mark_dirty() after writing
pixels directly, so we don't read old pixels, and our written pixels
get actually used.
2010-06-28 12:23:31 +02:00
Michael Natterer d2fd8a8dc8 app: don't call gimp_cell_renderer_viewable_pre_clicked() on a NULL cell 2010-06-28 00:13:19 +02:00
Martin Nordholts 706900c4f6 Bug 589010 - Don't make Alt-Clicked layers active
Add a "pre-clicked" signal to GimpCellRendererViewable that can
prevent a selection from happening. Move the Alt-Click code in
GimpLayerTreeView to this signal and if a layer is Alt-Clicked, don't
go ahead and make the layer active. Also add a test for this use case.
2010-06-27 21:46:53 +02:00
Martin Nordholts 4471f0ea4b Bug 622683 - file export defaults to the wrong directory / folder
We were not in sync with the spec:
http://gui.gimp.org/index.php/Save_%2B_export_specification#exporting_files
2010-06-27 14:11:13 +02:00
Martin Nordholts 0258461c9f app: Format widgets/gimpcellrendererviewable.h
Format widgets/gimpcellrendererviewable.h and make room for
gimp_cell_renderer_viewable_pre_select().
2010-06-27 11:51:44 +02:00
Martin Nordholts 3f0b473680 app: Don't use actions for Alt-Click on layer
Don't use an action based implementation of Alt-Click for "Layer to
selection" since the actions will always use the active drawable,
preventing us from solving bug 589010. Use the tree model and
gimp_channel_select_alpha() instead.
2010-06-27 10:40:56 +02:00
Martin Nordholts aeed966943 app: Format widgets/gimplayertreeview.c function prototypes
Format widgets/gimplayertreeview.c function prototypes with
egtk-format-protos.
2010-06-27 10:40:56 +02:00
Michael Natterer 40423b26a8 app: free ui_manager_name in finalize() 2010-06-26 23:28:17 +02:00
Michael Natterer 79dbfb2b51 app: remove the docks manually in dispose() for the reason below 2010-06-26 23:27:17 +02:00
Michael Natterer de3a5896f3 app: remove the children manually in dispose() for the reason below 2010-06-26 23:26:00 +02:00
Michael Natterer 0abe67389d app: remove the dockables manually in dispose()
using the proper API, so all stuff is properly disconnected and the
list items managing them are freed to. Also make removing robust
against dockbook->dock being NULL.
2010-06-26 23:23:50 +02:00
Martin Nordholts ed630a1852 app: Remove unused variables and dead code 2010-06-24 22:46:20 +02:00
Michael Natterer 991210c0f9 Bug 622608 - GIMP crashes when clicking any scroll bar from combo boxes
Don't cancel the popup in grab_notify() if the popup's grab was
shadowed by one of the widgets in the popup, like the scrollbar.
2010-06-24 21:56:41 +02:00
Michael Natterer c47edb5016 app: improve the g_warning() about undestroyed dialogs 2010-06-24 18:38:17 +02:00
Michael Natterer 403908829a app: add comment about why we can't use GimpContainerView API in init() 2010-06-24 18:38:17 +02:00
Michael Natterer 3c565a1736 app: unref context, dialog_factory and ui_manager in GObject::dispose()
The were not unrefed at all before
2010-06-24 18:38:16 +02:00
Michael Natterer ad83462570 app: unref the filtered container in GObject::dispose()
It was simply never destroyed at all before.
2010-06-24 18:38:16 +02:00
Michael Natterer b43be361ff app: add a forgotten g_object_unref()
so all dockables are destroyed when a dock is destroyed.
2010-06-23 22:50:45 +02:00
Michael Natterer ea050b267e app: don't leak all cached GtkTreeIters in container views
This is evil: the hash table of "insert_data" is created on demand
when GimpContainerView API is used, using a value_free_func that is
set in the interface_init functions of its implementors. Therefore, no
GimpContainerView API must be called from any init() function, because
the interface_init() function of a subclass that sets the right
value_free_func might not have been called yet, leaving the
insert_data hash table without memory management.

Call GimpContainerView API from GObject::constructed() instead, which
runs after everything is set up correctly.
2010-06-23 00:20:21 +02:00
Michael Natterer a60463cd8e app: free one more list returned by gtk_container_get_children() 2010-06-23 00:19:44 +02:00
Michael Natterer 46e1410213 app: free the list returned by gtk_container_get_children() 2010-06-22 23:06:35 +02:00
Michael Natterer 865a1f4896 app: free the string returned by gimp_dock_window_get_description() 2010-06-22 23:06:35 +02:00
Michael Natterer 2a984ef51f Bug 612618 - Font selection remains visible
Connect to "grab-notify" and "grab-broken-event" and close the popup
when the grab is lost.
2010-06-22 20:09:52 +02:00
Michael Natterer ae0ae9fcb8 app: pass all construct params to g_object_new() 2010-06-21 21:08:13 +02:00
Michael Natterer ac6ee07184 app: the tests should succeed, so should a normal gimp session
Don't divide by zero in gimp_session_info_class_apply_position_accuracy()
when klass->position_accuracy is 0, which happens on each exit in a normal
session.
2010-06-20 23:26:45 +02:00
Martin Nordholts ce33255588 app/tests: Also add error margin to 'gimpsessioninfo-book.c'
Also add error margin to 'gimpsessioninfo-book.c' and update reference
files. This makes 'make distcheck' pass, and it passes more reliably.
2010-06-20 20:30:24 +02:00
Martin Nordholts 49d951d49e app: Introduce error margin in sessionrc in test cases
Introduce a few pixels of error margin in sessionrc, otherwise the
tests are too fragile, widgets have a tendency to change size a bit
and window managers have a tendency to move windows a bit.

Still needs more work, should probably do the same on book positions
too...
2010-06-19 23:55:35 +02:00
Martin Nordholts b799a8bd03 app: Remove unnecessary gimp_dockbook_refresh_tab_layout_lut() calls
We don't need to call gimp_dockbook_refresh_tab_layout_lut() in
added() and removed() because we call
gimp_dockbook_update_auto_tab_style() in add() and remove().
2010-06-18 20:31:33 +02:00
Michael Natterer 8ab8a25c99 app: some disabled cairo bling code
that draws a gradient in the background of the frame. Not meant
seriously, just something to play with for everybody interested.
2010-06-18 13:51:49 +02:00
Michael Natterer c1c715c2d1 app: don't draw any background if the overlay child is app-paintable
instead of never drawing a background. Doesn't make any difference,
but makes GimpOverlayBox a more general container. Also, the offscreen
GdkWindow doesn't need any event but GDK_EXPOSURE_MASK.
2010-06-18 13:46:39 +02:00
Michael Natterer 27ec3aa812 app: switch off double buffering on the entire offscreen widget tree
Also always return FALSE from the expose and damage event handlers.
2010-06-18 13:45:03 +02:00
Michael Natterer 30de295cf4 app: make the alpha channel work on canvas overlay widgets
* app/widgets/gimpoverlaychild.c: when creating offscreen windows, try
  to set an RGBA colormap on the offscreen window's widget and use the
  RGBA colormap to create the window. This has to be done here,
  because it's not possible to get to the right screen *inside* the
  offscreen widget before it's parented, and we need that screen
  before the widget is realized, and the widget can't be parented
  before it's realized or it will get the wrong parent window.
  Everything clear now?

* app/widgets/gimpoverlayframe.c: draw the round corners only if the
  screen has an RGBA colormap.
2010-06-12 23:48:29 +02:00
Michael Natterer d3e7864b5c app: code cleanup 2010-06-12 19:37:03 +02:00
Michael Natterer fc3a89ab0e app: make GimpOverlayFrame work as standalone container
Implement size_request() and size_allocate() so it can be used to pack
an arbitrary widget without the need for being subclassed.
2010-06-12 19:23:22 +02:00