Age | Commit message (Collapse) | Author |
|
|
|
Fixes desync between file and title.
|
|
And replace DeprecatedString and fix misnamed argument in show_error()
|
|
Instead of crashing on failed icon loading with TRY(), let's report
missing but non-critical resources in detail and gracefully move on.
|
|
Pithier and it matches the naming convention used in FontEditor's
child widgets. Since it was never used outside MainWidget and there
will soon be no guarantee that m_font is nonnull, the public
BitmapFont& getter has also been removed.
|
|
This workaround has not been needed since 5c92397
|
|
As these were only used internally, let's simplify things and prevent
potential desync between widget state and saved settings by moving the
logic into their respective actions.
|
|
Since moving initialization out of the constructor and recalculating
GlyphMap's content size on range and font changes, these deferrals are
no longer needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And propagate errors while building them.
|
|
|
|
When either king is in check, its square is now highlighted with a red
background. This behavior can be toggled in GameSettings.
|
|
|
|
This concerns both `BufferedSeekable` and `BufferedFile`.
|
|
While the binary is still called "Browser" for now, let's make it clear
that we're converging on a single name for this application.
|
|
Up until 3d53dc82283e7eccf7a27918dbbcd391dc4988f7, to_string(ColorRole)
returned char*, which prevented us from directly creating a String
class.
|
|
This makes this input consistent with the hardness properties of other
tools.
|
|
It currently supports only headers and code blocks.
|
|
The pattern to construct `Application` was to use the `try_create`
method from the `C_OBJECT` macro. While being safe from an OOM
perspective, this method doesn't propagate errors from the constructor.
This patch make `Application` use the `C_OBJECT_ABSTRACT` and manually
define a `create` method that can bubble up errors from the
construction stage.
This commit also removes the ability to use `argc` and `argv` to
create an `Application`, only `Main`'s `Arguments` can be used.
From a user point of view, the patch renames `try_create` => `create`,
hence the huge number of modified files.
|
|
|
|
This makes the lasso tool behavior consistent with other selection
tools.
|
|
This matches the behavior of other selection tools.
|
|
|
|
The font isn't set in the constructor, there may be a case where the
font hasn't loaded before the first paint event. Therefore, we should
not paint if the font is null. All other methods should be fine.
|
|
The graphics directory is a more suitable home for game assets.
|
|
The graphics directory is a more suitable home for game assets.
Also, move card backs into their own subfolder in preparation for a
themes subfolder for card fronts.
|
|
This makes Piano exactly as usable as when I started the large refactor
some years ago, which *sounds* like I'm a terrible person but now it (1)
looks nicer and (2) has a flexible backend that can already deal with
aribtrary kinds of processors on any track.
|
|
|
|
|
|
Previously these variables were all prefixed `size_`, but used for
the opacity value.
|
|
Previously we would not clear the client buffer of the
ConnectionToServer when playback was stopped. This would
cause old samples to be buffered and played when playback
was restarted.
With this commit we now perform this clearing of the client
buffer correctly.
|
|
|
|
Previously when pausing or stoping a track in SoundPlayer,
the visualizations would glitch out. This was caused by them
being updated with the same buffer over and over.
With this patch a pause action will freeze the visualization at the
point of the pause and a stop action will reset the visualization
so it displays nothing until a track is started.
|
|
Previously there was no way to clear the internal buffer in a
VisualizationWidget. These buffers are what determines how a
VisualizationWidget is rendered, so with this commit we are now
able to reset visualizations.
|
|
|
|
Previously, Frames could set both these properties along with a
thickness to confusing effect: Most shapes of the same shadowing only
differentiated at a thickness >= 2, and some not at all. This led
to a lot of creative but ultimately superfluous choices in the code.
Instead let's streamline our options, automate thickness, and get
the right look without so much guesswork.
Plain shadowing has been consolidated into a single Plain style,
and 0 thickness can be had by setting style to NoFrame.
|
|
These icons are a relic of GLabel and were never implemented to
accomodate both image and text. This convenience can always be added
in the future, but no current instance assumes or needs it, so let's
replace them all with ImageWidget to show clearer intent.
|
|
|
|
This makes it easier to see what the result will be when using two
solid colors.
|
|
If you launch the Spreadsheet app by clicking on a CSV
(or other supported formats) the import dialog is immediately
launched. If you cancel out of the import the application ends
up in an empty state where there are no sheets added. When you
launch the app normally it defaults to having a blank sheet, so
we should have the same behaviour in this scenario to prevent users
from having to manually add the new/blank sheet before being able to
use the app
|
|
Cells can be updated with new background/foreground colors and then this
action can be undone/redone.
|
|
Enables the ability to undo changes in metadata without undoing chages
in data. Previously there was only CellUndoData which cannot undo things
such as changes in cell background color.
|
|
Allows the creation of CellChanges where the change is in the type
metadata instead of in data.
|
|
This patch adds radial gradients to the gradients tool.
|
|
After 7b10c8048c, this is probably more correct.
|