void utility_formatter::insert_quoted(const std::string& s, const bool escape_content, const quote_types qt, const spacing_types st) const { const space_scope scope(st, stream_); insert_quote(qt); if (escape_content) insert_escaped(s, qt); else stream_ << s; insert_quote(qt); }
void utility_formatter::insert_quoted_escaped(const std::string& s) const { const auto qt(quote_types::double_quote); insert_quote(qt); insert_escaped(s, qt); insert_quote(qt); }
static gchar * get_insertion_string (NemoAction *action, TokenType token_type, GList *selection, NemoFile *parent) { GList *l; GString *str = g_string_new(""); gboolean first = TRUE; switch (token_type) { case TOKEN_PATH_LIST: if (g_list_length (selection) > 0) { for (l = selection; l != NULL; l = l->next) { if (!first) str = insert_separator (action, str); str = insert_quote (action, str); gchar *path = get_path (action, NEMO_FILE (l->data)); if (path) str = score_append (action, str, path); g_free (path); str = insert_quote (action, str); first = FALSE; } } else { goto default_parent_path; } break; case TOKEN_URI_LIST: if (g_list_length (selection) > 0) { for (l = selection; l != NULL; l = l->next) { if (!first) str = insert_separator (action, str); str = insert_quote (action, str); gchar *uri = nemo_file_get_uri (NEMO_FILE (l->data)); str = score_append (action, str, uri); g_free (uri); str = insert_quote (action, str); first = FALSE; } } else { goto default_parent_path; } break; case TOKEN_PARENT_PATH: ; default_parent_path: ; gchar *path = get_path (action, parent); if (path == NULL) { gchar *name = nemo_file_get_display_name (parent); if (g_strcmp0 (name, "x-nemo-desktop") == 0) path = nemo_get_desktop_directory (); else path = g_strdup (""); g_free (name); } str = insert_quote (action, str); str = score_append (action, str, path); str = insert_quote (action, str); g_free (path); break; case TOKEN_FILE_DISPLAY_NAME: if (g_list_length (selection) > 0) { gchar *file_display_name = nemo_file_get_display_name (NEMO_FILE (selection->data)); str = score_append (action, str, file_display_name); g_free (file_display_name); } else { goto default_parent_display_name; } break; case TOKEN_PARENT_DISPLAY_NAME: ; default_parent_display_name: ; gchar *parent_display_name; gchar *real_display_name = nemo_file_get_display_name (parent); if (g_strcmp0 (real_display_name, "x-nemo-desktop") == 0) parent_display_name = g_strdup_printf (_("Desktop")); else parent_display_name = nemo_file_get_display_name (parent); g_free (real_display_name); str = insert_quote (action, str); str = score_append (action, str, parent_display_name); str = insert_quote (action, str); g_free (parent_display_name); break; case TOKEN_DEVICE: if (g_list_length (selection) > 0) { for (l = selection; l != NULL; l = l->next) { if (!first) str = insert_separator (action, str); str = insert_quote (action, str); gchar *dev = get_device_path (action, NEMO_FILE (l->data)); if (dev) str = score_append (action, str, dev); g_free (dev); str = insert_quote (action, str); first = FALSE; } } else { goto default_parent_path; } break; default: break; } gchar *ret = str->str; g_string_free (str, FALSE); return ret; }