Commit Graph

8966 Commits

Author SHA1 Message Date
David Capello
af043a0c9f Update clip module 2023-03-13 10:50:58 -03:00
David Capello
23557a190b [lua] Add Plugin:newMenuGroup() to add submenus (fix #3731) 2023-03-09 16:41:37 -03:00
David Capello
b43f2a3428 Fix order of cmds added when a new layer is created (fix #3736)
As creating a new layer was generating a onActiveSiteChange() event,
if a script was listening that event and adding new
actions (e.g. changing the layer properties), the order of cmds was
incorrectly created (e.g. cmd::SetUserDataProperty for the layer, and
then the cmd::AddLayer).

With this change we first add the cmd::AddLayer and then any extra
cmd::SetUserDataProperty (or any other action) that can be added in
the sitechange event.

We've created ev.fromUndo flag to the app 'sitechange' Lua event so
scripts can detect if we are undoing/redoing in a site change event,
and avoid adding new properties/actions when this happens.

And we have added a new exception (CannotModifyWhenUndoingException)
to detect if a new action/cmd is added (incorrectly) when we are
undoing/redoing.

Related to #3720
2023-03-07 20:41:15 -03:00
Martín Capello
b34a50a87e Fix regression pasting images outside the canvas limits (fix #3725) 2023-03-07 17:44:18 -03:00
Martín Capello
ff14066d1f Use coordinates of type double to calculate grid lines positions 2023-03-07 17:18:11 -03:00
David Capello
232131122e Fix crash/assert painting a RecentFileItem (or any ui::Widget) without parents (fix #3504)
We were finally able to reproduce #3504 (an assert fail) and it looks
like a bug in the Widget::removeChild() function, where kPaintMessage
messages weren't removed from the queue after the widget is removed
from its parent.
2023-03-04 12:07:28 -03:00
Gaspar Capello
31ca1b6350 Removed alpha threshold in octree map algorithm (fix #3715) 2023-03-03 15:44:14 -03:00
David Capello
5d543fe463 Don't notify about the CPU architecture in the Sentry release version
So we can group all crash reports by version number (the architecture
is informed by Sentry).
2023-03-03 15:07:12 -03:00
David Capello
355ceacff4 Merge branch 'buttonset-issues' (fix #3554, merge #3565) 2023-02-28 15:08:54 -03:00
David Capello
c2b7eaf97f Fix compilation with clang-10 + libstdc++ 7.5.0
It looks like the std::variant impl doesn't convert from long long to
int64_t type automatically, but we might be wrong. Anyway this patch
does fix this.
2023-02-28 15:06:26 -03:00
David Capello
0ae8bc9b10 Improve backward compatibility with old themes
We have to copy all missing <style> into the new theme, so these
styles are re-loaded using colors and parts from the new
theme (instead of using the data of the default theme).
2023-02-28 14:28:09 -03:00
David Capello
33c92dd218 Fix some warnings
- Added missing override
- Removed some unused captures for lambdas
- Removed some unused local/member variables
2023-02-28 13:05:02 -03:00
David Capello
d13a2aab55 Update laf module 2023-02-28 13:00:22 -03:00
David Capello
d95a021733 Update dark theme 2023-02-27 19:38:36 -03:00
David Capello
606fea4214 Make buttons to select one window/multiple windows bigger 2023-02-27 19:21:57 -03:00
David Capello
c9470472af Don't use string literal in lambda inside ButtonSet::addItem() 2023-02-27 19:21:02 -03:00
David Capello
21a63b9fdf Minor change in formatting of conditional ternary operator 2023-02-27 19:18:25 -03:00
David Capello
05dcf96333 Fix style for RGBA/Grayscale/etc. buttons + Edit Pal/Tiles mode buttonsets
We cannot use the fix from 6e2b44c72d as
they contain different slice borders depending on the state (and that
generated moving labels/icons in RGBA/Grayscale/Indexed buttons when
we hover the mouse on them), so we had to revert it and use a new
"buttonset_item_active" theme part to set the background of Edit
Pal/Tiles.
2023-02-27 19:05:26 -03:00
David Capello
ff1211bc84 Minor changes in theme.xml/style names 2023-02-27 18:02:10 -03:00
David Capello
6e2b44c72d Fix Edit Colors and Tiles/Pixels Mode button styles
Now these buttons look more like the previous version, where the
special background color is painted to the edges. To achieve this the
"buttonset_item_normal" part has less border to fill the background
with "edit_pal_face" color in "pal_edit_button_unlock" and
"edit_tiles_mode" styles.
2023-02-27 17:44:30 -03:00
David Capello
0491bf60d7 Show the Tiles button highlighted ("button_selected_text") when it's in tiles mode
It was planned to use this color for this button when it's on.
2023-02-27 16:58:31 -03:00
David Capello
5ea89141fd Fix regression with Pal Edit button
The icon/stylus was inverted. We've also moved the icon for each state
to the theme xml (so we don't need to use setIcon() manually anymore
for this button).
2023-02-27 16:48:50 -03:00
Martín Capello
9332642de9 Fix combobox height 2023-02-27 16:04:21 -03:00
David Capello
11ef2f939b Remove unneeded padding-top for brush_type styles 2023-02-27 12:06:23 -03:00
David Capello
fa4f0d1fa9 Limit the brush size for preview to an odd-size to align the center correctly for big brushes
As now the BrushType button has an odd number width (15px), it's
better to limit the brush size to an odd number size (9px instead of
10px). In previous versions the BrushType button had an even number
width (16px) so the 10px brush size was correctly centered.
2023-02-27 12:06:23 -03:00
David Capello
672f371622 Add warning to ButtonSet::addItem() which is not safe to use w/a non-string literal 2023-02-27 12:06:23 -03:00
Martín Capello
d88eb80fe6 Fix theme initialization for theme variants widget 2023-02-27 11:59:20 -03:00
Martín Capello
b2365b557d Fix theme initialization for paint bucket settings menu 2023-02-27 11:04:07 -03:00
Martín Capello
f481d9c0e7 Fix timeline's animation buttons size 2023-02-27 10:21:50 -03:00
Martín Capello
0199994e45 Remove Y coordinate offset from some elements 2023-02-27 09:44:42 -03:00
Martín Capello
029e520f81 Add styles for ink type and dynamics buttons 2023-02-27 09:44:42 -03:00
Martín Capello
ea43c5f6c8 Adjust styles to make them work with the new buttonset 2023-02-27 09:44:42 -03:00
Martín Capello
cc3c421391 Initialize theme for HueSaturationWindow 2023-02-27 09:43:48 -03:00
Martín Capello
3ab993d1d6 Update ButtonSet to use theme's styles 2023-02-27 09:43:48 -03:00
Martín Capello
40426075f2 Add gap, gap-rows, and gap-columns style attributes 2023-02-27 09:43:48 -03:00
Martín Capello
5325f56f67 Allow overriding the icon part used by icon layers with the icon provided by a widget 2023-02-27 09:43:48 -03:00
Martín Capello
1783704a53 Fix positioning of text and icon layers to avoid setting values that are not a multiple of the gui scale 2023-02-27 09:43:48 -03:00
Martín Capello
d3f01ebe17 Add width, height, minwidth, minheight, maxwidth, and maxheight attributes to styles 2023-02-27 09:43:48 -03:00
Martín Capello
e002316466 Take into account padding when painting text and icon layers 2023-02-27 09:43:48 -03:00
Martín Capello
dded1f6eae Add mnemonics attribute for font and styles to enable/disable accelerators underlining 2023-02-27 09:43:48 -03:00
Martín Capello
195a8d0e92 Fix border, margin, and padding attributes inheritance 2023-02-27 09:43:48 -03:00
Martín Capello
11dc816878 Add "capture" state to style layer states 2023-02-27 09:43:48 -03:00
Martín Capello
598e50be1d Fix brush icon scale for brush size button when guiscale is greater than 1 2023-02-27 09:43:48 -03:00
David Capello
c900327675 Add switch for "multiple windows" in Edit > Preferences > General
As the "multiple windows" feature is still buggy (#3556) and we've
disabled it by default, it's nice to make this option more visible (in
the General section) so users reliant on this will find the switch
quickly.
2023-02-24 17:11:51 -03:00
David Capello
495a0b4684 Minor changes in the Edit > Preferences > Experimental section 2023-02-24 17:06:44 -03:00
David Capello
24b273f806 [lua] Remove "remaptileset" sprite event
It's not safe to listen this event from a script because it can be
called from a background thread. We keep the code for a future
solution (in case that it can be found).

In other case, consider to finally delete this code.
2023-02-24 12:50:33 -03:00
David Capello
c3c1d29739 Update laf and clip submodules 2023-02-24 12:23:16 -03:00
David Capello
c2f8335891 [lua] Add Timer() type (fix #3251) 2023-02-22 20:00:07 -03:00
David Capello
835aa3f83d Use std::nullptr_t defined in <cstddef> 2023-02-22 19:55:32 -03:00
David Capello
cef84ad113 [lua] Fix regression, Dialog() must create a window with titlebar
Added a new Dialog{ notitlebar=true } parameter to avoid showing a
title bar explicitly. So we can continue using Dialog() to create
dialogs with the default "Script" title.

Regression introduced in 453d9c2168
2023-02-22 18:17:26 -03:00