Michael Natterer
6bf7f7e429
app: ref the session info in gimp_dialog_factory_add_session_info()
...
and unref it in the callers after adding it. That's the proper way of
doing it and fixes another warning when restoring a dock fails.
2011-05-12 21:23:07 +02:00
Michael Natterer
9e60dd547d
app: keep a ref to the session info in gimp_session_info_restore()
...
because failing to restore a dock can destroy the newly created dock
and implicitly unref the session info.
2011-05-12 21:23:06 +02:00
Michael Natterer
68a56a861e
app: gimp_session_info_book_restore(): don't set a non-existing current page
...
Don't set the first page of the restored dockbook active if there are
less than two pages. Also add a comment that explains why we return
the dockbook even though we know that all its dockables failed to
restore.
2011-05-12 21:23:06 +02:00
Michael Natterer
80cf95319e
app: gimp_session_info_dockable_restore(): don't return existing singletons
...
Instead, return NULL. The singleton dockable can't be restored in this
dock because it's already open in another dock.
2011-05-12 21:23:06 +02:00
Martin Nordholts
c70dc8f86d
app: Add NULL check in gimp_dock_container_get_docks()
2011-05-12 06:51:40 +02:00
Michael Natterer
3184c0f339
app: use g_object_bind_property() to set sensitivity here too
2011-05-11 11:43:19 +02:00
Martin Nordholts
6d421f9d4d
app: Add and use gimp_session_info_get_info_with_widget()
...
Add and use helper function
gimp_session_info_get_info_with_widget(). Might need it for
GimpImageWindow later...
2011-05-09 19:55:51 +02:00
Martin Nordholts
4b9243fc60
app: Make GimpDockWindow implement GimpDockContainer
...
Make GimpDockWindow implement the GimpDockContainer interface. The
plan is to make GimpImageWindow also implement the GimpDockContainer
interface when we start to session manage docks in single-window mode.
2011-05-09 19:55:51 +02:00
Martin Nordholts
2287b6e008
app: Add a GimpDockContainer interface
...
We now have to classes that contain docks, GimpDockWindow and
GimpImageWindow (in single-window mode). Introduce a GimpDockContainer
interface so we can cope with these in an abstract way.
2011-05-09 19:43:28 +02:00
Martin Nordholts
1d12dc8e86
app: Sort widgets/widgets-types.h
2011-05-09 18:37:40 +02:00
Michael Natterer
85c0fd1166
app: replace gimp_dock_get_dock_columns() by gtk_widget_get_ancestor()
2011-05-04 22:41:40 +02:00
Michael Natterer
909e7833a3
app: remove some more -Wunused-but-set-variable
2011-05-02 13:53:58 +02:00
Michael Natterer
c35ff719a7
app/libgimp*: remove stuff found by -Wunused-but-set-variable
2011-05-01 23:23:19 +02:00
Michael Natterer
cc47b2a600
libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
...
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
Michael Natterer
2af539020b
app: don't include individual files from libgimp*
2011-04-28 14:23:33 +02:00
Martin Nordholts
4988a97257
app: Add gimp_dock_set_id()
2011-04-21 19:57:14 +02:00
Martin Nordholts
c84d26667b
app: Add missing gimp_dock_get_id() implementation
2011-04-21 18:59:12 +02:00
Martin Nordholts
f75f61779c
app: GimpSessionInfoDock::identifier -> dock_type
...
Rename GimpSessionInfoDock::identifier to dock_type, because it isn't
really an identifier; there might be several instance with dock_type
being "gimp-dock". This is a preparation for adding an actual
'identifier' member.
2011-04-21 18:59:12 +02:00
Michael Natterer
4a8fa1ab2a
app: make GimpSpinScale RTL aware
2011-04-20 20:12:21 +02:00
Alexandre Prokoudine
ae2ab1ff3b
Fixed a typo
...
The brush editor used to say "Spahe" instead of "Shape".
2011-04-20 13:20:42 +04:00
Michael Natterer
3edf0cb531
app: GimpSpinScale: don't create two cairo_t in expose()
2011-04-20 00:43:30 +02:00
Michael Natterer
3bf15d32e6
app: use GimpSpinScales in GimpBrushEditor
2011-04-18 22:27:43 +02:00
Michael Natterer
6dd463fb02
app: gimp_spin_scale_change_value(): remove "+ lower" from step calculation
...
It was never noticed because lower is 0.0 or 1.0 in all use cases.
2011-04-18 21:21:45 +02:00
Michael Natterer
bfcecd2ef0
app: GimpBrushFactoryView: use a GimpSpinScale for spacing
...
and use the new scale_limits API to restrict the scale to 1..200 while
the actual range is 1..5000.
2011-04-18 21:04:05 +02:00
Michael Natterer
d300ec6556
app: add a "scale_limit" API to GimpSpinScale
...
which allows to restrict the scale to a range that is smaller than
that of the model GtkAdjustment. This way we can enter large values in
the entry or by dragging beyond the end of the scale, but keep a
reasonably usable scale range for "normal" values.
2011-04-18 21:01:48 +02:00
Michael Natterer
bc56060148
app: GimpLayerTreeView: use a GimpSpinScale for opacity
2011-04-18 20:41:02 +02:00
Michael Natterer
26d50b533b
app: gimp_item_tree_view_add_options(): allow NULL labels
...
and pack the options widget into the vbox directly.
2011-04-18 20:40:10 +02:00
Mikael Magnusson
854dd5b6ad
app: correct cast for spinbutton
2011-04-16 11:52:49 +02:00
Michael Natterer
924d647284
app: set GimpSpinScale to numeric-only input
...
It's the right thing to do, but also works around focus issues in SWM,
at least while the widget has the focus.
2011-04-16 02:09:37 +02:00
Michael Natterer
7e6c026790
Globally use GDK_KEY_foo, remove the compat defines from widgets-enums.h
2011-04-11 23:43:03 +02:00
Martin Nordholts
27ac2a3c38
app: Make GimpEditor instance members private
2011-04-10 12:12:01 +02:00
Michael Natterer
d52157b565
Bug 647235 - app/widgets/gimpcairo-wilber.c parses path data every time
...
Applied patch from Juan Pablo Ugarte which keeps Wilber's cairo_path_t
around instead of parsing the SVG data each time.
2011-04-09 08:30:23 +02:00
Michael Natterer
5562f840b6
Bug 646718 - gimp_curve_set_curve: assertion `y >= 0 && y <= 1.0' failed
...
CLAMP(value, 0.0, 1.0) in one more place. The calculation does
look correct, but we are probably running into floating point
inaccuracies.
2011-04-08 20:53:17 +02:00
Michael Natterer
fcbc5eebeb
app: add an edit button the the tool options' brush etc. selectors
...
which makes getting to the editor dialogs much easier.
2011-04-07 23:48:08 +02:00
Mikael Magnusson
b00cb3be79
Remove stray semicolon
2011-04-06 23:40:56 +02:00
Mikael Magnusson
ac403ce11d
Add a controller for binding mouse buttons
2011-04-06 23:35:14 +02:00
Michael Natterer
24ee3370b8
Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
...
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
Michael Natterer
054957a1ee
app: s/nbrushes/n_brushes/ in GimpBrushPipe
2011-04-05 15:16:06 +02:00
Michael Natterer
39fa147c17
app: unset GimpSpinScale's context sensitive cursor when the pointer leaves
2011-04-04 01:10:44 +02:00
Michael Natterer
61025c6023
Bug 624824 - use gtk-image-menu-item-set-always-show-image on some menu items
...
Always show icons for:
- Fill FG/BG/Pattern
- Rotate
- Recently opened
- Open images
2011-04-02 15:38:55 +02:00
Michael Natterer
d92b22c567
app: #include "widgets-types.h" so the GDK_KEY_foo defines are there
2011-03-29 22:39:34 +02:00
Michael Natterer
1cdaa2846f
app: some forgotten s/GDK_foo/GDK_KEY_foo/
2011-03-29 18:53:02 +02:00
Michael Natterer
7c60bb5181
app: use more of the new GDK_KEY_foo key names
...
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer
6c524ea1db
app: GimpSessionInfo: use brute force to position dialogs
...
Window managers are such a crap. So on top of all friendly hinting and
geometry setting, simply use gtk_window_move() whenever a session
managed GtkDialog is shown. It should be very hard to ignore that, but
of course the WM has the last word no matter how hard we try.
Note: this code should be more complex and the signal connection
should happen in GimpDialogFactory. Left it in GimpSessionInfo for now
until it got a bit of testing.
2011-03-26 19:47:44 +01:00
Michael Natterer
c629cbeb89
app: some formatting cleanup in GimpDialogFactory
2011-03-26 19:32:59 +01:00
Michael Natterer
bc8d5f84d6
app: remove the "offset" API from TileManager
...
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
Michael Natterer
aec66d0c26
app: make GimpTaggedContainer properly memory manage the filter list
...
instead of leaking it. Also make the fact that tags in the list can
validly be NULL obvious by adding utility functions
gimp_tag_or_null_ref/unref().
2011-03-24 12:28:45 +01:00
Michael Natterer
7eda388fec
app: fix possible GimpTagEntry crash by keeping the query idle ID around
...
Remove it in gimp_tag_query_dispose().
2011-03-24 09:55:32 +01:00
Michael Natterer
014a333d27
app: fix GimpTaggedContainer's base class
...
And make it use the sort_func from the src_container which must
now be a GimpList (which is likely temporary).
2011-03-23 21:51:56 +01:00
Michael Natterer
91195e8593
app: remove the old tool presets system
...
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +01:00