Commit Graph

3735 Commits

Author SHA1 Message Date
Alexia Death 29f7fe87b0 Base infra for tool presets. 2010-04-03 21:06:15 +03:00
Michael Natterer a6b2d102f3 app: add utility functions for getting GtkTextTag properties
and also #define the names of the properties we (ab)use, so we don't
have to use magic strings all over the place, and we don't have to use
g_object_get() either.
2010-04-03 18:04:50 +02:00
Michael Natterer e856ca9552 app: handle kerning tags in the same way as baseline, size and font 2010-04-02 15:19:27 +02:00
Aurimas Juška 381088b4b8 app: Bug 614604 - Crash when selecting a gradient from tool dialog
Actually disable multiple selection in all views by default. (It is
enabled explicitly where needed).
2010-04-02 00:29:43 +03:00
Michael Natterer 2e1e5393fe app: make sure the baseline spinbutton always shows the right value 2010-03-31 19:13:46 +02:00
Michael Natterer b4e86aa6ec app: make sure the "size" spinbutton shows the size used for inserting text 2010-03-28 21:52:10 +02:00
Michael Natterer 91cce1c81b app: add size control for text spans, does not work as expected yet 2010-03-28 21:38:31 +02:00
Michael Natterer 900a99ecb3 app: add binding signals for changing the text size (still unused) 2010-03-20 23:18:14 +01:00
Michael Natterer 28891670e8 app: implement deleting of devices (unplugged devices' settings only) 2010-03-20 22:56:56 +01:00
Michael Natterer 9565ef44a9 app: make sure the selected item's parent paths are all expanded 2010-03-14 22:59:29 +01:00
Martin Nordholts 520da707c1 app: Only show active dockables in dock window titles
Refactor stuff a bit so that the dock window description can be both
short and long. The short version only have the active dockables, and
the long version have all the dockables in the description string. We
use the short version for the window title and the long version for
the Recently Closed Docks menu items.
2010-03-13 20:02:55 +01:00
Martin Nordholts a915132ee6 app: Don't call the dock title a title, but "description"
Don't call the dock title a title, but "description". Title is an old
name from when a GimpDock was a GtkWindow.
2010-03-13 17:18:47 +01:00
Martin Nordholts 3352b0485c app: Fix dockable separator translations
Continued fix of bug 554927. Also translate the " - " string in the
toolbox and add a "dock" translation context.
2010-03-13 12:17:46 +01:00
Aurimas Juška b46a89a302 app: Add methods to enable multiple selection in GimpContainerView
Enable multiple selection in GimpDataFactoryView now. It remains
disabled everywhere else.
2010-03-11 18:24:56 +02:00
Aurimas Juška 9e2723d390 app: Revert add flags for multiple selection support
Don't add additional constructor argument.
2010-03-11 18:24:56 +02:00
Michael Natterer 7f8c5d5a35 app: make private functions static, I have no clue why they weren't 2010-03-10 20:17:13 +01:00
Alexia Death 5fda650281 app: Support for wheel input found in highend wacom tablets&tools 2010-03-09 22:23:44 +02:00
Martin Nordholts fe6699cc1c app: Apply Windows→Hide docks on startup
Change GimpDialogFactory to apply Windows→Hide docks on startup. (We
already do this for docks in single-window mode.)
2010-03-09 08:03:23 +01:00
Martin Nordholts c5c92e484c app: We don't need to show restored dialogs twice 2010-03-09 08:03:23 +01:00
Martin Nordholts 909acba11d app: Introduce GIMP_DIALOG_VISIBILITY_HIDDEN
Introduce GIMP_DIALOG_VISIBILITY_HIDDEN because it is a bit
counter-intuitive to call gtk_widget_hide() on a dialog and then set
GIMP_DIALOG_VISIBILITY_VISIBLE on it. No change in program flow has
been (deliberately) introduced.
2010-03-09 08:03:22 +01:00
Aurimas Juška 8fb846160a app: Fix crash when GimpContainerTreeView is used to activate items
Use old code path when multiselection is not needed. Rely on parent
class to handle multiselection when it is.
2010-03-09 01:19:50 +02:00
Michael Natterer 3e3613bef7 app: allow for more fine-grained baseline and kerning adjustments
In theory for now, by changing the parameters of
GimpTextProxy::change_baseline() and ::change_kerning()
from gint to gdouble.
2010-03-08 21:57:29 +01:00
Aurimas Juška 13b172b675 app: Add flags for multiple selection support
Multiple item selection is disabled by default and
currently enabled only for data views.
2010-03-07 18:59:28 +02:00
Aurimas Juška 8e87f06e20 app: Add support for tag assignment on multiple selected items
Tag assignment has been redesigned according to Peter Sikking's
recommendations. When multiple resources are selected, common tags
to all of them are listed in tag asignment widget. On assignment
it is detected which tags were added and removed from common tag set
and the selected resources are updated accordingly (instead of
replacing their previous tags).
2010-03-07 18:59:27 +02:00
Aurimas Juška ebe9e51b62 app: Add support for multiple items selection
Implemented infrastructure for multiple selection support.
GimpContainerTreeView actually provides such functionality.
All other GimpContainerViews should work as before.
2010-03-07 18:59:27 +02:00
Martin Nordholts ee1f0a8b00 app: Fix dock remove condition
Fix dock remove condition in
gimp_dock_columns_dock_book_removed(). Due to GimpPanedBox the parent
of a dock is not fixed, so just check for != NULL.
2010-03-07 12:59:21 +01:00
Martin Nordholts 35096957a9 Bug 554927 - The dock window titles uses a non localizable comma
Mark dockable separator characters used in the dock window title as
translatable so e.g. Arabic can use an arabic comma.
2010-03-07 12:51:34 +01:00
Martin Nordholts 15344ffd6d app: Add gimp_action_group_set_action_tooltip() 2010-03-07 11:15:16 +01:00
Martin Nordholts 33dbcf210e app: Move title invalidation from GimpMenuDock to GimpDock base class
Move title invalidation from GimpMenuDock to GimpDock base class so
that title invalidation works properly also for the GimpToolbox.
2010-03-07 10:25:24 +01:00
Martin Nordholts ea666d178b app: Don't remove dock in destruction from dock column
Only remove a dock in the book-removed callback to dock columns if the
dock has the dock column as parent. It won't during destruction for
example. This fixes the test case
/gimp-ui/restore-recently-closed-multi-column-dock.
2010-03-07 09:35:15 +01:00
Martin Nordholts beb8e450f0 app: Fix condition of what dock windows are added to recent-list
Add a helper function gimp_dock_window_should_add_to_recent() which
properly handles the toolbox with regards to what dock windows that
should be added to the list of recently closed docks.
2010-03-07 07:52:25 +01:00
Michael Natterer 1aeb315ecf undef GTK_DISABLE_DEPRECATED in many places which undef GSEAL_ENABLE
because the widget flag access macros (e.g. GTK_WIDGET_REALIZED) are
now deprecated in GTK+ master.
2010-03-06 23:14:29 +01:00
Michael Natterer e003213784 app: move code for font entry and "size" label together 2010-03-06 22:54:12 +01:00
Martin Nordholts 1010b497c2 app: Update dock window title when docks re added/removed
Update dock window title when docks re added/removed. We can also
remove the code that explicitly updated the title when a dock is
added.
2010-03-05 21:31:07 +01:00
Martin Nordholts 0279daed28 app: Make Toolbox dock title complete
Make the Toolbox dock title complete, i.e. if the toolbox dock
contains Tool Options, the title will be "Toolbox - Tool Options".
2010-03-05 21:31:07 +01:00
Martin Nordholts 4cda04da5c app: Remove gimp_dock_window_get_dock()
Since the order of docks in a dock window is arbitrary, it can never
be correct to only care about the first dock. Remove
gimp_dock_window_get_dock() and correct that code that made use of
it. (The function itself was introduced when there could only be one
dock per dock window.)
2010-03-05 21:31:07 +01:00
Martin Nordholts cecae71034 app: Include all docks in dock window title 2010-03-05 21:31:06 +01:00
Michael Natterer 6fcb5c137d app: block all unhandled key events in the text style editor
so they don't affect the on-canvas editor.
2010-03-04 18:53:53 +01:00
Michael Natterer 8434bf9276 app: reorganize widgets in two lines
this so needs a clear ui concept...
2010-03-04 14:33:19 +01:00
Michael Natterer f766215548 app: add baseline and kerning controls to the style editor overlay
Involves adding GimpTextBuffer API to *set* baseline and kerning (as
opposed to changing it relatively from what it was).
2010-03-04 14:33:19 +01:00
Michael Natterer 9431376f55 app: cosmetic cleanup for readability 2010-03-03 10:53:01 +01:00
Michael Natterer bbd2d521f1 app: rename "spacing" to "kerning" because that's what it does 2010-03-03 10:48:42 +01:00
Martin Nordholts 798e2e67e9 app: Move toolbox special casing into dialog factory
Move toolbox special casing into
gimp_dialog_factory_dialog_new_internal() and on the fly fix problems
with double toolboxes appearing and sometimes not appearing.
2010-03-02 22:38:15 +01:00
Martin Nordholts e4dee4c559 app: Cleanup gimp_dialog_factory_dialog_new_internal() a bit
Cleanup gimp_dialog_factory_dialog_new_internal() a bit with regards
to how it presents toplevel windows.
2010-03-02 22:38:15 +01:00
Michael Natterer 9a9d7489d1 app: make undo compression in the text tool work again
- in GimpText, make "text" and "markup" mutually exclusive, so that
  whenever one is set to non-NULL, the other is cleared automatically.
- add gimp_text_buffer_has_markup() which returns TRUE if any char
  in the buffer is tagged.
- in the text tool, only set "markup" on the text proxy if there is
  actually markup in the buffer, and set "text" otherwise.

This way we don't push "text" *and* "markup" undos on each keystroke,
and undo compression works the way it did before.
2010-03-02 21:54:24 +01:00
Michael Natterer 842f1df2f2 Bug 611514 - Layers inside layer groups can't be dragged to layer dock buttons
In the drop callbacks, don't check if the GimpContainerView's container
contains the dropped item, it might be in a sub-container. Instead,
simply checking if the GimpContainerView knows the item is sufficient
(and also much simpler than a recursive container serach).
2010-03-02 17:54:29 +01:00
Michael Natterer f230019f71 app: move updating the style editor to an idle function
so subsequent signals trigger only one update.
2010-03-02 11:46:58 +01:00
Michael Natterer 1ddef5d375 app: redo the buffer's tag-at-iter APIs and fix editor state update 2010-03-02 11:37:57 +01:00
Michael Natterer bea0c7f3d4 app: allow to select fonts on text spans
A bit hackish, will cleanup...
2010-03-02 11:11:06 +01:00
Michael Natterer aeac58089b app: add a font selector to the text style editor
Selects fonts just fine, but has no effect on the text yet.
2010-03-02 00:12:27 +01:00
Michael Natterer dfc1671cb0 app: set a normal mouse cursor on all overlay children windows
so they don't show the parent's cursor (which is most likely
inappropriate on the canvas).
2010-03-01 23:45:16 +01:00
Michael Natterer ffd6248a5e app: set has-window to TRUE in gimp_overlay_box_init()
Makes prelight work, and *should* fix tooltips, but doesn't...
2010-03-01 23:18:06 +01:00
Michael Natterer b19db0dea9 app: don't remove all tags when toggling style buttons and then inserting
Instead, keep a list of tags to explicitely remove around (the list of
unchecked toggles), and remove only these tags, so the tags that have
no widget in the UI are not affected by the insert_tags logic.
2010-03-01 22:39:42 +01:00
Michael Natterer b61dfff04c app: use U+2060 WORD JOINER for manual kerning
What we used before might interact badly with arabic shaping.
2010-03-01 22:12:57 +01:00
Michael Natterer f7382bc33f app: argh, #define ENABLE_SPACING to actually enable spacing... 2010-03-01 19:57:28 +01:00
Michael Natterer f8ac0c61ab app: make manual kerning / character spacing work
Add gimp_text_buffer_get_iter_at_index() which does the reverse thing
than the already existing function gimp_text_buffer_get_iter_index().
Use the new function when cursor-navigation lines. Add "gboolean
layout_index" to both functions, which if TRUE indicates that the
passed in/out index is an index into the PangoLayout's content rather
than the text buffer's. When dealing with layout indices, take into
account the additional characters we insert into the serialized markup
(and thus the layout) for each character that is tagged with spacing.
2010-03-01 16:27:34 +01:00
Michael Natterer f519b90a2b app: call begin_user_action() and end_user_action() around removing tags 2010-03-01 16:09:50 +01:00
Martin Nordholts 11b1300b6f app: Introduce gimp_dialog_factory_get_singleton()
Instead of including dialogs/dialogs.h everywhere, introduce
gimp_dialog_factory_get_singleton(). The dialog factory singleton is
still initialized by dialogs.c though.

Right now the assumption is that we never will have another dialog
factory instance around. There were so many problems before when we
had four of them, so let's just keep one of them around.
2010-02-28 23:23:24 +01:00
Michael Natterer 67ccf8c21a app: implement proper manual kerning, but disable it for now
because it breaks the invariant that the pango layout used for
navigating in the on-canvas editor must be a 1:1 view on the text
buffer used for editing. Will have to fix that somehow...
2010-02-28 20:02:30 +01:00
Martin Nordholts 6d176f5a11 app: Remove GimpDialogFactoryClass::factories 2010-02-28 20:02:46 +01:00
Martin Nordholts 947e28596f app: Remove gimp_dialog_factory_from_name()
We only have one dialog factory now, and
gimp_dialog_factory_from_name() doesn't provide compile-time type
safety, so use global_dialog_factory directly instead.
2010-02-28 20:02:45 +01:00
Martin Nordholts 2a51c69e9b app: Set_busy() on individual dialog factories 2010-02-28 20:02:45 +01:00
Michael Natterer f135ebb97f app: use a temporary GtkTextBuffer for (de)seriaizing markup
The copy doesn't do anything yet, but this will enable us to do
transformations on the buffer contents before turning them into
markup, and the other way around.
2010-02-28 19:04:00 +01:00
Michael Natterer 86ad0cc025 app: make sure (de)serialization handles register_buffer != content_buffer
because we will soon use temporary buffers to turn stuff into markup
and back, and these temporary buffers won't have their tags registered
like the original GimpTextBuffer does.
2010-02-28 19:04:00 +01:00
Martin Nordholts 6647c495f3 app: Store GimpDialogsState per dialog factory
Get rid of the file-static variable 'dialogs_state' from
gimpdialogfactory.c and move it into the GimpDialogFactory struct.
2010-02-28 18:48:39 +01:00
Alexia Death 9447b125e6 app: Remove obslete draw queueing 2010-02-28 19:42:32 +02:00
Michael Natterer 3f816cbc29 app: fix gimp_curve_view_remove_all_backgrounds() 2010-02-28 18:37:08 +01:00
Alexia Death 9e9ea6f33a app: improve dynamics editor behavior on switching 2010-02-28 19:01:43 +02:00
Michael Natterer 783e04013a app: make letter spacing work when there is no selection 2010-02-28 17:56:20 +01:00
Michael Natterer 65216b939d app: group text buffer changes by user actions
Use gtk_text_buffer_begin_user_action() and end_user_action() to group
all text buffer operations triggered by a single editing operation.
Connect to the buffer's "end-user-action" signal instead of to
"changed", "apply-tag" and "remove-tag" separately, so we only update
the text proxy once per user editing.
2010-02-28 17:15:06 +01:00
Martin Nordholts 87d89ce990 app: Save and restore dialog factories explicitly
With only one dialog factory around the for-each functions are not
needed any more. Remove them, starting with save and restore.
2010-02-28 16:23:32 +01:00
Martin Nordholts 144210031d app: Remove unused gimp_dialog_factories_session_clear()
Remove unused and unimplemented gimp_dialog_factories_session_clear().
2010-02-28 16:03:00 +01:00
Michael Natterer e7a3938932 app: make toggle button updating a lot less complicated
by getting rid of the hash table and foreach() calls. Use some
readable for() loops over the list of toggles instead.
2010-02-28 15:31:35 +01:00
Michael Natterer 1c8b01f012 app: make the text style editor aware of the image's resolution
Needed for adding proper text size controls.
2010-02-28 14:20:56 +01:00
Michael Natterer d074653c36 app: add letter spacing control using Alt+Left/Right
This is experimental and doesn't work as it should, will have to
change or entirely remove it again :(
2010-02-28 14:16:40 +01:00
Alexia Death 4ac06c04cd app: Make reset curve button work 2010-02-28 02:04:16 +02:00
Alexia Death 47ace57ce2 app: Working input selectors in the curve editors 2010-02-28 01:01:27 +02:00
Alexia Death 47ce3bef8f app: Small fixes dynamics output editor 2010-02-27 19:58:46 +02:00
Alexia Death 82837da1df app: Add background curves for dynamics 2010-02-27 19:22:48 +02:00
Alexia Death 45c835aaa2 app: Add API to remove all background curves from the curve view
Also, use this change in cuves tool.
2010-02-27 19:22:48 +02:00
Michael Natterer 1e26bb1348 app: support baseline changing via Alt+Up and Alt+Down
Add a list of available baseline tags to GimpTextBuffer and
automatically create baseline tags as needed. They get serialized as
<span rise="value">, so add attribute and value parameters to the
buffer's tag_to_name() and name_to_tag() functions. Properly managing
the rise's amount is a TODO, currently each keystroke changes the
baseline by 1024 pango units, which might be whatever depending on the
output grid.
2010-02-27 18:00:39 +01:00
Alexia Death 8b3592dc8f app: Beginnings of curve changing 2010-02-27 18:32:58 +02:00
Alexia Death fea1690d40 app: Minor corrections to dynmics output editor
No more warning, but still no functionality.
2010-02-27 16:33:10 +02:00
Michael Natterer 4171d9c774 app: add signals bindings to change baseline and spacing
Bind them to Alt+up/down/left/right and connect to the signals in
the text tool editor. The callbacks do nothing yet.
2010-02-27 13:14:28 +01:00
Michael Natterer 9a53cc11ca app: allow to toggle tags and then write text with that style
instead of using the toggles only to change the style of selected text.

Introduces a list of "insert tags" in GimpTextBuffer that is applied
on newly inserted text if it exists. Clear the list on each content
or cursor/selection change, so we always display wthe style at the
cursor unless the buttons were clicked explicitely.
2010-02-26 19:56:54 +01:00
Michael Natterer a4826176d8 app: make sure all markup tags are closed at the right point
When turning overlapping tags into a strictly nested markup structure,
make sure we don't treat tags that are ending at an iter like tags
that were only closed because overlapping spans don't exist in markup.
Chew on this sentence a bit, it took ages to write it.
2010-02-26 19:56:53 +01:00
Michael Natterer 11479d3abd app: use the tags left of the cursor when inserting
and make sure the style editor's buttons are correct at the beginning
and end of spans (take the tags toggled on/off at these positions into
account).
2010-02-26 03:05:57 +01:00
Michael Natterer 6c556698e5 app: add gimp_text_buffer_insert() and use it
Does nothing special yet, but will soon apply the currently active
tags to the inserted text.
2010-02-26 02:34:01 +01:00
Michael Natterer 360f5739da app: add infrastructure for editing pango markup based text styles
- keep around tags for styles in GimpTextBuffer. For now only bold,
  italic, underline and strikethrough.
- add GimpTextStyleEditor, a widget which allows setting tags on
  a GimpTextBuffer's selection.
- add serialize/deserialize code to/from pango markup using
  GtkTextBuffer's rich text (de)serialization infrastructure.
  Doesn't produce or handle <span> yet.
2010-02-26 01:27:05 +01:00
Alexia Death 3f4dafb07d app: Beginnings of input selector, does not do anything yet 2010-02-25 22:34:03 +02:00
Michael Natterer 0b4bdc5613 app: add GimpTextBuffer, a GtkTextBuffer subclass
Pull all text buffer utility functions as methods and use
GimpTextBuffer all over the place instead of GtkTextBuffer.
Some actually usefuly features coming soon...
2010-02-25 17:41:10 +01:00
Michael Natterer 650d635dfb app: move stuff to the local scope it belongs to 2010-02-24 01:37:15 +01:00
Michael Natterer 088368079c app: make the coordinates display in the curve view configurable
Add API for X and Y ranges, default to 0.0..1.0 and configure the view
for 0..255 in the curves tool.
2010-02-23 11:39:35 +01:00
Michael Natterer 86d417c6f7 app: fix curve focus drawing 2010-02-22 10:50:04 +01:00
Michael Natterer ba6a7d33ff app: fix code formatting and UI packing 2010-02-22 10:35:43 +01:00
Alexandre Prokoudine dd8c65aed3 Typo fixed 2010-02-22 10:52:06 +03:00
Alexia Death 6c383b87a7 app: Add he beginnings of output editor 2010-02-22 01:04:37 +02:00
Alexia Death 53dce99bfb app: Prepare dynamics editor for output curves 2010-02-22 01:04:16 +02:00
Michael Natterer 0908e53148 app: use the new unit conversion functions
and get rid of the brainfuck idea that app/ has to use _gimp_unit_foo()
functions, passing a gimp pointer. Instead, simply use the libgimpbase
API all over the place. Should we ever allow more than one gimp instance,
they will simply have to share one unit database.
2010-02-21 16:46:39 +01:00
Martin Nordholts f9a2c5cfe1 app: Add Windows→Hide docks menu item
Add Windows→Hide docks menu item. We don't remove the hardcoding of
having Tab trigger it though, because gtk_accelerator_valid() returns
FALSE for GDK_tab. This means that if the user changes keyboard
shortcut for the menu item, both the user shortcut and the hardcoded
shortcut will work. We remove gimp_dialog_factories_toggle() and make
clients activate the action instead to toggle dock visibility.
2010-02-20 22:54:11 +01:00
Martin Nordholts 6d6a52b521 app: Make GimpDialogsState public in core 2010-02-20 22:54:11 +01:00
Michael Natterer 2352037dbd app: allow to show an arbitrary number of "background curves"
which are drawn with a configurable color at 50% opacity.
2010-02-20 20:31:22 +01:00
Martin Nordholts 1e9048ded9 app: Turn gimp_dialog_factory_dock_with_window_new() into util func
Turn gimp_dialog_factory_dock_with_window_new() into a utility
function, it doesn't make sense to let it be part of the generic
GimpDialogFactory.
2010-02-20 16:55:59 +01:00
Michael Natterer d488cc650a app: allow to position overlay widgets absolutely 2010-02-20 15:15:53 +01:00
Michael Natterer 9bc0ea5466 app: don't leave artifacts on the box when a child changes its size
gimp_overlay_child_size_allocate(): invalidate the child's old area
before moving its window around.
2010-02-20 15:15:53 +01:00
Martin Nordholts dec798e0df app: Serialize factory entry name along with GimpSessionInfo
Serialize factory entry name along with GimpSessionInfo so we can make
the Recently Closed Docks feature work across sessions in a natural
way.
2010-02-20 13:05:16 +01:00
Martin Nordholts 993d2df338 app: Make hideability a per entry rather than per dialog factory thing 2010-02-20 10:32:50 +01:00
Martin Nordholts 8b458fb591 app: Merge "toplevel" and "dock" dialog factories
Merge "toplevel" and "dock" dialog factories. The end goal is to have
only one dialog factory.
2010-02-20 09:28:26 +01:00
Michael Natterer 5f0255e269 Add GIMP_STOCK_INPUT_DEVICE icons and use them for the devices dialog
From icon masta Jimmac.
2010-02-19 21:25:24 +01:00
Michael Natterer d967852cd7 app: turn the input devices dialog into a session managed toplevel
It works exactly as the keyboard shortcuts dialog now and has its own
menu entry: Edit -> Input Devices.
2010-02-19 20:13:26 +01:00
Michael Natterer 53ac78a4a0 app: register the pressure curve are sreialibable property
so it is actually saved to devicerc.
2010-02-18 21:35:45 +01:00
Martin Nordholts 45efd84079 Bug 608834 - Toolbox and docks move on desktop change
Make sure that after we have set GTK_WIN_POS_MOUSE on a dialog created
with the dialog factory, it is eventually reset. Also remove the only
occurance of the DEBUG_FACTORY define.
2010-02-18 07:25:07 +01:00
Sven Neumann dbae9c58a0 Bug 610282 - GEGL Operation tool's help-id
Assign a help ID to the GEGL tool.
2010-02-17 19:23:10 +01:00
Michael Natterer 88e2b1aab3 app: add a focus rectangle to GimpCurveView 2010-02-16 20:08:03 +01:00
Michael Natterer fdde593fc5 app: enable copy and paste for curves
Add GimpCurve support to the clipboard and handle ctrl-x, ctrl-c and
ctrl-v in GimpCurveView.
2010-02-16 19:58:51 +01:00
Michael Natterer 7a1b77fb07 app: gimp_device_info_map_axis(): "value" is a double, not a boolean 2010-02-16 19:29:37 +01:00
Michael Natterer 2a92f57577 app: actually use the device's pressure curve to map the pressure axis
unfortunately i have no way of testing this, so please test...
2010-02-16 13:27:46 +01:00
Michael Natterer 828e4d8452 app: some formatting before real changes happen 2010-02-16 13:05:17 +01:00
Michael Natterer 5af05cce0b app: move the entire get-coords API from GimpDisplayShell to GimpDeviceInfo
because GimpDeviceInfo will soon apply curves to the axes. Also change
everything to speak in terms of GimpDeviceInfo instead of GdkDevice.
2010-02-16 13:00:46 +01:00
Michael Natterer 6932a6d011 app: add gimp_device_info_has_cursor() as replacement for GdkDevice.has_cursor 2010-02-16 12:11:22 +01:00
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