Commit e4fad4b72ca91f319b0c770b595e3ac9c41559ba
1 parent
c718872a
Exists in
master
and in
1 other branch
Fixing use of selection options.
Showing
3 changed files
with
16 additions
and
18 deletions
Show diff stats
src/dialogs/save/save.c
| @@ -386,7 +386,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -386,7 +386,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
| 386 | break; | 386 | break; |
| 387 | 387 | ||
| 388 | case 2: // "HyperText Markup Language (HTML)" | 388 | case 2: // "HyperText Markup Language (HTML)" |
| 389 | - text = v3270_get_selection_as_html_div(GTK_V3270(dialog->terminal),selection,encoding, dialog->mode == LIB3270_CONTENT_ALL); | 389 | + text = v3270_get_selection_as_html_div(GTK_V3270(dialog->terminal),selection,encoding, dialog->mode == LIB3270_CONTENT_ALL, V3270_SELECTION_DEFAULT); |
| 390 | break; | 390 | break; |
| 391 | 391 | ||
| 392 | default: | 392 | default: |
src/include/clipboard.h
| @@ -92,8 +92,8 @@ | @@ -92,8 +92,8 @@ | ||
| 92 | /// @brief Get contents. | 92 | /// @brief Get contents. |
| 93 | G_GNUC_INTERNAL gchar * v3270_get_selection_as_text(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all); | 93 | G_GNUC_INTERNAL gchar * v3270_get_selection_as_text(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all); |
| 94 | G_GNUC_INTERNAL gchar * v3270_get_selection_as_table(v3270 * terminal, const GList *selection, const gchar *delimiter, const gchar *encoding, gboolean all); | 94 | G_GNUC_INTERNAL gchar * v3270_get_selection_as_table(v3270 * terminal, const GList *selection, const gchar *delimiter, const gchar *encoding, gboolean all); |
| 95 | - G_GNUC_INTERNAL gchar * v3270_get_selection_as_html_div(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all); | ||
| 96 | - G_GNUC_INTERNAL gchar * v3270_get_selection_as_html_table(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all); | 95 | + G_GNUC_INTERNAL gchar * v3270_get_selection_as_html_div(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all, const V3270SelectionOption options); |
| 96 | + G_GNUC_INTERNAL gchar * v3270_get_selection_as_html_table(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all, const V3270SelectionOption options); | ||
| 97 | 97 | ||
| 98 | G_GNUC_INTERNAL const GList * v3270_get_selection_blocks(GtkWidget *widget); | 98 | G_GNUC_INTERNAL const GList * v3270_get_selection_blocks(GtkWidget *widget); |
| 99 | 99 |
src/selection/html.c
| @@ -49,7 +49,7 @@ static void get_element_colors(v3270 * terminal, unsigned short attr, gchar **fg | @@ -49,7 +49,7 @@ static void get_element_colors(v3270 * terminal, unsigned short attr, gchar **fg | ||
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | /// @brief Get formatted contents as HTML DIV. | 51 | /// @brief Get formatted contents as HTML DIV. |
| 52 | -static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all) | 52 | +static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all, const V3270SelectionOption options) |
| 53 | { | 53 | { |
| 54 | const GList * element = selection; | 54 | const GList * element = selection; |
| 55 | GString * string = g_string_new(""); | 55 | GString * string = g_string_new(""); |
| @@ -58,12 +58,12 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | @@ -58,12 +58,12 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | ||
| 58 | 58 | ||
| 59 | g_string_append(string,"<div style=\"padding:1em;display:inline-block"); | 59 | g_string_append(string,"<div style=\"padding:1em;display:inline-block"); |
| 60 | 60 | ||
| 61 | - if(terminal->selection.options & V3270_SELECTION_FONT_FAMILY) | 61 | + if(options & V3270_SELECTION_FONT_FAMILY) |
| 62 | { | 62 | { |
| 63 | g_string_append_printf(string,";font-family:%s,monospace",terminal->font.family); | 63 | g_string_append_printf(string,";font-family:%s,monospace",terminal->font.family); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | - if(terminal->selection.options & V3270_SELECTION_COLORS) | 66 | + if(options & V3270_SELECTION_COLORS) |
| 67 | { | 67 | { |
| 68 | bgColor = gdk_rgba_to_string(terminal->color+V3270_COLOR_BACKGROUND); | 68 | bgColor = gdk_rgba_to_string(terminal->color+V3270_COLOR_BACKGROUND); |
| 69 | g_string_append_printf(string,";background-color:%s",bgColor); | 69 | g_string_append_printf(string,";background-color:%s",bgColor); |
| @@ -78,7 +78,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | @@ -78,7 +78,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | ||
| 78 | unsigned int row, col, src = 0; | 78 | unsigned int row, col, src = 0; |
| 79 | unsigned short flags = block->contents[0].attribute.visual; | 79 | unsigned short flags = block->contents[0].attribute.visual; |
| 80 | 80 | ||
| 81 | - if(terminal->selection.options & V3270_SELECTION_COLORS) | 81 | + if(options & V3270_SELECTION_COLORS) |
| 82 | { | 82 | { |
| 83 | get_element_colors(terminal,flags,&fgColor,&bgColor); | 83 | get_element_colors(terminal,flags,&fgColor,&bgColor); |
| 84 | 84 | ||
| @@ -105,7 +105,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | @@ -105,7 +105,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | ||
| 105 | { | 105 | { |
| 106 | flags = block->contents[src].attribute.visual; | 106 | flags = block->contents[src].attribute.visual; |
| 107 | 107 | ||
| 108 | - if(terminal->selection.options & V3270_SELECTION_COLORS) | 108 | + if(options & V3270_SELECTION_COLORS) |
| 109 | { | 109 | { |
| 110 | get_element_colors(terminal,flags,&fgColor,&bgColor); | 110 | get_element_colors(terminal,flags,&fgColor,&bgColor); |
| 111 | 111 | ||
| @@ -140,7 +140,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | @@ -140,7 +140,7 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | ||
| 140 | #endif // DEBUG | 140 | #endif // DEBUG |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | - if(terminal->selection.options & V3270_SELECTION_COLORS) | 143 | + if(options & V3270_SELECTION_COLORS) |
| 144 | { | 144 | { |
| 145 | g_string_append(string,"</span>"); | 145 | g_string_append(string,"</span>"); |
| 146 | } | 146 | } |
| @@ -154,14 +154,12 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | @@ -154,14 +154,12 @@ static gchar * get_as_div(v3270 * terminal, const GList *selection, gboolean all | ||
| 154 | 154 | ||
| 155 | g_string_append(string,"</div>"); | 155 | g_string_append(string,"</div>"); |
| 156 | 156 | ||
| 157 | - debug("\n%s\n------------> %u",string->str,(unsigned int) terminal->selection.options); | ||
| 158 | - | ||
| 159 | return g_string_free(string,FALSE); | 157 | return g_string_free(string,FALSE); |
| 160 | 158 | ||
| 161 | } | 159 | } |
| 162 | 160 | ||
| 163 | /// @brief Get formatted contents as HTML TABLE. | 161 | /// @brief Get formatted contents as HTML TABLE. |
| 164 | -static gchar * get_as_table(v3270 * terminal, const GList *selection, gboolean all) | 162 | +static gchar * get_as_table(v3270 * terminal, const GList *selection, gboolean all, const V3270SelectionOption G_GNUC_UNUSED(options)) // TODO: Use options to set colors & font. |
| 165 | { | 163 | { |
| 166 | const GList * element = selection; | 164 | const GList * element = selection; |
| 167 | GString * string = g_string_new("<table><tbody>"); | 165 | GString * string = g_string_new("<table><tbody>"); |
| @@ -231,15 +229,15 @@ static gchar * get_as_table(v3270 * terminal, const GList *selection, gboolean a | @@ -231,15 +229,15 @@ static gchar * get_as_table(v3270 * terminal, const GList *selection, gboolean a | ||
| 231 | 229 | ||
| 232 | } | 230 | } |
| 233 | 231 | ||
| 234 | -gchar * v3270_get_selection_as_html_div(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all) | 232 | +gchar * v3270_get_selection_as_html_div(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all, const V3270SelectionOption options) |
| 235 | { | 233 | { |
| 236 | - g_autofree char * text = get_as_div(terminal, selection, all); | 234 | + g_autofree char * text = get_as_div(terminal, selection, all, options); |
| 237 | return g_convert(text, -1, (encoding ? encoding : "UTF-8"), lib3270_get_display_charset(terminal->host), NULL, NULL, NULL); | 235 | return g_convert(text, -1, (encoding ? encoding : "UTF-8"), lib3270_get_display_charset(terminal->host), NULL, NULL, NULL); |
| 238 | } | 236 | } |
| 239 | 237 | ||
| 240 | -gchar * v3270_get_selection_as_html_table(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all) | 238 | +gchar * v3270_get_selection_as_html_table(v3270 * terminal, const GList *selection, const gchar *encoding, gboolean all, const V3270SelectionOption options) |
| 241 | { | 239 | { |
| 242 | - g_autofree char * text = get_as_table(terminal, selection, all); | 240 | + g_autofree char * text = get_as_table(terminal, selection, all, options); |
| 243 | return g_convert(text, -1, (encoding ? encoding : "UTF-8"), lib3270_get_display_charset(terminal->host), NULL, NULL, NULL); | 241 | return g_convert(text, -1, (encoding ? encoding : "UTF-8"), lib3270_get_display_charset(terminal->host), NULL, NULL, NULL); |
| 244 | } | 242 | } |
| 245 | 243 | ||
| @@ -247,8 +245,8 @@ gchar * v3270_get_copy_as_html(v3270 * terminal, const gchar *encoding) | @@ -247,8 +245,8 @@ gchar * v3270_get_copy_as_html(v3270 * terminal, const gchar *encoding) | ||
| 247 | { | 245 | { |
| 248 | 246 | ||
| 249 | if(terminal->selection.format == V3270_COPY_TABLE) | 247 | if(terminal->selection.format == V3270_COPY_TABLE) |
| 250 | - return v3270_get_selection_as_html_table(terminal, terminal->selection.blocks, encoding, FALSE); | 248 | + return v3270_get_selection_as_html_table(terminal, terminal->selection.blocks, encoding, FALSE, terminal->selection.options); |
| 251 | 249 | ||
| 252 | - return v3270_get_selection_as_html_div(terminal, terminal->selection.blocks, encoding, FALSE); | 250 | + return v3270_get_selection_as_html_div(terminal, terminal->selection.blocks, encoding, FALSE, terminal->selection.options); |
| 253 | 251 | ||
| 254 | } | 252 | } |