messagingapp/msgui/inc/msgaudiofetcherdialog.h
changeset 70 a15d9966050f
child 73 ecf6a73a9186
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgui/inc/msgaudiofetcherdialog.h	Fri Sep 17 08:28:39 2010 +0300
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2010 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:
+ *     The header file for messaging's audio fetcher view.
+ *
+ */
+
+#ifndef MSGAUDIOFETCHERDIALOG_H
+#define MSGAUDIOFETCHERDIALOG_H
+
+#ifdef BUILD_MSGAUDIOFETCHER_DLL
+#define MSGAUDIOFETCHER_DLL_EXPORT Q_DECL_EXPORT
+#else
+#define MSGAUDIOFETCHER_DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+// SYSTEM INCLUDES
+#include <QObject>
+#include <hblistwidget.h>
+#include <HbDialog>
+
+// FORWARD DECLARATIONS
+//class MsgAudioFetcherWidget;
+class HbAction;
+class HbListView;
+class MsgAudioFetcherModel;
+class MsgAudioPreview;
+
+/**
+ * @class MsgAudioFetcherView
+ * @brief This class is messaging's audio fetcher view
+ */
+class MSGAUDIOFETCHER_DLL_EXPORT MsgAudioFetcherDialog : public HbDialog
+{
+Q_OBJECT
+
+public:
+    /**
+     * Constructor
+     */
+    explicit MsgAudioFetcherDialog(QGraphicsItem *parent = 0);
+
+    /**
+     * Destructor
+     */
+    ~MsgAudioFetcherDialog();  
+        
+private:
+    /**
+     * Creates a widget and sets it to the view
+     */
+    void initMainWidget();
+
+    /**
+     * Initializes dialog actions
+     */
+    void initActions();   
+    
+    /**
+     * Returns the selected audio path
+     */
+    QString getCurrentItemPath();
+
+signals:
+
+    /**
+     * Emits when audio selected from dialog
+     */
+    void audioSelected(QString& filePath);
+    
+private slots:
+
+    /**
+     * On View Ready signal do some construction
+     */
+    void doDelayedConstruction();
+    
+    /**
+     * Handles toolbar's leftaction (select)
+     */
+    void onSelectAction();
+
+    /**
+     * Handles toolbar's rightaction (cancel)
+     */
+    void onCancelAction();
+
+    /**
+     * On close of dialog this resets the item
+     */
+    void reset();
+    
+    /**
+     * This gets called after list item gets 
+     * activated
+     */
+    void on_list_activated(const QModelIndex &index);
+
+private:
+    
+    /**
+     * List for displaying the audio list
+     */
+    HbListView* mListView;
+    
+    /**
+     * Model for the List View
+     */
+    MsgAudioFetcherModel* mFetcherModel;
+    
+    /**
+     * Audio preview instance
+     */
+    MsgAudioPreview* mAudioPreview;
+    
+    /**
+     * Toolbar's left SELECT action
+     */
+    HbAction *mLeftAction;
+    
+    /**
+     * last selected item
+     */
+    QModelIndex mSeletedItem;
+    
+    /**
+     * This to enable the left action in dialog
+     */
+    bool mSelected;
+};
+
+#endif /* MSGAUDIOFETCHERVIEW_H */