ipsservices/nmipssettings/inc/nmipssettingshelper.h
changeset 20 ecc8def7944a
parent 18 578830873419
child 23 2dc6caa42ec3
equal deleted inserted replaced
18:578830873419 20:ecc8def7944a
    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