diff --git a/Makefile.in b/Makefile.in index e42ba41..986bd92 100644 --- a/Makefile.in +++ b/Makefile.in @@ -58,6 +58,7 @@ MKDIR=@MKDIR_P@ INSTALL=@INSTALL@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ +RPMBUILD=@RPMBUILD@ #---[ Release targets ]-------------------------------------------------------- @@ -94,7 +95,15 @@ endif tgz: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz rpm: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz +ifneq ($(RPMBUILD),no) @rpmbuild -ta $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz +endif + +srpm: $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz +ifneq ($(RPMBUILD),no) + @rpmbuild -ts $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz +endif + $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz: clean @rm -fr $(TMPDIR)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) diff --git a/configure.ac b/configure.ac index e925a42..0c0ca33 100644 --- a/configure.ac +++ b/configure.ac @@ -117,6 +117,7 @@ AC_PATH_TOOL([XGETTEXT], [xgettext], [no]) AC_PATH_TOOL([MSGCAT], [msgcat], [no]) AC_PATH_TOOL([MSGINIT], [msginit], [no]) AC_PATH_TOOL([MSGFMT], [msgfmt], [no]) +AC_PATH_TOOL([RPMBUILD], [rpmbuild], [no]) AC_CHECK_HEADER(libintl.h, AC_DEFINE(HAVE_LIBINTL)) AC_CHECK_LIB(intl, gettext,[INTL_LIBS="-lintl"]) diff --git a/src/gtk/print.c b/src/gtk/print.c index 56a088e..25590e5 100644 --- a/src/gtk/print.c +++ b/src/gtk/print.c @@ -295,21 +295,23 @@ static gchar * enum_to_string(GType type, guint enum_value) static GObject * create_custom_widget(GtkPrintOperation *prt, PRINT_INFO *info) { - static const gchar * label[] = { N_( "Font:" ), N_( "Color scheme:" ) }; + static const gchar * text[] = { N_( "_Font:" ), N_( "C_olor scheme:" ) }; GtkWidget * container = gtk_table_new(3,2,FALSE); + GtkWidget * label[G_N_ELEMENTS(text)]; GtkWidget * widget; int f; gchar * ptr; for(f=0;fcolor); + gtk_label_set_mnemonic_widget(GTK_LABEL(label[1]),widget); g_object_set_data(G_OBJECT(container),"combo",widget); gtk_table_attach(GTK_TABLE(container),widget,1,2,1,2,GTK_EXPAND|GTK_FILL,GTK_FILL,5,0); diff --git a/src/gtk/v3270/accessible.c b/src/gtk/v3270/accessible.c new file mode 100644 index 0000000..b851772 --- /dev/null +++ b/src/gtk/v3270/accessible.c @@ -0,0 +1,81 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como accessible.c e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include + #include "v3270.h" + #include "accessible.h" + +// References: +// +// http://git.gnome.org/browse/gtk+/tree/gtk/a11y/gtkwidgetaccessible.c +// http://git.gnome.org/browse/gtk+/tree/gtk/a11y/gtkentryaccessible.c +// + +/*--[ Prototipes ]-----------------------------------------------------------------------------------*/ + +static void atk_editable_text_interface_init (AtkEditableTextIface *iface); +static void atk_text_interface_init (AtkTextIface *iface); +static void atk_action_interface_init (AtkActionIface *iface); +static void v3270_accessible_class_init (v3270AccessibleClass *klass); +static void v3270_accessible_init (v3270Accessible *widget); + +/*--[ Widget definition ]----------------------------------------------------------------------------*/ + +G_DEFINE_TYPE_WITH_CODE (v3270Accessible, v3270_accessible, GTK_TYPE_V3270_ACCESSIBLE, + G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init) + G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init) + G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)) + +/*--[ Implement ]------------------------------------------------------------------------------------*/ + +static void v3270_accessible_class_init(v3270AccessibleClass *klass) +{ + +} + +static void v3270_accessible_init(v3270Accessible *widget) +{ + +} + +static void atk_editable_text_interface_init(AtkEditableTextIface *iface) +{ + +} + +static void atk_text_interface_init(AtkTextIface *iface) +{ + +} + +static void atk_action_interface_init(AtkActionIface *iface) +{ + +} + diff --git a/src/gtk/v3270/accessible.h b/src/gtk/v3270/accessible.h new file mode 100644 index 0000000..c6b4f23 --- /dev/null +++ b/src/gtk/v3270/accessible.h @@ -0,0 +1,58 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como accessible.h e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_V3270_ACCESSIBLE (v3270_accessible_get_type ()) +#define GTK_V3270_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270_ACCESSIBLE, v3270Accessible)) +#define GTK_V3270_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270_ACCESSIBLE, v3270AccessibleClass)) +#define GTK_IS_V3270_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_V3270_ACCESSIBLE)) +#define GTK_IS_V3270_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_V3270_ACCESSIBLE)) +#define GTK_V3270_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_V3270_ACCESSIBLE, v3270AccessibleClass)) + +typedef struct _v3270Accessible v3270Accessible; +typedef struct _v3270AccessibleClass v3270AccessibleClass; + +struct _v3270Accessible +{ + GtkAccessible parent; + + AtkLayer layer; +}; + +struct _v3270AccessibleClass +{ + GtkAccessibleClass parent_class; + + +}; + +G_END_DECLS diff --git a/src/gtk/v3270/sources.mak b/src/gtk/v3270/sources.mak index 4019ebe..c671b34 100644 --- a/src/gtk/v3270/sources.mak +++ b/src/gtk/v3270/sources.mak @@ -1,2 +1,2 @@ -V3270_SRC=marshal.c widget.c oia.c iocallback.c keyboard.c draw.c mouse.c clipboard.c +V3270_SRC=marshal.c widget.c oia.c iocallback.c keyboard.c draw.c mouse.c clipboard.c accessible.c diff --git a/src/gtk/v3270/widget.c b/src/gtk/v3270/widget.c index bbc2a0b..8a07d15 100644 --- a/src/gtk/v3270/widget.c +++ b/src/gtk/v3270/widget.c @@ -35,8 +35,8 @@ #include #include "v3270.h" #include "private.h" + #include "accessible.h" #include "marshal.h" - #include "../common/common.h" #define WIDTH_IN_PIXELS(terminal,x) (x * cols) #define HEIGHT_IN_PIXELS(terminal,x) (x * (rows+1)) diff --git a/src/lib3270/appres.h b/src/lib3270/appres.h index d4f5c36..722ecb8 100644 --- a/src/lib3270/appres.h +++ b/src/lib3270/appres.h @@ -100,14 +100,16 @@ typedef struct { #endif /*]*/ /* Named resources */ -#if defined(X3270_KEYPAD) /*[*/ +/* +#if defined(X3270_KEYPAD) char *keypad; -#endif /*]*/ -#if defined(X3270_DISPLAY) || defined(C3270) /*[*/ +#endif +*/ +#if defined(X3270_DISPLAY) || defined(C3270) // char *key_map; char *compose_map; char *printer_lu; -#endif /*]*/ +#endif /* #if defined(X3270_DISPLAY) char *efontname; diff --git a/src/lib3270/ft.c b/src/lib3270/ft.c index eae9493..ebf0717 100644 --- a/src/lib3270/ft.c +++ b/src/lib3270/ft.c @@ -375,14 +375,14 @@ ft_aborting(void) static void ft_connected(H3270 *session, int ignored, void *dunno) { if (!CONNECTED && ft_state != FT_NONE) - ft_complete(MSG_("ftDisconnected","Host disconnected, transfer cancelled")); + ft_complete(_("Host disconnected, transfer cancelled")); } /* Process an abort from no longer being in 3270 mode. */ static void ft_in3270(H3270 *session, int ignored, void *dunno) { if (!IN_3270 && ft_state != FT_NONE) - ft_complete(MSG_("ftNot3270","Not in 3270 mode, transfer cancelled")); + ft_complete(_("Not in 3270 mode, transfer cancelled")); } #endif diff --git a/src/lib3270/ft_cut.c b/src/lib3270/ft_cut.c index f37a219..4bd09e3 100644 --- a/src/lib3270/ft_cut.c +++ b/src/lib3270/ft_cut.c @@ -160,8 +160,7 @@ upload_convert(unsigned char *buf, int len) break; } if (quadrant >= NQ) { - cut_abort(MSG_("ftCutConversionError","Data conversion error"), - SC_ABORT_XMIT); + cut_abort(_("Data conversion error"),SC_ABORT_XMIT); return -1; } continue; @@ -169,8 +168,7 @@ upload_convert(unsigned char *buf, int len) /* Make sure it's in a valid range. */ if (c < 0x40 || c > 0xf9) { - cut_abort(MSG_("ftCutConversionError","Data conversion error"), - SC_ABORT_XMIT); + cut_abort(_("Data conversion error"),SC_ABORT_XMIT); return -1; } @@ -291,7 +289,7 @@ ft_cut_data(void) break; default: trace_ds("< FT unknown 0x%02x\n", ea_buf[O_FRAME_TYPE].cc); - cut_abort(MSG_("ftCutUnknownFrame"," Unknown frame type from host"), SC_ABORT_XMIT); + cut_abort(_(" Unknown frame type from host"), SC_ABORT_XMIT); break; } } @@ -346,14 +344,14 @@ cut_control_code(void) while (bp >= buf && *bp == ' ') *bp-- = '\0'; if (!*buf) - strcpy(buf, MSG_("ftHostCancel","Transfer cancelled by host")); + strcpy(buf, _("Transfer cancelled by host")); } ft_complete(buf); Free(buf); break; default: trace_ds("unknown 0x%04x\n", code); - cut_abort(MSG_("ftCutUnknownControl","Unknown FT control code from host"), SC_ABORT_XMIT); + cut_abort(_("Unknown FT control code from host"), SC_ABORT_XMIT); break; } } @@ -373,7 +371,7 @@ cut_data_request(void) trace_ds("< FT DATA_REQUEST %u\n", from6(seq)); if (ft_state == FT_ABORT_WAIT) { - cut_abort(MSG_("ftUserCancel","Transfer cancelled by user"), SC_ABORT_FILE); + cut_abort(_("Transfer cancelled by user"), SC_ABORT_FILE); return; } @@ -394,8 +392,7 @@ cut_data_request(void) ctlr_add(O_UP_DATA + j, 0, 0); /* Abort the transfer. */ - msg = xs_buffer("read(%s): %s", ft_local_filename, - strerror(errno)); + msg = xs_buffer("read(%s): %s", ft_local_filename,strerror(errno)); cut_abort(msg, SC_ABORT_FILE); Free(msg); return; @@ -437,7 +434,7 @@ static void cut_retransmit(void) { trace_ds("< FT RETRANSMIT\n"); - cut_abort(MSG_("ftCutRetransmit","Transmission error"), SC_ABORT_XMIT); + cut_abort(_("Transmission error"), SC_ABORT_XMIT); } /* @@ -468,7 +465,7 @@ cut_data(void) trace_ds("< FT DATA\n"); if (ft_state == FT_ABORT_WAIT) { - cut_abort(MSG_("ftUserCancel","Transfer cancelled by user"), SC_ABORT_FILE); + cut_abort(_("Transfer cancelled by user"), SC_ABORT_FILE); return; } @@ -476,7 +473,7 @@ cut_data(void) raw_length = from6(h3270.ea_buf[O_DT_LEN].cc) << 6 | from6(h3270.ea_buf[O_DT_LEN + 1].cc); if ((int)raw_length > O_RESPONSE - O_DT_DATA) { - cut_abort(MSG_("ftCutOversize","Illegal frame length"), SC_ABORT_XMIT); + cut_abort(_("Illegal frame length"), SC_ABORT_XMIT); return; } for (i = 0; i < (int)raw_length; i++) diff --git a/src/lib3270/ft_dft.c b/src/lib3270/ft_dft.c index 3b95ddc..98f61d8 100644 --- a/src/lib3270/ft_dft.c +++ b/src/lib3270/ft_dft.c @@ -162,7 +162,7 @@ dft_open_request(unsigned short len, unsigned char *cp) GET16(recsz, recszp); name = (char *)cp + 31; } else { - dft_abort(MSG_("ftDftUknownOpen","ftDftUknownOpen"), TR_OPEN_REQ); + dft_abort( _("ftDftUknownOpen"), TR_OPEN_REQ); return; } @@ -215,7 +215,7 @@ dft_data_insert(struct data_buffer *data_bufr) unsigned char *cp; if (!message_flag && ft_state == FT_ABORT_WAIT) { - dft_abort( MSG_("ftUserCancel","Transfer cancelled by user"), TR_DATA_INSERT); + dft_abort( _("Transfer cancelled by user"), TR_DATA_INSERT); return; } @@ -352,7 +352,7 @@ dft_get_request(void) trace_ds(" Get\n"); if (!message_flag && ft_state == FT_ABORT_WAIT) { - dft_abort(MSG_("ftUserCancel","Transfer cancelled by user"), TR_GET_REQ); + dft_abort(_("Transfer cancelled by user"), TR_GET_REQ); return; } diff --git a/src/lib3270/globals.h b/src/lib3270/globals.h index bddca25..06475f7 100644 --- a/src/lib3270/globals.h +++ b/src/lib3270/globals.h @@ -59,11 +59,9 @@ #include #define _( x ) gettext(x) #define N_( x ) x - #define MSG_( c, s ) gettext(s) #else #define _( x ) x #define N_( x ) x - #define MSG_( c, s ) s #endif // HAVE_LIBINTL @@ -120,23 +118,24 @@ #undef X3270_MENUS #endif /*]*/ -/* Local process (-e) header files. */ -#if defined(X3270_LOCAL_PROCESS) && defined(HAVE_LIBUTIL) /*[*/ +/* Local process (-e) header files. */ /* +#if defined(X3270_LOCAL_PROCESS) && defined(HAVE_LIBUTIL) #define LOCAL_PROCESS 1 #include - #if defined(HAVE_PTY_H) /*[*/ + #if defined(HAVE_PTY_H) #include - #endif /*]*/ + #endif - #if defined(HAVE_LIBUTIL_H) /*[*/ + #if defined(HAVE_LIBUTIL_H) #include - #endif /*]*/ + #endif - #if defined(HAVE_UTIL_H) /*[*/ + #if defined(HAVE_UTIL_H) #include - #endif /*]*/ -#endif /*]*/ + #endif +#endif +*/ /* Functions we may need to supply. */ #if defined(NEED_STRTOK_R) /*[*/ @@ -182,26 +181,28 @@ LIB3270_INTERNAL int children; LIB3270_INTERNAL int dft_buffersize; #endif /*]*/ -LIB3270_INTERNAL char *efontname; +// LIB3270_INTERNAL char *efontname; LIB3270_INTERNAL Boolean ever_3270; LIB3270_INTERNAL Boolean exiting; -#if defined(X3270_DISPLAY) /*[*/ +/* +#if defined(X3270_DISPLAY) LIB3270_INTERNAL Boolean *extended_3270font; LIB3270_INTERNAL Font *fid; LIB3270_INTERNAL Boolean *font_8bit; -#endif /*]*/ +#endif +*/ // LIB3270_INTERNAL Boolean flipped; -LIB3270_INTERNAL char *full_current_host; -LIB3270_INTERNAL char *full_efontname; +// LIB3270_INTERNAL char *full_current_host; +// LIB3270_INTERNAL char *full_efontname; #if defined(X3270_DBCS) /*[*/ LIB3270_INTERNAL char *full_efontname_dbcs; #endif /*]*/ -LIB3270_INTERNAL char *funky_font; -LIB3270_INTERNAL char *hostname; +//LIB3270_INTERNAL char *funky_font; +//LIB3270_INTERNAL char *hostname; #if defined(X3270_DBCS) /*[*/ LIB3270_INTERNAL char *local_encoding; -- libgit2 0.21.2