emailuis/nmailui/inc/nmmessagelistview.h
changeset 23 2dc6caa42ec3
parent 18 578830873419
child 27 9ba4404ef423
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    18 #ifndef NMMESSAGELISTVIEW_H_
    18 #ifndef NMMESSAGELISTVIEW_H_
    19 #define NMMESSAGELISTVIEW_H_
    19 #define NMMESSAGELISTVIEW_H_
    20 
    20 
    21 #include "nmbaseview.h"
    21 #include "nmbaseview.h"
    22 #include <nmactionobserver.h>
    22 #include <nmactionobserver.h>
       
    23 #include <QModelIndex>
    23 
    24 
    24 class HbTreeView;
    25 class HbTreeView;
    25 class HbLabel;
    26 class HbLabel;
    26 class HbMenu;
    27 class HbMenu;
    27 class NmUiEngine;
    28 class NmUiEngine;
    31 class NmMessageListModel;
    32 class NmMessageListModel;
    32 class NmMailboxListModel;
    33 class NmMailboxListModel;
    33 class HbAbstractViewItem;
    34 class HbAbstractViewItem;
    34 class NmActionResponse;
    35 class NmActionResponse;
    35 class NmMessageListModelItem;
    36 class NmMessageListModelItem;
    36 class QModelIndex;
       
    37 class HbIconItem;
    37 class HbIconItem;
    38 
    38 
    39 class NmMessageListView : public NmBaseView, public NmActionObserver
    39 class NmMessageListView : public NmBaseView, public NmActionObserver
    40 {
    40 {
    41     Q_OBJECT
    41     Q_OBJECT
    48         NmMessageListModel &messageListModel,
    48         NmMessageListModel &messageListModel,
    49         HbDocumentLoader *documentLoader,
    49         HbDocumentLoader *documentLoader,
    50         QGraphicsItem *parent = 0);
    50         QGraphicsItem *parent = 0);
    51     ~NmMessageListView();
    51     ~NmMessageListView();
    52     NmUiViewId nmailViewId() const;
    52     NmUiViewId nmailViewId() const;
    53 
    53     void viewReady();
       
    54     
    54 public: // From NmActionObserver
    55 public: // From NmActionObserver
    55     void handleActionCommand(NmActionResponse &menuResponse);
    56     void handleActionCommand(NmActionResponse &menuResponse);
    56 
    57 
    57 public slots:
    58 public slots:
    58     void reloadViewContents(NmUiStartParam *startParam);
    59     void reloadViewContents(NmUiStartParam *startParam);
    59 
    60     void refreshList();
       
    61     void contextButton(NmActionResponse &result);
       
    62     
    60 private slots:
    63 private slots:
    61     void showItemContextMenu(HbAbstractViewItem *index, const QPointF &coords);
    64     void showItemContextMenu(HbAbstractViewItem *index, const QPointF &coords);
    62     void itemActivated(const QModelIndex &index);
    65     void itemActivated(const QModelIndex &index);
       
    66     void handleSelection();
    63     void createOptionsMenu();
    67     void createOptionsMenu();
    64     void itemsAdded(const QModelIndex &parent, int start, int end);
    68     void itemsAdded(const QModelIndex &parent, int start, int end);
    65     void itemsRemoved();
    69     void itemsRemoved();
    66     void showNoMessagesText();
    70     void showNoMessagesText();
    67     void handleSyncStateEvent(NmSyncState syncState, const NmId & mailboxId);
    71     void handleSyncStateEvent(NmSyncState syncState, const NmId & mailboxId);
    68     void handleConnectionEvent(NmConnectState connectState, const NmId &mailboxId);
    72     void handleConnectionEvent(NmConnectState connectState, const NmId &mailboxId);
    69 
    73     void folderSelected(NmId mailbox, NmId folder);
       
    74     
    70 private:
    75 private:
    71     void refreshList();
       
    72     void loadViewLayout();
    76     void loadViewLayout();
    73     void initTreeView();
    77     void initTreeView();
    74     void setMailboxName();
    78     void setMailboxName();
    75     void createToolBar();
    79     void createToolBar();
       
    80     void setFolderName();
    76 
    81 
    77 private:
    82 private:
    78     NmApplication &mApplication;
    83     NmApplication &mApplication;
    79     HbTreeView *mMessageListWidget;         // Not owned
    84     HbTreeView *mMessageListWidget;         // Not owned
    80     QObjectList mWidgetList;
    85     QObjectList mWidgetList;
    85     HbMenu *mItemContextMenu;               // Owned
    90     HbMenu *mItemContextMenu;               // Owned
    86     NmMessageListModelItem *mLongPressedItem;  // Not owned
    91     NmMessageListModelItem *mLongPressedItem;  // Not owned
    87     HbLabel *mNoMessagesLabel;              // Not owned
    92     HbLabel *mNoMessagesLabel;              // Not owned
    88     HbLabel *mFolderLabel;                  // Not owned
    93     HbLabel *mFolderLabel;                  // Not owned
    89     HbLabel *mSyncIcon;                     // Not owned
    94     HbLabel *mSyncIcon;                     // Not owned
       
    95     QModelIndex mActivatedIndex;
       
    96     bool mViewReady;
       
    97     NmFolderType mCurrentFolderType;
    90 };
    98 };
    91 
    99 
    92 #endif /* NMMESSAGELISTVIEW_H_ */
   100 #endif /* NMMESSAGELISTVIEW_H_ */