SilicaListView { id: listView model: shelvesModel anchors.fill: parent header: PageHeader { title: qsTr("Bookshelves") } PullDownMenu { MenuItem { text: qsTr ("My Profile") visible: uid != "self" onClicked: switchToMyProfile () } MenuItem { text: qsTr ("Add bookshelf") visible: true onClicked: switchToAddEditShelf ("", "", false); } MenuItem { text: qsTr ("Refresh") onClicked: refreshShelves (uid); } } ViewPlaceholder { enabled: !loading && (shelvesModel.count === 0) text: qsTr ("List of shelves is empty") } delegate: ListItem { id: delegate height: Theme.itemSizeMedium menu: contextMenuComponent Label { id: shelfNameLabel anchors.left: parent.left anchors.leftMargin: Theme.paddingMedium anchors.verticalCenter: parent.verticalCenter text: shelfName === undefined ? "" : shelfName font.pixelSize: Theme.fontSizeLarge color: delegate.highlighted ? Theme.highlightColor : Theme.primaryColor } Label { id: booksCountLabel anchors.right: parent.right anchors.rightMargin: Theme.paddingMedium anchors.verticalCenter: parent.verticalCenter text: shelfBooksCount === undefined ? "0" : shelfBooksCount font.pixelSize: Theme.fontSizeLarge color: delegate.highlighted ? Theme.highlightColor : Theme.primaryColor } onClicked: console.log (shelfID) Component { id: contextMenuComponent ContextMenu { MenuItem { visible: uid == "self" text: qsTr ("Edit"); onClicked: switchToAddEditShelf (shelfID, shelfName, shelfExclusive) } } } } VerticalScrollDecorator {} }