--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgui/conversationview/inc/msgconversationview.h Fri Apr 16 14:56:15 2010 +0300
@@ -0,0 +1,276 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:Message chat View for the messaging application.
+ *
+ */
+
+#ifndef MSG_CONVERSATION_VIEW_H
+#define MSG_CONVERSATION_VIEW_H
+
+// INCLUDES
+#include "msgbaseview.h"
+
+//Forward declarations
+class HbListView;
+class HbAbstractViewItem;
+class MsgUiUtilsManager;
+class ConvergedMessage;
+class QStandardItemModel;
+class MsgEditorWidget;
+class MsgContactCardWidget;
+
+/**
+ * This class provides the message chat view for the messaging application.
+ * Data source for this view is the conversation model.
+ */
+class MsgConversationView : public MsgBaseView
+{
+Q_OBJECT
+
+public:
+
+ /**
+ * Constructor
+ */
+ MsgConversationView(MsgContactCardWidget *contactCardWidget,
+ QGraphicsItem *parent = 0);
+
+ /**
+ * Destructor
+ */
+ ~MsgConversationView();
+
+ /**
+ * Set message data
+ * @param message converged message
+ */
+ void setMessageData(const ConvergedMessage &message);
+
+ /**
+ * Clear editors
+ * clear message and address editors
+ */
+ void clearEditors();
+
+ /**
+ * Save the content inside editor to drafts
+ * @return true if save is success else false.
+ */
+ bool saveContentToDrafts();
+
+public:
+
+ /**
+ * View initialization function.
+ */
+ void setupView();
+
+ /**
+ * Creates view menu items.
+ */
+ void addMenu();
+
+public slots:
+
+ /**
+ * Slot to receive error sign.
+ * @param error The error as a string to be displayed on the screen.
+ */
+
+ void serviceError(const QString& error);
+
+private:
+ /**
+ * Load command plugin
+ * @return true if plugin is loaded successfully else false
+ */
+ bool loadCommandPlugin();
+
+ /**
+ * This function shall parse the service Id and check for
+ * type of client
+ * @param serviceId string reference to service id
+ * @return String type the server name
+ */
+ QString parseServiceId(const QString &serviceId);
+
+ /**
+ * Returns the current message type selected in editor.
+ * @return returns message type
+ * @see ConvergedMessage::MessageType
+ */
+ int currentMessageType();
+
+ /**
+ * Populates ConvergedMessage for sending.
+ * @param ConvergedMessage to be populated
+ * @see ConvergedMessage::MessageType
+ */
+ void populateForSending(ConvergedMessage &message);
+
+public slots:
+ /**
+ * Refreshes all widgets in the conversation view according to latest model
+ * data
+ */
+ void refreshView();
+
+ /**
+ * Effect finish handler
+ * data
+ */
+ void effectFinished(const HbEffect::EffectStatus &status);
+
+private slots:
+
+ /**
+ * Utility method to scroll the list to show the bottom most item
+ */
+ void scrollToBottom();
+
+ /**
+ * Handler for long tap of a list item.
+ * @param viewItem Long tapped view item
+ * @param point X and Y co-ordinates of long tap
+ */
+ void longPressed(HbAbstractViewItem* viewItem, const QPointF& point);
+
+ /**
+ * Handler for short tap/direct touch of a list item.
+ * @param index index of the item activated/touched
+ */
+ void openItem(const QModelIndex & index);
+
+ /**
+ * Sends the message
+ */
+ void send();
+
+ // ----------------------------- View Specific Menu Slots--------------------//
+
+ /**
+ * Deletes all the conversations
+ */
+ void deleteAll();
+
+ /*
+ * Get the photos and launch editor
+ */
+ void imagesFetched(const QVariant& result );
+
+ /*
+ * Get audio files from audio-fetcher and launch editor
+ */
+ void audiosFetched(const QVariant& result );
+
+ /*
+ * Adds other recipients to editor
+ */
+ void addRecipients();
+
+ /*
+ * Adds subject file to editor.
+ */
+ void addSubject();
+
+ /**
+ * Launches help
+ */
+ void launchHelp();
+
+ /**
+ * Exits the application
+ */
+ void exitApp();
+
+ //----------------------Item Specific menu slots ---------------------//
+
+ /**
+ * Forwards the message
+ */
+ void forwardMessage();
+
+ /**
+ * Deletes the item
+ */
+ void deleteItem();
+
+ /**
+ * Open the item
+ */
+ void openItem();
+
+ /**
+ * Set model to the view
+ */
+ void populateConversationsView();
+
+ /**
+ * Save ringing tone
+ */
+ void saveRingingTone();
+
+signals:
+ /**
+ * Signal emitted to inform close the conversation view.
+ * When Conversation view has opened in send mode, after sending
+ * the message, this signal is emitted.
+ */
+ void closeConversationView();
+
+ /**
+ * Emitted when editor is tapped to reply.
+ */
+ void replyStarted();
+
+private:
+ /**
+ * launch editor when attachment is inserted
+ * @params eflag Editor content to be shown
+ * @params attachment file attachment for editor
+ */
+ void launchUniEditor(const int editorFields, QString& attachment);
+
+private:
+
+ /**
+ * List to hold the conversations
+ * Owned
+ */
+ HbListView *mConversationList;
+
+ /**
+ * Model to facilitate filtering and sorting
+ * Owned
+ */
+ QStandardItemModel *mMessageModel;
+
+ /**
+ * Instance of messaged editor widget.
+ */
+ MsgEditorWidget *mEditorWidget;
+
+ /**
+ * Instance of Contact Card widget.
+ */
+ MsgContactCardWidget* mContactCardWidget;
+
+ /**
+ * Utils Manager instance
+ */
+ MsgUiUtilsManager* mUiUtilsManager;
+};
+
+#endif // MSG_CONVERSATION_VIEW_H
+// EOF