X-Git-Url: http://git.maemo.org/git/?p=quicknewsreader;a=blobdiff_plain;f=qml%2FQuickNewsReader%2Fmain.qml;h=14ec523d49ed7ed24c63af216ce8e866eced42bf;hp=2a725110d2bc0113fac9bfc63b272366c61a60b9;hb=HEAD;hpb=d01d157c4f2340a8e52a891209159d1ad0b0f6cc diff --git a/qml/QuickNewsReader/main.qml b/qml/QuickNewsReader/main.qml index 2a72511..14ec523 100644 --- a/qml/QuickNewsReader/main.qml +++ b/qml/QuickNewsReader/main.qml @@ -1,3 +1,21 @@ +/*** +** Copyright (C) 2012 Christophe CHAPUIS +** +** This package is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this package; if not, write to the Free Software +** Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +** +***/ import QtQuick 1.0 import "content/view" import "content/modelimpl" @@ -5,26 +23,30 @@ import "content/modelitf" 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 listSourceModel: [ LeMondeSourceModel{}, + GoogleReaderSourceModel{}, FavoriteFeedsSourceModel{}, YahooSourceModel{} ] + property variant currentSource: listSourceModel[currentSourceIndex] + property bool loading: currentSource.loading + property alias windowViewsModel: viewsModel + property alias windowViewsList: viewsList + property alias currentContentX: viewsList.contentX + 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 - property ListView windowViewsList: viewsList ListView { id: viewsList @@ -33,14 +55,40 @@ Rectangle { 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 + + Behavior on contentX { + NumberAnimation { duration: 500; easing.type: Easing.InOutCubic } + } model: viewsModel delegate: Loader { - id: componentId + id: modelLoader source: component + + ListView.onAdd: { + viewsList.contentX = componentDepth*window.width + //viewsList.currentIndex = componentDepth // doesn't work well with Qt 4.7.3 on Maemo... + } } } + function showConfigDialog(index) { + configDialog.configModel = listSourceModel[index] + configDialog.state = "showSourceConfig" + } + + SourceConfigDialog { + id:configDialog + } + +/* +*/ + Component { id: quitButtonDelegate Item {