Commit 0e329efbf8f2617bab14631c7ac5fc289b960852
1 parent
b5ae2461
Exists in
master
and in
5 other branches
Novas funções de clipboard não funcionaram legal no windows, correção feita.
Showing
5 changed files
with
15 additions
and
17 deletions
Show diff stats
src/gtk/actions.c
... | ... | @@ -31,6 +31,7 @@ |
31 | 31 | |
32 | 32 | #include "globals.h" |
33 | 33 | #include "uiparser/parser.h" |
34 | + #include "v3270/v3270.h" | |
34 | 35 | #include <lib3270/actions.h> |
35 | 36 | |
36 | 37 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
... | ... | @@ -63,7 +64,7 @@ static void activate_action(GtkAction *action, GtkWidget *widget) |
63 | 64 | static void copy_action(GtkAction *action, GtkWidget *widget) |
64 | 65 | { |
65 | 66 | trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); |
66 | - v3270_copy(GTK_V3270(widget)); | |
67 | + v3270_copy_clipboard(GTK_V3270(widget)); | |
67 | 68 | } |
68 | 69 | |
69 | 70 | void ui_connect_action(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id) | ... | ... |
src/gtk/v3270/clipboard.c
... | ... | @@ -41,8 +41,8 @@ |
41 | 41 | |
42 | 42 | static const GtkTargetEntry targets[] = |
43 | 43 | { |
44 | - { "STRING", 0, CLIPBOARD_TYPE_TEXT }, | |
45 | - { "text/plain", 0, CLIPBOARD_TYPE_TEXT }, | |
44 | + { "COMPOUND_TEXT", 0, CLIPBOARD_TYPE_TEXT }, | |
45 | + { "UTF8_STRING", 0, CLIPBOARD_TYPE_TEXT }, | |
46 | 46 | }; |
47 | 47 | |
48 | 48 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
... | ... | @@ -53,16 +53,16 @@ static void clipboard_clear(GtkClipboard *clipboard, GObject *obj) |
53 | 53 | |
54 | 54 | } |
55 | 55 | |
56 | -void clipboard_get(GtkClipboard *clipboard, GtkSelectionData *selection, guint target, GObject *obj) | |
56 | +static void clipboard_get(GtkClipboard *clipboard, GtkSelectionData *selection, guint target, GObject *obj) | |
57 | 57 | { |
58 | - v3270 *widget = GTK_V3270(obj); | |
58 | +// v3270 *widget = GTK_V3270(obj); | |
59 | 59 | |
60 | 60 | trace("%s: widget=%p target=\"%s\"",__FUNCTION__,obj,targets[target].target); |
61 | 61 | |
62 | 62 | switch(target) |
63 | 63 | { |
64 | 64 | case CLIPBOARD_TYPE_TEXT: |
65 | - gtk_selection_data_set_text(selection,"teste",-1); | |
65 | + gtk_selection_data_set_text(selection,"teste de clipboard",-1); | |
66 | 66 | break; |
67 | 67 | |
68 | 68 | default: |
... | ... | @@ -70,9 +70,10 @@ void clipboard_get(GtkClipboard *clipboard, GtkSelectionData *selection, guint t |
70 | 70 | } |
71 | 71 | } |
72 | 72 | |
73 | -gboolean v3270_copy(v3270 *widget) | |
73 | +void v3270_copy_clipboard(v3270 *widget) | |
74 | 74 | { |
75 | - GtkClipboard *clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); | |
75 | + GtkClipboard * clipboard = gtk_widget_get_clipboard(GTK_WIDGET(widget),GDK_SELECTION_CLIPBOARD); | |
76 | + | |
76 | 77 | if(gtk_clipboard_set_with_owner( clipboard, |
77 | 78 | targets, |
78 | 79 | G_N_ELEMENTS(targets), |
... | ... | @@ -82,9 +83,6 @@ gboolean v3270_copy(v3270 *widget) |
82 | 83 | )) |
83 | 84 | { |
84 | 85 | gtk_clipboard_set_can_store(clipboard,targets,1); |
85 | - trace("%s: Clipboard set",__FUNCTION__); | |
86 | - return TRUE; | |
87 | 86 | } |
88 | - return FALSE; | |
89 | 87 | } |
90 | 88 | ... | ... |
src/gtk/v3270/mouse.c
src/gtk/v3270/private.h
... | ... | @@ -121,10 +121,6 @@ void v3270_update_message(v3270 *widget, LIB3270_MESSAGE id); |
121 | 121 | void v3270_update_cursor(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr); |
122 | 122 | void v3270_update_oia(H3270 *session, LIB3270_FLAG id, unsigned char on); |
123 | 123 | |
124 | -// Clipboard | |
125 | -void v3270_clipboard_set(v3270 *widget); | |
126 | -void v3270_clipboard_clear(v3270 *widget); | |
127 | - | |
128 | 124 | // Keyboard & Mouse |
129 | 125 | gboolean v3270_key_press_event(GtkWidget *widget, GdkEventKey *event); |
130 | 126 | gboolean v3270_key_release_event(GtkWidget *widget, GdkEventKey *event); | ... | ... |
src/gtk/v3270/v3270.h
... | ... | @@ -198,8 +198,10 @@ |
198 | 198 | int v3270_connect(GtkWidget *widget, const gchar *host); |
199 | 199 | void v3270_disconnect(GtkWidget *widget); |
200 | 200 | |
201 | - // Clipboard | |
202 | - gboolean v3270_copy(v3270 *widget); | |
201 | +// Clipboard | |
202 | + void v3270_copy_clipboard(v3270 *widget); | |
203 | + void v3270_paste_clipboard(v3270 *widget); | |
204 | + | |
203 | 205 | |
204 | 206 | G_END_DECLS |
205 | 207 | ... | ... |