24 #include <cpsettingformentryitemdata.h> |
24 #include <cpsettingformentryitemdata.h> |
25 |
25 |
26 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate() |
26 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate() |
27 : mDataForm(0), |
27 : mDataForm(0), |
28 mItemDataHelper(0), |
28 mItemDataHelper(0), |
29 mItemPressed(false), |
29 mItemPressed(false) |
30 mDataFormScrolling(false) |
|
31 { |
30 { |
32 |
31 |
33 } |
32 } |
34 |
33 |
35 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(CpItemDataHelper *itemDataHelper) |
34 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(CpItemDataHelper *itemDataHelper) |
36 : mDataForm(0), |
35 : mDataForm(0), |
37 mItemDataHelper(itemDataHelper), |
36 mItemDataHelper(itemDataHelper), |
38 mItemPressed(false), |
37 mItemPressed(false) |
39 mDataFormScrolling(false) |
|
40 { |
38 { |
41 |
39 |
42 } |
40 } |
43 |
41 |
44 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(HbDataForm *dataForm) |
42 CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(HbDataForm *dataForm) |
45 : mDataForm(dataForm), |
43 : mDataForm(dataForm), |
46 mItemDataHelper(0), |
44 mItemDataHelper(0), |
47 mItemPressed(false), |
45 mItemPressed(false) |
48 mDataFormScrolling(false) |
|
49 { |
46 { |
50 |
47 |
51 } |
48 } |
52 |
49 |
53 void CpSettingFormEntryItemDataPrivate::init(CpSettingFormEntryItemData *parent) |
50 void CpSettingFormEntryItemDataPrivate::init(CpSettingFormEntryItemData *parent) |
60 default: break; |
57 default: break; |
61 case CpSettingFormEntryItemData::ListEntryItem: |
58 case CpSettingFormEntryItemData::ListEntryItem: |
62 { |
59 { |
63 if (mItemDataHelper) { |
60 if (mItemDataHelper) { |
64 mItemDataHelper->connectToForm(SIGNAL(pressed (QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex))); |
61 mItemDataHelper->connectToForm(SIGNAL(pressed (QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex))); |
65 mItemDataHelper->connectToForm(SIGNAL(released (QModelIndex)),mParent,SLOT(_q_itemReleased(QModelIndex))); |
62 mItemDataHelper->connectToForm(SIGNAL(activated(QModelIndex)),mParent,SLOT(_q_itemActivated(QModelIndex))); |
66 mItemDataHelper->connectToForm(SIGNAL(scrollingStarted ()),mParent,SLOT(_q_scrollingStarted())); |
|
67 } |
63 } |
68 else if (mDataForm) { |
64 else if (mDataForm) { |
69 QObject::connect( mDataForm,SIGNAL(pressed(QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex)) ); |
65 QObject::connect( mDataForm,SIGNAL(pressed(QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex)) ); |
70 QObject::connect( mDataForm,SIGNAL(released(QModelIndex)),mParent,SLOT(_q_itemReleased(QModelIndex)) ); |
66 QObject::connect( mDataForm,SIGNAL(activated(QModelIndex)),mParent,SLOT(_q_itemActivated(QModelIndex)) ); |
71 QObject::connect( mDataForm,SIGNAL(scrollingStarted()),mParent,SLOT(_q_scrollingStarted()) ); |
|
72 } |
67 } |
73 } |
68 } |
74 break; |
69 break; |
75 case CpSettingFormEntryItemData::ButtonEntryItem: |
70 case CpSettingFormEntryItemData::ButtonEntryItem: |
76 { |
71 { |
198 void CpSettingFormEntryItemDataPrivate::_q_itemPressed(const QModelIndex &index) |
193 void CpSettingFormEntryItemDataPrivate::_q_itemPressed(const QModelIndex &index) |
199 { |
194 { |
200 mItemPressed = ( modelItemFromModelIndex(index) == mParent ); |
195 mItemPressed = ( modelItemFromModelIndex(index) == mParent ); |
201 } |
196 } |
202 |
197 |
203 void CpSettingFormEntryItemDataPrivate::_q_itemReleased(const QModelIndex &index) |
198 |
204 { |
199 void CpSettingFormEntryItemDataPrivate::_q_itemActivated(const QModelIndex &index) |
205 if (!mDataFormScrolling && mItemPressed && modelItemFromModelIndex(index) == mParent) { |
200 { |
|
201 if (mItemPressed && modelItemFromModelIndex(index) == mParent) { |
206 mParent->onLaunchView(); |
202 mParent->onLaunchView(); |
207 } |
203 } |
208 mDataFormScrolling = false; |
204 mItemPressed = false; |
209 } |
205 } |
210 |
206 |
211 void CpSettingFormEntryItemDataPrivate::_q_scrollingStarted() |
|
212 { |
|
213 mDataFormScrolling = true; |
|
214 } |
|
215 |
207 |
216 HbDataFormModelItem *CpSettingFormEntryItemDataPrivate::modelItemFromModelIndex(const QModelIndex &index) |
208 HbDataFormModelItem *CpSettingFormEntryItemDataPrivate::modelItemFromModelIndex(const QModelIndex &index) |
217 { |
209 { |
218 if (mItemDataHelper) { |
210 if (mItemDataHelper) { |
219 return mItemDataHelper->modelItemFromModelIndex(index); |
211 return mItemDataHelper->modelItemFromModelIndex(index); |