Commit 759c2db997a171292339fa468c8d8d48740d3e5b
1 parent
8b5c2af6
Exists in
master
and in
1 other branch
Paste formatted screen only if the "smart paste" toggle is enabled.
Showing
1 changed file
with
6 additions
and
2 deletions
Show diff stats
src/selection/linux/paste.c
... | ... | @@ -28,6 +28,7 @@ |
28 | 28 | */ |
29 | 29 | |
30 | 30 | #include <clipboard.h> |
31 | + #include <lib3270/toggle.h> | |
31 | 32 | |
32 | 33 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
33 | 34 | |
... | ... | @@ -149,7 +150,10 @@ static void formatted_received(GtkClipboard *clipboard, GtkSelectionData *select |
149 | 150 | |
150 | 151 | static void targets_received(GtkClipboard *clipboard, GdkAtom *atoms, gint n_atoms, GtkWidget *widget) |
151 | 152 | { |
152 | - if(has_target(GTK_V3270_GET_CLASS(widget)->clipboard_formatted,atoms,n_atoms)) | |
153 | + | |
154 | + // If smart paste is enabled try to get formatted clipboard. | |
155 | + debug("%s: Smart paste is %s", __FUNCTION__, (lib3270_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_SMART_PASTE) ? "enabled" : "disabled")); | |
156 | + if(lib3270_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_SMART_PASTE) && has_target(GTK_V3270_GET_CLASS(widget)->clipboard_formatted,atoms,n_atoms)) | |
153 | 157 | { |
154 | 158 | debug("Clipboard as TN3270 \"%s\" data",gdk_atom_name(GTK_V3270_GET_CLASS(widget)->clipboard_formatted)); |
155 | 159 | |
... | ... | @@ -163,7 +167,7 @@ static void targets_received(GtkClipboard *clipboard, GdkAtom *atoms, gint n_ato |
163 | 167 | return; |
164 | 168 | } |
165 | 169 | |
166 | - // No special format available, request it as text. | |
170 | + // No smart paste or formatted data on clipboard, request as text. | |
167 | 171 | gtk_clipboard_request_text( |
168 | 172 | clipboard, |
169 | 173 | (GtkClipboardTextReceivedFunc) text_received, | ... | ... |