Commit 54e33560912a18ec83a4675971044c3c0de33924

Authored by Perry Werneck
1 parent 9dff8391
Exists in master and in 1 other branch develop

"APPEND" is now a copy mode instead of a separated method.

src/include/v3270.h
@@ -197,17 +197,16 @@ @@ -197,17 +197,16 @@
197 LIB3270_EXPORT gchar * v3270_get_lunames(GtkWidget *widget); 197 LIB3270_EXPORT gchar * v3270_get_lunames(GtkWidget *widget);
198 198
199 // Clipboard 199 // Clipboard
200 - typedef enum _v3270_copy_mode 200 + typedef enum _v3270_copy_mode
201 { 201 {
202 V3270_COPY_FORMATTED, ///< @brief Copy formatted data; keep attributes. 202 V3270_COPY_FORMATTED, ///< @brief Copy formatted data; keep attributes.
203 V3270_COPY_TEXT, ///< @brief Single text format, ignore attributes. 203 V3270_COPY_TEXT, ///< @brief Single text format, ignore attributes.
204 V3270_COPY_TABLE, ///< @brief Copy as table. 204 V3270_COPY_TABLE, ///< @brief Copy as table.
  205 + V3270_COPY_APPEND ///< @brief Append to current contents keeping the stored format.
205 206
206 } V3270_COPY_MODE; 207 } V3270_COPY_MODE;
207 208
208 LIB3270_EXPORT void v3270_clipboard_set(GtkWidget *widget, V3270_COPY_MODE mode, gboolean cut); 209 LIB3270_EXPORT void v3270_clipboard_set(GtkWidget *widget, V3270_COPY_MODE mode, gboolean cut);
209 - LIB3270_EXPORT void v3270_clipboard_append(GtkWidget *widget, gboolean cut);  
210 -  
211 LIB3270_EXPORT void v3270_clipboard_get_from_url(GtkWidget *widget, const gchar *url); 210 LIB3270_EXPORT void v3270_clipboard_get_from_url(GtkWidget *widget, const gchar *url);
212 211
213 LIB3270_EXPORT void v3270_paste(GtkWidget *widget) G_GNUC_DEPRECATED; 212 LIB3270_EXPORT void v3270_paste(GtkWidget *widget) G_GNUC_DEPRECATED;
src/selection/copy.c
@@ -47,27 +47,21 @@ @@ -47,27 +47,21 @@
47 47
48 v3270 * terminal = GTK_V3270(widget); 48 v3270 * terminal = GTK_V3270(widget);
49 49
50 - // Have data? Clear it?  
51 - v3270_clear_selection(terminal); 50 + if(mode != V3270_COPY_APPEND) {
52 51
53 - terminal->selection.format = mode;  
54 - do_copy(terminal,cut); 52 + // It's not append, clear current contents ...
  53 + v3270_clear_selection(terminal);
55 54
56 - v3270_update_system_clipboard(widget);  
57 - } 55 + // ... and set the new mode.
  56 + terminal->selection.format = mode;
58 57
59 - LIB3270_EXPORT void v3270_clipboard_append(GtkWidget *widget, gboolean cut)  
60 - {  
61 - g_return_if_fail(GTK_IS_V3270(widget));  
62 -  
63 - v3270 * terminal = GTK_V3270(widget); 58 + }
64 59
65 do_copy(terminal,cut); 60 do_copy(terminal,cut);
66 61
67 v3270_update_system_clipboard(widget); 62 v3270_update_system_clipboard(widget);
68 } 63 }
69 64
70 -  
71 LIB3270_EXPORT void v3270_copy_selection(GtkWidget *widget, V3270_COPY_MODE format, gboolean cut) 65 LIB3270_EXPORT void v3270_copy_selection(GtkWidget *widget, V3270_COPY_MODE format, gboolean cut)
72 { 66 {
73 v3270_clipboard_set(widget,format,cut); 67 v3270_clipboard_set(widget,format,cut);
@@ -75,6 +69,6 @@ @@ -75,6 +69,6 @@
75 69
76 LIB3270_EXPORT void v3270_append_selection(GtkWidget *widget, gboolean cut) 70 LIB3270_EXPORT void v3270_append_selection(GtkWidget *widget, gboolean cut)
77 { 71 {
78 - v3270_clipboard_append(widget,cut); 72 + v3270_clipboard_set(widget,V3270_COPY_APPEND,cut);
79 } 73 }
80 74
src/trace/exec.c
@@ -192,7 +192,7 @@ @@ -192,7 +192,7 @@
192 } 192 }
193 else if(!g_ascii_strcasecmp(arg,"append")) 193 else if(!g_ascii_strcasecmp(arg,"append"))
194 { 194 {
195 - v3270_clipboard_append(trace->terminal,FALSE); 195 + v3270_clipboard_set(trace->terminal, V3270_COPY_APPEND, FALSE);
196 } 196 }
197 else 197 else
198 { 198 {