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 |