23 #include <QVariant> |
23 #include <QVariant> |
24 |
24 |
25 #include "nmsettingscommon.h" |
25 #include "nmsettingscommon.h" |
26 #include "nmipssettingitems.h" |
26 #include "nmipssettingitems.h" |
27 |
27 |
|
28 class QModelIndex; |
|
29 class HbDataFormModelItem; |
|
30 class HbDataFormModel; |
|
31 class HbDataForm; |
|
32 class HbAction; |
28 class CpSettingFormItemData; |
33 class CpSettingFormItemData; |
29 class NmIpsSettingsManagerBase; |
34 class NmIpsSettingsManagerBase; |
30 class NmId; |
35 class NmId; |
|
36 |
|
37 |
|
38 // Constant for User Defined sync profile (EmailProfileOffsetUD) |
|
39 // \sa ipssettingkeys.h - Currently used sync profile |
|
40 const int NmIpsSettingsReceivingScheduleUserDefinedProfile = 3; |
31 |
41 |
32 class NmIpsSettingsHelper : public QObject |
42 class NmIpsSettingsHelper : public QObject |
33 { |
43 { |
34 Q_OBJECT |
44 Q_OBJECT |
35 |
45 |
36 public: |
46 public: |
37 |
47 |
38 NmIpsSettingsHelper(NmIpsSettingsManagerBase &settingsManager); |
48 NmIpsSettingsHelper(NmIpsSettingsManagerBase &settingsManager, HbDataForm &dataForm, |
|
49 HbDataFormModel &dataFormModel); |
|
50 |
39 ~NmIpsSettingsHelper(); |
51 ~NmIpsSettingsHelper(); |
40 |
52 |
41 void insertContentItem(IpsServices::SettingItem key, CpSettingFormItemData *value); |
53 void insertContentItem(IpsServices::SettingItem key, HbDataFormModelItem *value); |
|
54 HbDataFormModelItem *contentItem(IpsServices::SettingItem key) const; |
|
55 bool isOffline(); |
42 |
56 |
|
57 void setReceivingScheduleGroupItem(HbDataFormModelItem *item); |
|
58 void createOrUpdateReceivingScheduleGroupDynamicItem(IpsServices::SettingItem item); |
|
59 |
|
60 int getCorrectPortRadioButtonIndex(int currentPort); |
|
61 int getCorrectSecureRadioButtonIndex(QVariant secureSockets, QVariant secureSSLWrapper); |
|
62 int getCorrectInboxPathRadioButtonIndex(QVariant folderPath); |
|
63 int getCorrectOutgoingPortRadioButtonIndex(int currentPort); |
|
64 void handleReceivingScheduleSettingChange(IpsServices::SettingItem settingItem, |
|
65 const QVariant &settingValue); |
|
66 |
|
67 signals: |
|
68 |
|
69 void mailboxListChanged(const NmId &mailboxId, NmSettings::MailboxEventType type); |
|
70 void mailboxPropertyChanged(const NmId &mailboxId, QVariant property, QVariant value); |
|
71 void goOffline(const NmId &mailboxId); |
|
72 void createUserDefinedMode(); |
|
73 |
43 public slots: |
74 public slots: |
44 |
75 |
45 void saveMyName(); |
76 void saveMyName(); |
46 void myNameTextChange(const QString &text); |
77 void myNameTextChange(const QString &text); |
47 void saveMailboxName(); |
78 void saveMailboxName(); |
53 void savePassword(); |
84 void savePassword(); |
54 void saveReplyTo(); |
85 void saveReplyTo(); |
55 void replyToTextChange(const QString &text); |
86 void replyToTextChange(const QString &text); |
56 void deleteButtonPress(); |
87 void deleteButtonPress(); |
57 void receivingScheduleChange(int index); |
88 void receivingScheduleChange(int index); |
|
89 void saveIncomingMailServer(); |
|
90 void incomingMailServerTextChange(const QString &text); |
|
91 void saveOutgoingMailServer(); |
|
92 void outgoingMailServerTextChange(const QString &text); |
|
93 void incomingPortChange(int index); |
|
94 void incomingPortPressed(const QModelIndex &index); |
|
95 void incomingSecureConnectionItemChange(int index); |
|
96 void incomingSecureConnectionPressed(const QModelIndex &index); |
|
97 void inboxPathChange(int index); |
|
98 void inboxPathPressed(const QModelIndex &index); |
|
99 void outgoingPortChange(int index); |
|
100 void outgoingPortPressed(const QModelIndex &index); |
|
101 void outgoingSecureConnectionItemChange(int index); |
|
102 void outgoingSecureConnectionPressed(const QModelIndex &index); |
58 |
103 |
59 signals: |
104 private slots: |
60 |
105 |
61 void mailboxListChanged(const NmId &mailboxId, NmSettings::MailboxEventType type); |
106 void receivingWeekdaysModified(HbAction *action); |
62 void mailboxPropertyChanged(const NmId &mailboxId, QVariant property, QVariant value); |
107 void startTimeModified(); |
|
108 void endTimeModified(); |
|
109 void refreshPeriodModified(int index); |
|
110 |
|
111 private: |
|
112 |
|
113 void updateShowMailInMailbox(); |
|
114 void deleteReceivingScheduleGroupDynamicItem(IpsServices::SettingItem item); |
|
115 QString timeFormat(); |
|
116 int showIncomingPortInputDialog(int currentPort, bool &changed); |
|
117 QString showFolderPathInputDialog(bool &changed); |
|
118 int showOutgoingPortInputDialog(int currentPort, bool &changed); |
|
119 void copyReceivingScheduleSettingsFromActiveProfile(int profileMode); |
|
120 |
|
121 Q_DISABLE_COPY(NmIpsSettingsHelper) |
63 |
122 |
64 private: // data |
123 private: // data |
65 |
124 |
66 bool mCurrentLineEditChanged; |
125 bool mCurrentLineEditChanged; |
67 |
126 bool mEmitOnline; |
68 NmIpsSettingsManagerBase &mSettingsManager; |
127 NmIpsSettingsManagerBase &mSettingsManager; |
69 |
128 QMap<IpsServices::SettingItem, HbDataFormModelItem *> mContentItems; |
70 QMap<IpsServices::SettingItem, CpSettingFormItemData *> mContentItems; |
129 HbDataFormModelItem *mReceivingScheduleGroupItem; // Not owned. |
71 |
130 HbDataForm &mDataForm; |
72 Q_DISABLE_COPY(NmIpsSettingsHelper) |
131 HbDataFormModel &mDataFormModel; |
73 |
132 bool mDynamicItemsVisible; |
|
133 int mRadioButtonPreviousIndex; |
74 }; |
134 }; |
75 |
135 |
76 #endif // NMIPSSETTINGSHELPER_H |
136 #endif // NMIPSSETTINGSHELPER_H |