QML UI: use unique names for the different ListViews

Having both the dive list (the vertical list) and the sequence of dive
details (the horizontally swipe-able list) named the same caused me
endless confusion.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2016-01-28 16:01:29 -08:00
parent 106bb07cff
commit c52769a90f
2 changed files with 30 additions and 30 deletions

View file

@ -8,7 +8,7 @@ import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
MobileComponents.Page { MobileComponents.Page {
id: diveDetailsPage id: diveDetailsPage
property alias currentIndex: diveListView.currentIndex property alias currentIndex: diveDetailsListView.currentIndex
state: "view" state: "view"
@ -34,35 +34,35 @@ MobileComponents.Page {
// After saving, the list may be shuffled, so first of all make sure that // After saving, the list may be shuffled, so first of all make sure that
// the listview's currentIndex is the visible item // the listview's currentIndex is the visible item
// This makes sure that we always edit the currently visible item // This makes sure that we always edit the currently visible item
diveListView.currentIndex = diveListView.indexAt(diveListView.contentX+1, 1); diveDetailsListView.currentIndex = diveDetailsListView.indexAt(diveDetailsListView.contentX+1, 1);
detailsEdit.dive_id = diveListView.currentItem.modelData.dive.id detailsEdit.dive_id = diveDetailsListView.currentItem.modelData.dive.id
detailsEdit.number = diveListView.currentItem.modelData.dive.number detailsEdit.number = diveDetailsListView.currentItem.modelData.dive.number
detailsEdit.dateText = diveListView.currentItem.modelData.dive.date + " " + diveListView.currentItem.modelData.dive.time detailsEdit.dateText = diveDetailsListView.currentItem.modelData.dive.date + " " + diveDetailsListView.currentItem.modelData.dive.time
detailsEdit.locationText = diveListView.currentItem.modelData.dive.location detailsEdit.locationText = diveDetailsListView.currentItem.modelData.dive.location
detailsEdit.durationText = diveListView.currentItem.modelData.dive.duration detailsEdit.durationText = diveDetailsListView.currentItem.modelData.dive.duration
detailsEdit.depthText = diveListView.currentItem.modelData.dive.depth detailsEdit.depthText = diveDetailsListView.currentItem.modelData.dive.depth
detailsEdit.airtempText = diveListView.currentItem.modelData.dive.airTemp detailsEdit.airtempText = diveDetailsListView.currentItem.modelData.dive.airTemp
detailsEdit.watertempText = diveListView.currentItem.modelData.dive.waterTemp detailsEdit.watertempText = diveDetailsListView.currentItem.modelData.dive.waterTemp
detailsEdit.suitText = diveListView.currentItem.modelData.dive.suit detailsEdit.suitText = diveDetailsListView.currentItem.modelData.dive.suit
detailsEdit.buddyText = diveListView.currentItem.modelData.dive.buddy detailsEdit.buddyText = diveDetailsListView.currentItem.modelData.dive.buddy
detailsEdit.divemasterText = diveListView.currentItem.modelData.dive.divemaster detailsEdit.divemasterText = diveDetailsListView.currentItem.modelData.dive.divemaster
detailsEdit.notesText = diveListView.currentItem.modelData.dive.notes detailsEdit.notesText = diveDetailsListView.currentItem.modelData.dive.notes
detailsEdit.forcedWidth = diveDetailsPage.width detailsEdit.forcedWidth = diveDetailsPage.width
diveDetailsPage.state = "edit" diveDetailsPage.state = "edit"
} }
} }
function showDiveIndex(index) { function showDiveIndex(index) {
diveListView.currentIndex = index; diveDetailsListView.currentIndex = index;
diveListView.positionViewAtIndex(diveListView.currentIndex, ListView.Beginning); diveDetailsListView.positionViewAtIndex(diveDetailsListView.currentIndex, ListView.Beginning);
} }
onWidthChanged: diveListView.positionViewAtIndex(diveListView.currentIndex, ListView.Beginning); onWidthChanged: diveDetailsListView.positionViewAtIndex(diveDetailsListView.currentIndex, ListView.Beginning);
ScrollView { ScrollView {
id: diveDetailList id: diveDetailList
anchors.fill: parent anchors.fill: parent
ListView { ListView {
id: diveListView id: diveDetailsListView
anchors.fill: parent anchors.fill: parent
model: diveModel model: diveModel
currentIndex: -1 currentIndex: -1
@ -77,8 +77,8 @@ MobileComponents.Page {
} }
delegate: ScrollView { delegate: ScrollView {
id: internalScrollView id: internalScrollView
width: diveListView.width width: diveDetailsListView.width
height: diveListView.height height: diveDetailsListView.height
property var modelData: model property var modelData: model
Flickable { Flickable {
//contentWidth: parent.width //contentWidth: parent.width

View file

@ -159,16 +159,16 @@ Item {
detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText, detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText,
detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText) detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText)
// apply the changes to the dive detail view // apply the changes to the dive detail view
diveListView.currentItem.modelData.date = detailsEdit.dateText diveDetailsListView.currentItem.modelData.date = detailsEdit.dateText
diveListView.currentItem.modelData.location = detailsEdit.locationText diveDetailsListView.currentItem.modelData.location = detailsEdit.locationText
diveListView.currentItem.modelData.duration = detailsEdit.durationText diveDetailsListView.currentItem.modelData.duration = detailsEdit.durationText
diveListView.currentItem.modelData.depth = detailsEdit.depthText diveDetailsListView.currentItem.modelData.depth = detailsEdit.depthText
diveListView.currentItem.modelData.airtemp = detailsEdit.airtempText diveDetailsListView.currentItem.modelData.airtemp = detailsEdit.airtempText
diveListView.currentItem.modelData.watertemp = detailsEdit.watertempText diveDetailsListView.currentItem.modelData.watertemp = detailsEdit.watertempText
diveListView.currentItem.modelData.suit = detailsEdit.suitText diveDetailsListView.currentItem.modelData.suit = detailsEdit.suitText
diveListView.currentItem.modelData.buddy = detailsEdit.buddyText diveDetailsListView.currentItem.modelData.buddy = detailsEdit.buddyText
diveListView.currentItem.modelData.divemaster = detailsEdit.divemasterText diveDetailsListView.currentItem.modelData.divemaster = detailsEdit.divemasterText
diveListView.currentItem.modelData.notes = detailsEdit.notesText diveDetailsListView.currentItem.modelData.notes = detailsEdit.notesText
diveDetailsPage.state = "view" diveDetailsPage.state = "view"
} }
} }