Commit b45d01eb174b8889bcdcc3ca821ad2f1c9ff190a

Authored by Perry Werneck
2 parents c27cf4f7 c6335708
Exists in master and in 1 other branch develop

Merge remote-tracking branch 'origin/develop' into macos

src/terminal/actions/clipboard.c
@@ -1,78 +0,0 @@ @@ -1,78 +0,0 @@
1 -/*  
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes.  
16 - *  
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como properties.c e possui - linhas de código.  
22 - *  
23 - * Contatos:  
24 - *  
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)  
27 - *  
28 - */  
29 -  
30 - #include "private.h"  
31 - #include <v3270.h>  
32 - #include <v3270/selection.h>  
33 - #include <lib3270/trace.h>  
34 - #include <lib3270/log.h>  
35 -  
36 -/*--[ Implement ]------------------------------------------------------------------------------------*/  
37 -  
38 - int fire_copy_accelerator(GtkWidget *widget, const V3270_ACTION * action) {  
39 -  
40 - debug("%s",__FUNCTION__);  
41 -  
42 - v3270_clipboard_set(  
43 - widget,  
44 - (action->flags & 0x0F),  
45 - (action->flags & V3270_ACTION_FLAG_CUT) != 0  
46 - );  
47 -  
48 - return EINVAL;  
49 - }  
50 -  
51 - int fire_paste_accelerator(GtkWidget *widget, const V3270_ACTION * action) {  
52 -  
53 - switch((int) action->flags)  
54 - {  
55 - case 0: // Default paste.  
56 - v3270_clipboard_get_from_url(widget,NULL);  
57 - break;  
58 -  
59 - case 1: // Text paste.  
60 - v3270_clipboard_get_from_url(widget,"text://");  
61 - break;  
62 -  
63 - case 2: // File paste.  
64 - v3270_clipboard_get_from_url(widget,"file://");  
65 - break;  
66 -  
67 - case 3: // screen paste.  
68 - v3270_clipboard_get_from_url(widget,"screen://");  
69 - break;  
70 -  
71 - default:  
72 - g_warning("Unexpected paste flags %u",(unsigned int) action->flags);  
73 - }  
74 -  
75 - return 0;  
76 - }  
77 -  
78 -  
src/terminal/actions/private.h
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 /* 3 /*
2 - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270  
3 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a  
4 - * aplicativos mainframe. Registro no INPI sob o nome G3270.  
5 - *  
6 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
7 - *  
8 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
9 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
10 - * Free Software Foundation.  
11 - *  
12 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
13 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
14 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
15 - * obter mais detalhes.  
16 - *  
17 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
18 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
19 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
20 - *  
21 - * Este programa está nomeado como - e possui - linhas de código. 4 + * Copyright (C) 2008 Banco do Brasil S.A.
22 * 5 *
23 - * Contatos: 6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
24 * 10 *
25 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
26 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
27 * 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
28 */ 18 */
29 19
30 #include <config.h> 20 #include <config.h>
@@ -55,8 +45,6 @@ @@ -55,8 +45,6 @@
55 45
56 46
57 // Internal methods 47 // Internal methods
58 - G_GNUC_INTERNAL int fire_copy_accelerator(GtkWidget *widget, const V3270_ACTION *action);  
59 - G_GNUC_INTERNAL int fire_paste_accelerator(GtkWidget *widget, const V3270_ACTION *action);  
60 G_GNUC_INTERNAL int fire_zoom_action(GtkWidget *widget, const V3270_ACTION *action); 48 G_GNUC_INTERNAL int fire_zoom_action(GtkWidget *widget, const V3270_ACTION *action);
61 G_GNUC_INTERNAL int fire_save_action(GtkWidget *widget, const V3270_ACTION *action); 49 G_GNUC_INTERNAL int fire_save_action(GtkWidget *widget, const V3270_ACTION *action);
62 G_GNUC_INTERNAL int fire_print_action(GtkWidget *widget, const V3270_ACTION *action); 50 G_GNUC_INTERNAL int fire_print_action(GtkWidget *widget, const V3270_ACTION *action);
src/terminal/actions/table.c
@@ -27,6 +27,9 @@ @@ -27,6 +27,9 @@
27 static int fire_copy_as_html(GtkWidget *widget, const struct _v3270_action * action); 27 static int fire_copy_as_html(GtkWidget *widget, const struct _v3270_action * action);
28 static int fire_copy_as_pixbuff(GtkWidget *widget, const struct _v3270_action * action); 28 static int fire_copy_as_pixbuff(GtkWidget *widget, const struct _v3270_action * action);
29 29
  30 + static int fire_copy_accelerator(GtkWidget *widget, const V3270_ACTION *action);
  31 + static int fire_paste_accelerator(GtkWidget *widget, const V3270_ACTION *action);
  32 +
30 // Dialogs 33 // Dialogs
31 static int fire_accelerators_dialog(GtkWidget *widget, const struct _v3270_action * action); 34 static int fire_accelerators_dialog(GtkWidget *widget, const struct _v3270_action * action);
32 static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action * action); 35 static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action * action);
@@ -402,7 +405,6 @@ @@ -402,7 +405,6 @@
402 } 405 }
403 406
404 static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { 407 static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) {
405 -  
406 gtk_widget_show_all( 408 gtk_widget_show_all(
407 v3270_settings_popup_dialog( 409 v3270_settings_popup_dialog(
408 v3270_host_settings_new(), 410 v3270_host_settings_new(),
@@ -410,51 +412,7 @@ @@ -410,51 +412,7 @@
410 TRUE 412 TRUE
411 ) 413 )
412 ); 414 );
413 -  
414 return 0; 415 return 0;
415 -  
416 - /*  
417 - GtkWidget * dialog = v3270_settings_dialog_new();  
418 - GtkWidget * settings = v3270_host_settings_new();  
419 -  
420 - v3270_settings_dialog_set_has_subtitle(dialog,FALSE);  
421 -  
422 - gtk_window_set_title(GTK_WINDOW(dialog), v3270_settings_get_title(settings));  
423 - gtk_container_add(GTK_CONTAINER(dialog), settings);  
424 -  
425 - gtk_dialog_set_toplevel(dialog,widget);  
426 - gtk_window_set_modal(GTK_WINDOW(dialog),TRUE);  
427 -  
428 - v3270_settings_dialog_set_terminal_widget(dialog, widget);  
429 -  
430 - gtk_window_set_default_size(GTK_WINDOW(dialog), 700, 150);  
431 - gtk_widget_show_all(dialog);  
432 -  
433 - gboolean again = TRUE;  
434 - while(again)  
435 - {  
436 - gtk_widget_set_sensitive(dialog,TRUE);  
437 - gtk_widget_set_visible(dialog,TRUE);  
438 -  
439 - switch(gtk_dialog_run(GTK_DIALOG(dialog)))  
440 - {  
441 - case GTK_RESPONSE_APPLY:  
442 - debug("V3270HostSelectWidget::%s=%s",__FUNCTION__,"GTK_RESPONSE_APPLY");  
443 - v3270_settings_dialog_apply(dialog);  
444 - again = lib3270_reconnect(v3270_get_session(widget),0);  
445 - break;  
446 -  
447 - case GTK_RESPONSE_CANCEL:  
448 - again = FALSE;  
449 - debug("V3270HostSelectWidget::%s=%s",__FUNCTION__,"GTK_RESPONSE_CANCEL");  
450 - v3270_settings_dialog_revert(dialog);  
451 - break;  
452 - }  
453 - }  
454 -  
455 - gtk_widget_destroy(dialog);  
456 - */  
457 -  
458 } 416 }
459 417
460 static int fire_color_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { 418 static int fire_color_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) {
@@ -487,9 +445,45 @@ @@ -487,9 +445,45 @@
487 widget, 445 widget,
488 TRUE 446 TRUE
489 ); 447 );
490 -  
491 gtk_window_set_default_size(GTK_WINDOW(dialog),950,400); 448 gtk_window_set_default_size(GTK_WINDOW(dialog),950,400);
492 gtk_widget_show_all(dialog); 449 gtk_widget_show_all(dialog);
  450 + return 0;
  451 + }
  452 +
  453 + static int fire_copy_accelerator(GtkWidget *widget, const V3270_ACTION * action) {
  454 +
  455 + v3270_clipboard_set(
  456 + widget,
  457 + (action->flags & 0x0F),
  458 + (action->flags & V3270_ACTION_FLAG_CUT) != 0
  459 + );
  460 +
  461 + return EINVAL;
  462 + }
  463 +
  464 + static int fire_paste_accelerator(GtkWidget *widget, const V3270_ACTION * action) {
  465 +
  466 + switch((int) action->flags)
  467 + {
  468 + case 0: // Default paste.
  469 + v3270_clipboard_get_from_url(widget,NULL);
  470 + break;
  471 +
  472 + case 1: // Text paste.
  473 + v3270_clipboard_get_from_url(widget,"text://");
  474 + break;
  475 +
  476 + case 2: // File paste.
  477 + v3270_clipboard_get_from_url(widget,"file://");
  478 + break;
  479 +
  480 + case 3: // screen paste.
  481 + v3270_clipboard_get_from_url(widget,"screen://");
  482 + break;
  483 +
  484 + default:
  485 + g_warning("Unexpected paste flags %u",(unsigned int) action->flags);
  486 + }
493 487
494 return 0; 488 return 0;
495 } 489 }