Settings dialog infrastructure
[quicknewsreader] / qml / QuickNewsReader / content / modelimpl / LeMondeSourceModel.qml
1 import QtQuick 1.0
2 import "../modelitf"
3
4 SourceModel {
5     name: "Le Monde"
6
7     listViews: [
8         { viewComponent: 'content/view/Categories.qml', viewId: 'categoriesRect' } ,
9         { viewComponent: 'content/view/News.qml', viewId: 'newsRect' },
10         { viewComponent: 'content/view/NewsDetail.qml', viewId: 'newsDetailRect' },
11         { viewComponent: 'content/view/NewsComments.qml', viewId: 'newsCommentsRect' }
12     ]
13     listModels: [
14         categoriesModel,
15         newsModel,
16         newsModelDetail,
17         newsModelDetailComments
18     ]
19
20     function getSeqId(categoryIndex)
21     {
22         if( typeof categoriesModel.get(categoryIndex) != "undefined" )
23             if( typeof categoriesModel.get(categoryIndex).seqid != "undefined" )
24                 return categoriesModel.get(categoryIndex).seqid
25
26         return ""
27     }
28
29     function getNewsModelItem(prop)
30     {
31         var newsIndex = currentPath[2]
32
33         if( typeof newsModel.get(newsIndex) != "undefined" )
34             if( typeof newsModel.get(newsIndex)[prop] != "undefined" )
35                 return newsModel.get(newsIndex)[prop]
36
37         return ""
38     }
39
40     property variant categoriesModel: LeMondeSequencesList { }
41     property variant newsModel: LeMondeSequenceNews {
42         seqid: getSeqId(currentPath[1])
43     }
44     property variant newsModelDetail: QtObject {
45         property variant parentModel: newsModel
46         property int sourceDepth: 3
47
48         property string urllink: getNewsModelItem('link')
49         property string htmlcontent: getNewsModelItem('detailedContent')
50         property string title: getNewsModelItem('title')
51         property string image: getNewsModelItem('image')
52     }
53     property variant newsModelDetailComments: QtObject {
54         property variant parentModel: newsModel
55         property int sourceDepth: 4
56
57         property string commentURL: "http://www.lemonde.fr" + getNewsModelItem('commentURL')
58         property string title: getNewsModelItem('title')
59         property string image: getNewsModelItem('image')
60     }
61
62     loading: categoriesModel.loading || newsModel.loading
63 }