I was tracking this in T9657 .
Basically, the acbf library needed all sorts of stuff to be able to access metadata and extra pagedata.
Given that I am not too great with QML yet, I thought I'd also update Peruse Creator, as that would demonstrate the properties can be read and written in a sensible manner.
There's still a bit to do, and some paper cuts to polish, but I am pretty far already, so hence this review request :)
What has been done:
The metadata page can now edit (almost) everything in the metadata section.
- I removed the multi-language stuff here because I suspect we are better off making a seperate translation gui?
- DocumentInfo ID is generated as a random UUID and the creation date is written upon writing, so those didn't need to be made editable.
- Body background color should proly also go here.
- I didn't add reading direction yet.
- Editing the publishing date isn't as nice as I had hoped.
- Version needs a floating point box, but QML doesn't have one, so I'll have to think about what can be done there.
Pages now have a 'edit' page, which is BookPage put into place. You can edit page info here, as well as make frames, textareas and jumps.
- Clicking once on the page will start a page area selection mode. Clicking a second time confirms the selection and asks what kind of area you want to make.
- This was done because the click+drag activates Kirigami's swipe mechanic, it is not very touch friendly however.
- Textareas still need a bit of work, they don't show up unless you've made one textarea, went back to the pages section and then go back to the page.
- Textareas will also need to create a default language layer entry to get conform files.
- you can only make rectangles right now, but we'll proly need Qt 5.11 for showing anything more complex, as that has the 'Shape' object.
- Areas will show up in the page info list, where you can edit them a little and remove them.
The swap is kinda broken :<(Requires QQmlListProperty and that is just too difficult to implement for me.)
- Pages should probably try to inherit the page color from the body value.
Anyway I am pretty proud of how far I've gotten :p