messagingapp/msgui/conversationview/inc/msgconversationbaseview.h
changeset 37 518b245aa84c
parent 25 84d9eb65b26f
child 56 f42d9a78f435
--- a/messagingapp/msgui/conversationview/inc/msgconversationbaseview.h	Mon May 03 12:29:07 2010 +0300
+++ b/messagingapp/msgui/conversationview/inc/msgconversationbaseview.h	Fri Jun 25 15:47:40 2010 +0530
@@ -1,20 +1,19 @@
 /*
-* 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:Conversation Base view.
+ * 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:Conversation Base view.
+ *
+ */
 
 #ifndef MSG_CONVERSATION_VIEW_INTERFACE_H
 #define MSG_CONVERSATION_VIEW_INTERFACE_H
@@ -25,6 +24,7 @@
 #define CONVERSATION_VIEW_EXPORT Q_DECL_IMPORT
 #endif
 
+#include <xqsettingskey.h>
 #include "msgbaseview.h"
 
 // FORWARD DECLARATIONS
@@ -32,17 +32,19 @@
 class HbListWidgetItem;
 class MsgContactCardWidget;
 class QGraphicsLinearLayout;
+class XQSettingsManager;
+class XQPublishAndSubscribeUtils;
 
-class CONVERSATION_VIEW_EXPORT MsgConversationBaseView : public MsgBaseView
-    {
-    Q_OBJECT
+class CONVERSATION_VIEW_EXPORT MsgConversationBaseView: public MsgBaseView
+{
+Q_OBJECT
 
 public:
 
     /**
      * Constructor
      */
-    MsgConversationBaseView(QGraphicsItem* parent=0);
+    MsgConversationBaseView(QGraphicsItem* parent = 0);
 
     /**
      * Destructor
@@ -67,85 +69,119 @@
     /**
      * saveContentToDrafts
      * Saves the editors content in cv to drafts
+     * @return valid message id if save is success
+     * else invalid message id ( i.e. -1 )
      */
-    void saveContentToDrafts();
+    int saveContentToDrafts();
 
-public slots:   
+    /**
+     * conversationId
+     * Get the conversationId
+     */
+    qint64 conversationId();
+
+public slots:
     /**
      * Close the conversation view 
      * This slot is triggered when user presses back(seconday sofykey)
      */
     void closeConversationView();
-    
+
     /**
      * Mark messages as read
      * Slot is triiggered when replying started
      */
     void markMessagesAsRead();
-	   
+
+    /**
+     * Publish the conversation id based on the flag.
+     * @param setId if true previous conversation id 
+     * will be published else -1 will be published.
+     */
+    void setPSCVId(bool setId);
+
 private slots:
-   /**
-   * Slot for delayed construction
-   */
+    /**
+     * Slot for delayed construction
+     */
     void doDelayedConstruction();
-    
-	/**
-	* Hides chrome when itu-t is up
-	*/
+
+    /**
+     * Hides chrome when itu-t is up
+     */
     void hideChrome(bool hide);
-	
-	/**
+
+    /**
      * Slot for handling valid returns from the framework.
      * 
      * @param result const QVariant&
      */
     void handleOk(const QVariant& result);
-    
+
     /**
      * Slot for handling errors. Error ids are provided as 
      * 32-bit integers.
      * @param errorCode qint32
      */
     void handleError(int errorCode, const QString& errorMessage);
-    
- 
- signals:
-     /**
-      * Signal emitted when the conversation view is closed.
-      */
-    void conversationViewClosed(); 
-    
-private :
+
+    /**
+     * Slot for handling the timer expiry event fired from view reay indication
+     */
+    void handleViewReady();
+
+    /**
+     *
+     */
+    void handleConversationIdChange(qint64 convId);
+
+signals:
+    /**
+     * Signal emitted when the conversation view is closed.
+     */
+    void conversationViewClosed();
+
+private:
     /**
      * Create and initialise the view
      */
     void initView();
-    
+
 private:
-   
-   /**
+
+    /**
      * Conversation ID
      */
     qint64 mConversationId;
-   
+
     /**
      * MsgConversationView, main view class
      * Owned
      */
-    MsgConversationView *mConversationView;  
-    
+    MsgConversationView *mConversationView;
+
     /**
      * Contact card widget.
      */
     MsgContactCardWidget* mContactCard;
-    
+
     /**
      * Main layout.
      */
     QGraphicsLinearLayout* mMainLayout;
 
-    };
+    /**
+     * Object of XQSettingsKey. 
+     */
+    XQSettingsKey mCVIdkey;
+
+    /**
+     * mSettingsManager
+     * Instance of the XQSettingsManager
+     * Own.
+     */
+    XQSettingsManager* mSettingsManager;
+};
 
 #endif // MSG_CONVERSATION_VIEW_INTERFACE_H
-
 // EOF