Commit graph

3563 commits

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