Rectangle {
id: window
+ //anchors.fill: parent // use this little trick to always adapt itself to the screen
width: 800; height: 480
property int currentSourceIndex: 0
property list<SourceModel> listSourceModel: [
LeMondeSourceModel{},
+ GoogleReaderSourceModel{},
FavoriteFeedsSourceModel{},
YahooSourceModel{}
]
+ property variant currentSource: listSourceModel[currentSourceIndex]
+ property bool loading: currentSource.loading
+ property ListModel windowViewsModel: viewsModel
+ property ListView windowViewsList: viewsList
+
ListModel {
id: viewsModel
- ListElement { component: "content/view/Sources.qml"; componentId: "sourcesRect"; componentDepth: 0 }
+ ListElement { component: "content/view/Sources.qml"; componentDepth: 0 }
}
- property variant currentSource: listSourceModel[currentSourceIndex]
- property bool loading: currentSource.loading
- property ListModel windowViewsModel: viewsModel
ListView {
id: viewsList
orientation: ListView.Horizontal
snapMode: ListView.SnapOneItem
flickDeceleration: 500
+ cacheBuffer: 1600 // so that the next delegate gets actually loaded...
+ preferredHighlightBegin: window.x
+ preferredHighlightEnd: window.width
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ boundsBehavior: Flickable.StopAtBounds
model: viewsModel
delegate: Loader {
- id: componentId
+ id: modelLoader
source: component
+
+ ListView.onAdd: {
+ viewsList.currentIndex = componentDepth
+ }
}
}
+ function showConfigDialog(index) {
+ configDialog.configModel = listSourceModel[index]
+ configDialog.state = "showSourceConfig"
+ }
+
+ SourceConfigDialog {
+ id:configDialog
+ }
+
+/*
+*/
+
Component {
id: quitButtonDelegate
Item {