import QtQuick 1.0 import "content/view" import "content/modelimpl" import "content/modelitf" Rectangle { id: window width: 800; height: 480 property int currentJournalIndex: 0 property int currentCategoryIndex: -1 property int currentNewsIndex: -1 property list listJournalModel: [ LeMondeJournalModel{}, FavoriteFeedsJournalModel{}, YahooJournalModel{} ] ListModel { id: journalList ListElement { journalName: 'Le Monde' journalHierarchy: [ // list of journals ListElement { component: "content/view/Journals.qml"; componentId: "journalsRect" }, // list of categories for a given journal ListElement { component: "content/view/Categories.qml"; componentId: "categoriesRect" }, // list of news for a given category ListElement { component: "content/view/News.qml"; componentId: "newsRect" }, // Details for a given news ListElement { component: "content/view/NewsDetail.qml"; componentId: "newsDetailRect" } ] } ListElement { journalName: 'Favorite RSS' journalHierarchy: [ // list of journals ListElement { component: "content/view/Journals.qml"; componentId: "journalsRect" }, // list of categories for a given journal ListElement { component: "content/view/Categories.qml"; componentId: "categoriesRect" }, // list of news for a given category ListElement { component: "content/view/News.qml"; componentId: "newsRect" } ] } ListElement { journalName: 'Yahoo! News' journalHierarchy: [ // list of journals ListElement { component: "content/view/Journals.qml"; componentId: "journalsRect" }, // list of categories for a given journal ListElement { component: "content/view/Categories.qml"; componentId: "categoriesRect" }, // list of news for a given category ListElement { component: "content/view/News.qml"; componentId: "newsRect" } ] } } property variant currentJournal: listJournalModel[currentJournalIndex] property bool loading: currentJournal.loading ListView { id: viewsList anchors.fill: window orientation: ListView.Horizontal snapMode: ListView.SnapOneItem flickDeceleration: 500 model: journalList.get(currentJournalIndex).journalHierarchy delegate: Loader { id: componentId source: component } } Component { id: quitButtonDelegate Item { width: parent.width; height: 60 Text { text: "Quit" font { family: "Helvetica"; pixelSize: 16; bold: true } anchors { left: parent.left; leftMargin: 15 verticalCenter: parent.verticalCenter } } MouseArea { anchors.fill: parent onClicked: Qt.quit() } } } }