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 | } |