emailuis/nmailui/src/nmattachmentpicker.cpp
changeset 20 ecc8def7944a
child 23 2dc6caa42ec3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/nmailui/src/nmattachmentpicker.cpp	Mon May 03 12:23:15 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2009 - 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: Utility class for launching different file pickers
+*
+*/
+
+#include "nmuiheaders.h"
+
+
+/*!
+    \class NmAttachmentPicker
+    \brief Attachment picker for mail editor
+*/
+
+/*!
+    Constructor
+*/
+NmAttachmentPicker::NmAttachmentPicker(QObject* parent):
+    QObject(parent),
+    mRequest(NULL)
+{
+}
+
+/*!
+    Destructor
+*/
+NmAttachmentPicker::~NmAttachmentPicker()
+{
+    delete mRequest;
+}
+
+/*!
+    Send request to start Photo picker 
+*/
+void NmAttachmentPicker::fetchImage()
+{
+    fetch(IMAGE_FETCHER_INTERFACE, IMAGE_FETCHER_OPERATION);
+}
+
+/*!
+    Send request to start Music picker 
+*/
+void NmAttachmentPicker::fetchAudio()
+{
+    fetch(AUDIO_FETCHER_INTERFACE, AUDIO_FETCHER_OPERATION);    
+}
+
+/*!
+    Send request to start Video picker 
+*/
+void NmAttachmentPicker::fetchVideo()
+{
+
+}
+
+/*!
+    Send request to start general file picker 
+*/
+void NmAttachmentPicker::fetchOther()
+{
+
+}
+
+/*!
+    Construct & send appmgr request to start appropriate picker   
+*/
+void NmAttachmentPicker::fetch(const QString& interface, 
+    const QString& operation)
+{
+    if (mRequest) {
+        delete mRequest;
+        mRequest = NULL;
+    }	
+    mRequest = mAppmgr.create(interface, operation, true);
+
+    if (mRequest) {
+        mRequest->setSynchronous(false);
+        connect(mRequest, SIGNAL(requestOk(const QVariant&)),
+                this, SIGNAL(attachmentsFetchOk(const QVariant&)));
+
+        connect(mRequest, SIGNAL(requestError(int, const QString&)),
+                this, SIGNAL(attachmentsFetchError(int, const QString&)));
+        
+        if (!(mRequest)->send()) {
+            //sending request failed
+            NMLOG("appmgr: send request failed");
+        }
+    }
+    else {
+        //create request failed
+        NMLOG("appmgr: create request failed");
+    }      	  
+}