Skip to content

Use GridLaneLayout - #246

Open
Ghabry wants to merge 5 commits into
EasyRPG:masterfrom
Ghabry:ux
Open

Use GridLaneLayout#246
Ghabry wants to merge 5 commits into
EasyRPG:masterfrom
Ghabry:ux

Conversation

@Ghabry

@Ghabry Ghabry commented Sep 4, 2026

Copy link
Copy Markdown
Member

Was discussing with jetrotal a while ago how to make the editor more "responsive" without making it look like a mobile app.

What we came up with is using a Grid Lane Layout which automatically moves Tiles (I call it Card to match Kirigami) around based on the window width. So it shows more tiles per line depending on the Window/Screen Width.

The Grid Lane Layout (or Masonry Layout) itself was mostly AI generated (I added the doc comments) and I couldn't find any prior work regarding this in QML. At least it looks like it works and is only about 80 lines.

Also had to vendor the FormLayout as it hardcodes some width and padding which is inconvenient for us as this stuff was too small (and felt mobile first). As an alternative I can provide AI-generated monkey-patching of the original FormLayout but the code was so bad that I consider vendoring the cleaner way here...

Bildschirmaufnahme_20260904_124712.mp4

For the lulz: This happens when you tell Spectacle to record a Window and then resize it while recording xD

Bildschirmaufnahme_20260904_124603.mp4

Ghabry added 4 commits May 30, 2026 00:35
Some adjustments (see comments) are required to make it work better for us.

Main issue is that it forces the components to be quite small by default and overwriting this requires dummy elements that force a width which isn't really better...
A Grid Lane Layout (or Masonry Layout) is similar to a Grid Layout but with the difference that for each column the gaps are filled

This makes the layout nicely reponsive and we need a responsive design as th editor has usually a lot of data to configure per page.

Adopt this Grid Lane Layout for the Actor and the Attribute Page
Still not ideal but better than before...
@Ghabry Ghabry added this to the 0.1 milestone Sep 4, 2026

@carstene1ns carstene1ns left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me

Comment thread README.adoc

- CMake >= 3.15
- A C++23 capable compiler.
- CMake >= 3.15 (>= 3.23 to use the provided CMake presets)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should really bump this (maybe to 3.23) since we only test with 3.28 as lowest target currently. Also, getting Qt to compile might be broken with older compilers etc. anyway, so no reason to stay this low.

Comment thread README.adoc
- zlib for XYZ image support.
- Glaze for converting LCF data to JSON and binding to QML.

Optional dependencies:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: could strip the second "optional" in next line now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants