Commit fe506fe1a9eb67935cfee801741d396bbbbf145a

Authored by Perry Werneck
1 parent 76542fbe

Encaixando novo diálogo de transferência de arquivos.

src/pw3270/Makefile.in
@@ -83,33 +83,44 @@ LIBS=@LIBS@ @GTK_LIBS@ @GTKMAC_LIBS@ @SOCKET_LIBS@ @@ -83,33 +83,44 @@ LIBS=@LIBS@ @GTK_LIBS@ @GTKMAC_LIBS@ @SOCKET_LIBS@
83 83
84 include ../include/rules.mak 84 include ../include/rules.mak
85 85
86 -%.png: pixmaps/%.svg 86 +%.png: \
  87 + pixmaps/%.svg
  88 +
87 ifneq ($(CONVERT),no) 89 ifneq ($(CONVERT),no)
88 @echo " GEN `basename $@`" 90 @echo " GEN `basename $@`"
89 @$(MKDIR) `dirname $@` 91 @$(MKDIR) `dirname $@`
90 @$(CONVERT) $< --format=png > $@ 92 @$(CONVERT) $< --format=png > $@
91 endif 93 endif
92 94
93 -%@OBJEXT@: %.rc 95 +%@OBJEXT@: \
  96 + %.rc
  97 +
94 @echo " RC `basename $@`" 98 @echo " RC `basename $@`"
95 @mkdir -p `dirname $@` 99 @mkdir -p `dirname $@`
96 @$(WINDRES) --include-dir=. -i $< -o $@ 100 @$(WINDRES) --include-dir=. -i $< -o $@
97 101
98 -$(OBJDBG)/%@OBJEXT@: %.rc 102 +$(OBJDBG)/%@OBJEXT@: \
  103 + %.rc
  104 +
99 @echo " RC `basename $@`" 105 @echo " RC `basename $@`"
100 @mkdir -p `dirname $@` 106 @mkdir -p `dirname $@`
101 @$(WINDRES) --include-dir=. -i $< -o $@ 107 @$(WINDRES) --include-dir=. -i $< -o $@
102 108
103 -$(OBJRLS)/%@OBJEXT@: %.rc 109 +$(OBJRLS)/%@OBJEXT@: \
  110 + %.rc
  111 +
104 @echo " RC `basename $@`" 112 @echo " RC `basename $@`"
105 @mkdir -p `dirname $@` 113 @mkdir -p `dirname $@`
106 @$(WINDRES) --include-dir=. -i $< -o $@ 114 @$(WINDRES) --include-dir=. -i $< -o $@
107 115
108 #---[ Release targets ]-------------------------------------------------------- 116 #---[ Release targets ]--------------------------------------------------------
109 117
110 -Release: $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) 118 +Release: \
  119 + $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT)
  120 +
  121 +install: \
  122 + Release $(PACKAGE_NAME).desktop $(PACKAGE_NAME)-logo.png
111 123
112 -install: Release $(PACKAGE_NAME).desktop $(PACKAGE_NAME)-logo.png  
113 $(MKDIR) $(DESTDIR)$(bindir) 124 $(MKDIR) $(DESTDIR)$(bindir)
114 $(INSTALL_PROGRAM) $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) $(DESTDIR)$(bindir) 125 $(INSTALL_PROGRAM) $(BINDIR)/Release/$(PACKAGE_TARNAME)$(EXEEXT) $(DESTDIR)$(bindir)
115 126
@@ -128,18 +139,24 @@ install: Release $(PACKAGE_NAME).desktop $(PACKAGE_NAME)-logo.png @@ -128,18 +139,24 @@ install: Release $(PACKAGE_NAME).desktop $(PACKAGE_NAME)-logo.png
128 --add-category TerminalEmulator \ 139 --add-category TerminalEmulator \
129 $(PACKAGE_NAME).desktop 140 $(PACKAGE_NAME).desktop
130 141
131 -$(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT): $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ \  
132 - $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT)) 142 +$(BINRLS)/$(PACKAGE_TARNAME)$(EXEEXT): \
  143 + $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ \
  144 + $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT))
  145 +
133 @echo " CCLD `basename $@`" 146 @echo " CCLD `basename $@`"
134 @$(MKDIR) `dirname $@` 147 @$(MKDIR) `dirname $@`
135 @$(LD) @LDARCH@ @LDAPPFLAGS@ -o $@ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT)) $(LIBS) $(LIB3270_LIBS) -l$(PACKAGE_TARNAME) 148 @$(LD) @LDARCH@ @LDAPPFLAGS@ -o $@ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT)) $(LIBS) $(LIB3270_LIBS) -l$(PACKAGE_TARNAME)
136 @$(STRIP) $@ 149 @$(STRIP) $@
137 150
138 -$(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@: $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) 151 +$(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@: \
  152 + $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION)
  153 +
139 @rm -f $@ 154 @rm -f $@
140 @cd $(LIBRLS) && $(LN_S) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ 155 @cd $(LIBRLS) && $(LN_S) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@
141 156
142 -$(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): $(foreach SRC, $(basename $(LIB_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT)) 157 +$(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): \
  158 + $(foreach SRC, $(basename $(LIB_SOURCES)), $(OBJRLS)/$(SRC)$(OBJEXT))
  159 +
143 @echo " CCLD `basename $@`" 160 @echo " CCLD `basename $@`"
144 @$(MKDIR) `dirname $@` 161 @$(MKDIR) `dirname $@`
145 @$(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @LDLIBFLAGS@ @RLS_LDFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) 162 @$(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @LDLIBFLAGS@ @RLS_LDFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS)
@@ -149,20 +166,34 @@ $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): $(foreach SR @@ -149,20 +166,34 @@ $(LIBRLS)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): $(foreach SR
149 166
150 Debug: $(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT) 167 Debug: $(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT)
151 168
152 -$(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT): $(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ \  
153 - $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT)) 169 +$(BINDBG)/$(PACKAGE_TARNAME)$(EXEEXT): \
  170 + $(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ \
  171 + $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT))
  172 +
154 @echo " CCLD `basename $@`" 173 @echo " CCLD `basename $@`"
155 @$(MKDIR) `dirname $@` 174 @$(MKDIR) `dirname $@`
156 @$(LD) @LDARCH@ @DBGRPATH@ -o $@ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT)) $(LIBS) $(LIB3270_LIBS) -l$(PACKAGE_TARNAME) 175 @$(LD) @LDARCH@ @DBGRPATH@ -o $@ $(foreach SRC, $(basename $(APP_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT)) $(LIBS) $(LIB3270_LIBS) -l$(PACKAGE_TARNAME)
157 176
158 -$(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@: $(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) 177 +.bin/Debug/v3270ft.a: \
  178 + v3270ft/*
  179 +
  180 + $(MAKE) BINDIR=../.bin -C v3270ft Debug
  181 +
  182 +
  183 +$(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@: \
  184 + $(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION)
  185 +
159 @rm -f $@ 186 @rm -f $@
160 @cd $(LIBDBG) && $(LN_S) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@ 187 @cd $(LIBDBG) && $(LN_S) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION) @DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@
161 188
162 -$(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): $(foreach SRC, $(basename $(LIB_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT)) 189 +$(LIBDBG)/@DLLPREFIX@$(PACKAGE_TARNAME)@DLLEXT@.$(PACKAGE_VERSION): \
  190 + $(foreach SRC, $(basename $(LIB_SOURCES)), $(OBJDBG)/$(SRC)$(OBJEXT)) \
  191 + .bin/Debug/v3270ft.a
  192 +
163 @echo " CCLD `basename $@`" 193 @echo " CCLD `basename $@`"
164 - @$(MKDIR) `dirname $@`  
165 - @$(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @DBGRPATH@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) 194 + @$(MKDIR) `dirname $@` AAA
  195 + $(LD) $(DLL_FLAGS) $(LDFLAGS) @LDSOFLAGS@ @DBGRPATH@ -o $@ $^ $(LIBS) $(LIB3270_LIBS)
  196 +
166 197
167 run: $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT) 198 run: $(BINDIR)/Debug/$(PACKAGE_TARNAME)$(EXEEXT)
168 @cd "$(ROOTDIR)" ; .bin/Debug/$(PACKAGE_TARNAME)$(EXEEXT) 199 @cd "$(ROOTDIR)" ; .bin/Debug/$(PACKAGE_TARNAME)$(EXEEXT)
@@ -209,6 +240,7 @@ distclean: clean @@ -209,6 +240,7 @@ distclean: clean
209 @rm -f $(PACKAGE_NAME)-logo.png 240 @rm -f $(PACKAGE_NAME)-logo.png
210 241
211 clean: clean-common 242 clean: clean-common
  243 + @$(MAKE) -C v3270ft clean
212 @rm -f v3270/marshal.c 244 @rm -f v3270/marshal.c
213 @rm -f v3270/marshal.h 245 @rm -f v3270/marshal.h
214 @rm -fr uiparser/.bin 246 @rm -fr uiparser/.bin
src/pw3270/actions.c
@@ -220,16 +220,35 @@ static void copy_as_html_action(GtkAction *action, GtkWidget *widget) @@ -220,16 +220,35 @@ static void copy_as_html_action(GtkAction *action, GtkWidget *widget)
220 220
221 G_GNUC_INTERNAL void transfer_action(GtkAction *action, GtkWidget *widget) 221 G_GNUC_INTERNAL void transfer_action(GtkAction *action, GtkWidget *widget)
222 { 222 {
  223 + GtkWidget * dialog = v3270ft_new();
223 224
224 -} 225 + gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(widget)));
225 226
226 -G_GNUC_INTERNAL void download_action(GtkAction *action, GtkWidget *widget)  
227 -{ 227 + do {
228 228
229 -} 229 + gtk_widget_show_all(dialog);
230 230
231 -G_GNUC_INTERNAL void upload_action(GtkAction *action, GtkWidget *widget)  
232 -{ 231 + switch(gtk_dialog_run(GTK_DIALOG(dialog))) {
  232 + case GTK_RESPONSE_APPLY:
  233 + case GTK_RESPONSE_OK:
  234 + case GTK_RESPONSE_YES:
  235 + gtk_widget_hide(dialog);
  236 + v3270ft_transfer(dialog,v3270_get_session(widget));
  237 + break;
  238 +
  239 + case GTK_RESPONSE_CANCEL:
  240 + case GTK_RESPONSE_NO:
  241 + case GTK_RESPONSE_DELETE_EVENT:
  242 + v3270ft_remove_all(dialog);
  243 + break;
  244 +
  245 + default:
  246 + g_warning("Unexpected response from v3270ft");
  247 + }
  248 +
  249 + } while(v3270ft_get_length(dialog) > 0);
  250 +
  251 + gtk_widget_destroy(dialog);
233 252
234 } 253 }
235 254
@@ -273,8 +292,8 @@ static void connect_standard_action(GtkAction *action, GtkWidget *widget, const @@ -273,8 +292,8 @@ static void connect_standard_action(GtkAction *action, GtkWidget *widget, const
273 { "about", about_dialog_action }, 292 { "about", about_dialog_action },
274 { "kpsubtract", kp_subtract_action }, 293 { "kpsubtract", kp_subtract_action },
275 { "kpadd", kp_add_action }, 294 { "kpadd", kp_add_action },
276 - { "download", download_action },  
277 - { "upload", upload_action }, 295 + { "download", transfer_action },
  296 + { "upload", transfer_action },
278 { "transfer", transfer_action }, 297 { "transfer", transfer_action },
279 #ifdef DEBUG 298 #ifdef DEBUG
280 { "copyashtml", copy_as_html_action }, 299 { "copyashtml", copy_as_html_action },
src/pw3270/include/v3270ft.h
@@ -75,6 +75,8 @@ @@ -75,6 +75,8 @@
75 void v3270ft_append_file(GtkWidget *widget, const gchar *filename, gboolean text); 75 void v3270ft_append_file(GtkWidget *widget, const gchar *filename, gboolean text);
76 guint v3270ft_append_selection(GtkWidget *widget, GtkSelectionData *data); 76 guint v3270ft_append_selection(GtkWidget *widget, GtkSelectionData *data);
77 77
  78 + gchar * v3270ft_select_file(v3270ft *dialog, const gchar *title, const gchar *button, GtkFileChooserAction action, const gchar *filename);
  79 +
78 gint v3270ft_transfer(GtkWidget *dialog, H3270 *session); 80 gint v3270ft_transfer(GtkWidget *dialog, H3270 *session);
79 81
80 G_END_DECLS 82 G_END_DECLS
src/pw3270/v3270ft/Makefile.in
@@ -28,8 +28,8 @@ MODULE_NAME=v3270ft @@ -28,8 +28,8 @@ MODULE_NAME=v3270ft
28 28
29 #---[ Application sources ]-------------------------------------------------------------- 29 #---[ Application sources ]--------------------------------------------------------------
30 30
31 -SOURCES=filelist.c load.c misc.c select.c tables.c transfer.c \  
32 - v3270ftprogress.c get.c marshal.c save.c set.c testprogram.c v3270ft.c 31 +SOURCES=filelist.c load.c misc.c select.c transfer.c v3270ftprogress.c get.c \
  32 + marshal.c save.c set.c testprogram.c v3270ft.c
33 33
34 #---[ Configuration values ]------------------------------------------------------------- 34 #---[ Configuration values ]-------------------------------------------------------------
35 35
@@ -79,7 +79,7 @@ GTK_LIBS=@GTK_LIBS@ @@ -79,7 +79,7 @@ GTK_LIBS=@GTK_LIBS@
79 GLIB_CFLAGS=@GLIB_CFLAGS@ 79 GLIB_CFLAGS=@GLIB_CFLAGS@
80 GLIB_LIBS=@GLIB_LIBS@ 80 GLIB_LIBS=@GLIB_LIBS@
81 81
82 -CFLAGS=@CFLAGS@ \ 82 +CFLAGS=@CFLAGS@ @DLL_CFLAGS@ \
83 -I../include \ 83 -I../include \
84 -DBUILD_DATE=`date +"0x%Y%m%d"` \ 84 -DBUILD_DATE=`date +"0x%Y%m%d"` \
85 $(GTK_CFLAGS) 85 $(GTK_CFLAGS)
src/pw3270/v3270ft/ftdialog.cbp
@@ -112,9 +112,6 @@ @@ -112,9 +112,6 @@
112 <Unit filename="set.c"> 112 <Unit filename="set.c">
113 <Option compilerVar="CC" /> 113 <Option compilerVar="CC" />
114 </Unit> 114 </Unit>
115 - <Unit filename="tables.c">  
116 - <Option compilerVar="CC" />  
117 - </Unit>  
118 <Unit filename="testprogram.c"> 115 <Unit filename="testprogram.c">
119 <Option compilerVar="CC" /> 116 <Option compilerVar="CC" />
120 </Unit> 117 </Unit>
src/pw3270/v3270ft/private.h
@@ -183,7 +183,6 @@ @@ -183,7 +183,6 @@
183 G_GNUC_INTERNAL void v3270ft_set_active(v3270ft *dialog, GList * active); 183 G_GNUC_INTERNAL void v3270ft_set_active(v3270ft *dialog, GList * active);
184 G_GNUC_INTERNAL GtkGrid * v3270ft_new_grid(void); 184 G_GNUC_INTERNAL GtkGrid * v3270ft_new_grid(void);
185 G_GNUC_INTERNAL void v3270ft_clear(v3270ft *dialog); 185 G_GNUC_INTERNAL void v3270ft_clear(v3270ft *dialog);
186 - G_GNUC_INTERNAL gchar * v3270ft_select_file(v3270ft *dialog, const gchar *title, const gchar *button, GtkFileChooserAction action, const gchar *filename);  
187 186
188 G_GNUC_INTERNAL void v3270ftprogress_set_session(GtkWidget *widget, H3270 *session); 187 G_GNUC_INTERNAL void v3270ftprogress_set_session(GtkWidget *widget, H3270 *session);
189 G_GNUC_INTERNAL void v3270ftprogress_update(GtkWidget *widget, unsigned long current, unsigned long total, double kbytes_sec); 188 G_GNUC_INTERNAL void v3270ftprogress_update(GtkWidget *widget, unsigned long current, unsigned long total, double kbytes_sec);
src/pw3270/v3270ft/tables.c
@@ -1,196 +0,0 @@ @@ -1,196 +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. Registro no INPI sob  
5 - * o nome G3270.  
6 - *  
7 - * Copyright (C) <2008> <Banco do Brasil S.A.>  
8 - *  
9 - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob  
10 - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela  
11 - * Free Software Foundation.  
12 - *  
13 - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER  
14 - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO  
15 - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para  
16 - * obter mais detalhes.  
17 - *  
18 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este  
19 - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin  
20 - * St, Fifth Floor, Boston, MA 02110-1301 USA  
21 - *  
22 - * Este programa está nomeado como new.c e possui - linhas de código.  
23 - *  
24 - * Contatos:  
25 - *  
26 - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)  
27 - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)  
28 - *  
29 - * Referências:  
30 - *  
31 - * * http://www3.rocketsoftware.com/bluezone/help/v42/en/bz/DISPLAY/IND$FILE/IND$FILE_Technical_Reference.htm  
32 - *  
33 - */  
34 -  
35 - #include "private.h"  
36 -  
37 -/*--[ Implement ]------------------------------------------------------------------------------------*/  
38 -  
39 -const struct v3270ft_option ft_option[NUM_OPTIONS_WIDGETS] = {  
40 -  
41 - // Transfer options  
42 - {  
43 - LIB3270_FT_OPTION_ASCII,  
44 - "ascii",  
45 - N_("_Text file"),  
46 - N_( "Check this if the file consists of character data only.")  
47 - },  
48 - {  
49 - LIB3270_FT_OPTION_CRLF,  
50 - "crlf",  
51 - N_("Follow the convention for _ASCII text files."),  
52 -#ifdef _WIN32  
53 - N_( "Following the convention for ASCII text files, CR/LF pairs are used to terminate records in the PC file, and a CTRL-Z (x'1A') marks the end of file.")  
54 -#else  
55 - N_( "Following the convention for ASCII text files, LF is used to terminate records in the PC file.")  
56 -#endif // _WIN32  
57 -  
58 - },  
59 - {  
60 - LIB3270_FT_OPTION_APPEND,  
61 - "append",  
62 - N_("A_ppend to file"),  
63 - N_( "Appends the source file to the destination file.")  
64 - },  
65 - {  
66 - LIB3270_FT_OPTION_REMAP,  
67 - "remap",  
68 - N_("Re_map ASCII Characters."),  
69 - N_("Remap the text to ensure maximum compatibility between the workstation's character set and encoding and the host's EBCDIC code page.")  
70 - },  
71 -  
72 - // Record format  
73 - {  
74 - LIB3270_FT_RECORD_FORMAT_DEFAULT,  
75 - "recfm.default",  
76 - N_("Default"),  
77 - N_("Use host default record format.")  
78 - },  
79 - {  
80 - LIB3270_FT_RECORD_FORMAT_FIXED,  
81 - "recfm.fixed",  
82 - N_("Fixed"),  
83 - N_("Creates a file with fixed-length records.")  
84 - },  
85 - {  
86 - LIB3270_FT_RECORD_FORMAT_VARIABLE,  
87 - "recfm.variable",  
88 - N_("Variable"),  
89 - N_("Creates a file with variable-length records.")  
90 - },  
91 - {  
92 - LIB3270_FT_RECORD_FORMAT_UNDEFINED,  
93 - "recfm.undefined",  
94 - N_("Undefined"),  
95 - N_("Creates a file with undefined-length records (TSO hosts only).")  
96 - },  
97 -  
98 - // Space allocation units  
99 - {  
100 - LIB3270_FT_ALLOCATION_UNITS_DEFAULT,  
101 - "units.default",  
102 - N_("Default"),  
103 - NULL  
104 - },  
105 - {  
106 - LIB3270_FT_ALLOCATION_UNITS_TRACKS,  
107 - "units.tracks",  
108 - N_("Tracks"),  
109 - NULL  
110 - },  
111 - {  
112 - LIB3270_FT_ALLOCATION_UNITS_CYLINDERS,  
113 - "units.cylinders",  
114 - N_("Cylinders"),  
115 - NULL  
116 - },  
117 - {  
118 - LIB3270_FT_ALLOCATION_UNITS_AVBLOCK,  
119 - "units.avblock",  
120 - N_("Avblock"),  
121 - NULL  
122 - },  
123 -  
124 -};  
125 -  
126 -const struct v3270ft_type ft_type[NUM_TYPES] = {  
127 -  
128 - {  
129 - LIB3270_FT_OPTION_SEND,  
130 - "send",  
131 - "binary",  
132 - N_("Send file")  
133 - },  
134 - {  
135 - LIB3270_FT_OPTION_RECEIVE,  
136 - "receive",  
137 - "binary",  
138 - N_("Receive file")  
139 - },  
140 - {  
141 - LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP,  
142 - "send",  
143 - "text",  
144 - N_("Send text file")  
145 - },  
146 - {  
147 - LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP,  
148 - "receive",  
149 - "text",  
150 - N_("Receive text file")  
151 - }  
152 -};  
153 -  
154 -const struct v3270ft_value ft_value[LIB3270_FT_VALUE_COUNT] = {  
155 - {  
156 - "lrecl",  
157 - 0, 32760,  
158 - N_( "Record Length:" ),  
159 - N_( "Specifies the logical record length (n) for a data set consisting of fixed length records or the maximum logical record length for a data set consisting of variable length records." )  
160 - },  
161 -  
162 -  
163 - {  
164 - "primary",  
165 - 0,99999,  
166 - N_( "Primary space:" ),  
167 - N_( "Primary allocation for a file created on a TSO host.\nThe units are given by the space allocation units option." )  
168 - },  
169 -  
170 - {  
171 - "blksize",  
172 - 0,32760,  
173 - N_( "Block size:" ),  
174 - N_( "Specifies the block size (n) for a new data set. For data sets containing fixed " \  
175 - "length records, the block size must be a multiple of the record length. " \  
176 - "For data sets containing variable length records, the block size must be " \  
177 - "greater than or equal to the record length plus four bytes. The block size " \  
178 - "must not exceed the track length of the device on which the data set resides." )  
179 - },  
180 -  
181 - {  
182 - "secondary",  
183 - 0,99999,  
184 - N_( "Secondary space:" ),  
185 - N_( "Secondary allocation for a file created on a TSO host.\nThe units are given by the space allocation units option." )  
186 - },  
187 -  
188 - {  
189 - "dft",  
190 - 0,99999,  
191 - N_( "DFT B_uffer size:" ),  
192 - N_("Specifies the default buffer size for DFT IND$FILE file transfers.")  
193 - },  
194 -  
195 -};  
196 -  
src/pw3270/v3270ft/v3270ft.c
@@ -45,6 +45,164 @@ @@ -45,6 +45,164 @@
45 45
46 /*--[ Globals ]--------------------------------------------------------------------------------------*/ 46 /*--[ Globals ]--------------------------------------------------------------------------------------*/
47 47
  48 +const struct v3270ft_option ft_option[NUM_OPTIONS_WIDGETS] = {
  49 +
  50 + // Transfer options
  51 + {
  52 + LIB3270_FT_OPTION_ASCII,
  53 + "ascii",
  54 + N_("_Text file"),
  55 + N_( "Check this if the file consists of character data only.")
  56 + },
  57 + {
  58 + LIB3270_FT_OPTION_CRLF,
  59 + "crlf",
  60 + N_("Follow the convention for _ASCII text files."),
  61 +#ifdef _WIN32
  62 + N_( "Following the convention for ASCII text files, CR/LF pairs are used to terminate records in the PC file, and a CTRL-Z (x'1A') marks the end of file.")
  63 +#else
  64 + N_( "Following the convention for ASCII text files, LF is used to terminate records in the PC file.")
  65 +#endif // _WIN32
  66 +
  67 + },
  68 + {
  69 + LIB3270_FT_OPTION_APPEND,
  70 + "append",
  71 + N_("A_ppend to file"),
  72 + N_( "Appends the source file to the destination file.")
  73 + },
  74 + {
  75 + LIB3270_FT_OPTION_REMAP,
  76 + "remap",
  77 + N_("Re_map ASCII Characters."),
  78 + N_("Remap the text to ensure maximum compatibility between the workstation's character set and encoding and the host's EBCDIC code page.")
  79 + },
  80 +
  81 + // Record format
  82 + {
  83 + LIB3270_FT_RECORD_FORMAT_DEFAULT,
  84 + "recfm.default",
  85 + N_("Default"),
  86 + N_("Use host default record format.")
  87 + },
  88 + {
  89 + LIB3270_FT_RECORD_FORMAT_FIXED,
  90 + "recfm.fixed",
  91 + N_("Fixed"),
  92 + N_("Creates a file with fixed-length records.")
  93 + },
  94 + {
  95 + LIB3270_FT_RECORD_FORMAT_VARIABLE,
  96 + "recfm.variable",
  97 + N_("Variable"),
  98 + N_("Creates a file with variable-length records.")
  99 + },
  100 + {
  101 + LIB3270_FT_RECORD_FORMAT_UNDEFINED,
  102 + "recfm.undefined",
  103 + N_("Undefined"),
  104 + N_("Creates a file with undefined-length records (TSO hosts only).")
  105 + },
  106 +
  107 + // Space allocation units
  108 + {
  109 + LIB3270_FT_ALLOCATION_UNITS_DEFAULT,
  110 + "units.default",
  111 + N_("Default"),
  112 + NULL
  113 + },
  114 + {
  115 + LIB3270_FT_ALLOCATION_UNITS_TRACKS,
  116 + "units.tracks",
  117 + N_("Tracks"),
  118 + NULL
  119 + },
  120 + {
  121 + LIB3270_FT_ALLOCATION_UNITS_CYLINDERS,
  122 + "units.cylinders",
  123 + N_("Cylinders"),
  124 + NULL
  125 + },
  126 + {
  127 + LIB3270_FT_ALLOCATION_UNITS_AVBLOCK,
  128 + "units.avblock",
  129 + N_("Avblock"),
  130 + NULL
  131 + },
  132 +
  133 +};
  134 +
  135 +const struct v3270ft_type ft_type[NUM_TYPES] = {
  136 +
  137 + {
  138 + LIB3270_FT_OPTION_SEND,
  139 + "send",
  140 + "binary",
  141 + N_("Send file")
  142 + },
  143 + {
  144 + LIB3270_FT_OPTION_RECEIVE,
  145 + "receive",
  146 + "binary",
  147 + N_("Receive file")
  148 + },
  149 + {
  150 + LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP,
  151 + "send",
  152 + "text",
  153 + N_("Send text file")
  154 + },
  155 + {
  156 + LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP,
  157 + "receive",
  158 + "text",
  159 + N_("Receive text file")
  160 + }
  161 +};
  162 +
  163 +const struct v3270ft_value ft_value[LIB3270_FT_VALUE_COUNT] = {
  164 + {
  165 + "lrecl",
  166 + 0, 32760,
  167 + N_( "Record Length:" ),
  168 + N_( "Specifies the logical record length (n) for a data set consisting of fixed length records or the maximum logical record length for a data set consisting of variable length records." )
  169 + },
  170 +
  171 +
  172 + {
  173 + "primary",
  174 + 0,99999,
  175 + N_( "Primary space:" ),
  176 + N_( "Primary allocation for a file created on a TSO host.\nThe units are given by the space allocation units option." )
  177 + },
  178 +
  179 + {
  180 + "blksize",
  181 + 0,32760,
  182 + N_( "Block size:" ),
  183 + N_( "Specifies the block size (n) for a new data set. For data sets containing fixed " \
  184 + "length records, the block size must be a multiple of the record length. " \
  185 + "For data sets containing variable length records, the block size must be " \
  186 + "greater than or equal to the record length plus four bytes. The block size " \
  187 + "must not exceed the track length of the device on which the data set resides." )
  188 + },
  189 +
  190 + {
  191 + "secondary",
  192 + 0,99999,
  193 + N_( "Secondary space:" ),
  194 + N_( "Secondary allocation for a file created on a TSO host.\nThe units are given by the space allocation units option." )
  195 + },
  196 +
  197 + {
  198 + "dft",
  199 + 0,99999,
  200 + N_( "DFT B_uffer size:" ),
  201 + N_("Specifies the default buffer size for DFT IND$FILE file transfers.")
  202 + },
  203 +
  204 +};
  205 +
48 206
49 /*--[ Implement ]------------------------------------------------------------------------------------*/ 207 /*--[ Implement ]------------------------------------------------------------------------------------*/
50 208