Commit Graph

3604 Commits

Author SHA1 Message Date
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