Commit be8f5790f8652987d015025c666f044547a82e0f
1 parent
154e0036
Exists in
master
and in
4 other branches
Implementing paste actions.
Showing
2 changed files
with
18 additions
and
10 deletions
Show diff stats
src/objects/actions/clipboard.c
@@ -49,10 +49,15 @@ | @@ -49,10 +49,15 @@ | ||
49 | 49 | ||
50 | } | 50 | } |
51 | 51 | ||
52 | - static void activate_paste(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | 52 | + static void activate_paste(GAction G_GNUC_UNUSED(*action), GVariant *parameter, GtkWidget *terminal) { |
53 | 53 | ||
54 | - debug("%s",__FUNCTION__); | ||
55 | - v3270_paste(terminal); | 54 | + debug("%s %p",__FUNCTION__,parameter); |
55 | + | ||
56 | + if(!parameter) { | ||
57 | + v3270_paste(terminal); | ||
58 | + } else { | ||
59 | + v3270_paste_from_url(terminal,g_variant_get_string(parameter,NULL)); | ||
60 | + } | ||
56 | 61 | ||
57 | } | 62 | } |
58 | 63 | ||
@@ -123,10 +128,11 @@ | @@ -123,10 +128,11 @@ | ||
123 | 128 | ||
124 | }; | 129 | }; |
125 | 130 | ||
126 | - GAction * action = pw3270_action_new_from_lib3270(&action_descriptor); | 131 | + pw3270Action * action = PW3270_ACTION(pw3270_action_new_from_lib3270(&action_descriptor)); |
127 | 132 | ||
128 | - PW3270_ACTION(action)->activate = activate_paste; | 133 | + action->types.parameter = G_VARIANT_TYPE_STRING; |
134 | + action->activate = activate_paste; | ||
129 | 135 | ||
130 | - return action; | 136 | + return G_ACTION(action); |
131 | 137 | ||
132 | } | 138 | } |
ui/application.xml
@@ -135,20 +135,22 @@ | @@ -135,20 +135,22 @@ | ||
135 | <item> | 135 | <item> |
136 | <attribute name="label" translatable="yes">Paste from clipboard</attribute> | 136 | <attribute name="label" translatable="yes">Paste from clipboard</attribute> |
137 | <attribute name="action">win.paste</attribute> | 137 | <attribute name="action">win.paste</attribute> |
138 | + <attribute name="target">clipboard://</attribute> | ||
138 | </item> | 139 | </item> |
139 | 140 | ||
140 | <item> | 141 | <item> |
141 | <attribute name="label" translatable="yes">Paste next</attribute> | 142 | <attribute name="label" translatable="yes">Paste next</attribute> |
142 | - <attribute name="action">win.paste_next</attribute> | 143 | + <attribute name="action">win.paste</attribute> |
144 | + <attribute name="target">next://</attribute> | ||
143 | </item> | 145 | </item> |
144 | 146 | ||
145 | <item> | 147 | <item> |
146 | - <attribute name="label" translatable="yes">Paste text file</attribute> | ||
147 | - <attribute name="action">win.paste_file</attribute> | 148 | + <attribute name="label" translatable="yes">Paste from text file</attribute> |
149 | + <attribute name="action">win.paste</attribute> | ||
150 | + <attribute name="target">file://</attribute> | ||
148 | </item> | 151 | </item> |
149 | 152 | ||
150 | </section> | 153 | </section> |
151 | - | ||
152 | 154 | ||
153 | <section> | 155 | <section> |
154 | 156 |