summaryrefslogtreecommitdiff
path: root/nautilus-sendto-extension/nautilus-nste.c
diff options
context:
space:
mode:
Diffstat (limited to 'nautilus-sendto-extension/nautilus-nste.c')
-rw-r--r--nautilus-sendto-extension/nautilus-nste.c213
1 files changed, 114 insertions, 99 deletions
diff --git a/nautilus-sendto-extension/nautilus-nste.c b/nautilus-sendto-extension/nautilus-nste.c
index 29830f597..eb25566a1 100644
--- a/nautilus-sendto-extension/nautilus-nste.c
+++ b/nautilus-sendto-extension/nautilus-nste.c
@@ -33,109 +33,122 @@ static GObjectClass *parent_class;
static void
sendto_callback (NautilusMenuItem *item,
- gpointer user_data)
+ gpointer user_data)
{
- GList *files, *scan;
- gchar *uri;
- GString *cmd;
+ GList *files, *scan;
+ gchar *uri;
+ GString *cmd;
- files = g_object_get_data (G_OBJECT (item), "files");
- cmd = g_string_new ("nautilus-sendto");
+ files = g_object_get_data (G_OBJECT (item), "files");
+ cmd = g_string_new ("nautilus-sendto");
- for (scan = files; scan; scan = scan->next) {
- NautilusFileInfo *file = scan->data;
+ for (scan = files; scan; scan = scan->next)
+ {
+ NautilusFileInfo *file = scan->data;
- uri = nautilus_file_info_get_uri (file);
- g_string_append_printf (cmd, " \"%s\"", uri);
- g_free (uri);
- }
+ uri = nautilus_file_info_get_uri (file);
+ g_string_append_printf (cmd, " \"%s\"", uri);
+ g_free (uri);
+ }
- g_spawn_command_line_async (cmd->str, NULL);
+ g_spawn_command_line_async (cmd->str, NULL);
- g_string_free (cmd, TRUE);
+ g_string_free (cmd, TRUE);
}
static gboolean
check_available_mailer ()
{
- GAppInfo *app_info;
-
- app_info = g_app_info_get_default_for_uri_scheme ("mailto");
- if (app_info) {
- g_clear_object (&app_info);
- return TRUE;
- }
- else
- return FALSE;
+ GAppInfo *app_info;
+
+ app_info = g_app_info_get_default_for_uri_scheme ("mailto");
+ if (app_info)
+ {
+ g_clear_object (&app_info);
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
}
static GList *
nautilus_nste_get_file_items (NautilusMenuProvider *provider,
- GtkWidget *window,
- GList *files)
+ GtkWidget *window,
+ GList *files)
{
- GList *items = NULL;
- gboolean one_item;
- NautilusMenuItem *item;
- NautilusNste *nste;
-
- nste = NAUTILUS_NSTE (provider);
- if (!nste->nst_present)
- return NULL;
-
- if (files == NULL)
- return NULL;
-
- if (!check_available_mailer ())
- return NULL;
-
- one_item = (files != NULL) && (files->next == NULL);
- if (one_item &&
- !nautilus_file_info_is_directory ((NautilusFileInfo *)files->data)) {
- item = nautilus_menu_item_new ("NautilusNste::sendto",
- _("Send to…"),
- _("Send file by mail…"),
- "document-send");
- } else {
- item = nautilus_menu_item_new ("NautilusNste::sendto",
- _("Send to…"),
- _("Send files by mail…"),
- "document-send");
- }
- g_signal_connect (item,
- "activate",
- G_CALLBACK (sendto_callback),
- provider);
- g_object_set_data_full (G_OBJECT (item),
- "files",
- nautilus_file_info_list_copy (files),
- (GDestroyNotify) nautilus_file_info_list_free);
-
- items = g_list_append (items, item);
-
- return items;
+ GList *items = NULL;
+ gboolean one_item;
+ NautilusMenuItem *item;
+ NautilusNste *nste;
+
+ nste = NAUTILUS_NSTE (provider);
+ if (!nste->nst_present)
+ {
+ return NULL;
+ }
+
+ if (files == NULL)
+ {
+ return NULL;
+ }
+
+ if (!check_available_mailer ())
+ {
+ return NULL;
+ }
+
+ one_item = (files != NULL) && (files->next == NULL);
+ if (one_item &&
+ !nautilus_file_info_is_directory ((NautilusFileInfo *) files->data))
+ {
+ item = nautilus_menu_item_new ("NautilusNste::sendto",
+ _("Send to…"),
+ _("Send file by mail…"),
+ "document-send");
+ }
+ else
+ {
+ item = nautilus_menu_item_new ("NautilusNste::sendto",
+ _("Send to…"),
+ _("Send files by mail…"),
+ "document-send");
+ }
+ g_signal_connect (item,
+ "activate",
+ G_CALLBACK (sendto_callback),
+ provider);
+ g_object_set_data_full (G_OBJECT (item),
+ "files",
+ nautilus_file_info_list_copy (files),
+ (GDestroyNotify) nautilus_file_info_list_free);
+
+ items = g_list_append (items, item);
+
+ return items;
}
static void
nautilus_nste_menu_provider_iface_init (NautilusMenuProviderIface *iface)
{
- iface->get_file_items = nautilus_nste_get_file_items;
+ iface->get_file_items = nautilus_nste_get_file_items;
}
static void
nautilus_nste_instance_init (NautilusNste *nste)
{
- char *path;
+ char *path;
- path = g_find_program_in_path ("nautilus-sendto");
- nste->nst_present = (path != NULL);
- g_free (path);
+ path = g_find_program_in_path ("nautilus-sendto");
+ nste->nst_present = (path != NULL);
+ g_free (path);
}
static void
nautilus_nste_class_init (NautilusNsteClass *class)
{
- parent_class = g_type_class_peek_parent (class);
+ parent_class = g_type_class_peek_parent (class);
}
static GType nste_type = 0;
@@ -143,37 +156,39 @@ static GType nste_type = 0;
GType
nautilus_nste_get_type (void)
{
- return nste_type;
+ return nste_type;
}
void
nautilus_nste_register_type (GTypeModule *module)
{
- static const GTypeInfo info = {
- sizeof (NautilusNsteClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) nautilus_nste_class_init,
- NULL,
- NULL,
- sizeof (NautilusNste),
- 0,
- (GInstanceInitFunc) nautilus_nste_instance_init,
- };
-
- static const GInterfaceInfo menu_provider_iface_info = {
- (GInterfaceInitFunc) nautilus_nste_menu_provider_iface_init,
- NULL,
- NULL
- };
-
- nste_type = g_type_module_register_type (module,
- G_TYPE_OBJECT,
- "NautilusNste",
- &info, 0);
-
- g_type_module_add_interface (module,
- nste_type,
- NAUTILUS_TYPE_MENU_PROVIDER,
- &menu_provider_iface_info);
+ static const GTypeInfo info =
+ {
+ sizeof (NautilusNsteClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) nautilus_nste_class_init,
+ NULL,
+ NULL,
+ sizeof (NautilusNste),
+ 0,
+ (GInstanceInitFunc) nautilus_nste_instance_init,
+ };
+
+ static const GInterfaceInfo menu_provider_iface_info =
+ {
+ (GInterfaceInitFunc) nautilus_nste_menu_provider_iface_init,
+ NULL,
+ NULL
+ };
+
+ nste_type = g_type_module_register_type (module,
+ G_TYPE_OBJECT,
+ "NautilusNste",
+ &info, 0);
+
+ g_type_module_add_interface (module,
+ nste_type,
+ NAUTILUS_TYPE_MENU_PROVIDER,
+ &menu_provider_iface_info);
}