Commit 5076a548ef127fe540f78ffe5bc87079349eefc2

Authored by perry.werneck@gmail.com
1 parent 4baf2f92

Incluindo mais métodos na interface dbus

src/plugins/dbus3270/gobject.c
... ... @@ -391,6 +391,12 @@ void pw3270_dbus_get_clipboard(PW3270Dbus *object, int row, int col, int len, DB
391 391 }
392 392 }
393 393  
  394 +void pw3270_dbus_set_clipboard(PW3270Dbus *object, const gchar *text, DBusGMethodInvocation *context)
  395 +{
  396 + gtk_clipboard_set_text(gtk_widget_get_clipboard(pw3270_get_toplevel(),GDK_SELECTION_CLIPBOARD),(gchar *) text, -1);
  397 + dbus_g_method_return(context,0);
  398 +}
  399 +
394 400 void pw3270_dbus_set_script(PW3270Dbus *object, const gchar *text, int mode, DBusGMethodInvocation *context)
395 401 {
396 402 GtkWidget *widget = pw3270_get_terminal_widget(NULL);
... ...
src/plugins/dbus3270/pw3270dbus.xml
... ... @@ -61,6 +61,10 @@
61 61 <arg type="i" name="len" direction="in" />
62 62 <arg type="s" name="text" direction="out" />
63 63 </method>
  64 + <method name="setClipboard">
  65 + <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
  66 + <arg type="s" name="text" direction="in" />
  67 + </method>
64 68 <method name="getClipboard">
65 69 <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
66 70 <arg type="s" name="text" direction="out" />
... ...
src/plugins/dbus3270/service.h
... ... @@ -99,6 +99,8 @@
99 99 void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBusGMethodInvocation *context);
100 100 void pw3270_dbus_cmp_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context);
101 101 void pw3270_dbus_input(PW3270Dbus *object, const gchar *utftext, DBusGMethodInvocation *context);
  102 +
  103 + void pw3270_dbus_set_clipboard(PW3270Dbus *object, const gchar *text, DBusGMethodInvocation *context);
102 104 void pw3270_dbus_get_clipboard(PW3270Dbus *object, int row, int col, int len, DBusGMethodInvocation *context);
103 105  
104 106 G_END_DECLS
... ...
src/plugins/rx3270/remote.cc
... ... @@ -1165,6 +1165,21 @@ int remote::get_next_unprotected(int baddr)
1165 1165  
1166 1166 int remote::set_clipboard(const char *text)
1167 1167 {
  1168 +#if defined(WIN32)
  1169 +
  1170 + return -1;
  1171 +
  1172 +#elif defined(HAVE_DBUS)
  1173 +
  1174 + DBusMessage * msg = create_message("setClipboard");
  1175 + if(msg)
  1176 + {
  1177 + dbus_message_append_args(msg, DBUS_TYPE_STRING, &text, DBUS_TYPE_INVALID);
  1178 + return get_intval(call(msg));
  1179 + }
  1180 +
  1181 +#endif
  1182 +
1168 1183 return -1;
1169 1184 }
1170 1185  
... ...