16 */ |
16 */ |
17 #include <hbaction.h> |
17 #include <hbaction.h> |
18 #include <hblistview.h> |
18 #include <hblistview.h> |
19 |
19 |
20 #include "irapplication.h" |
20 #include "irapplication.h" |
21 #include "irabstractviewmanager.h" |
21 #include "irviewmanager.h" |
22 #include "irmainview.h" |
22 #include "irmainview.h" |
23 #include "ircategoryview.h" |
23 #include "ircategoryview.h" |
24 #include "irstationsview.h" |
24 #include "irstationsview.h" |
25 #include "irqnetworkcontroller.h" |
25 #include "irqnetworkcontroller.h" |
26 #include "irmainmodel.h" |
26 #include "irmainmodel.h" |
27 #include "irqenums.h" |
27 #include "irqenums.h" |
|
28 #include "iruidefines.h" |
28 |
29 |
29 // public functions |
30 // public functions |
30 |
31 |
31 /* |
32 /* |
32 * Description : constructor |
33 * Description : constructor |
34 IRMainView::IRMainView(IRApplication* aApplication, TIRViewId aViewId) : |
35 IRMainView::IRMainView(IRApplication* aApplication, TIRViewId aViewId) : |
35 IrAbstractListViewBase(aApplication, aViewId), |
36 IrAbstractListViewBase(aApplication, aViewId), |
36 iMainModel(NULL) |
37 iMainModel(NULL) |
37 { |
38 { |
38 setFlag(EViewFlag_ClearStackWhenActivate); |
39 setFlag(EViewFlag_ClearStackWhenActivate); |
39 |
40 iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION); |
40 connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)), |
|
41 this, SLOT(networkRequestNotified(IRQNetworkEvent))); |
|
42 setHeadingText(tr("Collections")); |
|
43 |
41 |
44 iMainModel = new IRMainModel(this); |
42 //if this view is not starting view, finish all initialization in constructor |
45 iListView->setModel(iMainModel); |
43 if (getViewManager()->views().count() > 0) |
|
44 { |
|
45 lazyInit(); |
|
46 } |
46 } |
47 } |
47 |
48 |
48 /* |
49 /* |
49 * Description : destructor |
50 * Description : destructor |
50 */ |
51 */ |
51 IRMainView::~IRMainView() |
52 IRMainView::~IRMainView() |
52 { |
53 { |
53 } |
|
54 |
|
55 /* |
|
56 * Description : virtual function from base class IRBaseView. |
|
57 * handle view commands. |
|
58 * Parameters : aCommand : see the definition of TIRViewCommand |
|
59 * Return : EIR_DoDefault : caller does default handling |
|
60 * EIR_NoDefault : caller doesn't do default handling |
|
61 */ |
|
62 TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason) |
|
63 { |
|
64 TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason); |
|
65 switch (aCommand) |
|
66 { |
|
67 case EIR_ViewCommand_ACTIVATED: |
|
68 updateView(); |
|
69 ret = EIR_NoDefault; |
|
70 break; |
|
71 |
|
72 default: |
|
73 break; |
|
74 } |
|
75 |
|
76 return ret; |
|
77 } |
54 } |
78 |
55 |
79 // slots functions |
56 // slots functions |
80 |
57 |
81 /* |
58 /* |
193 void IRMainView::updateView() |
170 void IRMainView::updateView() |
194 { |
171 { |
195 IrAbstractListViewBase::updateView(); |
172 IrAbstractListViewBase::updateView(); |
196 iMainModel->checkUpdate(); |
173 iMainModel->checkUpdate(); |
197 } |
174 } |
|
175 |
|
176 void IRMainView::lazyInit() |
|
177 { |
|
178 if (!initCompleted()) |
|
179 { |
|
180 IrAbstractListViewBase::lazyInit(); |
|
181 |
|
182 setCheckedAction(); |
|
183 |
|
184 connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)), |
|
185 this, SLOT(networkRequestNotified(IRQNetworkEvent))); |
|
186 |
|
187 iMainModel = new IRMainModel(iApplication->getPlayList(), this); |
|
188 iMainModel->checkUpdate(); |
|
189 iListView->setModel(iMainModel); |
|
190 |
|
191 setInitCompleted(true); |
|
192 } |
|
193 } |