add send via email
[maemo-recorder] / src / maemo-recorder-ui.c
index 0bfc029..e9f3497 100644 (file)
@@ -33,6 +33,8 @@
 #include <hildon-widgets/hildon-file-chooser-dialog.h>
 #include <string.h>
 #include <sys/time.h>
+#include "osso-helplib.h"
+#include <ossoemailinterface.h>
 
 #include "maemo-recorder.h"
 #include "maemo-recorder-ui.h"
@@ -1089,6 +1091,24 @@ static void cbSettings(GtkWidget* widget, AppData *data)
     settings_edit( widget, data );
 }
 
+static void cbEmailing(GtkWidget* widget, AppData *data)
+{
+    gchar *file = NULL;
+    GSList *list = NULL;
+
+    g_assert(NULL != data);
+    
+    file = gtk_entry_get_text(GTK_ENTRY(data->mainViewData.fileNameEntry)); 
+    if ( g_file_test( file, G_FILE_TEST_EXISTS ) )
+    {
+        ULOG_INFO("Emailing: %s", file);
+        list= g_slist_append( list , file );
+        osso_email_files_email( data->osso, list );
+        g_slist_free(list);
+    }
+    g_free(file);
+}
+
 static void cbSaveAs(GtkWidget* widget, AppData *data) 
 {
     GtkWidget* dialog = NULL;
@@ -1525,6 +1545,7 @@ static void createMenu( AppData *data )
     GtkWidget *item_ilbc;
     GtkWidget *item_pcm;
     GtkWidget *item_settings;
+    GtkWidget *item_email;
     /*
     GtkWidget *item_radio_type1;
     */
@@ -1545,6 +1566,7 @@ static void createMenu( AppData *data )
     item_file_save_as = gtk_menu_item_new_with_label(_("Save as..."));
     item_others = gtk_menu_item_new_with_label (_("Recording format"));
     item_settings = gtk_menu_item_new_with_label (_("Settings"));
+    item_email = gtk_menu_item_new_with_label(_("Send via e-mail..."));
     
     item_pcma = gtk_radio_menu_item_new_with_label(
         group, FORMAT_NAME_PCMA);
@@ -1582,6 +1604,7 @@ static void createMenu( AppData *data )
     gtk_menu_append( main_menu, item_file );
     gtk_menu_append( menu_file, item_file_open );
     gtk_menu_append( menu_file, item_file_save_as );
+    gtk_menu_append( menu_file, item_email );
     gtk_menu_append( main_menu, item_others );
     gtk_menu_append( menu_others, item_pcm );
     gtk_menu_append( menu_others, item_pcma );
@@ -1604,6 +1627,8 @@ static void createMenu( AppData *data )
         GTK_SIGNAL_FUNC (cbSaveAs), data);
     g_signal_connect( G_OBJECT( item_settings ), "activate",
         GTK_SIGNAL_FUNC (cbSettings), data);
+    g_signal_connect( G_OBJECT( item_email ), "activate",
+        GTK_SIGNAL_FUNC (cbEmailing), data);
     
     g_signal_connect( G_OBJECT( item_close ), "activate",
         GTK_SIGNAL_FUNC (cbItemClose), data);