Commit Graph

27055 Commits

Author SHA1 Message Date
Michael Natterer 56fabf760e app: add "gimp" property needed for next step 2010-02-12 23:36:38 +01:00
Michael Natterer fdd0b6d64d app: make the accel renderer editable 2010-02-12 21:57:58 +01:00
Alexia Death cc21fd8a54 app: add missing parameter 2010-02-12 22:55:20 +02:00
Michael Natterer 327b242650 widgets: fix copy & paste error so it actually changes the device's keys now 2010-02-12 21:39:38 +01:00
Michael Natterer 8c1b5de637 widgets: use a treeview for the device's keys 2010-02-12 21:35:39 +01:00
Michael Natterer 20e4936d3e app: make device management more dynamic in preparation of XI2
Add functions that are similar to the "device-added" and
"device-removed" of GdkDeviceManager in the XI2 branch. Add "device"
and "display" properties to GimpDeviceInfp and distunguish between
creating device info objects from scratch for never-seen devices, and
setting a GdkDevice on them when a previously known device gets
plugged in.
2010-02-12 17:10:54 +01:00
Michael Natterer c6bbeda444 app: get rid of GtkInputDialog, also brings us closer to XI2
Added two new widgets, GimpDeviceInfoEditor, which is an editor/view
widget for GimpDeviceInfo, and GimpDeviceEditor, which is an editor
widget for all devices. Both are pretty much ugly right now and look a
lot like the old GtkInputDialog, but are at least internally cleaned
up and easily changable code and ui wise. Consider this a completely
intermediate state.

Also cleaned up GimpDeviceInfo so it's possible to have a proper
view on it, and did the needed changes to the preferences dialog
to use the new stuff.
2010-02-12 15:46:07 +01:00
Kevin Cozens 77498d1587 Bug 605540 - texts displayed with gimp-message are not translated
Applied modified version of patch supplied by Eric Lamarque.
2010-02-11 16:07:58 -05:00
Michael Natterer 56ec0c8774 display: reserve more space for the cursor label so negative coords fit 2010-02-11 19:55:20 +01:00
Michael Natterer 3cd4f0de45 display: don't use statusbar->hbox for size calculations, use the hbox instead 2010-02-11 19:51:15 +01:00
Alexandre Prokoudine 0953e7fbf2 Fixes to Russian translation 2010-02-11 21:29:27 +03:00
Michael Natterer f2f83109ec display: redo the code that does evil things to the statusbar's widgets
Actually use the hbox that is provided via gtk_statusbar_get_message_area()
since GTK+ 2.19.1 instead of always replacing it by our own.
2010-02-11 19:24:08 +01:00
Michael Natterer ba5e6d4ca2 widgets: use accessors instead of sealed GTK+ members 2010-02-11 13:02:30 +01:00
Michael Natterer 7d54c72cfe widgets: use gtk_widget_get_parent(menu) instead of menu->toplevel
because menu->toplevel is sealed. Should have the additional benefit
of also working if the menu is torn off (untested).
2010-02-11 10:34:48 +01:00
Alexandre Prokoudine 8a3d32a061 Updated Russian translation 2010-02-11 03:27:33 +03:00
Michael Natterer 9a4bf10d30 Bug 609026 - leaks shared memory
Move calling gimp_plug_in_shm_free() from gimp_plug_in_manager_finalize()
to gimp_plug_in_manager_exit() so it's also called in stable GIMP
releases which simply call exit() at some point instead of taking the
time to shut down everything completely.
2010-02-10 19:37:46 +01:00
Michael Natterer 74c01d7a10 app: add log output when attaching/detaching shared memory
Also put the call to shmdt() out of the IPC_RMID_DEFERRED_RELEASE ifdef.
2010-02-10 19:24:40 +01:00
Michael Natterer 034bd0427f Bug 609056 - Exporting to Alias PIX format fails
Apply patch from Saul Goode which fixes a typo that made exporting to
PIX impossible.
2010-02-10 12:51:46 +01:00
Michael Natterer c4562c5a93 core: use g_param_spec_boxed() for tile managers, not g_param_spec_pointer() 2010-02-10 12:42:30 +01:00
Michael Natterer 68ee4a5d6c base: add a proper version of the code that tracked down the tile manager leak
For GIMP_UNSTABLE, keep around a list of allocated tile managers and
have a function tile_manager_exit() which complains about them and
unrefs them. This is infinitely more helpful than the tile cache and
swap complaining about not being empty, because there is absolutely
nothing wrong with swap and cache when we simply leaked tile managers.
2010-02-10 12:33:30 +01:00
Simon Budig 7bfa3272ab Give a hint what pressing shift over a vector handle does. 2010-02-09 23:21:42 +01:00
Michael Natterer fe97de2a68 modules: forgot to port this one to GSEAL_ENABLE 2010-02-09 22:42:20 +01:00
Michael Natterer 8afdbd8053 Let gimp_item_tree_get_insert_pos() return a boolean indicating success
and move more precondition checks there. Remove lots and lots of
checks from all its callers and simply bail out if it returns FALSE.
2010-02-09 22:32:54 +01:00
Michael Natterer e83954c49a Add more precondition checks to gimp_item_tree_get_insert_pos() 2010-02-09 22:32:53 +01:00
Michael Natterer 37d10415df Make sure all items of a subtree get added to / removed from the name hash
when whole item hierarchies are added or removed, like when a layer
group goes to the undo stack and back.
2010-02-09 22:32:51 +01:00
Michael Natterer 6e49a0fa5d Move gimp_edit_paste_as_new() to gimp_image_new_from_buffer()
because it better fits there, and it's never actually been a "paste"
from the implementation point of view.
2010-02-09 22:32:49 +01:00
Michael Natterer 903604113f Add utility function to create images to gimpimage-new.[ch]
Add gimp_image_new_from_drawable(), from_component() and from_pixbuf()
and remove that duplicated code from gimptoolbox-dnd.c and
gimpdisplayshell-dnd.c
2010-02-09 22:32:48 +01:00
Michael Natterer 9a561646c2 Move the undo disable/freeze APIs to gimpimage-undo.[ch] 2010-02-09 22:32:48 +01:00
Michael Natterer 052dcd0164 Update the layer stack in gimp_image_active_layer_notify()
instead of in gimp_image_set_active_layer()
2010-02-09 22:32:47 +01:00
Michael Natterer 7413ec9f31 Argh, when removing items, also remove them from the name hash 2010-02-09 22:32:47 +01:00
Michael Natterer 11ca58ccf2 Use G_TYPE_CHECK_INSTANCE_TYPE() instead of GIMP_IS_ITEM()
See below...
2010-02-09 22:32:46 +01:00
Michael Natterer 7bb64cd864 Nuke two more local variables that make no sense any longer 2010-02-09 22:32:45 +01:00
Michael Natterer 430588ac38 Make sure we don't try to reorder items into their children 2010-02-09 22:32:44 +01:00
Michael Natterer 52eaf96a6c Some of the stupidity from the previous commit was copied from here 2010-02-09 22:32:43 +01:00
Michael Natterer 2cb6669d01 Fix a lot of stupidity in gimp_item_tree_uniquefy_name()
Don't write to the string returned by gimp_object_get_name(). Pull
most of the code out of the inner loop (which also means to allocate
only one instead of three strings in the inner loop). Don't use the
object as storage for the name that gets generated in the inner loop.
Also, a space can't hurt so it's now "Foo #1" instead of "Foo#1".
2010-02-09 22:32:43 +01:00
Michael Natterer 6b1872359d Get rid of one more local variable in gimp_image_add_layer() 2010-02-09 22:32:42 +01:00
Michael Natterer b83e82514b Use G_TYPE_CHECK_INSTANCE_TYPE() instead of GIMP_IS_ITEM()
so we check for the real type of the items that are in the tree. Also
added some more precondition checks.
2010-02-09 22:32:42 +01:00
Michael Natterer 1e84abc396 Connect to "notify::active-item" of the item trees
and emit "active-foo-changed" in the signal handlers instead of in
gimp_image_set_active_foo().
2010-02-09 22:32:41 +01:00
Michael Natterer b7d1be96e0 Get rid of the "New" in "New Layer", "New Channel" etc.
because they are "new" only once and then never again. Instead, simply
call new stuff "Layer", "Channel" and "Path", either by passing that
string explicitely, or by passing NULL so their class' default name
will be used.
2010-02-09 22:32:40 +01:00
Michael Natterer 3514271fde Give unnamed items proper names
Use the item class' default name unstead of "Unnamed" so they
will be called "Layer", "Channel" and "Path".
2010-02-09 22:32:38 +01:00
Michael Natterer 5de2482526 Add some comment to group the functions 2010-02-09 22:32:37 +01:00
Cristian Secară 94271a00e6 Updated Romanian translation 2010-02-08 23:17:52 +02:00
Cristian Secară 06d6286d3a Updated Romanian translations 2010-02-08 22:58:01 +02:00
Sven Neumann 834b49ee42 Bump required babl and gegl versions in the run-time sanity checks. 2010-02-08 21:36:30 +01:00
Michael Natterer 7763b9aa35 Depend on babl and gegl >= 0.1.2 2010-02-07 17:16:24 +01:00
Michael Natterer 217d80bb78 Move get_item_by_name() from GimpItemStack to GimpItemTree
and turn its code into a simple hash table lookup.
2010-02-07 16:34:44 +01:00
Michael Natterer 8a7f2e8f51 Bug 604175 - gimp_vectors_import() is O(n**2) in gimp_list_uniquefy_name(), for some data
Switch off unique names for all individual item stacks and make sure
that all items in a GimpItemTree have unique names across all
containers. Uses a hash table and thus gets rid of the O(n**2)
complexity of the unique name code in GimpList.
2010-02-07 16:23:02 +01:00
Michael Natterer 2034a3676c Use gimp_item_tree_rename_item() also when undoing an item rename
so all item renaming goes through GimpItemTree API. Add "push_undo"
parameter to gimp_item_tree_rename_item().
2010-02-07 15:56:53 +01:00
Michael Natterer bcf7603e04 Add gimp_item_tree_rename_item()
and call it from gimp_item_real_rename() if the item is attached to an
image; simply use gimp_object_set_name() otherwise.
2010-02-07 15:39:42 +01:00
Michael Natterer 5455ce895d Cause less eye cancer 2010-02-07 15:27:21 +01:00