OSDN Git Service

mypaint-anime/master.git
12 years agolayer: minor fix for missing argument
Andrew Chadwick [Tue, 4 Oct 2011 00:58:29 +0000 (01:58 +0100)]
layer: minor fix for missing argument

12 years agoMove stroke_to() implementation into Layer
Jon Nordby [Mon, 3 Oct 2011 22:56:12 +0000 (00:56 +0200)]
Move stroke_to() implementation into Layer

Lets it handle the details as it sees fit.

12 years agoMove COMPOSITE_OPT definitions to lib/layer.py
Jon Nordby [Mon, 3 Oct 2011 19:08:30 +0000 (21:08 +0200)]
Move COMPOSITE_OPT definitions to lib/layer.py

Not tiledsurface specific.

12 years agoMake TiledSurface an internal member of Layer
Jon Nordby [Mon, 3 Oct 2011 18:35:22 +0000 (20:35 +0200)]
Make TiledSurface an internal member of Layer

Most part of the code should not care about
the surface implementation used. Provide wrappers
on layer for common things, and let the exotic
things call layer._surface to make it clear they
are dealing with internals.
In order to make it easier to swap out TiledSurface
with another surface implementation.

12 years agoglade stuff: add README, move launch script
Andrew Chadwick [Sun, 2 Oct 2011 17:34:26 +0000 (18:34 +0100)]
glade stuff: add README, move launch script

Add a README explaining the current status of the emerging Glade support
and what our vague goaals are with it. Move the launch script so that
developers don't trip over it or assume we're using Glade right now.

12 years agoglade: fix missing; wrap hsv-compat & dropdowns
Andrew Chadwick [Mon, 19 Sep 2011 03:47:00 +0000 (04:47 +0100)]
glade: fix missing; wrap hsv-compat & dropdowns

Add missing gui/spinbox.py from last commit: oops.

Separate out HSV compatibility widget and add to the Glade catalogue.

Separate out dropdown panels and wrap that for Glade too. Allow setting
the dropdown panel's content widget to any toplevel non-window GtkWidget
via a property on the dropdown button.

12 years agoglade: separate out & wrap the item-spinbox widget
Andrew Chadwick [Sun, 18 Sep 2011 16:29:54 +0000 (17:29 +0100)]
glade: separate out & wrap the item-spinbox widget

The usual drill, but the slight wrinkle is that because it's a
derivative of a Box subclass, Glade would normall ask for a size each
time it's added. Override the setting and hide it since we always need 3
items exactly and the constructor will do that for us.

12 years agoglade: extract and wrap curve widget
Andrew Chadwick [Sun, 18 Sep 2011 02:19:37 +0000 (03:19 +0100)]
glade: extract and wrap curve widget

Wrap the custom pressure/input curve widget for glade, and move it out
to a separate, independently testable module.

12 years agoelastic: fix resize bug
Andrew Chadwick [Sun, 18 Sep 2011 01:55:05 +0000 (02:55 +0100)]
elastic: fix resize bug

Fix UI clunkiness whereby elastic windows wouldn't shrink again if their
elastic expanders had been triggered once.

12 years agoglade: wrap concrete elastic container/content
Andrew Chadwick [Sat, 17 Sep 2011 00:25:17 +0000 (01:25 +0100)]
glade: wrap concrete elastic container/content

Factor elastic containers and components out to their own module and add
a trivial ElasticWindow that can be built on later. Add the concrete
classes we have to the glade library, though it's mostly the expander /
window relationship we really care about.

12 years agoglade: wrap pixbuflist for glade
Andrew Chadwick [Fri, 16 Sep 2011 16:45:25 +0000 (17:45 +0100)]
glade: wrap pixbuflist for glade

I'd prefer we move to GtkIconView, but wrapping our own version is
trivial. Icons are from Glade and tweaked for a slightly different
appearance.

12 years agoglade: tileddrawwidget support for glade projects
Andrew Chadwick [Fri, 16 Sep 2011 04:02:45 +0000 (05:02 +0100)]
glade: tileddrawwidget support for glade projects

The TiledDrawWidget is a fairly simple canvas, so nothing much needs to
be changed to support using it within glade projects. It has a slightly
dubious need to refer to a zoom quality setting, and a standalone model
needs to be wired in to support drawing within glade (very minimally :)
but that's about it.

12 years agoglade dev infrastructure, no widgets yet
Andrew Chadwick [Fri, 16 Sep 2011 04:01:06 +0000 (05:01 +0100)]
glade dev infrastructure, no widgets yet

Includes a script for running Glade using the local widget catalog.

12 years agobrush settings dropdown: clarify reset language
Andrew Chadwick [Fri, 30 Sep 2011 16:02:37 +0000 (17:02 +0100)]
brush settings dropdown: clarify reset language

Make the setting reset terminology clearer, explain in terms of "this
brush" and "saved values", "saved settings".

https://gna.org/bugs/?18762

12 years agotoolbar: LnF tweaks, add an arrow
Andrew Chadwick [Thu, 29 Sep 2011 21:32:23 +0000 (22:32 +0100)]
toolbar: LnF tweaks, add an arrow

Make the dropdown main menu button's function a little more obvious. No
longer accept focus or the default since it makes the button rather
glaring in some themes, and there's always the menu key. Reduce font
weight; PANGO_WEIGHT_HEAVY is too chunky.

12 years agodoc: fix a hardcoded composite op name
Andrew Chadwick [Thu, 29 Sep 2011 14:35:18 +0000 (15:35 +0100)]
doc: fix a hardcoded composite op name

The name was also incompatible with the ORA spec. Didn't see it in
testing because we're tolerant about unrecognised input. Oops.

12 years agoprefs: make undo and redo bindable to buttons
Andrew Chadwick [Mon, 26 Sep 2011 16:50:10 +0000 (17:50 +0100)]
prefs: make undo and redo bindable to buttons

Simple enough wishlist item; https://gna.org/bugs/?18741

12 years agodropdowns: remove assertion
Andrew Chadwick [Mon, 26 Sep 2011 16:48:12 +0000 (17:48 +0100)]
dropdowns: remove assertion

Remove an assertion that breaks Ubuntu Lucid's version of PyGTK. It's
not really needed anyway.

https://gna.org/bugs/?18735

12 years agoBrush strokes are split immediately when button is released.
sigetch [Sun, 25 Sep 2011 12:39:42 +0000 (21:39 +0900)]
Brush strokes are split immediately when button is released.

12 years agoUpdate Japanese translation
sigetch [Sun, 25 Sep 2011 12:38:58 +0000 (21:38 +0900)]
Update Japanese translation

12 years ago* Update Japanese translation
sigetch [Sun, 25 Sep 2011 12:35:06 +0000 (21:35 +0900)]
* Update Japanese translation

12 years agocredits update
Andrew Chadwick [Sat, 24 Sep 2011 19:32:08 +0000 (20:32 +0100)]
credits update

Add sigetch to the about box's credits list.

12 years agolayer modes: remove redundant CLAMP, add regression test
Martin Renold [Sat, 24 Sep 2011 15:53:51 +0000 (17:53 +0200)]
layer modes: remove redundant CLAMP, add regression test

Add a regression test that checks some corner cases of all
layer modes to make sure the result is within a valid range.

Revert the introduction of CLAMP in the "over" blending mode,
it is not necessary and will only hide previous errors and
hurt performance slightly.

12 years agotiledsurface: remove some code duplication
Andrew Chadwick [Fri, 23 Sep 2011 22:18:42 +0000 (23:18 +0100)]
tiledsurface: remove some code duplication

12 years agocomposite ops: fixups and gui stuff
Andrew Chadwick [Fri, 23 Sep 2011 20:18:34 +0000 (21:18 +0100)]
composite ops: fixups and gui stuff

Declare supported composite ops in a single place and make their display
names translatable.

More validity checks, and establish sane behaviour if we try to load a
mode we don't understand.

Docstring fixups.

12 years agolayer compositing: give set-op cmd a display name
sigetch [Thu, 22 Sep 2011 15:01:25 +0000 (00:01 +0900)]
layer compositing: give set-op cmd a display name

Add display_name for SetLayerCompositeOp command.

12 years agolayer compositing: op naming: use "svg:src-over"
sigetch [Wed, 21 Sep 2011 12:16:56 +0000 (21:16 +0900)]
layer compositing: op naming: use "svg:src-over"

Change composite-op attribution of normal mode from "svg:over" to
"svg:src-over".

12 years agolayer compositing: bugfix
sigetch [Wed, 21 Sep 2011 11:35:22 +0000 (20:35 +0900)]
layer compositing: bugfix

Bugfix: implement layer composition properly. Now each layer data is
treated as premultiplied pixel data.

12 years agolayer compositing: svg op naming, rgba-on-rgba
sigetch [Mon, 19 Sep 2011 15:56:31 +0000 (00:56 +0900)]
layer compositing: svg op naming, rgba-on-rgba

Change composite-op name to be compatible with SVG spec. name.

Initial import of layer composition for RGBA x RGBA operation (some are
not implemented properly.)

12 years agolayer compositing: add dodge
sigetch [Sat, 10 Sep 2011 16:59:35 +0000 (01:59 +0900)]
layer compositing: add dodge

Color-dodge operation is implemented.

12 years agolayer compositing: fix exception in burn op
sigetch [Wed, 7 Sep 2011 22:31:34 +0000 (07:31 +0900)]
layer compositing: fix exception in burn op

Fix a bug of burn operation implementation which causes floating exception.

12 years agolayer composite ops: initial implementation
sigetch [Wed, 7 Sep 2011 03:11:00 +0000 (12:11 +0900)]
layer composite ops: initial implementation

Initial implementation of layer composite-ops. Color-dodge is not
implemented yet.

12 years agozooming updates: add an extra zoom level
sigetch [Fri, 23 Sep 2011 17:38:49 +0000 (18:38 +0100)]
zooming updates: add an extra zoom level

* 1/16 and 16 zoom level is added.
* Mipmap level is changed to 4.

(Amended to remove patch for ending undo stack strokes at the end of
input strokes -- achadwick)

12 years agodropdowns: behavioural fixes for tablets
Andrew Chadwick [Sat, 24 Sep 2011 14:06:29 +0000 (15:06 +0100)]
dropdowns: behavioural fixes for tablets

Extended input events (tablet) may be reported outside the widget's
allocation even if non-extended ones (mouse) would not. This was
interfering badle with other widgets in the same dropdown window as the
brush list, so don't ask for extended events where it isn't really
needed, and refine the PixbufList hit tests a bit.

Fix accidental dabbing when using the brush selector dropdown by closing
the panel after the mouse button or stylus nib is released, not when
pressed down. The problem is more apparent with tablets than mice since
it's harder to separate clicks from clicks-with-motion.

Adjusting the dropdown brush setting sliders now causes the dropdown
panel to close when the pointer leaves it, like the colour triangle's
pattern of interaction.

12 years agowhen clearing the last layer, don't reset the filename
Martin Renold [Sat, 24 Sep 2011 12:10:21 +0000 (14:10 +0200)]
when clearing the last layer, don't reset the filename

https://gna.org/bugs/?18545

12 years agoundo: decrease minimum stroke duration slightly
Martin Renold [Sat, 24 Sep 2011 00:08:35 +0000 (02:08 +0200)]
undo: decrease minimum stroke duration slightly

User feedback indicates that we tend to make too few splits.

12 years agoupdated german translation
Till Hartmann [Thu, 22 Sep 2011 12:56:14 +0000 (14:56 +0200)]
updated german translation

12 years agodropdowns: less flickery initial placement
Andrew Chadwick [Thu, 22 Sep 2011 02:26:41 +0000 (03:26 +0100)]
dropdowns: less flickery initial placement

Try to fix dropdown panels flickering briefly at (0, 0) before they're
moved to their intended locations. Hopefully this won't reintroduce the
inconsistencies mentioned in 8434621.

12 years agofix loading strokemap brushes w/ unknown parents
Andrew Chadwick [Wed, 21 Sep 2011 00:21:48 +0000 (01:21 +0100)]
fix loading strokemap brushes w/ unknown parents

Fix for a pair of related exceptions raised when trying to load toolbar
previews for brushes whose parent is no longer on disk.

This can happen when loading old files or files from other people whose
strokemaps contain brush settings whose stored parent name is no longer
in the user's collection.

12 years agoundo/redo: smart menu items and toolitems
Andrew Chadwick [Tue, 20 Sep 2011 19:12:35 +0000 (20:12 +0100)]
undo/redo: smart menu items and toolitems

Explain what's going to happen if you select Undo or Redo by updating
the action texts. "Painting" is admittedly pretty lame; it'd be nicer
still to give a count of input brushstrokes in each un/redoable combined
Stroke action, or a number of seconds of painting.

12 years agofullscreen: update action toggled
Andrew Chadwick [Tue, 20 Sep 2011 18:45:00 +0000 (19:45 +0100)]
fullscreen: update action toggled

Display more meaningful texts and icons when the Fullscreen action is
toggled.

12 years agotoolbar: menu for selecting which tools are wanted
Andrew Chadwick [Tue, 20 Sep 2011 18:13:19 +0000 (19:13 +0100)]
toolbar: menu for selecting which tools are wanted

Add a right-mouse-button menu on the toolbar for choosing which sets of
tools are required. Settings are saved in the preferences.

Reinstate blend modes on the toolbar (and the "cute pink eraser" icon
:-) for those who want them. They're off by default.

Add buttons for scrapbook saving and Prev/Next Scrap to the toolbar,
switched off by default. Interim icons for Save/Prev/Next Scrap. They're
from stock, and could probably be improved.

Trying fullscreen/unfullscreen on the top-right. It feels like a nice
place to put things that make major but reversible changes to the gui,
and it's a nice Fitts's-compliant use of the space.

No togglability for the dropdowns yet, given the fiddly setup
post-construction.

12 years agoreadme: explain install-prefix's role better
Andrew Chadwick [Wed, 14 Sep 2011 20:33:53 +0000 (21:33 +0100)]
readme: explain install-prefix's role better

Explain the constraints on --install-prefix more clearly, and supply a
workaround for packagers doing strange things.

12 years agotoolbar: convert colour dropdown menu to panel
Andrew Chadwick [Tue, 13 Sep 2011 22:24:28 +0000 (23:24 +0100)]
toolbar: convert colour dropdown menu to panel

The colour toolbar item is now a dropdown panel like the two nearby
entries. It now offers a GTK colour triangle directly rather than via a
dialog. The colour history, a monopixel eye dropper and the two colour
changer floating subwindows are available too.

Using a colour triangle may be temporary: would a palette plus an
optional colour triangle foldout work just as well? Palettes are
faster...

12 years agowidgets: general borderless & thinborder styles
Andrew Chadwick [Tue, 13 Sep 2011 22:22:05 +0000 (23:22 +0100)]
widgets: general borderless & thinborder styles

Use wildcards for the names of styled widgets (since each widget should
almost certainly have a unique name). Fix appearance bug with the the
borderless style and consider it general, and add a hairline border
style wildcard too.

12 years agodrawwindow: add action for colour details dialog
Andrew Chadwick [Tue, 13 Sep 2011 22:18:35 +0000 (23:18 +0100)]
drawwindow: add action for colour details dialog

Expose the colour details dialog as a gtk.Action. No menu entry for it
yet, since it's quite a bulky and flow-breaking dialog, but this allows
it to be parked on panel buttons in a simple way.

12 years agocolorselection(window): neaten ransacking hack
Andrew Chadwick [Tue, 13 Sep 2011 22:09:02 +0000 (23:09 +0100)]
colorselection(window): neaten ransacking hack

Wrap the "compatible" HSV widget specially so that it can be used a
little more neatly from multiple places.

12 years agodropdown panels: behaviour/appearance improvements
Andrew Chadwick [Tue, 13 Sep 2011 21:58:12 +0000 (22:58 +0100)]
dropdown panels: behaviour/appearance improvements

Tweaks to panel behaviour and button appearance.

* More padding to the left of the button icon. Evens things up a bit.
* Keyboard grab to prevent workspace switching with keys (more like a menu)
* (Related) close panel by pressing Escape.
* Fix inconsistent initial placement bug visible in Ubuntu 10.10-
* Improve multi-head positioning of the dropped panel.

12 years agofrench translation update
Ferry Jérémie [Sun, 11 Sep 2011 16:01:17 +0000 (18:01 +0200)]
french translation update

12 years agoduplicate layer button
Ferry Jérémie [Sun, 11 Sep 2011 16:01:17 +0000 (18:01 +0200)]
duplicate layer button

12 years agotoolbar: quick brush chooser on dropdown & default
Andrew Chadwick [Sun, 11 Sep 2011 19:02:25 +0000 (20:02 +0100)]
toolbar: quick brush chooser on dropdown & default

The quick brush chooser is now exposed on the panel directly as part of
a new dropdown panel. The brush dropdown button is no longer in two
parts: testing showed that people didn't really understand the reason
for having it in two bits, so let's simplify it.

Convert the quick brush chooser's brush list combobox to a custom
spinner-like widget; done for pointer grab related reasons in the
dropdown. Hopefully it's a fairly understandable control and easy to hit
with a stylus.

Expose the brush chooser as an Action, and make it the primary method of
choosing a brush; the default binding for "b". This is intended to bring
it closer in feel to a popup chooser like those for colour, which makes
sense to me since its functionality is beginning to approach that of a
popup menu (and we should probably go further).

The existing Brush List has moved to "<shift>b" by default and is
renamed to "Brush List Editor": you can still use it as as a permanent
fixture for choosing brushes though. Rename the settings editor for
consistency too, but don't change its default "<control>b" binding.

Testers were complaining about the height of the toolbar, so drop it back
to the usual GTK_ICON_SIZE_LARGE_TOOLBAR size. The new graphical
tooltips should help make the brush preview useful.

12 years agotoolbar: image tooltips for brush previews
Andrew Chadwick [Sun, 11 Sep 2011 17:58:45 +0000 (18:58 +0100)]
toolbar: image tooltips for brush previews

Show big images in tooltips for brush previews in the toolbar.
Abstract out getting a sensible display name for a ManagedBrush.

12 years agobrush manager: abstract out getting parent brush
Andrew Chadwick [Sun, 11 Sep 2011 17:47:05 +0000 (18:47 +0100)]
brush manager: abstract out getting parent brush

Rather than requiring other modules to fumble around with parent brush
names, export a method for getting a fully initialized parent based on a
BrushInfo or ManagedBrush object.

We should really do something about the number of repetitions of "load
this MangedBrush if it's on disk and hasn't been loaded yet" that are
becoming increasingly scattered around the code. That may involve
reworking/incorporating the existing reload-if-changed method. Mark as
dubious/XXX for now.

12 years agodropdown panels: minor grab tweaks, many comments
Andrew Chadwick [Tue, 6 Sep 2011 18:03:11 +0000 (19:03 +0100)]
dropdown panels: minor grab tweaks, many comments

Support - to the extent we can - but do not condone use of sub-widgets
in the drop-down panels that pop up their own menus. Explain why it's a
Bad Thing.

12 years agoCorrect a missing rc setting. Seems it is needed.
Andrew Chadwick [Mon, 5 Sep 2011 04:14:19 +0000 (05:14 +0100)]
Correct a missing rc setting. Seems it is needed.

Certain themes look kinda huge without it too.

12 years agotoolbar: add dropdown panel for brush settings
Andrew Chadwick [Mon, 5 Sep 2011 02:33:30 +0000 (03:33 +0100)]
toolbar: add dropdown panel for brush settings

Add a dropdown with sliders for some common brush settings to the
toolbar. Reset buttons, and better access to brush editor and the brush
blend modes too.

12 years agoadd copyright boilerplate, correct a comment
Andrew Chadwick [Mon, 5 Sep 2011 02:36:40 +0000 (03:36 +0100)]
add copyright boilerplate, correct a comment

12 years agoicons: add a blank SVG icon template
Andrew Chadwick [Mon, 5 Sep 2011 02:23:08 +0000 (03:23 +0100)]
icons: add a blank SVG icon template

12 years agoacition groups: easier finding
Andrew Chadwick [Mon, 5 Sep 2011 02:07:00 +0000 (03:07 +0100)]
acition groups: easier finding

Minor refactor of action group registration, and a finder routine for
pulling out actions by name since a lot of recent UI code does this.

12 years agorestore_color: remember last user selected color
Martin Renold [Sat, 3 Sep 2011 21:46:03 +0000 (23:46 +0200)]
restore_color: remember last user selected color

If a brush forces its own color when selected, undo this color
change when the user switches back to a normal brush again.

https://gna.org/bugs/?18597

12 years agobrushsettings: allow presets to restore active color
Martin Renold [Sat, 3 Sep 2011 20:41:56 +0000 (22:41 +0200)]
brushsettings: allow presets to restore active color

https://gna.org/bugs/?18597

12 years agobrusheditor: don't undo non-strokes for live update
Martin Renold [Tue, 30 Aug 2011 17:49:22 +0000 (19:49 +0200)]
brusheditor: don't undo non-strokes for live update

https://gna.org/bugs/?18581
And move some code closer to where it belongs.

12 years agobrushsettings: increase maximum jitter
Martin Renold [Mon, 29 Aug 2011 19:45:47 +0000 (21:45 +0200)]
brushsettings: increase maximum jitter

Requested by Ramón Miranda.
(Hm, maybe it should be made logarithmic?)

12 years agobrushmanager: fix a reliance on the Deevad group
Andrew Chadwick [Sat, 27 Aug 2011 02:42:50 +0000 (03:42 +0100)]
brushmanager: fix a reliance on the Deevad group

The brushkey and history initialisation code was relying on
DEFAULT_STARTUP_GROUP existing, which causes knock-on effects in the
brush history meny if it's missing doesn't. Now default to whatever
looks like the biggest group.

Tentative fix for https://gna.org/bugs/?18575

12 years agoapp, layout: initial pos updates, better defaults
Andrew Chadwick [Fri, 26 Aug 2011 22:51:48 +0000 (23:51 +0100)]
app, layout: initial pos updates, better defaults

Give the Scratchpad a better initial position, and update the other
positions to make better use of screen space. All tools are initially
hidden since we now have a way of changing both brush and colour very
immediately on the toolbar. Hopefully that's sensible initial behaviour.

All windows now have an explicit "hidden" in prefs, and default values
are now chosen from the prefs in the same way everywhere it matters for
first display.

https://gna.org/bugs/?18518
https://gna.org/bugs/?18519

12 years agotoolbar: add a brush chooser & history dropdown
Andrew Chadwick [Fri, 26 Aug 2011 22:59:52 +0000 (23:59 +0100)]
toolbar: add a brush chooser & history dropdown

Add a brush chooser MenuToolButton to the toolbar. Button icon shows the
current brush. Clicking the button reveals a quick brush choice dialog,
and its dropdown menu contains history, brush blend modes, and a toggle
for the Brush List window.

Remove the file actions from the toolbar since those can be accessed
from the menu, and they're moderately rare actions in the middle of
painting. Some reordering.

Toolbar icons are now 32x32 pixels to make brush previews more readable.
Hopefully that looks OK with most icon themes and doesn't consume too
much space.

Towards http://forum.intilinux.com/mypaint-development-and-suggestions/top-panel-dockables/

12 years agotoolbar: add a colour button-menu control
Andrew Chadwick [Thu, 25 Aug 2011 17:38:35 +0000 (18:38 +0100)]
toolbar: add a colour button-menu control

Add a colour button to the toolbar with a dropdown menu containing
recent colours and a selection of colour-changing tools. The "primary"
action on the button is currently bound to the details dialog, but we
can reprioritise if necessary.

Move toolbar code and special widgets to a separate file.

12 years agocolor selector: factor out the details dialog
Andrew Chadwick [Thu, 25 Aug 2011 17:35:54 +0000 (18:35 +0100)]
color selector: factor out the details dialog

Make the Color Details dialog more reusable by other code, and simplify
its implementation a bit.

12 years agofloating windows: don't make invalid-sized icons
Andrew Chadwick [Thu, 25 Aug 2011 15:04:44 +0000 (16:04 +0100)]
floating windows: don't make invalid-sized icons

12 years agolayout: normal subwindows, remove drag-snap-in
Andrew Chadwick [Thu, 4 Aug 2011 10:07:04 +0000 (11:07 +0100)]
layout: normal subwindows, remove drag-snap-in

User reports were fairly consistent about dragging to snap floating
panels back in being annoying - mostly complaints about the sidebar
opening up and eating windows during drag. Provide a "tear off" strip
looking like a TearoffMenuItem for snapping back in: hopefully the
analogy's sensible. Reinstate normal-looking subwindows too, since we
don't need the special titlebar in that state now.

Squashes prior to rebase+push: hide resize bar in snapped out mode too;
remove dead code for snapping out.

12 years agolayout: undo focus rejection
Andrew Chadwick [Mon, 22 Aug 2011 19:25:23 +0000 (20:25 +0100)]
layout: undo focus rejection

Attempt to fix some keypress weirdnesses I've been seeing recently with
the recent focus rejection stuff. This seems to be OK in metacity under
xephyr and in Compiz.

https://gna.org/bugs/?18293

12 years agobrushes: fix classic/knife color hue
Martin Renold [Tue, 23 Aug 2011 18:22:23 +0000 (20:22 +0200)]
brushes: fix classic/knife color hue

https://gna.org/bugs/?18548

12 years agotoolbars: make configurable through a menu item
Andrew Chadwick [Tue, 23 Aug 2011 12:28:45 +0000 (13:28 +0100)]
toolbars: make configurable through a menu item

The UI toolbar and menubar changes are confusing to users. Move their
settings to a submenu, and simplify by reflecting what's actually
tristate behaviour using radio buttons.

12 years agoMenubar hiding, menu button on the toolbar
Andrew Chadwick [Mon, 22 Aug 2011 18:21:16 +0000 (19:21 +0100)]
Menubar hiding, menu button on the toolbar

To save vertical space, the menu bar can now be hidden in the same way
as the toolbar. When the menu bar is hidden, a menu button appears on
the toolbar. This is roughly the way newer Firefox versions do it.

The defaults are now to show the toolbar and its menu button, and hide
the menubar.

12 years agosplit_stroke optimization #2
Martin Renold [Sun, 21 Aug 2011 13:03:06 +0000 (15:03 +0200)]
split_stroke optimization #2

Turns out that we call load_snapshot() after every completed stroke.
While this seems to be pointless, it doesn't cause any harm if we
check whether the snapshots are equal before doing more work.

12 years agosplit_stroke optimization
Martin Renold [Sun, 21 Aug 2011 12:17:26 +0000 (14:17 +0200)]
split_stroke optimization

This decreases the delay from "end of undoable stroke" until "ready
for the next stroke" which is notable mainly during automatic splits
of very long strokes.

Obvious optimization. In the profile this lead to <method 'items'
of 'dict' objects> making up 40% of the split_stroke() time.
Setting: big image, zoomed out, small-radius brushing over the
whole image.

12 years agorename warmer/colder to "change hue"
Martin Renold [Sat, 20 Aug 2011 18:51:41 +0000 (20:51 +0200)]
rename warmer/colder to "change hue"

Follow-up on the previous commit. Also, simplify the implementation.
Let's see if anyone actually misses the warmer/colder.

12 years agochange warmer/colder keyboard shortcut
Griatch [Tue, 16 Aug 2011 08:48:27 +0000 (10:48 +0200)]
change warmer/colder keyboard shortcut

Changed the warmer/colder keyboard shortcut to not stop at a designated
"cold/warm point" but instead go all the way around the hue circle.

The reason for this is simple -- combined with brighter/darker and
purer/grayer these keyboard shortcuts make for a very powerful way to
select colour using the keyboard without having to click in the selector
-- something I've not seen in any other program. With the hue selection
(cooler/warmer is not really a good name for it in this case -- maybe
 hue plus/minus?) wrapping around, I can put the colour selector on a
different screen entirely and only use it as a visual cue when
navigating it via the keyboard.

12 years agobuild: reinstate chmod on launcher script
Andrew Chadwick [Wed, 17 Aug 2011 10:16:38 +0000 (11:16 +0100)]
build: reinstate chmod on launcher script

Was removed by accident, and not having it is beginning to annoy me.

12 years agoinstall: fix prefix perms, detext sandboxing
Andrew Chadwick [Mon, 15 Aug 2011 01:39:03 +0000 (02:39 +0100)]
install: fix prefix perms, detext sandboxing

Detect when sandboxing is active, and don't try to be clever and set
permissions on surrounding directories. Improve detection of the $prefix
root when not sandboxed. Document the new installer properly.

12 years agoinstall: set permissions on the shared lib too
Andrew Chadwick [Sun, 14 Aug 2011 23:48:35 +0000 (00:48 +0100)]
install: set permissions on the shared lib too

12 years agoinstall: docs, and set permissions via postactions
Andrew Chadwick [Sun, 14 Aug 2011 23:34:09 +0000 (00:34 +0100)]
install: docs, and set permissions via postactions

Introduce a recursive Install()-generator, use $prefix everywhere for
understandability, and set permissions on installed files and
intermediate parts of the installation tree to ensure accessibility as
best we can. Also force a specific umask on systems that support it.

Document uninstall mechanism, and clarify wording regarding icon caches.

12 years agocolorsel: fix exception
Andrew Chadwick [Sun, 14 Aug 2011 17:51:31 +0000 (18:51 +0100)]
colorsel: fix exception

Remove an exception with the color selector. Thanks to tillux1 and Juan
Pablo Carbajal for the report.

https://gna.org/bugs/?18503

12 years agodoc: fix missing arg when picking strokes
Andrew Chadwick [Sun, 14 Aug 2011 14:39:29 +0000 (15:39 +0100)]
doc: fix missing arg when picking strokes

12 years agocolorsel: support older pygtk, add x2click details
Andrew Chadwick [Sun, 14 Aug 2011 14:18:31 +0000 (15:18 +0100)]
colorsel: support older pygtk, add x2click details

Since the PPA builds (and Windows builds if you want pressure support)
need to support an ancient pygtk without a wrapped gtk.HSV, go back to
the nasty old trick of rummaging around in a donor gtk.ColorSelection
for spare parts. Sigh. Featurewise, this is slightly better. We regain
draggable colours from the prev and next widgets, which we can use
elsewhere: bits of the UI are now sensitive to having colours dropped on
them, so might as well provide a source.

Also add a trivial but nice to have colour details modal dialog on a
double-click of the colour comparison boxes. You can now type hex codes
into the dialog to set the current colour.

12 years agorestore last used brush/color when loading ORA
Martin Renold [Sun, 14 Aug 2011 14:19:52 +0000 (16:19 +0200)]
restore last used brush/color when loading ORA

12 years agoabout box: move all artists to Artists
Andrew Chadwick [Sat, 13 Aug 2011 16:55:47 +0000 (17:55 +0100)]
about box: move all artists to Artists

This duplicates some lines, but that's OK given the context of the box.
MrMamurk was already credited - pseudonym of Сан Саныч, so combine the
two lines.

12 years agoabout box: update credits
Andrew Chadwick [Sat, 13 Aug 2011 00:08:31 +0000 (01:08 +0100)]
about box: update credits

Thanks to BenO and MrMamurk, and apologies for not crediting you earlier.

12 years agoREADME: icon caches, sandbox installs
Andrew Chadwick [Thu, 11 Aug 2011 20:44:47 +0000 (21:44 +0100)]
README: icon caches, sandbox installs

Several users creating packages and local installs have been bitten by
icon trouble recently. Include some instructions about how to rebuild
the icon cache for the hicolor theme after a standard install, and a
note on sandbox installs since that's a standard thing even if we don't
require it.

12 years agoapp, doc: scratchpad follows primary doc
Andrew Chadwick [Wed, 10 Aug 2011 23:23:34 +0000 (00:23 +0100)]
app, doc: scratchpad follows primary doc

Reduce code duplication by using the same class for both, making the
scratchpad doc register with the main doc to receive certain events if
the main doc can't handle them.

12 years agodrawwindow: reword scratchpad menu entries
Andrew Chadwick [Wed, 10 Aug 2011 22:36:48 +0000 (23:36 +0100)]
drawwindow: reword scratchpad menu entries

Slight rewording and letter case changes for consistency. Dots where
interaction's required off the next step, and not when it's not.

12 years agoScratchpad: catch up to master
Andrew Chadwick [Wed, 10 Aug 2011 21:53:26 +0000 (22:53 +0100)]
Scratchpad: catch up to master

Change scratchpad hotkey to Shift+S since people probably use [ and ]
for paired operations. And it's nice to keep the symbols free.

12 years agopixops: dithering for display and for saving PNG
Martin Renold [Sun, 7 Aug 2011 12:32:22 +0000 (14:32 +0200)]
pixops: dithering for display and for saving PNG

Since dithering is a cheap operation now, also enable it for
the display when converting from 15bpc to 8bpc. When saving
a solid PNG it is now dithered, too (not only transparent PNGs).

I'm not claiming I can see the difference on my display, but
you can certainly see when you post-process the PNG.

scroll_nozoom_onelayer: performance seems to be unchanged (<5%)

12 years agotesting: fix GUI tests
Martin Renold [Sun, 7 Aug 2011 11:54:11 +0000 (13:54 +0200)]
testing: fix GUI tests

Application() takes extradata argument now.

12 years agosave_ora: 33% faster
Martin Renold [Sun, 7 Aug 2011 10:41:56 +0000 (12:41 +0200)]
save_ora: 33% faster

Use precalculated noise for dithering, don't call rand().
The speed is now the same it was for rounding, but we keep the quality.

12 years agostrokemap: thresholds tuning
Martin Renold [Sat, 6 Aug 2011 11:54:27 +0000 (13:54 +0200)]
strokemap: thresholds tuning

Replace ugly thresholding code with more ugly thresholding code.

The previous code did compare the difference of premultiplied
color components, with the result that white strokes had more
weight than black strokes. This at least is fixed now, and
hopefully everything is better tuned, too.

12 years agostrokemap: fix2 for choice of stroke to pick
Martin Renold [Fri, 5 Aug 2011 21:06:50 +0000 (23:06 +0200)]
strokemap: fix2 for choice of stroke to pick

Fix FIXME in stroke recording. Was ignoring the
threshold, caused by some past code refactoring...

12 years agostrokemap: fix choice of the stroke to pick
Martin Renold [Fri, 5 Aug 2011 20:44:11 +0000 (22:44 +0200)]
strokemap: fix choice of the stroke to pick

Fix the code that should have prevented a very faint stroke from
being recorded where a strong stroke was below.

(integer math for dummies...)

12 years agotoolbar: quick fix for exception
Andrew Chadwick [Fri, 5 Aug 2011 09:15:21 +0000 (10:15 +0100)]
toolbar: quick fix for exception

Should really test my commits before pushing. Ahem.

12 years agotoolbar: force into icons-only mode
Andrew Chadwick [Fri, 5 Aug 2011 09:02:42 +0000 (10:02 +0100)]
toolbar: force into icons-only mode

Workaround for a (py)GTK bug. The style-changed signal fires at startup
with an erroneous GTK_TOOLBAR_BOTH setting even when overridden both in
the user's gtkrc and in gconf, and even when the docs say the default is
GTK_TOOLBAR_BOTH_HORIZ. Forcing a style at that point means we can't
respect the user's style changes later, and rather than fiddle and set
up handlers within handlers and state flags to model GTK's peculiar
world view, it's simpler for our code to just do something that'll be
right for most users (who yes, tend to be graphical thinkers with good
eyesight; but for those who aren't: we still allow overriding the
toolbar icon size, and tooltips still work).