Commit Graph

3515 Commits

Author SHA1 Message Date
Michael Natterer a10b8421d9 app: select the first axis so the shown curve makes sense 2010-02-16 10:54:53 +01:00
Michael Natterer 1e26dbc22d app: add views for the axes' curves 2010-02-15 23:08:30 +01:00
Michael Natterer 2da0529ef4 app: add a pressure curve
but keep the API general so all axes can have curves.
2010-02-15 23:06:19 +01:00
Michael Natterer 3ff4a910a9 app: implement device removal in gimp_devices_device_removed() 2010-02-15 20:00:26 +01:00
Michael Natterer 0ce37c500e app: allow unplugging devices in GimpDeviceInfo
gimp_device_info_set_device(): support setting the device to NULL
and copy all settings to GimpDeviceInfo when it happens.
2010-02-15 19:58:02 +01:00
Michael Natterer a023665a5d app: if there is no histogram set in the parent class, draw BG and borders here 2010-02-15 19:27:19 +01:00
Michael Natterer 00b1835f9e app: remove unused private member 2010-02-15 18:24:19 +01:00
Michael Natterer 240dae660d app : keep the axis mapping in a treeview
instead of in an ugly list of menus, so it looks better and can also
be used to select an axis to edit (like editing its curve).
2010-02-15 16:48:21 +01:00
Michael Natterer f115a0bdfe app: add GimpFrames for axes and keys and remove useless treeview headers 2010-02-15 13:12:26 +01:00
Michael Natterer 55c8c86e49 app: oops, need to disconnect from the device list signals in dispose() 2010-02-15 13:11:58 +01:00
Michael Natterer 179ddd8a49 app: add a button to remove unplugged devices from the list 2010-02-15 12:59:29 +01:00
Michael Natterer f0d4cf68c0 app: grey out the names of unplugged devices 2010-02-15 00:47:15 +01:00
Michael Natterer 3a0557afe8 app: add a boolean model column which sets the sensitivity of the text renderer
I'm not entirely happy with this, but it's just 4 lines of code and
is easily remove again.
2010-02-14 22:39:40 +01:00
Michael Natterer 3facba67d4 app: sort plugged devices to the start of the list
and sort plugged/unplugged devices alphabetically
2010-02-14 22:08:32 +01:00
Martin Nordholts 9bf0d80c9c app: Make Windows → Recently Closed Docks work again
Set a dialog factory entry on the session info object in
global_recent_docks so it can be properly restored.
2010-02-13 20:10:40 +01:00
Michael Natterer 1046e30724 app: add a little bling (a header that looks like the selected item) 2010-02-13 18:20:32 +01:00
Michael Natterer 1083313f48 app: don't warn when selecting a NULL device (when closing the dialog) 2010-02-13 17:39:41 +01:00
Michael Natterer 9617f42d13 app: add and use gimp_device_info_get_device() 2010-02-13 17:32:29 +01:00
Martin Nordholts 7e94bb3ef2 app: Avoid crash when using Windows -> Recently Closed Docks
This is not a proper fix for anything, it is just avoidance of a
crash.
2010-02-13 17:17:56 +01:00
Michael Natterer fe58e525b8 app: s/device_info/info/ in local variable names 2010-02-13 16:24:01 +01:00
Michael Natterer 1cc77abdf9 app: try to guess a reasonable icon for devices 2010-02-13 16:21:26 +01:00
Michael Natterer 472597bba0 app: use a treeview for selecting which device to edit
and change the dialog from a editor of the display's devices to an
editor of all devices of all displays known to GIMP, regardless
whether currently plugged or just remembered in devicerc. will need to
distinguish them in the next step...
2010-02-13 15:54:55 +01:00
Michael Natterer f1a9908191 app: add a USER_DATA column to GimpContainerTreeView's model
so users which don't subclass can attach their own per-row stuff
2010-02-13 15:46:34 +01:00
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
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
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 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
Martin Nordholts 43c0cfedbd app: "Pixel dimensions" -> "Size in pixels" in Image Properties dialog
'Pixel dimensions' can be misinterpreted with the size of a pixel, so
use 'size in pixels' instead. This is consistent with e.g. the Image
Scale dialog which talks about 'image size'.
2010-02-04 21:25:17 +01:00
Michael Natterer 09c897262e Move all undo-related members to GimpImagePrivate
Also add some new API to access them.
2010-02-04 20:06:49 +01:00
Michael Natterer 32358615d4 Don't access image->colormap directly 2010-02-03 20:09:20 +01:00
Martin Nordholts ed2d178da3 app: Get rid of config -> display module dependency
In order to make a clear separation between the core modules and the
UI modules, move the necessary enums from display-enums.h and
widgets-enums.h to config-enums.h and the files
gimpdisplayoptions.[ch] from the display to the config module. This
removes the config -> display dependency.

This change has three main benefits
 * It lets us remove includes of display files from the config module
 * We don't have to link gimp-console and test-config with a subset of
   object files from the display module
 * It is reflected in devel-docs/gimp-module-dependencies.svg that the
   application is made up of core modules and UI modules and that no
   core module depends on any UI module
2010-02-01 21:56:48 +01:00
Martin Nordholts 523c599baa app: Simplify gimp_dockbook_init() a bit 2010-01-31 20:22:24 +01:00
Martin Nordholts 02d3874eb7 app: Only add "gimp-toolbox" dock to "gimp-toolbox-window" 2010-01-31 20:21:17 +01:00
Martin Nordholts bf92270051 app: Don't crash when the toolbox dock window don't have docks
Session files from GIMP 2.6 don't need to have docks in the toolbox
top-level. Don't crash on that, instead add a "gimp-toolbox" dock
during sessionrc parsing.
2010-01-31 19:04:51 +01:00
Martin Nordholts c094736f83 app: Remove accidentally commited g_printerr() 2010-01-22 21:00:17 +01:00
Martin Nordholts ba37aaa532 app: Support multi-column DnD in toolbox window
Add a drag handler to the toolbox so it's possible to create
multi-column docks in the toolbox dock window.
2010-01-22 20:48:34 +01:00
Martin Nordholts 613b330bc0 app: Clarify why we need URI drop target on toolbox 2010-01-21 21:00:31 +01:00
Martin Nordholts 1093462ae9 app: Merge 'global_toolbox_factory' into 'global_dock_factory'
Get rid of 'global_toolbox_factory' and manage everything dock-related
with 'global_dock_factory'. The whole of 'global_toolbox_factory' was
a big special-case and getting rid of it makes it easier to extend the
session management with e.g. single-window mode dock functionality.

To get rid of 'global_toolbox_factory' we, roughly, have to
 * Replace 'global_toolbox_factory' with 'global_dock_factory'
   everywhere. We can also get rid of lots of code that did special
   things for the "toolbox" factory.
 * Make the use or interaction with the toolbox explicit in some
   places. For example, a function gimp_dock_window_has_toolbox() has
   been introduced.
 * Make GimpSessionInfoDock have an 'identifier' parameter so we can
   differentiate between the "gimp-dock" and "gimp-toolbox" dock
   types.
2010-01-20 18:29:54 +01:00
Martin Nordholts dd8b867852 app: Kill #if-zeroed GimpContext code that doesn't seem to be needed 2010-01-19 23:18:30 +01:00
Martin Nordholts 66197c5d11 app: global_dock_window_factory -> global_dock_factory
Rename back global_dock_window_factory to
global_dock_factory. Renaming to global_dock_window_factory was done
under the assumption that there would be a separate factory that would
create non-toplevel dockables, but I don't expect this to happen in
the forseeable future.
2010-01-19 22:40:06 +01:00
Martin Nordholts 56a8cb68a8 app: Have dialog factory entries for the dock windows
Let dock windows have proper GimpDialogFactory entries. This allows us
to get rid of a lot of ugly mostly duplicated code. This also makes us
ready the merge the dock window and toolbox factories which will soon
be done. A few things should be noted:

 * We adjust the wrap box aspect ratio in the toolbox to avoid having
   the toolbox dock window explode

 * We make sure that we still can handle sessionrc files from GIMP 2.6
   and older
2010-01-19 22:24:17 +01:00