Nautilus SendTo: Working Balsa E-mail Plugin
- From: Nick Butorin <prickly udm net>
- To: nautilus-list gnome org
- Subject: Nautilus SendTo: Working Balsa E-mail Plugin
- Date: Wed, 16 Apr 2008 23:24:41 +0500
Russian: Я слегка модифицировал код плагина для отсылки писем через
balsa, который шел в комплекте с последними исходниками nautilus-
sendto. Теперь работает отсылка множества файлов через этот плагин,
раньше не работала вообще. Также в configure требуется включить
поддержку этого плагина, для этого строчку enable_balsa=no изменить на
enable_balsa=yes.
English (bad): I had modifyed not worked balsa e-mail plugin in
standard nautilus-sendto source packet. Now sending many files worked
great with balsa e-mail programm. For enable what plugin you also
should replace "enable_balsa=no" to "enable_balsa=yes" in configure
file.
Sorry for my English,
Nick Butorin.
#=======================================================
#include "config.h"
#include <glib/gi18n-lib.h>
#include "../nautilus-sendto-plugin.h"
static GHashTable *hash = NULL;
static
gboolean init (NstPlugin *plugin)
{
gchar *b_cmd;
printf ("Init balsa plugin\n");
hash = g_hash_table_new (g_str_hash, g_str_equal);
b_cmd = g_find_program_in_path ("balsa");
if (b_cmd == NULL)
return FALSE;
return TRUE;
}
static
GtkWidget* get_contacts_widget (NstPlugin *plugin)
{
GtkWidget *entry;
entry = gtk_entry_new ();
return entry;
}
static
gboolean send_files (NstPlugin *plugin, GtkWidget *contact_widget,
GList *file_list)
{
gchar *b_cmd, *cmd, *send_to, *send_to_info ;
GList *l;
GString *mailto;
GtkWidget *error_dialog;
gchar *tmp_str;
send_to = (gchar *) gtk_entry_get_text (GTK_ENTRY
(contact_widget));
if (strlen (send_to) == 0)
{
mailto = g_string_new("--compose=\"\"");
}
else
{
mailto = g_string_new("--compose=");
g_string_append_printf (mailto, "%s",
send_to);
}
b_cmd = g_find_program_in_path ("balsa");
if (b_cmd == NULL)
return FALSE;
tmp_str = g_filename_from_uri(file_list->data, NULL, NULL);
g_string_append_printf (mailto," --attach \"%s\"",tmp_str);
g_free(tmp_str);
for (l = file_list->next ; l; l=l->next){
tmp_str = g_filename_from_uri(l->data, NULL, NULL);
g_string_append_printf (mailto," --attach \"%s
\"",tmp_str);
g_free(tmp_str);
}
cmd = g_strdup_printf ("%s %s", b_cmd, mailto->str);
g_spawn_command_line_async (cmd, NULL);
g_free (cmd);
g_string_free (mailto, TRUE);
g_free (b_cmd);
return TRUE;
}
static
gboolean destroy (NstPlugin *plugin){
return TRUE;
}
static
NstPluginInfo plugin_info = {
"stock_mail",
"balsa",
N_("Email (Balsa)"),
FALSE,
init,
get_contacts_widget,
NULL,
send_files,
destroy
};
NST_INIT_PLUGIN (plugin_info)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]