Note > Aux niveaux fonctionnel et visuel, cette nouvelle itération de BiblioApp est
nettement plus jolie et facile à maintenir, tout en ne représentant qu'une dizaine de
lignes supplémentaires par rapport à la version à base de Repeater.
2.2. En grille et en chemin
La partie supérieure de l'interface pourrait être remplacée par un affichage plus
sympathique, en faisant défiler les couvertures des livres : soit sous la forme d'une
grille, soit en les faisant glisser sur un chemin prédéfini. Ces vues peuvent
s'implémenter assez facilement, avec les développements précédents : le délégué
contiendra simplement une image avec sa légende, la vue se chargera de les disposer
de manière intelligente — et de gérer la sélection, comme précédemment.
Rectangle {
width: window.width
Layout.fillHeight: true
Layout.minimumHeight: booksList.cellHeight + 20
Layout.maximumHeight: 600
GridView {
id: booksList anchors.fill: parent cellWidth: 140; cellHeight: 260 model:
bookModel delegate: Item { width: booksList.cellWidth height: booksList.cellHeight
Column { anchors.fill: parent anchors.topMargin: 5 Image { source: image
341
nettement plus jolie et facile à maintenir, tout en ne représentant qu'une dizaine de
lignes supplémentaires par rapport à la version à base de Repeater.
2.2. En grille et en chemin
La partie supérieure de l'interface pourrait être remplacée par un affichage plus
sympathique, en faisant défiler les couvertures des livres : soit sous la forme d'une
grille, soit en les faisant glisser sur un chemin prédéfini. Ces vues peuvent
s'implémenter assez facilement, avec les développements précédents : le délégué
contiendra simplement une image avec sa légende, la vue se chargera de les disposer
de manière intelligente — et de gérer la sélection, comme précédemment.
Rectangle {
width: window.width
Layout.fillHeight: true
Layout.minimumHeight: booksList.cellHeight + 20
Layout.maximumHeight: 600
GridView {
id: booksList anchors.fill: parent cellWidth: 140; cellHeight: 260 model:
bookModel delegate: Item { width: booksList.cellWidth height: booksList.cellHeight
Column { anchors.fill: parent anchors.topMargin: 5 Image { source: image
341
