Commit 7ea7bbb47191a2e75a29af1e1fbaa5d458e5376c
Exists in
master
and in
1 other branch
Merge branch 'master' of github.com:PerryWerneck/libv3270
Showing
39 changed files
with
1663 additions
and
844 deletions
Show diff stats
.gitignore
Makefile.in
@@ -24,36 +24,51 @@ | @@ -24,36 +24,51 @@ | ||
24 | # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) | 24 | # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) |
25 | # | 25 | # |
26 | 26 | ||
27 | +#---[ Paths ]---------------------------------------------------------------------------- | ||
28 | + | ||
29 | +prefix=@prefix@ | ||
30 | +exec_prefix=@exec_prefix@ | ||
31 | +bindir=@bindir@ | ||
32 | +srcdir=@srcdir@ | ||
33 | +sbindir=@sbindir@ | ||
34 | +libdir=@libdir@ | ||
35 | +includedir=@includedir@ | ||
36 | +datarootdir=@datarootdir@ | ||
37 | +localedir=@localedir@ | ||
38 | +docdir=@docdir@ | ||
39 | +sysconfdir=@sysconfdir@ | ||
40 | + | ||
27 | #---[ Library configuration ]------------------------------------------------------------ | 41 | #---[ Library configuration ]------------------------------------------------------------ |
28 | 42 | ||
29 | SONAME=@SONAME@ | 43 | SONAME=@SONAME@ |
30 | LIBNAME=libv3270 | 44 | LIBNAME=libv3270 |
31 | PRODUCT_NAME=@PRODUCT_NAME@ | 45 | PRODUCT_NAME=@PRODUCT_NAME@ |
32 | INSTALL_PACKAGES=@INSTALL_PACKAGES@ | 46 | INSTALL_PACKAGES=@INSTALL_PACKAGES@ |
47 | +GETTEXT_PACKAGE=@GETTEXT_PACKAGE@ | ||
33 | 48 | ||
34 | SOURCES= \ | 49 | SOURCES= \ |
35 | - $(wildcard src/terminal/*.c) \ | ||
36 | - $(wildcard src/terminal/@OSNAME@/*.rc) \ | ||
37 | - $(wildcard src/terminal/@OSNAME@/*.c) \ | ||
38 | - $(wildcard src/terminal/properties/*.c) \ | ||
39 | - $(wildcard src/terminal/drawing/*.c) \ | ||
40 | - $(wildcard src/terminal/font/*.c) \ | ||
41 | - $(wildcard src/terminal/keyboard/*.c) \ | ||
42 | - $(wildcard src/terminal/actions/*.c) \ | ||
43 | - $(wildcard src/filetransfer/*.c) \ | ||
44 | - $(wildcard src/selection/*.c) \ | ||
45 | - $(wildcard src/selection/@OSNAME@/*.c) \ | ||
46 | - $(wildcard src/trace/*.c) \ | ||
47 | - $(wildcard src/dialogs/*.c) \ | ||
48 | - $(wildcard src/dialogs/@OSNAME@/*.c) \ | ||
49 | - $(wildcard src/dialogs/print/*.c) \ | ||
50 | - $(wildcard src/dialogs/save/*.c) \ | ||
51 | - $(wildcard src/dialogs/font/*.c) \ | ||
52 | - $(wildcard src/dialogs/settings/*.c) \ | ||
53 | - $(wildcard src/tools/*.c) | 50 | + $(wildcard $(srcdir)/src/terminal/*.c) \ |
51 | + $(wildcard $(srcdir)/src/terminal/@OSNAME@/*.rc) \ | ||
52 | + $(wildcard $(srcdir)/src/terminal/@OSNAME@/*.c) \ | ||
53 | + $(wildcard $(srcdir)/src/terminal/properties/*.c) \ | ||
54 | + $(wildcard $(srcdir)/src/terminal/drawing/*.c) \ | ||
55 | + $(wildcard $(srcdir)/src/terminal/font/*.c) \ | ||
56 | + $(wildcard $(srcdir)/src/terminal/keyboard/*.c) \ | ||
57 | + $(wildcard $(srcdir)/src/terminal/actions/*.c) \ | ||
58 | + $(wildcard $(srcdir)/src/filetransfer/*.c) \ | ||
59 | + $(wildcard $(srcdir)/src/selection/*.c) \ | ||
60 | + $(wildcard $(srcdir)/src/selection/@OSNAME@/*.c) \ | ||
61 | + $(wildcard $(srcdir)/src/trace/*.c) \ | ||
62 | + $(wildcard $(srcdir)/src/dialogs/*.c) \ | ||
63 | + $(wildcard $(srcdir)/src/dialogs/@OSNAME@/*.c) \ | ||
64 | + $(wildcard $(srcdir)/src/dialogs/print/*.c) \ | ||
65 | + $(wildcard $(srcdir)/src/dialogs/save/*.c) \ | ||
66 | + $(wildcard $(srcdir)/src/dialogs/font/*.c) \ | ||
67 | + $(wildcard $(srcdir)/src/dialogs/settings/*.c) \ | ||
68 | + $(wildcard $(srcdir)/src/tools/*.c) | ||
54 | 69 | ||
55 | TEST_SOURCES= \ | 70 | TEST_SOURCES= \ |
56 | - $(wildcard src/testprogram/*.c) | 71 | + $(wildcard $(srcdir)/src/testprogram/*.c) |
57 | 72 | ||
58 | #---[ Tools ]---------------------------------------------------------------------------- | 73 | #---[ Tools ]---------------------------------------------------------------------------- |
59 | 74 | ||
@@ -75,42 +90,28 @@ ZIP=@ZIP@ | @@ -75,42 +90,28 @@ ZIP=@ZIP@ | ||
75 | DLLTOOL=@DLLTOOL@ | 90 | DLLTOOL=@DLLTOOL@ |
76 | STRIP=@STRIP@ | 91 | STRIP=@STRIP@ |
77 | 92 | ||
78 | -#---[ Paths ]---------------------------------------------------------------------------- | ||
79 | - | ||
80 | -prefix=@prefix@ | ||
81 | -exec_prefix=@exec_prefix@ | ||
82 | -bindir=@bindir@ | ||
83 | -sbindir=@sbindir@ | ||
84 | -libdir=@libdir@ | ||
85 | -includedir=@includedir@ | ||
86 | -datarootdir=@datarootdir@ | ||
87 | -localedir=@localedir@ | ||
88 | -docdir=@docdir@ | ||
89 | -sysconfdir=@sysconfdir@ | 93 | +#---[ Build Paths ]---------------------------------------------------------------------- |
90 | 94 | ||
91 | -BASEDIR=@BASEDIR@ | 95 | +BUILDDIR=@BUILDDIR@ |
92 | 96 | ||
93 | -POTDIR=$(BASEDIR)/.pot | 97 | +POTDIR=$(BUILDDIR)/.pot |
94 | 98 | ||
95 | -OBJDIR=$(BASEDIR)/.obj/$(LIBNAME) | 99 | +OBJDIR=$(BUILDDIR)/.obj/$(LIBNAME) |
96 | OBJDBG=$(OBJDIR)/Debug | 100 | OBJDBG=$(OBJDIR)/Debug |
97 | OBJRLS=$(OBJDIR)/Release | 101 | OBJRLS=$(OBJDIR)/Release |
98 | 102 | ||
99 | -BINDIR=$(BASEDIR)/.bin | 103 | +BINDIR=$(BUILDDIR)/.bin |
100 | BINDBG=$(BINDIR)/Debug | 104 | BINDBG=$(BINDIR)/Debug |
101 | BINRLS=$(BINDIR)/Release | 105 | BINRLS=$(BINDIR)/Release |
102 | 106 | ||
103 | #---[ Rules ]---------------------------------------------------------------------------- | 107 | #---[ Rules ]---------------------------------------------------------------------------- |
104 | 108 | ||
105 | DEPENDS= \ | 109 | DEPENDS= \ |
106 | - Makefile \ | ||
107 | - src/include/*.h \ | ||
108 | - src/include/v3270/*.h \ | ||
109 | - src/filetransfer/marshal.h \ | ||
110 | - src/filetransfer/private.h \ | ||
111 | - src/terminal/marshal.h \ | ||
112 | - src/trace/marshal.h \ | ||
113 | - src/dialogs/settings/marshal.h | 110 | + src/include/config.h \ |
111 | + src/include/marshal/filetransfer.h \ | ||
112 | + src/include/marshal/terminal.h \ | ||
113 | + src/include/marshal/trace.h \ | ||
114 | + src/include/marshal/dialogs.h | ||
114 | 115 | ||
115 | DATE_FMT = +%Y%m%d | 116 | DATE_FMT = +%Y%m%d |
116 | ifdef SOURCE_DATE_EPOCH | 117 | ifdef SOURCE_DATE_EPOCH |
@@ -122,6 +123,7 @@ CFLAGS= \ | @@ -122,6 +123,7 @@ CFLAGS= \ | ||
122 | @CFLAGS@ \ | 123 | @CFLAGS@ \ |
123 | -g \ | 124 | -g \ |
124 | -Isrc/include \ | 125 | -Isrc/include \ |
126 | + -I$(srcdir)/src/include \ | ||
125 | -DBUILD_DATE=$(BUILD_DATE) \ | 127 | -DBUILD_DATE=$(BUILD_DATE) \ |
126 | -DLOCALEDIR=$(localedir) \ | 128 | -DLOCALEDIR=$(localedir) \ |
127 | @LIB3270_CFLAGS@ \ | 129 | @LIB3270_CFLAGS@ \ |
@@ -203,7 +205,7 @@ $(OBJRLS)/%.o: \ | @@ -203,7 +205,7 @@ $(OBJRLS)/%.o: \ | ||
203 | 205 | ||
204 | #---[ Misc Rules ]----------------------------------------------------------------------- | 206 | #---[ Misc Rules ]----------------------------------------------------------------------- |
205 | 207 | ||
206 | -$(POTDIR)/$(LIBNAME)/%.pot: \ | 208 | +$(POTDIR)/%.pot: \ |
207 | %.c | 209 | %.c |
208 | 210 | ||
209 | @echo $(notdir $@) ... | 211 | @echo $(notdir $@) ... |
@@ -217,7 +219,7 @@ $(POTDIR)/$(LIBNAME)/%.pot: \ | @@ -217,7 +219,7 @@ $(POTDIR)/$(LIBNAME)/%.pot: \ | ||
217 | $< | 219 | $< |
218 | @touch $@ | 220 | @touch $@ |
219 | 221 | ||
220 | -$(POTDIR)/$(LIBNAME)/%.pot: \ | 222 | +$(POTDIR)/%.pot: \ |
221 | %.rc | 223 | %.rc |
222 | 224 | ||
223 | @echo $< ... | 225 | @echo $< ... |
@@ -232,16 +234,16 @@ install-%: \ | @@ -232,16 +234,16 @@ install-%: \ | ||
232 | 234 | ||
233 | #---[ Marshal Targets ]------------------------------------------------------------------ | 235 | #---[ Marshal Targets ]------------------------------------------------------------------ |
234 | 236 | ||
235 | -src/terminal/marshal.h: \ | ||
236 | - src/terminal/marshal | 237 | +src/include/marshal/terminal.h: \ |
238 | + $(srcdir)/src/terminal/marshal | ||
237 | 239 | ||
238 | @echo $@ ... | 240 | @echo $@ ... |
239 | @$(MKDIR) $(@D) | 241 | @$(MKDIR) $(@D) |
240 | 242 | ||
241 | @$(GENMARSHAL) --prefix=v3270 --header $< > $@ | 243 | @$(GENMARSHAL) --prefix=v3270 --header $< > $@ |
242 | 244 | ||
243 | -src/dialogs/settings/marshal.h: \ | ||
244 | - src/dialogs/settings/marshal | 245 | +src/include/marshal/dialogs.h: \ |
246 | + $(srcdir)/src/dialogs/settings/marshal | ||
245 | 247 | ||
246 | @echo $@ ... | 248 | @echo $@ ... |
247 | @$(MKDIR) $(@D) | 249 | @$(MKDIR) $(@D) |
@@ -249,7 +251,7 @@ src/dialogs/settings/marshal.h: \ | @@ -249,7 +251,7 @@ src/dialogs/settings/marshal.h: \ | ||
249 | @$(GENMARSHAL) --prefix=v3270 --header $< > $@ | 251 | @$(GENMARSHAL) --prefix=v3270 --header $< > $@ |
250 | 252 | ||
251 | $(OBJDIR)/marshal/v3270.c: \ | 253 | $(OBJDIR)/marshal/v3270.c: \ |
252 | - src/terminal/marshal | 254 | + $(srcdir)/src/terminal/marshal |
253 | 255 | ||
254 | @echo $@ ... | 256 | @echo $@ ... |
255 | @$(MKDIR) $(@D) | 257 | @$(MKDIR) $(@D) |
@@ -257,8 +259,8 @@ $(OBJDIR)/marshal/v3270.c: \ | @@ -257,8 +259,8 @@ $(OBJDIR)/marshal/v3270.c: \ | ||
257 | @$(GENMARSHAL) --prefix=v3270 --body $< > $@ | 259 | @$(GENMARSHAL) --prefix=v3270 --body $< > $@ |
258 | 260 | ||
259 | 261 | ||
260 | -src/filetransfer/marshal.h: \ | ||
261 | - src/filetransfer/marshal | 262 | +src/include/marshal/filetransfer.h: \ |
263 | + $(srcdir)/src/filetransfer/marshal | ||
262 | 264 | ||
263 | @echo $@ ... | 265 | @echo $@ ... |
264 | @$(MKDIR) $(@D) | 266 | @$(MKDIR) $(@D) |
@@ -266,15 +268,15 @@ src/filetransfer/marshal.h: \ | @@ -266,15 +268,15 @@ src/filetransfer/marshal.h: \ | ||
266 | @$(GENMARSHAL) --prefix=v3270ft --header $< > $@ | 268 | @$(GENMARSHAL) --prefix=v3270ft --header $< > $@ |
267 | 269 | ||
268 | $(OBJDIR)/marshal/v3270ft.c: \ | 270 | $(OBJDIR)/marshal/v3270ft.c: \ |
269 | - src/filetransfer/marshal | 271 | + $(srcdir)/src/filetransfer/marshal |
270 | 272 | ||
271 | @echo $@ ... | 273 | @echo $@ ... |
272 | @$(MKDIR) $(@D) | 274 | @$(MKDIR) $(@D) |
273 | 275 | ||
274 | @$(GENMARSHAL) --prefix=v3270ft --body $< > $@ | 276 | @$(GENMARSHAL) --prefix=v3270ft --body $< > $@ |
275 | 277 | ||
276 | -src/trace/marshal.h: \ | ||
277 | - src/trace/marshal | 278 | +src/include/marshal/trace.h: \ |
279 | + $(srcdir)/src/trace/marshal | ||
278 | 280 | ||
279 | @echo $@ ... | 281 | @echo $@ ... |
280 | @$(MKDIR) $(@D) | 282 | @$(MKDIR) $(@D) |
@@ -282,14 +284,13 @@ src/trace/marshal.h: \ | @@ -282,14 +284,13 @@ src/trace/marshal.h: \ | ||
282 | @$(GENMARSHAL) --prefix=v3270trace --header $< > $@ | 284 | @$(GENMARSHAL) --prefix=v3270trace --header $< > $@ |
283 | 285 | ||
284 | $(OBJDIR)/marshal/trace.c: \ | 286 | $(OBJDIR)/marshal/trace.c: \ |
285 | - src/trace/marshal | 287 | + $(srcdir)/src/trace/marshal |
286 | 288 | ||
287 | @echo $@ ... | 289 | @echo $@ ... |
288 | @$(MKDIR) $(@D) | 290 | @$(MKDIR) $(@D) |
289 | 291 | ||
290 | @$(GENMARSHAL) --prefix=v3270trace --body $< > $@ | 292 | @$(GENMARSHAL) --prefix=v3270trace --body $< > $@ |
291 | 293 | ||
292 | - | ||
293 | $(OBJDIR)/marshal/%.o: \ | 294 | $(OBJDIR)/marshal/%.o: \ |
294 | $(OBJDIR)/marshal/%.c \ | 295 | $(OBJDIR)/marshal/%.c \ |
295 | $(DEPENDS) | 296 | $(DEPENDS) |
@@ -309,7 +310,7 @@ $(OBJDIR)/marshal/%.o: \ | @@ -309,7 +310,7 @@ $(OBJDIR)/marshal/%.o: \ | ||
309 | all: \ | 310 | all: \ |
310 | $(BINRLS)/$(SONAME) \ | 311 | $(BINRLS)/$(SONAME) \ |
311 | $(BINRLS)/static/$(LIBNAME).a \ | 312 | $(BINRLS)/static/$(LIBNAME).a \ |
312 | - locale/$(LIBNAME).pot | 313 | + locale/$(GETTEXT_PACKAGE).pot |
313 | 314 | ||
314 | Release: \ | 315 | Release: \ |
315 | $(BINRLS)/$(SONAME) \ | 316 | $(BINRLS)/$(SONAME) \ |
@@ -347,7 +348,7 @@ $(BINRLS)/static/$(LIBNAME).a: \ | @@ -347,7 +348,7 @@ $(BINRLS)/static/$(LIBNAME).a: \ | ||
347 | #---[ Install Targets ]------------------------------------------------------------------ | 348 | #---[ Install Targets ]------------------------------------------------------------------ |
348 | 349 | ||
349 | install: \ | 350 | install: \ |
350 | - locale/$(LIBNAME).pot \ | 351 | + locale/$(GETTEXT_PACKAGE).pot \ |
351 | $(foreach PKG, $(INSTALL_PACKAGES), install-$(PKG)) | 352 | $(foreach PKG, $(INSTALL_PACKAGES), install-$(PKG)) |
352 | 353 | ||
353 | install-linux-lib: \ | 354 | install-linux-lib: \ |
@@ -362,6 +363,18 @@ install-linux-lib: \ | @@ -362,6 +363,18 @@ install-linux-lib: \ | ||
362 | $(BINRLS)/$(SONAME) \ | 363 | $(BINRLS)/$(SONAME) \ |
363 | $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | 364 | $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ |
364 | 365 | ||
366 | +install-macos-lib: \ | ||
367 | + $(BINRLS)/$(SONAME) \ | ||
368 | + install-conf \ | ||
369 | + install-locale | ||
370 | + | ||
371 | + # Install library | ||
372 | + @$(MKDIR) $(DESTDIR)$(libdir) | ||
373 | + | ||
374 | + @$(INSTALL_PROGRAM) \ | ||
375 | + $(BINRLS)/$(SONAME) \ | ||
376 | + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | ||
377 | + | ||
365 | install-windows-lib: \ | 378 | install-windows-lib: \ |
366 | $(BINRLS)/$(SONAME) \ | 379 | $(BINRLS)/$(SONAME) \ |
367 | install-conf \ | 380 | install-conf \ |
@@ -376,7 +389,7 @@ install-windows-lib: \ | @@ -376,7 +389,7 @@ install-windows-lib: \ | ||
376 | 389 | ||
377 | zip: \ | 390 | zip: \ |
378 | $(BINRLS)/$(SONAME) | 391 | $(BINRLS)/$(SONAME) |
379 | - @$(ZIP) -9 -j $(BASEDIR)/@PACKAGE_NAME@-@PACKAGE_VERSION@-@PACKAGE_RELEASE@-@host_cpu@.zip $(BINRLS)/$(SONAME) | 392 | + @$(ZIP) -9 -j $(BUILDDIR)/@PACKAGE_NAME@-@PACKAGE_VERSION@-@PACKAGE_RELEASE@-@host_cpu@.zip $(BINRLS)/$(SONAME) |
380 | 393 | ||
381 | install-static: \ | 394 | install-static: \ |
382 | $(BINRLS)/static/$(LIBNAME).a | 395 | $(BINRLS)/static/$(LIBNAME).a |
@@ -393,7 +406,7 @@ install-conf: | @@ -393,7 +406,7 @@ install-conf: | ||
393 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/remap | 406 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/remap |
394 | 407 | ||
395 | @$(INSTALL_DATA) \ | 408 | @$(INSTALL_DATA) \ |
396 | - remap/*.xml \ | 409 | + $(srcdir)/remap/*.xml \ |
397 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/remap | 410 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/remap |
398 | 411 | ||
399 | # Install default configs | 412 | # Install default configs |
@@ -401,21 +414,21 @@ install-conf: | @@ -401,21 +414,21 @@ install-conf: | ||
401 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME) | 414 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME) |
402 | 415 | ||
403 | @$(INSTALL_DATA) \ | 416 | @$(INSTALL_DATA) \ |
404 | - conf/colors.conf \ | 417 | + $(srcdir)/conf/colors.conf \ |
405 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/colors.conf | 418 | $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/colors.conf |
406 | 419 | ||
407 | install-dev: \ | 420 | install-dev: \ |
408 | - locale/$(LIBNAME).pot \ | 421 | + locale/$(GETTEXT_PACKAGE).pot \ |
409 | install-@OSNAME@-dev | 422 | install-@OSNAME@-dev |
410 | 423 | ||
411 | @mkdir -p $(DESTDIR)$(includedir)/v3270 | 424 | @mkdir -p $(DESTDIR)$(includedir)/v3270 |
412 | 425 | ||
413 | @$(INSTALL_DATA) \ | 426 | @$(INSTALL_DATA) \ |
414 | - src/include/v3270/*.h \ | 427 | + $(srcdir)/src/include/v3270/*.h \ |
415 | $(DESTDIR)$(includedir)/v3270 | 428 | $(DESTDIR)$(includedir)/v3270 |
416 | 429 | ||
417 | @$(INSTALL_DATA) \ | 430 | @$(INSTALL_DATA) \ |
418 | - src/include/v3270.h \ | 431 | + $(srcdir)/src/include/v3270.h \ |
419 | $(DESTDIR)$(includedir)/v3270.h | 432 | $(DESTDIR)$(includedir)/v3270.h |
420 | 433 | ||
421 | # Install PKG-CONFIG files | 434 | # Install PKG-CONFIG files |
@@ -426,7 +439,7 @@ install-dev: \ | @@ -426,7 +439,7 @@ install-dev: \ | ||
426 | 439 | ||
427 | # Install translation files | 440 | # Install translation files |
428 | @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/pot | 441 | @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/pot |
429 | - @$(INSTALL_DATA) locale/$(LIBNAME).pot $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/pot | 442 | + @$(INSTALL_DATA) locale/$(GETTEXT_PACKAGE).pot $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/pot |
430 | 443 | ||
431 | 444 | ||
432 | install-linux-dev: | 445 | install-linux-dev: |
@@ -438,6 +451,15 @@ install-linux-dev: | @@ -438,6 +451,15 @@ install-linux-dev: | ||
438 | $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | 451 | $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ |
439 | $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@ | 452 | $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@ |
440 | 453 | ||
454 | +install-macos-dev: | ||
455 | + | ||
456 | + @$(MKDIR) \ | ||
457 | + $(DESTDIR)$(libdir) | ||
458 | + | ||
459 | + @$(LN_S) \ | ||
460 | + $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | ||
461 | + $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@ | ||
462 | + | ||
441 | install-windows-dev: \ | 463 | install-windows-dev: \ |
442 | strip \ | 464 | strip \ |
443 | $(BINRLS)/$(LIBNAME).dll.a | 465 | $(BINRLS)/$(LIBNAME).dll.a |
@@ -468,29 +490,29 @@ install-glade: | @@ -468,29 +490,29 @@ install-glade: | ||
468 | $(DESTDIR)$(datarootdir)/glade/catalogs/v3270.xml | 490 | $(DESTDIR)$(datarootdir)/glade/catalogs/v3270.xml |
469 | 491 | ||
470 | @$(INSTALL_DATA) \ | 492 | @$(INSTALL_DATA) \ |
471 | - branding/icon-16x16.png \ | 493 | + $(srcdir)/branding/icon-16x16.png \ |
472 | $(DESTDIR)$(datarootdir)/glade/pixmaps/hicolor/16x16/actions/widget-v3270-terminal.png | 494 | $(DESTDIR)$(datarootdir)/glade/pixmaps/hicolor/16x16/actions/widget-v3270-terminal.png |
473 | 495 | ||
474 | @$(INSTALL_DATA) \ | 496 | @$(INSTALL_DATA) \ |
475 | - branding/icon-22x22.png \ | 497 | + $(srcdir)/branding/icon-22x22.png \ |
476 | $(DESTDIR)$(datarootdir)/glade/pixmaps/hicolor/22x22/actions/widget-v3270-terminal.png | 498 | $(DESTDIR)$(datarootdir)/glade/pixmaps/hicolor/22x22/actions/widget-v3270-terminal.png |
477 | 499 | ||
478 | #---[ Misc Targets ]--------------------------------------------------------------------- | 500 | #---[ Misc Targets ]--------------------------------------------------------------------- |
479 | 501 | ||
480 | -$(POTDIR)/$(LIBNAME).pot: \ | ||
481 | - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(LIBNAME)/$(SRC).pot) | 502 | +$(POTDIR)/$(GETTEXT_PACKAGE).pot: \ |
503 | + $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot) | ||
482 | 504 | ||
483 | @rm -f $@ | 505 | @rm -f $@ |
484 | @$(MKDIR) $(@D) | 506 | @$(MKDIR) $(@D) |
485 | @$(MSGCAT) --sort-output $^ > $@ | 507 | @$(MSGCAT) --sort-output $^ > $@ |
486 | 508 | ||
487 | locale: \ | 509 | locale: \ |
488 | - locale/$(LIBNAME).pot | 510 | + locale/$(GETTEXT_PACKAGE).pot |
489 | 511 | ||
490 | @$(MAKE) -C locale all | 512 | @$(MAKE) -C locale all |
491 | 513 | ||
492 | -locale/$(LIBNAME).pot: \ | ||
493 | - $(POTDIR)/$(LIBNAME).pot | 514 | +locale/$(GETTEXT_PACKAGE).pot: \ |
515 | + $(POTDIR)/$(GETTEXT_PACKAGE).pot | ||
494 | 516 | ||
495 | @rm -f $@ | 517 | @rm -f $@ |
496 | @$(MKDIR) $(@D) | 518 | @$(MKDIR) $(@D) |
@@ -548,7 +570,7 @@ $(BINDBG)/$(SONAME): \ | @@ -548,7 +570,7 @@ $(BINDBG)/$(SONAME): \ | ||
548 | @$(MKDIR) $(@D) | 570 | @$(MKDIR) $(@D) |
549 | @echo $< ... | 571 | @echo $< ... |
550 | @$(LD) \ | 572 | @$(LD) \ |
551 | - -shared -Wl,-soname,$(@F) \ | 573 | + @DLL_LDFLAGS@ \ |
552 | -o $@ \ | 574 | -o $@ \ |
553 | -L$(BINDBG) \ | 575 | -L$(BINDBG) \ |
554 | $(LDFLAGS) \ | 576 | $(LDFLAGS) \ |
@@ -562,7 +584,7 @@ clean: \ | @@ -562,7 +584,7 @@ clean: \ | ||
562 | cleanDebug \ | 584 | cleanDebug \ |
563 | cleanRelease | 585 | cleanRelease |
564 | 586 | ||
565 | - @rm -fr $(BASEDIR)/.tmp/$(LIBNAME) | 587 | + @rm -fr $(BUILDDIR)/.tmp/$(LIBNAME) |
566 | @rm -fr $(POTDIR)/$(LIBNAME) | 588 | @rm -fr $(POTDIR)/$(LIBNAME) |
567 | @rm -fr src/include/marshal | 589 | @rm -fr src/include/marshal |
568 | @rm -fr locale/$(LIBNAME).pot | 590 | @rm -fr locale/$(LIBNAME).pot |
@@ -583,7 +605,7 @@ cleanRelease: | @@ -583,7 +605,7 @@ cleanRelease: | ||
583 | @rm -fr $(OBJDIR)/marshal | 605 | @rm -fr $(OBJDIR)/marshal |
584 | @rm -f src/terminal/marshal.h | 606 | @rm -f src/terminal/marshal.h |
585 | @rm -f src/filetransfer/marshal.h | 607 | @rm -f src/filetransfer/marshal.h |
586 | - @rm -f lib$(LIBNAME).pot | 608 | + @rm -f $(GETTEXT_PACKAGE).pot |
587 | 609 | ||
588 | clean: \ | 610 | clean: \ |
589 | cleanDebug \ | 611 | cleanDebug \ |
README.md
@@ -93,7 +93,9 @@ For the supported distributions get the install repositories and instructions fr | @@ -93,7 +93,9 @@ For the supported distributions get the install repositories and instructions fr | ||
93 | make all | 93 | make all |
94 | ``` | 94 | ``` |
95 | 95 | ||
96 | -## Building for macOS (using homebrew) | 96 | +## Building for macOS |
97 | + | ||
98 | +### Using homebrew | ||
97 | 99 | ||
98 | 1. Build and install [lib3270](../../../lib3270) | 100 | 1. Build and install [lib3270](../../../lib3270) |
99 | 101 | ||
@@ -106,17 +108,28 @@ For the supported distributions get the install repositories and instructions fr | @@ -106,17 +108,28 @@ For the supported distributions get the install repositories and instructions fr | ||
106 | 3. Configure, build and install | 108 | 3. Configure, build and install |
107 | 109 | ||
108 | ```shell | 110 | ```shell |
109 | - ./autogen.sh --prefix="$(brew --cellar)/libv3270/5.3" | 111 | + ./autogen.sh --prefix="$(brew --cellar)/libv3270/5.4" |
110 | make all && make install | 112 | make all && make install |
111 | brew link libv3270 | 113 | brew link libv3270 |
112 | ``` | 114 | ``` |
113 | 115 | ||
114 | -### Uninstalling | ||
115 | - | ||
116 | -1. To uninstall | 116 | +To uninstall |
117 | 117 | ||
118 | ```shell | 118 | ```shell |
119 | brew unlink libv3270 | 119 | brew unlink libv3270 |
120 | rm -fr "$(brew --cellar)/libv3270" | 120 | rm -fr "$(brew --cellar)/libv3270" |
121 | ``` | 121 | ``` |
122 | 122 | ||
123 | +### Using jhbuild | ||
124 | + | ||
125 | +1. Install jhbuild and GTK-OSX | ||
126 | + | ||
127 | + https://wiki.gnome.org/Projects/GTK/OSX/Building | ||
128 | + | ||
129 | +2. build | ||
130 | + | ||
131 | + ```shell | ||
132 | + jhbuild --moduleset=https://raw.githubusercontent.com/PerryWerneck/libv3270/macos/mac/libv3270.modules build libv3270 | ||
133 | + ``` | ||
134 | + | ||
135 | + |
autogen.sh
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | 2 | ||
3 | +builddir=${PWD} | ||
4 | + | ||
3 | test -n "$srcdir" || srcdir=`dirname "$0"` | 5 | test -n "$srcdir" || srcdir=`dirname "$0"` |
4 | test -n "$srcdir" || srcdir=. | 6 | test -n "$srcdir" || srcdir=. |
5 | 7 | ||
@@ -8,7 +10,16 @@ cd "$srcdir" | @@ -8,7 +10,16 @@ cd "$srcdir" | ||
8 | mkdir -p scripts | 10 | mkdir -p scripts |
9 | mkdir -p m4 | 11 | mkdir -p m4 |
10 | 12 | ||
11 | -libtoolize --force | 13 | +LIBTOOLIZE=$(which libtoolize) |
14 | +if [ -z ${LIBTOOLIZE} ]; then | ||
15 | + LIBTOOLIZE=$(which glibtoolize) | ||
16 | +fi | ||
17 | +if [ -z ${LIBTOOLIZE} ]; then | ||
18 | + echo "Can't find libtoolize" | ||
19 | + exit -1 | ||
20 | +fi | ||
21 | + | ||
22 | +${LIBTOOLIZE} --force | ||
12 | if test $? != 0 ; then | 23 | if test $? != 0 ; then |
13 | echo "libtoolize failed." | 24 | echo "libtoolize failed." |
14 | exit -1 | 25 | exit -1 |
@@ -34,7 +45,11 @@ fi | @@ -34,7 +45,11 @@ fi | ||
34 | 45 | ||
35 | automake --add-missing 2> /dev/null | true | 46 | automake --add-missing 2> /dev/null | true |
36 | 47 | ||
37 | -test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" | 48 | +autopoint |
49 | + | ||
50 | +cd "${builddir}" | ||
51 | + | ||
52 | +test -n "$NOCONFIGURE" || "$srcdir/configure" --srcdir=${srcdir} $@ | ||
38 | 53 | ||
39 | 54 | ||
40 | 55 |
configure.ac
@@ -52,6 +52,9 @@ AM_INIT_AUTOMAKE | @@ -52,6 +52,9 @@ AM_INIT_AUTOMAKE | ||
52 | dnl Check for iconv | 52 | dnl Check for iconv |
53 | AM_ICONV | 53 | AM_ICONV |
54 | 54 | ||
55 | +dnl Set gettext version | ||
56 | +AM_GNU_GETTEXT_VERSION([0.14]) | ||
57 | + | ||
55 | dnl Checks for programs. | 58 | dnl Checks for programs. |
56 | AC_PROG_CC | 59 | AC_PROG_CC |
57 | AC_PROG_SED | 60 | AC_PROG_SED |
@@ -103,9 +106,9 @@ case "$host" in | @@ -103,9 +106,9 @@ case "$host" in | ||
103 | *-apple-darwin*) | 106 | *-apple-darwin*) |
104 | CFLAGS="$CFLAGS -pthread" | 107 | CFLAGS="$CFLAGS -pthread" |
105 | LDFLAGS="$LDFLAGS -pthread" | 108 | LDFLAGS="$LDFLAGS -pthread" |
106 | - app_cv_osname="linux" | 109 | + app_cv_osname="macos" |
107 | LOGDIR="/var/log" | 110 | LOGDIR="/var/log" |
108 | - DLLEXT=".so" | 111 | + DLLEXT=".dylib" |
109 | DLL_LDFLAGS="-shared -Wl,-install_name,\$(@F)" | 112 | DLL_LDFLAGS="-shared -Wl,-install_name,\$(@F)" |
110 | 113 | ||
111 | INSTALL_PACKAGES="linux-lib ${INSTALL_PACKAGES}" | 114 | INSTALL_PACKAGES="linux-lib ${INSTALL_PACKAGES}" |
@@ -195,8 +198,8 @@ case "$host" in | @@ -195,8 +198,8 @@ case "$host" in | ||
195 | AC_SUBST(SONAME,libv3270.dll) | 198 | AC_SUBST(SONAME,libv3270.dll) |
196 | ;; | 199 | ;; |
197 | 200 | ||
198 | - s390x-*) | ||
199 | - AC_SUBST(SONAME,libv3270.so) | 201 | + *-apple-darwin*) |
202 | + AC_SUBST(SONAME,libv3270.dylib.$app_vrs_major.$app_vrs_minor) | ||
200 | ;; | 203 | ;; |
201 | 204 | ||
202 | *) | 205 | *) |
@@ -358,7 +361,7 @@ dnl Directory config | @@ -358,7 +361,7 @@ dnl Directory config | ||
358 | dnl --------------------------------------------------------------------------- | 361 | dnl --------------------------------------------------------------------------- |
359 | 362 | ||
360 | AC_ARG_WITH([build-dir], [AS_HELP_STRING([--with-build-dir], [Setup build path])], [ app_cv_buildir="$withval" ],[ app_cv_buildir="$ac_pwd" ]) | 363 | AC_ARG_WITH([build-dir], [AS_HELP_STRING([--with-build-dir], [Setup build path])], [ app_cv_buildir="$withval" ],[ app_cv_buildir="$ac_pwd" ]) |
361 | -AC_SUBST(BASEDIR,$app_cv_buildir) | 364 | +AC_SUBST(BUILDDIR,$app_cv_buildir) |
362 | 365 | ||
363 | dnl --------------------------------------------------------------------------- | 366 | dnl --------------------------------------------------------------------------- |
364 | dnl Configure which files to generate. | 367 | dnl Configure which files to generate. |
locale/Makefile.in
@@ -74,6 +74,7 @@ $(DESTDIR)$(localedir)/%/LC_MESSAGES/$(GETTEXT_PACKAGE).mo: \ | @@ -74,6 +74,7 @@ $(DESTDIR)$(localedir)/%/LC_MESSAGES/$(GETTEXT_PACKAGE).mo: \ | ||
74 | #---[ Targets ]-------------------------------------------------------------------------- | 74 | #---[ Targets ]-------------------------------------------------------------------------- |
75 | 75 | ||
76 | all: \ | 76 | all: \ |
77 | + $(GETTEXT_PACKAGE).pot \ | ||
77 | $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(GETTEXT_PACKAGE).mo) | 78 | $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(GETTEXT_PACKAGE).mo) |
78 | 79 | ||
79 | install: \ | 80 | install: \ |
locale/pt_BR.po
1 | # | 1 | # |
2 | -# Perry Werneck <perry.werneck@gmail.com>, 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020, 2021. | 2 | +# Perry Werneck <perry.werneck@gmail.com>, 2012-2021. |
3 | # | 3 | # |
4 | msgid "" | 4 | msgid "" |
5 | msgstr "" | 5 | msgstr "" |
6 | "Project-Id-Version: pw3270 5.0\n" | 6 | "Project-Id-Version: pw3270 5.0\n" |
7 | "Report-Msgid-Bugs-To: \n" | 7 | "Report-Msgid-Bugs-To: \n" |
8 | -"POT-Creation-Date: 2021-04-19 00:14-0300\n" | ||
9 | -"PO-Revision-Date: 2021-09-01 23:54-0300\n" | 8 | +"POT-Creation-Date: 2021-11-29 14:51-0300\n" |
9 | +"PO-Revision-Date: 2021-11-22 22:07-0300\n" | ||
10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | -"Language-Team: Português <perry.werneck@gmail.com>\n" | 11 | +"Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n" |
12 | "Language: pt_BR\n" | 12 | "Language: pt_BR\n" |
13 | "MIME-Version: 1.0\n" | 13 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=UTF-8\n" | 14 | "Content-Type: text/plain; charset=UTF-8\n" |
@@ -16,17 +16,17 @@ msgstr "" | @@ -16,17 +16,17 @@ msgstr "" | ||
16 | "X-Poedit-Language: Portuguese\n" | 16 | "X-Poedit-Language: Portuguese\n" |
17 | "X-Poedit-Country: BRAZIL\n" | 17 | "X-Poedit-Country: BRAZIL\n" |
18 | "X-Poedit-SourceCharset: utf-8\n" | 18 | "X-Poedit-SourceCharset: utf-8\n" |
19 | -"Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||
20 | -"X-Generator: Gtranslator 2.91.7\n" | 19 | +"Plural-Forms: nplurals=2; plural=(n > 1)\n" |
20 | +"X-Generator: Gtranslator 3.38.0\n" | ||
21 | 21 | ||
22 | -#: src/dialogs/settings/host.c:169 | 22 | +#: src/dialogs/settings/host.c:170 |
23 | msgid "16 colors" | 23 | msgid "16 colors" |
24 | msgstr "16 cores" | 24 | msgstr "16 cores" |
25 | 25 | ||
26 | -#: src/filetransfer/v3270ftprogress.c:386 src/filetransfer/v3270ft.c:353 | ||
27 | -#: src/dialogs/print/settingsdialog.c:284 | 26 | +#: src/filetransfer/v3270ft.c:354 src/filetransfer/v3270ftprogress.c:386 |
28 | #: src/dialogs/print/settingsdialog.c:286 | 27 | #: src/dialogs/print/settingsdialog.c:286 |
29 | #: src/dialogs/print/settingsdialog.c:288 | 28 | #: src/dialogs/print/settingsdialog.c:288 |
29 | +#: src/dialogs/print/settingsdialog.c:290 | ||
30 | msgid "3270 File transfer" | 30 | msgid "3270 File transfer" |
31 | msgstr "Transferência de arquivos 3270" | 31 | msgstr "Transferência de arquivos 3270" |
32 | 32 | ||
@@ -34,11 +34,11 @@ msgstr "Transferência de arquivos 3270" | @@ -34,11 +34,11 @@ msgstr "Transferência de arquivos 3270" | ||
34 | msgid "3270 screen" | 34 | msgid "3270 screen" |
35 | msgstr "Tela 3270" | 35 | msgstr "Tela 3270" |
36 | 36 | ||
37 | -#: src/dialogs/settings/host.c:168 | 37 | +#: src/dialogs/settings/host.c:169 |
38 | msgid "8 colors" | 38 | msgid "8 colors" |
39 | msgstr "8 cores" | 39 | msgstr "8 cores" |
40 | 40 | ||
41 | -#: src/terminal/widget.c:159 | 41 | +#: src/terminal/widget.c:152 |
42 | msgid "" | 42 | msgid "" |
43 | "<b>Identity not verified</b>\n" | 43 | "<b>Identity not verified</b>\n" |
44 | "Disconnected from host" | 44 | "Disconnected from host" |
@@ -54,19 +54,19 @@ msgstr "<b>Opções de texto</b>" | @@ -54,19 +54,19 @@ msgstr "<b>Opções de texto</b>" | ||
54 | msgid "A_ppend to file" | 54 | msgid "A_ppend to file" |
55 | msgstr "_Adicionar ao arquivo" | 55 | msgstr "_Adicionar ao arquivo" |
56 | 56 | ||
57 | -#: src/dialogs/security.c:238 | 57 | +#: src/dialogs/security.c:239 |
58 | msgid "About security" | 58 | msgid "About security" |
59 | msgstr "Sobre a segurança" | 59 | msgstr "Sobre a segurança" |
60 | 60 | ||
61 | -#: src/dialogs/settings/accelerator.c:196 | 61 | +#: src/dialogs/settings/accelerator.c:195 |
62 | msgid "Accelerator" | 62 | msgid "Accelerator" |
63 | msgstr "Atalho" | 63 | msgstr "Atalho" |
64 | 64 | ||
65 | -#: src/dialogs/settings/accelerator.c:334 | 65 | +#: src/dialogs/settings/accelerator.c:333 |
66 | msgid "Accelerator is in use" | 66 | msgid "Accelerator is in use" |
67 | msgstr "Atalho está em uso" | 67 | msgstr "Atalho está em uso" |
68 | 68 | ||
69 | -#: src/dialogs/settings/accelerator.c:245 | 69 | +#: src/dialogs/settings/accelerator.c:244 |
70 | msgid "Accelerators" | 70 | msgid "Accelerators" |
71 | msgstr "Atalhos" | 71 | msgstr "Atalhos" |
72 | 72 | ||
@@ -74,12 +74,12 @@ msgstr "Atalhos" | @@ -74,12 +74,12 @@ msgstr "Atalhos" | ||
74 | msgid "Action Name" | 74 | msgid "Action Name" |
75 | msgstr "Nome da Ação" | 75 | msgstr "Nome da Ação" |
76 | 76 | ||
77 | -#: src/dialogs/print/settingsdialog.c:200 | ||
78 | -#: src/dialogs/print/settingsdialog.c:236 | 77 | +#: src/dialogs/print/settingsdialog.c:202 |
78 | +#: src/dialogs/print/settingsdialog.c:238 | ||
79 | msgid "Activity already on the queue" | 79 | msgid "Activity already on the queue" |
80 | msgstr "Atividade já está na fila" | 80 | msgstr "Atividade já está na fila" |
81 | 81 | ||
82 | -#: src/terminal/actions/table.c:99 | 82 | +#: src/terminal/actions/table.c:63 |
83 | msgid "Add to copy" | 83 | msgid "Add to copy" |
84 | msgstr "Adicionar à cópia" | 84 | msgstr "Adicionar à cópia" |
85 | 85 | ||
@@ -91,7 +91,7 @@ msgstr "Endereço ou nome do host a conectar." | @@ -91,7 +91,7 @@ msgstr "Endereço ou nome do host a conectar." | ||
91 | msgid "All files" | 91 | msgid "All files" |
92 | msgstr "Todos os arquivos" | 92 | msgstr "Todos os arquivos" |
93 | 93 | ||
94 | -#: src/dialogs/settings/accelerator.c:206 | 94 | +#: src/dialogs/settings/accelerator.c:205 |
95 | msgid "Alternative" | 95 | msgid "Alternative" |
96 | msgstr "Alternativa" | 96 | msgstr "Alternativa" |
97 | 97 | ||
@@ -111,11 +111,11 @@ msgstr "" | @@ -111,11 +111,11 @@ msgstr "" | ||
111 | msgid "An invalid SEND or RECEIVE parameter was sent to the host." | 111 | msgid "An invalid SEND or RECEIVE parameter was sent to the host." |
112 | msgstr "Um parametro de ENVIO/RECEBIMENTO inválido foi enviado para o host." | 112 | msgstr "Um parametro de ENVIO/RECEBIMENTO inválido foi enviado para o host." |
113 | 113 | ||
114 | -#: src/terminal/actions/table.c:101 | 114 | +#: src/terminal/actions/table.c:65 |
115 | msgid "Append selected area to current clipboard contents" | 115 | msgid "Append selected area to current clipboard contents" |
116 | msgstr "Adiciona a área selecionada no conteúdo da área de transferência" | 116 | msgstr "Adiciona a área selecionada no conteúdo da área de transferência" |
117 | 117 | ||
118 | -#: src/terminal/actions/table.c:100 | 118 | +#: src/terminal/actions/table.c:64 |
119 | msgid "Append selection to clipboard" | 119 | msgid "Append selection to clipboard" |
120 | msgstr "Adiciona seleção na área de transferência" | 120 | msgstr "Adiciona seleção na área de transferência" |
121 | 121 | ||
@@ -123,16 +123,16 @@ msgstr "Adiciona seleção na área de transferência" | @@ -123,16 +123,16 @@ msgstr "Adiciona seleção na área de transferência" | ||
123 | msgid "Appends the source file to the destination file." | 123 | msgid "Appends the source file to the destination file." |
124 | msgstr "Adiciona conteúdo do arquivo origem ao final do arquivo destino." | 124 | msgstr "Adiciona conteúdo do arquivo origem ao final do arquivo destino." |
125 | 125 | ||
126 | -#: src/dialogs/settings/accelerator.c:316 | 126 | +#: src/dialogs/settings/accelerator.c:315 |
127 | #, c-format | 127 | #, c-format |
128 | msgid "Assign it to action (<b>%s</b>)?" | 128 | msgid "Assign it to action (<b>%s</b>)?" |
129 | msgstr "Associar com a ação (<b>%s</b>)?" | 129 | msgstr "Associar com a ação (<b>%s</b>)?" |
130 | 130 | ||
131 | -#: src/dialogs/settings/host.c:463 | 131 | +#: src/dialogs/settings/host.c:464 |
132 | msgid "Auto _disconnect" | 132 | msgid "Auto _disconnect" |
133 | msgstr "Desconexão automática" | 133 | msgstr "Desconexão automática" |
134 | 134 | ||
135 | -#: src/dialogs/font/chooser.c:279 | 135 | +#: src/dialogs/font/chooser.c:269 |
136 | msgid "Available fonts" | 136 | msgid "Available fonts" |
137 | msgstr "Fontes disponíveis" | 137 | msgstr "Fontes disponíveis" |
138 | 138 | ||
@@ -140,8 +140,8 @@ msgstr "Fontes disponíveis" | @@ -140,8 +140,8 @@ msgstr "Fontes disponíveis" | ||
140 | msgid "Avblock" | 140 | msgid "Avblock" |
141 | msgstr "Avblock" | 141 | msgstr "Avblock" |
142 | 142 | ||
143 | -#: src/dialogs/print/settingsdialog.c:411 | ||
144 | -#: src/dialogs/print/settingsdialog.c:430 | 143 | +#: src/dialogs/print/settingsdialog.c:413 |
144 | +#: src/dialogs/print/settingsdialog.c:432 | ||
145 | msgid "B_egin transfer" | 145 | msgid "B_egin transfer" |
146 | msgstr "Iniciar transferência" | 146 | msgstr "Iniciar transferência" |
147 | 147 | ||
@@ -161,7 +161,7 @@ msgstr "Tamanho do bloco:" | @@ -161,7 +161,7 @@ msgstr "Tamanho do bloco:" | ||
161 | msgid "Blue" | 161 | msgid "Blue" |
162 | msgstr "Azul" | 162 | msgstr "Azul" |
163 | 163 | ||
164 | -#: src/dialogs/font/chooser.c:328 | 164 | +#: src/dialogs/font/chooser.c:318 |
165 | msgid "Bold" | 165 | msgid "Bold" |
166 | msgstr "Negrito" | 166 | msgstr "Negrito" |
167 | 167 | ||
@@ -173,7 +173,7 @@ msgstr "C_odificação de caracteres" | @@ -173,7 +173,7 @@ msgstr "C_odificação de caracteres" | ||
173 | msgid "C_olor scheme:" | 173 | msgid "C_olor scheme:" |
174 | msgstr "Tema de c_ores:" | 174 | msgstr "Tema de c_ores:" |
175 | 175 | ||
176 | -#: src/dialogs/print/settingsdialog.c:244 | 176 | +#: src/dialogs/print/settingsdialog.c:246 |
177 | msgid "Can't add activity" | 177 | msgid "Can't add activity" |
178 | msgstr "Não é possível adicionar atividade" | 178 | msgstr "Não é possível adicionar atividade" |
179 | 179 | ||
@@ -205,7 +205,7 @@ msgstr "Erro ao converter valor do cgcsid" | @@ -205,7 +205,7 @@ msgstr "Erro ao converter valor do cgcsid" | ||
205 | msgid "Can't parse character value" | 205 | msgid "Can't parse character value" |
206 | msgstr "Erro ao analisar valor de caractere" | 206 | msgstr "Erro ao analisar valor de caractere" |
207 | 207 | ||
208 | -#: src/selection/linux/paste.c:81 src/selection/linux/paste.c:115 | 208 | +#: src/selection/windows/paste.c:79 src/selection/windows/paste.c:119 |
209 | msgid "Can't paste" | 209 | msgid "Can't paste" |
210 | msgstr "Não é possivel colar" | 210 | msgstr "Não é possivel colar" |
211 | 211 | ||
@@ -213,13 +213,13 @@ msgstr "Não é possivel colar" | @@ -213,13 +213,13 @@ msgstr "Não é possivel colar" | ||
213 | msgid "Can't paste text" | 213 | msgid "Can't paste text" |
214 | msgstr "Não é possível colar texto" | 214 | msgstr "Não é possível colar texto" |
215 | 215 | ||
216 | -#: src/filetransfer/save.c:117 src/filetransfer/activitylist.c:436 | ||
217 | -#: src/trace/trace.c:484 src/dialogs/transfer.c:91 src/dialogs/save/save.c:608 | 216 | +#: src/filetransfer/activitylist.c:436 src/filetransfer/save.c:117 |
217 | +#: src/trace/trace.c:483 src/dialogs/transfer.c:92 src/dialogs/save/save.c:608 | ||
218 | #, c-format | 218 | #, c-format |
219 | msgid "Can't save %s" | 219 | msgid "Can't save %s" |
220 | msgstr "Não foi possível salvar arquivo %s" | 220 | msgstr "Não foi possível salvar arquivo %s" |
221 | 221 | ||
222 | -#: src/filetransfer/worker.c:618 src/filetransfer/v3270ftprogress.c:781 | 222 | +#: src/filetransfer/v3270ftprogress.c:781 src/filetransfer/worker.c:618 |
223 | msgid "Can't set callback table" | 223 | msgid "Can't set callback table" |
224 | msgstr "Não foi possível setar a tabela de retornos" | 224 | msgstr "Não foi possível setar a tabela de retornos" |
225 | 225 | ||
@@ -227,16 +227,16 @@ msgstr "Não foi possível setar a tabela de retornos" | @@ -227,16 +227,16 @@ msgstr "Não foi possível setar a tabela de retornos" | ||
227 | msgid "Can't set lib3270 I/O controller" | 227 | msgid "Can't set lib3270 I/O controller" |
228 | msgstr "Não foi possível registrar manipuladores de I/O 3270" | 228 | msgstr "Não foi possível registrar manipuladores de I/O 3270" |
229 | 229 | ||
230 | -#: src/filetransfer/worker.c:599 src/filetransfer/v3270ftprogress.c:768 | 230 | +#: src/filetransfer/v3270ftprogress.c:768 src/filetransfer/worker.c:599 |
231 | msgid "Can't start file transfer session" | 231 | msgid "Can't start file transfer session" |
232 | msgstr "Não foi possível iniciar transferência de arquivo" | 232 | msgstr "Não foi possível iniciar transferência de arquivo" |
233 | 233 | ||
234 | -#: src/filetransfer/v3270ftprogress.c:433 src/filetransfer/transfer.c:89 | ||
235 | -#: src/dialogs/settings/host.c:366 src/tools/entry.c:99 | 234 | +#: src/filetransfer/transfer.c:90 src/filetransfer/v3270ftprogress.c:433 |
235 | +#: src/dialogs/settings/host.c:367 src/tools/entry.c:99 | ||
236 | msgid "Cancel" | 236 | msgid "Cancel" |
237 | msgstr "Cancelar" | 237 | msgstr "Cancelar" |
238 | 238 | ||
239 | -#: src/filetransfer/transfer.c:90 | 239 | +#: src/filetransfer/transfer.c:91 |
240 | msgid "Cancel transfer operation." | 240 | msgid "Cancel transfer operation." |
241 | msgstr "Cancelar transferência" | 241 | msgstr "Cancelar transferência" |
242 | 242 | ||
@@ -244,23 +244,19 @@ msgstr "Cancelar transferência" | @@ -244,23 +244,19 @@ msgstr "Cancelar transferência" | ||
244 | msgid "Check this if the file consists of character data only." | 244 | msgid "Check this if the file consists of character data only." |
245 | msgstr "Marque se o arquivo contem apenas texto." | 245 | msgstr "Marque se o arquivo contem apenas texto." |
246 | 246 | ||
247 | -#: src/dialogs/settings/clipboard.c:420 | 247 | +#: src/dialogs/settings/clipboard.c:432 |
248 | msgid "Clipboard" | 248 | msgid "Clipboard" |
249 | msgstr "Área de transferência" | 249 | msgstr "Área de transferência" |
250 | 250 | ||
251 | -#: src/terminal/properties/init.c:130 | 251 | +#: src/terminal/properties/init.c:120 |
252 | msgid "Clipboard name" | 252 | msgid "Clipboard name" |
253 | msgstr "Nome da área de transferência" | 253 | msgstr "Nome da área de transferência" |
254 | 254 | ||
255 | -#: src/dialogs/settings/clipboard.c:419 | ||
256 | -msgid "Clipboard properties" | ||
257 | -msgstr "Configuração da área de transferência" | ||
258 | - | ||
259 | #: src/dialogs/settings/colors.c:350 | 255 | #: src/dialogs/settings/colors.c:350 |
260 | msgid "Color _theme" | 256 | msgid "Color _theme" |
261 | msgstr "Tema de cores" | 257 | msgstr "Tema de cores" |
262 | 258 | ||
263 | -#: src/dialogs/settings/clipboard.c:110 | 259 | +#: src/dialogs/settings/clipboard.c:101 |
264 | msgid "Color theme" | 260 | msgid "Color theme" |
265 | msgstr "Tema de cores" | 261 | msgstr "Tema de cores" |
266 | 262 | ||
@@ -268,11 +264,11 @@ msgstr "Tema de cores" | @@ -268,11 +264,11 @@ msgstr "Tema de cores" | ||
268 | msgid "Colors" | 264 | msgid "Colors" |
269 | msgstr "Cores" | 265 | msgstr "Cores" |
270 | 266 | ||
271 | -#: src/terminal/properties/init.c:178 | 267 | +#: src/terminal/properties/init.c:184 |
272 | msgid "Comma separated list of LU names" | 268 | msgid "Comma separated list of LU names" |
273 | msgstr "Lista de LUs separadas por vírgula" | 269 | msgstr "Lista de LUs separadas por vírgula" |
274 | 270 | ||
275 | -#: src/dialogs/settings/host.c:241 | 271 | +#: src/dialogs/settings/host.c:242 |
276 | msgid "Comma separated list of LU names." | 272 | msgid "Comma separated list of LU names." |
277 | msgstr "Lista de LUs separadas por vírgula." | 273 | msgstr "Lista de LUs separadas por vírgula." |
278 | 274 | ||
@@ -280,47 +276,47 @@ msgstr "Lista de LUs separadas por vírgula." | @@ -280,47 +276,47 @@ msgstr "Lista de LUs separadas por vírgula." | ||
280 | msgid "Comma-separated values (CSV)" | 276 | msgid "Comma-separated values (CSV)" |
281 | msgstr "Arquivo separado por vírgulas (CSV)" | 277 | msgstr "Arquivo separado por vírgulas (CSV)" |
282 | 278 | ||
283 | -#: src/trace/trace.c:358 | 279 | +#: src/trace/trace.c:357 |
284 | msgid "Command to execute" | 280 | msgid "Command to execute" |
285 | msgstr "Comando a executar" | 281 | msgstr "Comando a executar" |
286 | 282 | ||
287 | -#: src/dialogs/settings/host.c:430 | 283 | +#: src/dialogs/settings/host.c:431 |
288 | msgid "Connection" | 284 | msgid "Connection" |
289 | msgstr "Conexão" | 285 | msgstr "Conexão" |
290 | 286 | ||
291 | -#: src/terminal/actions/table.c:70 src/terminal/actions/table.c:111 | 287 | +#: src/terminal/actions/table.c:52 src/terminal/actions/table.c:92 |
292 | msgid "Copy" | 288 | msgid "Copy" |
293 | msgstr "Copiar" | 289 | msgstr "Copiar" |
294 | 290 | ||
295 | -#: src/terminal/actions/table.c:79 | 291 | +#: src/terminal/actions/table.c:72 |
296 | msgid "Copy as HTML" | 292 | msgid "Copy as HTML" |
297 | msgstr "Copiar como HTML" | 293 | msgstr "Copiar como HTML" |
298 | 294 | ||
299 | -#: src/terminal/actions/table.c:88 | 295 | +#: src/terminal/actions/table.c:81 |
300 | msgid "Copy as image" | 296 | msgid "Copy as image" |
301 | msgstr "Copiar como imagem" | 297 | msgstr "Copiar como imagem" |
302 | 298 | ||
303 | -#: src/terminal/actions/table.c:112 | 299 | +#: src/terminal/actions/table.c:93 |
304 | msgid "Copy as plain text" | 300 | msgid "Copy as plain text" |
305 | msgstr "Copiar como texto puro" | 301 | msgstr "Copiar como texto puro" |
306 | 302 | ||
307 | -#: src/terminal/actions/table.c:122 src/terminal/actions/table.c:123 | 303 | +#: src/terminal/actions/table.c:103 src/terminal/actions/table.c:104 |
308 | msgid "Copy as table" | 304 | msgid "Copy as table" |
309 | msgstr "Copiar como tabela" | 305 | msgstr "Copiar como tabela" |
310 | 306 | ||
311 | -#: src/dialogs/settings/clipboard.c:250 | 307 | +#: src/dialogs/settings/clipboard.c:252 |
312 | msgid "Copy options" | 308 | msgid "Copy options" |
313 | msgstr "Opções da cópia" | 309 | msgstr "Opções da cópia" |
314 | 310 | ||
315 | -#: src/terminal/actions/table.c:80 | 311 | +#: src/terminal/actions/table.c:73 |
316 | msgid "Copy selection in HTML format" | 312 | msgid "Copy selection in HTML format" |
317 | msgstr "Copia seleção em formato HTML" | 313 | msgstr "Copia seleção em formato HTML" |
318 | 314 | ||
319 | -#: src/terminal/actions/table.c:89 | 315 | +#: src/terminal/actions/table.c:82 |
320 | msgid "Copy selection in image format" | 316 | msgid "Copy selection in image format" |
321 | msgstr "Copia imagem da seleção" | 317 | msgstr "Copia imagem da seleção" |
322 | 318 | ||
323 | -#: src/terminal/actions/table.c:71 | 319 | +#: src/terminal/actions/table.c:53 |
324 | msgid "Copy selection to clipboard" | 320 | msgid "Copy selection to clipboard" |
325 | msgstr "Salvar seleção para área de transferência" | 321 | msgstr "Salvar seleção para área de transferência" |
326 | 322 | ||
@@ -358,24 +354,24 @@ msgstr "Posição atual da transferência" | @@ -358,24 +354,24 @@ msgstr "Posição atual da transferência" | ||
358 | msgid "Current:" | 354 | msgid "Current:" |
359 | msgstr "Atual:" | 355 | msgstr "Atual:" |
360 | 356 | ||
361 | -#: src/dialogs/settings/host.c:227 | 357 | +#: src/dialogs/settings/host.c:228 |
362 | msgid "Custom Remap" | 358 | msgid "Custom Remap" |
363 | msgstr "Mapeamento personalizado" | 359 | msgstr "Mapeamento personalizado" |
364 | 360 | ||
365 | -#: src/terminal/actions/table.c:133 src/terminal/actions/table.c:142 | ||
366 | -#: src/terminal/actions/table.c:153 | 361 | +#: src/terminal/actions/table.c:114 src/terminal/actions/table.c:123 |
362 | +#: src/terminal/actions/table.c:134 | ||
367 | msgid "Cut" | 363 | msgid "Cut" |
368 | msgstr "Recortar" | 364 | msgstr "Recortar" |
369 | 365 | ||
370 | -#: src/terminal/actions/table.c:143 | 366 | +#: src/terminal/actions/table.c:124 |
371 | msgid "Cut and append to copy" | 367 | msgid "Cut and append to copy" |
372 | msgstr "Recortar e adicionar à cópia" | 368 | msgstr "Recortar e adicionar à cópia" |
373 | 369 | ||
374 | -#: src/terminal/actions/table.c:154 | 370 | +#: src/terminal/actions/table.c:135 |
375 | msgid "Cut as plain text" | 371 | msgid "Cut as plain text" |
376 | msgstr "Recortar como texto puro" | 372 | msgstr "Recortar como texto puro" |
377 | 373 | ||
378 | -#: src/terminal/actions/table.c:164 src/terminal/actions/table.c:165 | 374 | +#: src/terminal/actions/table.c:145 src/terminal/actions/table.c:146 |
379 | msgid "Cut as table" | 375 | msgid "Cut as table" |
380 | msgstr "Recortar como tabela" | 376 | msgstr "Recortar como tabela" |
381 | 377 | ||
@@ -403,11 +399,15 @@ msgstr "Turquesa Escuro" | @@ -403,11 +399,15 @@ msgstr "Turquesa Escuro" | ||
403 | msgid "Default" | 399 | msgid "Default" |
404 | msgstr "Padrão" | 400 | msgstr "Padrão" |
405 | 401 | ||
406 | -#: src/dialogs/popups.c:155 | 402 | +#: src/dialogs/settings/clipboard.c:174 |
403 | +msgid "Detect http:// or https://" | ||
404 | +msgstr "Detectar http:// ou https://" | ||
405 | + | ||
406 | +#: src/dialogs/popups.c:168 | ||
407 | msgid "Don't ask again" | 407 | msgid "Don't ask again" |
408 | msgstr "Não perguntar de novo" | 408 | msgstr "Não perguntar de novo" |
409 | 409 | ||
410 | -#: src/dialogs/font/chooser.c:335 | 410 | +#: src/dialogs/font/chooser.c:325 |
411 | msgid "Dynamic font spacing" | 411 | msgid "Dynamic font spacing" |
412 | msgstr "Espaçamento dinâmico" | 412 | msgstr "Espaçamento dinâmico" |
413 | 413 | ||
@@ -415,11 +415,35 @@ msgstr "Espaçamento dinâmico" | @@ -415,11 +415,35 @@ msgstr "Espaçamento dinâmico" | ||
415 | msgid "ETA:" | 415 | msgid "ETA:" |
416 | msgstr "ETA:" | 416 | msgstr "ETA:" |
417 | 417 | ||
418 | -#: src/terminal/actions/pfkey.c:105 src/terminal/actions/pakey.c:105 | 418 | +#: src/terminal/actions/table.c:354 |
419 | +msgid "Edit clipboard settings" | ||
420 | +msgstr "Altera configurações da area de transferência" | ||
421 | + | ||
422 | +#: src/terminal/actions/table.c:337 | ||
423 | +msgid "Edit host and terminal emulation settings" | ||
424 | +msgstr "Alterar configurações do servidor e emulação" | ||
425 | + | ||
426 | +#: src/terminal/actions/table.c:328 | ||
427 | +msgid "Edit keyboard accelerators" | ||
428 | +msgstr "Alterar atalhos de teclado" | ||
429 | + | ||
430 | +#: src/terminal/actions/table.c:346 | ||
431 | +msgid "Edit terminal colors" | ||
432 | +msgstr "Altera cores do terminal" | ||
433 | + | ||
434 | +#: src/terminal/actions/pakey.c:105 src/terminal/actions/pfkey.c:105 | ||
419 | msgid "Emit a PA Key action" | 435 | msgid "Emit a PA Key action" |
420 | msgstr "Emite uma ação de tecla PA" | 436 | msgstr "Emite uma ação de tecla PA" |
421 | 437 | ||
422 | -#: src/dialogs/settings/host.c:440 | 438 | +#: src/terminal/properties/init.c:168 |
439 | +msgid "" | ||
440 | +"Emit signal 'open-url' when an http:// or https:// string is selected by " | ||
441 | +"action 'word-select'" | ||
442 | +msgstr "" | ||
443 | +"Emite sinal 'open-url' quando uma string iniciada com http:// ou https:// é " | ||
444 | +"selecionada pela ação 'word-select'" | ||
445 | + | ||
446 | +#: src/dialogs/settings/host.c:441 | ||
423 | msgid "Emulation" | 447 | msgid "Emulation" |
424 | msgstr "Emulação" | 448 | msgstr "Emulação" |
425 | 449 | ||
@@ -447,11 +471,11 @@ msgstr "Cor dos campos" | @@ -447,11 +471,11 @@ msgstr "Cor dos campos" | ||
447 | msgid "File _Format" | 471 | msgid "File _Format" |
448 | msgstr "_Formato do arquivo" | 472 | msgstr "_Formato do arquivo" |
449 | 473 | ||
450 | -#: src/dialogs/print/settingsdialog.c:361 | 474 | +#: src/dialogs/print/settingsdialog.c:363 |
451 | msgid "Files to transfer" | 475 | msgid "Files to transfer" |
452 | msgstr "Arquivos a transferir" | 476 | msgstr "Arquivos a transferir" |
453 | 477 | ||
454 | -#: src/terminal/actions/table.c:240 | 478 | +#: src/terminal/actions/table.c:221 |
455 | msgid "Fit best" | 479 | msgid "Fit best" |
456 | msgstr "Melhor tamanho" | 480 | msgstr "Melhor tamanho" |
457 | 481 | ||
@@ -459,7 +483,7 @@ msgstr "Melhor tamanho" | @@ -459,7 +483,7 @@ msgstr "Melhor tamanho" | ||
459 | msgid "Fixed" | 483 | msgid "Fixed" |
460 | msgstr "Fixo" | 484 | msgstr "Fixo" |
461 | 485 | ||
462 | -#: src/terminal/properties/init.c:224 | 486 | +#: src/terminal/properties/init.c:230 |
463 | msgid "Flags to cut&paste" | 487 | msgid "Flags to cut&paste" |
464 | msgstr "Opções para recortar & colar" | 488 | msgstr "Opções para recortar & colar" |
465 | 489 | ||
@@ -480,7 +504,7 @@ msgstr "" | @@ -480,7 +504,7 @@ msgstr "" | ||
480 | "Seguindo a convenção para arquivos texto ASCII, LF é usado para terminar " | 504 | "Seguindo a convenção para arquivos texto ASCII, LF é usado para terminar " |
481 | "registros no arquivo do PC." | 505 | "registros no arquivo do PC." |
482 | 506 | ||
483 | -#: src/dialogs/font/chooser.c:350 src/dialogs/settings/clipboard.c:93 | 507 | +#: src/dialogs/font/chooser.c:340 src/dialogs/settings/clipboard.c:84 |
484 | msgid "Font" | 508 | msgid "Font" |
485 | msgstr "Fonte" | 509 | msgstr "Fonte" |
486 | 510 | ||
@@ -494,11 +518,15 @@ msgstr "Fonte \"%s\" não é mono espaçada" | @@ -494,11 +518,15 @@ msgstr "Fonte \"%s\" não é mono espaçada" | ||
494 | msgid "Font \"%s\" is valid" | 518 | msgid "Font \"%s\" is valid" |
495 | msgstr "Fonte \"%s\" é válida" | 519 | msgstr "Fonte \"%s\" é válida" |
496 | 520 | ||
497 | -#: src/terminal/properties/init.c:82 | 521 | +#: src/terminal/properties/init.c:72 |
498 | msgid "Font family for terminal contents" | 522 | msgid "Font family for terminal contents" |
499 | msgstr "Familia da fonte usada no terminal" | 523 | msgstr "Familia da fonte usada no terminal" |
500 | 524 | ||
501 | -#: src/dialogs/settings/clipboard.c:127 | 525 | +#: src/terminal/actions/table.c:362 |
526 | +msgid "Font settings" | ||
527 | +msgstr "Configurações de fonte" | ||
528 | + | ||
529 | +#: src/dialogs/settings/clipboard.c:118 | ||
502 | msgid "Format" | 530 | msgid "Format" |
503 | msgstr "Formato" | 531 | msgstr "Formato" |
504 | 532 | ||
@@ -510,11 +538,11 @@ msgstr "Caminho completo do arquivo local" | @@ -510,11 +538,11 @@ msgstr "Caminho completo do arquivo local" | ||
510 | msgid "Full path of remote file" | 538 | msgid "Full path of remote file" |
511 | msgstr "Caminho completo do arquivo remoto" | 539 | msgstr "Caminho completo do arquivo remoto" |
512 | 540 | ||
513 | -#: src/filetransfer/v3270ft.c:371 | 541 | +#: src/filetransfer/v3270ft.c:372 |
514 | msgid "Get transfer queue from an external XML file" | 542 | msgid "Get transfer queue from an external XML file" |
515 | msgstr "Obtém a fila de transferência de um arquivo XML externo" | 543 | msgstr "Obtém a fila de transferência de um arquivo XML externo" |
516 | 544 | ||
517 | -#: src/dialogs/print/settingsdialog.c:346 | 545 | +#: src/dialogs/print/settingsdialog.c:348 |
518 | msgid "Get transfer queue from file" | 546 | msgid "Get transfer queue from file" |
519 | msgstr "Obtêm a fila de arquivos a transferir de um arquivo" | 547 | msgstr "Obtêm a fila de arquivos a transferir de um arquivo" |
520 | 548 | ||
@@ -526,15 +554,19 @@ msgstr "Cinza" | @@ -526,15 +554,19 @@ msgstr "Cinza" | ||
526 | msgid "Green" | 554 | msgid "Green" |
527 | msgstr "Verde" | 555 | msgstr "Verde" |
528 | 556 | ||
529 | -#: src/dialogs/settings/clipboard.c:252 | 557 | +#: src/dialogs/settings/clipboard.c:254 |
530 | msgid "HTML options" | 558 | msgid "HTML options" |
531 | msgstr "Opções HTML" | 559 | msgstr "Opções HTML" |
532 | 560 | ||
533 | -#: src/dialogs/settings/host.c:580 | 561 | +#: src/dialogs/settings/host.c:581 |
534 | msgid "Host" | 562 | msgid "Host" |
535 | msgstr "Servidor" | 563 | msgstr "Servidor" |
536 | 564 | ||
537 | -#: src/dialogs/settings/host.c:579 | 565 | +#: src/terminal/actions/table.c:336 |
566 | +msgid "Host and emulation settings" | ||
567 | +msgstr "Configuração de servidor e emulação" | ||
568 | + | ||
569 | +#: src/dialogs/settings/host.c:580 | ||
538 | msgid "Host settings" | 570 | msgid "Host settings" |
539 | msgstr "Configurações do servidor" | 571 | msgstr "Configurações do servidor" |
540 | 572 | ||
@@ -546,15 +578,15 @@ msgstr "Nome do host" | @@ -546,15 +578,15 @@ msgstr "Nome do host" | ||
546 | msgid "HyperText Markup Language (HTML)" | 578 | msgid "HyperText Markup Language (HTML)" |
547 | msgstr "Documento HTML" | 579 | msgstr "Documento HTML" |
548 | 580 | ||
549 | -#: src/dialogs/settings/host.c:139 | 581 | +#: src/dialogs/settings/host.c:140 |
550 | msgid "IBM AS/400" | 582 | msgid "IBM AS/400" |
551 | msgstr "IBM AS/400" | 583 | msgstr "IBM AS/400" |
552 | 584 | ||
553 | -#: src/dialogs/settings/host.c:138 | 585 | +#: src/dialogs/settings/host.c:139 |
554 | msgid "IBM S/390" | 586 | msgid "IBM S/390" |
555 | msgstr "IBM S/390" | 587 | msgstr "IBM S/390" |
556 | 588 | ||
557 | -#: src/terminal/properties/init.c:113 src/dialogs/settings/host.c:467 | 589 | +#: src/terminal/properties/init.c:103 src/dialogs/settings/host.c:468 |
558 | msgid "IDLE minutes for automatic disconnection" | 590 | msgid "IDLE minutes for automatic disconnection" |
559 | msgstr "Minutos para desconexão automática" | 591 | msgstr "Minutos para desconexão automática" |
560 | 592 | ||
@@ -566,27 +598,27 @@ msgstr "Nome do ícone" | @@ -566,27 +598,27 @@ msgstr "Nome do ícone" | ||
566 | msgid "If the action can be activated" | 598 | msgid "If the action can be activated" |
567 | msgstr "Se a ação pode ser ativada" | 599 | msgstr "Se a ação pode ser ativada" |
568 | 600 | ||
569 | -#: src/filetransfer/transfer.c:80 | 601 | +#: src/filetransfer/transfer.c:81 |
570 | msgid "Ignore" | 602 | msgid "Ignore" |
571 | msgstr "Ignore" | 603 | msgstr "Ignore" |
572 | 604 | ||
573 | -#: src/filetransfer/transfer.c:81 | 605 | +#: src/filetransfer/transfer.c:82 |
574 | msgid "Ignore the fail and remove the file from queue." | 606 | msgid "Ignore the fail and remove the file from queue." |
575 | msgstr "Ignore the fail and remove the file from queue." | 607 | msgstr "Ignore the fail and remove the file from queue." |
576 | 608 | ||
577 | -#: src/dialogs/settings/clipboard.c:173 | 609 | +#: src/dialogs/settings/clipboard.c:164 |
578 | msgid "Image copy" | 610 | msgid "Image copy" |
579 | msgstr "Copiar imagem" | 611 | msgstr "Copiar imagem" |
580 | 612 | ||
581 | -#: src/terminal/actions/table.c:220 | 613 | +#: src/terminal/actions/table.c:201 |
582 | msgid "Increase the font size" | 614 | msgid "Increase the font size" |
583 | msgstr "Aumenta o tamanho da fonte" | 615 | msgstr "Aumenta o tamanho da fonte" |
584 | 616 | ||
585 | -#: src/terminal/actions/table.c:177 | 617 | +#: src/terminal/actions/table.c:158 |
586 | msgid "Input current clipboard contents to screen" | 618 | msgid "Input current clipboard contents to screen" |
587 | msgstr "Insere conteúdo da área de transferência" | 619 | msgstr "Insere conteúdo da área de transferência" |
588 | 620 | ||
589 | -#: src/filetransfer/v3270ft.c:387 | 621 | +#: src/filetransfer/v3270ft.c:388 |
590 | msgid "Insert new file in the transfer queue" | 622 | msgid "Insert new file in the transfer queue" |
591 | msgstr "Inserir um novo arquivo na fila de transferência" | 623 | msgstr "Inserir um novo arquivo na fila de transferência" |
592 | 624 | ||
@@ -598,7 +630,7 @@ msgstr "Intensificado/Protegido" | @@ -598,7 +630,7 @@ msgstr "Intensificado/Protegido" | ||
598 | msgid "Intensified/Unprotected" | 630 | msgid "Intensified/Unprotected" |
599 | msgstr "Intensificado/Desprotegido" | 631 | msgstr "Intensificado/Desprotegido" |
600 | 632 | ||
601 | -#: src/terminal/callbacks.c:463 | 633 | +#: src/terminal/callbacks.c:489 |
602 | #, c-format | 634 | #, c-format |
603 | msgid "" | 635 | msgid "" |
604 | "Invalid callback table, the release %s of lib%s can't be used (expecting " | 636 | "Invalid callback table, the release %s of lib%s can't be used (expecting " |
@@ -615,24 +647,24 @@ msgstr "Valor cgcsgid é inválido" | @@ -615,24 +647,24 @@ msgstr "Valor cgcsgid é inválido" | ||
615 | msgid "Invalid remap scope" | 647 | msgid "Invalid remap scope" |
616 | msgstr "Escopo de mapeamento inválido" | 648 | msgstr "Escopo de mapeamento inválido" |
617 | 649 | ||
618 | -#: src/dialogs/security.c:185 | 650 | +#: src/dialogs/security.c:186 |
619 | msgid "Invalid state" | 651 | msgid "Invalid state" |
620 | msgstr "Estado inválido" | 652 | msgstr "Estado inválido" |
621 | 653 | ||
622 | -#: src/dialogs/settings/accelerator.c:150 | ||
623 | -#: src/dialogs/settings/accelerator.c:244 | 654 | +#: src/terminal/actions/table.c:327 src/dialogs/settings/accelerator.c:149 |
655 | +#: src/dialogs/settings/accelerator.c:243 | ||
624 | msgid "Keyboard accelerators" | 656 | msgid "Keyboard accelerators" |
625 | msgstr "Atalhos de teclado" | 657 | msgstr "Atalhos de teclado" |
626 | 658 | ||
627 | -#: src/dialogs/settings/host.c:240 | 659 | +#: src/dialogs/settings/host.c:241 |
628 | msgid "L_U Names" | 660 | msgid "L_U Names" |
629 | msgstr "Nomes de L_U" | 661 | msgstr "Nomes de L_U" |
630 | 662 | ||
631 | -#: src/filetransfer/v3270ft.c:198 src/filetransfer/activitylist.c:384 | 663 | +#: src/filetransfer/activitylist.c:384 src/filetransfer/v3270ft.c:199 |
632 | msgid "Load" | 664 | msgid "Load" |
633 | msgstr "Load" | 665 | msgstr "Load" |
634 | 666 | ||
635 | -#: src/filetransfer/v3270ft.c:197 src/filetransfer/activitylist.c:383 | 667 | +#: src/filetransfer/activitylist.c:383 src/filetransfer/v3270ft.c:198 |
636 | msgid "Load queue from file" | 668 | msgid "Load queue from file" |
637 | msgstr "Ler a fila de um arquivo" | 669 | msgstr "Ler a fila de um arquivo" |
638 | 670 | ||
@@ -644,7 +676,7 @@ msgstr "Arquivo local:" | @@ -644,7 +676,7 @@ msgstr "Arquivo local:" | ||
644 | msgid "Local:" | 676 | msgid "Local:" |
645 | msgstr "Local:" | 677 | msgstr "Local:" |
646 | 678 | ||
647 | -#: src/dialogs/settings/host.c:215 | 679 | +#: src/dialogs/settings/host.c:216 |
648 | msgid "Makes the screen larger than the default for the chosen model number." | 680 | msgid "Makes the screen larger than the default for the chosen model number." |
649 | msgstr "Usa tamanho maior do que o padrão para o modelo escolhido." | 681 | msgstr "Usa tamanho maior do que o padrão para o modelo escolhido." |
650 | 682 | ||
@@ -652,23 +684,23 @@ msgstr "Usa tamanho maior do que o padrão para o modelo escolhido." | @@ -652,23 +684,23 @@ msgstr "Usa tamanho maior do que o padrão para o modelo escolhido." | ||
652 | msgid "Misc colors" | 684 | msgid "Misc colors" |
653 | msgstr "Cores diversas" | 685 | msgstr "Cores diversas" |
654 | 686 | ||
655 | -#: src/dialogs/settings/host.c:196 | 687 | +#: src/dialogs/settings/host.c:197 |
656 | msgid "Model 2 - 80x24" | 688 | msgid "Model 2 - 80x24" |
657 | msgstr "Modelo 2 - 80x24" | 689 | msgstr "Modelo 2 - 80x24" |
658 | 690 | ||
659 | -#: src/dialogs/settings/host.c:197 | 691 | +#: src/dialogs/settings/host.c:198 |
660 | msgid "Model 3 - 80x32" | 692 | msgid "Model 3 - 80x32" |
661 | msgstr "Modelo 3 - 80x32" | 693 | msgstr "Modelo 3 - 80x32" |
662 | 694 | ||
663 | -#: src/dialogs/settings/host.c:198 | 695 | +#: src/dialogs/settings/host.c:199 |
664 | msgid "Model 4 - 80x43" | 696 | msgid "Model 4 - 80x43" |
665 | msgstr "Modelo 4 - 80x43" | 697 | msgstr "Modelo 4 - 80x43" |
666 | 698 | ||
667 | -#: src/dialogs/settings/host.c:199 | 699 | +#: src/dialogs/settings/host.c:200 |
668 | msgid "Model 5 - 132x27" | 700 | msgid "Model 5 - 132x27" |
669 | msgstr "Modelo 5 - 132x27" | 701 | msgstr "Modelo 5 - 132x27" |
670 | 702 | ||
671 | -#: src/dialogs/settings/host.c:167 | 703 | +#: src/dialogs/settings/host.c:168 |
672 | msgid "Monochrome" | 704 | msgid "Monochrome" |
673 | msgstr "Monocromático" | 705 | msgstr "Monocromático" |
674 | 706 | ||
@@ -676,11 +708,11 @@ msgstr "Monocromático" | @@ -676,11 +708,11 @@ msgstr "Monocromático" | ||
676 | msgid "Mustard" | 708 | msgid "Mustard" |
677 | msgstr "Mostarda" | 709 | msgstr "Mostarda" |
678 | 710 | ||
679 | -#: src/dialogs/settings/accelerator.c:158 | 711 | +#: src/dialogs/settings/accelerator.c:157 |
680 | msgid "Name" | 712 | msgid "Name" |
681 | msgstr "Nome" | 713 | msgstr "Nome" |
682 | 714 | ||
683 | -#: src/dialogs/settings/host.c:430 | 715 | +#: src/dialogs/settings/host.c:431 |
684 | msgid "Network connection settings" | 716 | msgid "Network connection settings" |
685 | msgstr "Configuração da conexão de rede" | 717 | msgstr "Configuração da conexão de rede" |
686 | 718 | ||
@@ -688,11 +720,11 @@ msgstr "Configuração da conexão de rede" | @@ -688,11 +720,11 @@ msgstr "Configuração da conexão de rede" | ||
688 | msgid "No active transfer" | 720 | msgid "No active transfer" |
689 | msgstr "Nenhuma transferência ativa" | 721 | msgstr "Nenhuma transferência ativa" |
690 | 722 | ||
691 | -#: src/dialogs/popups.c:141 | 723 | +#: src/dialogs/popups.c:154 |
692 | msgid "No host" | 724 | msgid "No host" |
693 | msgstr "Nenhum servidor" | 725 | msgstr "Nenhum servidor" |
694 | 726 | ||
695 | -#: src/terminal/properties/get.c:205 | 727 | +#: src/terminal/properties/get.c:193 |
696 | msgid "No host defined" | 728 | msgid "No host defined" |
697 | msgstr "Nenhum servidor definido" | 729 | msgstr "Nenhum servidor definido" |
698 | 730 | ||
@@ -708,18 +740,14 @@ msgstr "Nenhuma transferência" | @@ -708,18 +740,14 @@ msgstr "Nenhuma transferência" | ||
708 | msgid "No transfer in progress" | 740 | msgid "No transfer in progress" |
709 | msgstr "Nenhuma transferência em andamento" | 741 | msgstr "Nenhuma transferência em andamento" |
710 | 742 | ||
711 | -#: src/dialogs/settings/clipboard.c:317 | 743 | +#: src/dialogs/settings/clipboard.c:328 |
712 | msgid "None (Don't export color)" | 744 | msgid "None (Don't export color)" |
713 | msgstr "Nenhum (Não exporta cores)" | 745 | msgstr "Nenhum (Não exporta cores)" |
714 | 746 | ||
715 | -#: src/dialogs/settings/clipboard.c:437 | 747 | +#: src/dialogs/settings/clipboard.c:449 |
716 | msgid "None (Don't export font name)" | 748 | msgid "None (Don't export font name)" |
717 | msgstr "Nenhuma (Não exporta fontes)" | 749 | msgstr "Nenhuma (Não exporta fontes)" |
718 | 750 | ||
719 | -#: src/selection/linux/paste.c:117 | ||
720 | -msgid "None of the screens in the clipboard match with the current one." | ||
721 | -msgstr "Nenhuma das telas da área de transferência corresponde à atual." | ||
722 | - | ||
723 | #: src/dialogs/settings/colors.c:174 | 751 | #: src/dialogs/settings/colors.c:174 |
724 | msgid "Normal/Protected" | 752 | msgid "Normal/Protected" |
725 | msgstr "Normal/Protegido" | 753 | msgstr "Normal/Protegido" |
@@ -728,7 +756,7 @@ msgstr "Normal/Protegido" | @@ -728,7 +756,7 @@ msgstr "Normal/Protegido" | ||
728 | msgid "Normal/Unprotected" | 756 | msgid "Normal/Unprotected" |
729 | msgstr "Normal/Desprotegido" | 757 | msgstr "Normal/Desprotegido" |
730 | 758 | ||
731 | -#: src/selection/linux/paste.c:77 | 759 | +#: src/selection/windows/paste.c:75 |
732 | msgid "Not the same terminal type" | 760 | msgid "Not the same terminal type" |
733 | msgstr "O tipo de terminal é diferente" | 761 | msgstr "O tipo de terminal é diferente" |
734 | 762 | ||
@@ -764,19 +792,23 @@ msgstr "Operação falhou" | @@ -764,19 +792,23 @@ msgstr "Operação falhou" | ||
764 | msgid "Options" | 792 | msgid "Options" |
765 | msgstr "Opções" | 793 | msgstr "Opções" |
766 | 794 | ||
795 | +#: src/dialogs/settings/clipboard.c:431 | ||
796 | +msgid "Options for select, cut and paste actions" | ||
797 | +msgstr "Configuração para selecionar, recortar e colar" | ||
798 | + | ||
767 | #: src/dialogs/settings/colors.c:165 | 799 | #: src/dialogs/settings/colors.c:165 |
768 | msgid "Orange" | 800 | msgid "Orange" |
769 | msgstr "Laranja" | 801 | msgstr "Laranja" |
770 | 802 | ||
771 | -#: src/dialogs/settings/host.c:140 | 803 | +#: src/dialogs/settings/host.c:141 |
772 | msgid "Other (TSO)" | 804 | msgid "Other (TSO)" |
773 | msgstr "Outro (TSO)" | 805 | msgstr "Outro (TSO)" |
774 | 806 | ||
775 | -#: src/dialogs/settings/host.c:141 | 807 | +#: src/dialogs/settings/host.c:142 |
776 | msgid "Other (VM/CMS)" | 808 | msgid "Other (VM/CMS)" |
777 | msgstr "Outro (VM/CMS)" | 809 | msgstr "Outro (VM/CMS)" |
778 | 810 | ||
779 | -#: src/dialogs/settings/host.c:214 | 811 | +#: src/dialogs/settings/host.c:215 |
780 | msgid "Oversize" | 812 | msgid "Oversize" |
781 | msgstr "Oversize" | 813 | msgstr "Oversize" |
782 | 814 | ||
@@ -784,23 +816,23 @@ msgstr "Oversize" | @@ -784,23 +816,23 @@ msgstr "Oversize" | ||
784 | msgid "Parameter Type" | 816 | msgid "Parameter Type" |
785 | msgstr "Tipo de parâmetro" | 817 | msgstr "Tipo de parâmetro" |
786 | 818 | ||
787 | -#: src/terminal/actions/table.c:175 src/terminal/actions/table.c:187 | 819 | +#: src/terminal/actions/table.c:156 src/terminal/actions/table.c:168 |
788 | msgid "Paste" | 820 | msgid "Paste" |
789 | msgstr "Colar" | 821 | msgstr "Colar" |
790 | 822 | ||
791 | -#: src/terminal/actions/table.c:188 | 823 | +#: src/terminal/actions/table.c:169 |
792 | msgid "Paste as plain text" | 824 | msgid "Paste as plain text" |
793 | msgstr "Colar como texto puro" | 825 | msgstr "Colar como texto puro" |
794 | 826 | ||
795 | -#: src/terminal/actions/table.c:176 | 827 | +#: src/terminal/actions/table.c:157 |
796 | msgid "Paste clipboard contents" | 828 | msgid "Paste clipboard contents" |
797 | msgstr "Colar conteúdo da área de transferência" | 829 | msgstr "Colar conteúdo da área de transferência" |
798 | 830 | ||
799 | -#: src/terminal/actions/table.c:197 | 831 | +#: src/terminal/actions/table.c:178 |
800 | msgid "Paste file" | 832 | msgid "Paste file" |
801 | msgstr "Colar arquivo" | 833 | msgstr "Colar arquivo" |
802 | 834 | ||
803 | -#: src/terminal/actions/table.c:207 src/dialogs/settings/clipboard.c:153 | 835 | +#: src/terminal/actions/table.c:188 src/dialogs/settings/clipboard.c:144 |
804 | msgid "Paste formatted screen" | 836 | msgid "Paste formatted screen" |
805 | msgstr "Colar tela formatada" | 837 | msgstr "Colar tela formatada" |
806 | 838 | ||
@@ -808,15 +840,15 @@ msgstr "Colar tela formatada" | @@ -808,15 +840,15 @@ msgstr "Colar tela formatada" | ||
808 | msgid "Paste from file" | 840 | msgid "Paste from file" |
809 | msgstr "Colar de um arquivo" | 841 | msgstr "Colar de um arquivo" |
810 | 842 | ||
811 | -#: src/terminal/actions/table.c:198 | 843 | +#: src/terminal/actions/table.c:179 |
812 | msgid "Paste from text file" | 844 | msgid "Paste from text file" |
813 | msgstr "Colar de um arquivo texto" | 845 | msgstr "Colar de um arquivo texto" |
814 | 846 | ||
815 | -#: src/dialogs/settings/clipboard.c:251 | 847 | +#: src/dialogs/settings/clipboard.c:253 |
816 | msgid "Paste options" | 848 | msgid "Paste options" |
817 | msgstr "Opções para colar" | 849 | msgstr "Opções para colar" |
818 | 850 | ||
819 | -#: src/terminal/actions/table.c:208 | 851 | +#: src/terminal/actions/table.c:189 |
820 | msgid "Paste similar screen from clipboard" | 852 | msgid "Paste similar screen from clipboard" |
821 | msgstr "Colar tela semelhante" | 853 | msgstr "Colar tela semelhante" |
822 | 854 | ||
@@ -824,11 +856,11 @@ msgstr "Colar tela semelhante" | @@ -824,11 +856,11 @@ msgstr "Colar tela semelhante" | ||
824 | msgid "Path and name of the local file" | 856 | msgid "Path and name of the local file" |
825 | msgstr "Caminho e nome do arquivo local" | 857 | msgstr "Caminho e nome do arquivo local" |
826 | 858 | ||
827 | -#: src/dialogs/settings/host.c:228 | 859 | +#: src/dialogs/settings/host.c:229 |
828 | msgid "Path to XML file with custom charset mapping." | 860 | msgid "Path to XML file with custom charset mapping." |
829 | msgstr "Caminho do arquivo XML com o mapeamento personalizado de caracteres." | 861 | msgstr "Caminho do arquivo XML com o mapeamento personalizado de caracteres." |
830 | 862 | ||
831 | -#: src/dialogs/security.c:137 src/dialogs/security.c:156 | 863 | +#: src/dialogs/security.c:138 src/dialogs/security.c:157 |
832 | msgid "Peer certificate" | 864 | msgid "Peer certificate" |
833 | msgstr "Certificado apresentado" | 865 | msgstr "Certificado apresentado" |
834 | 866 | ||
@@ -840,7 +872,7 @@ msgstr "Rosa" | @@ -840,7 +872,7 @@ msgstr "Rosa" | ||
840 | msgid "Plain text" | 872 | msgid "Plain text" |
841 | msgstr "Texto puro" | 873 | msgstr "Texto puro" |
842 | 874 | ||
843 | -#: src/dialogs/settings/clipboard.c:385 | 875 | +#: src/dialogs/settings/clipboard.c:397 |
844 | msgid "Plain text only" | 876 | msgid "Plain text only" |
845 | msgstr "Apenas texto puro" | 877 | msgstr "Apenas texto puro" |
846 | 878 | ||
@@ -868,11 +900,11 @@ msgstr "" | @@ -868,11 +900,11 @@ msgstr "" | ||
868 | msgid "Primary space" | 900 | msgid "Primary space" |
869 | msgstr "Primary space" | 901 | msgstr "Primary space" |
870 | 902 | ||
871 | -#: src/terminal/actions/table.c:301 | 903 | +#: src/terminal/actions/table.c:282 |
872 | msgid "Print" | 904 | msgid "Print" |
873 | msgstr "Imprimir" | 905 | msgstr "Imprimir" |
874 | 906 | ||
875 | -#: src/terminal/actions/table.c:334 | 907 | +#: src/terminal/actions/table.c:315 |
876 | msgid "Print Copy" | 908 | msgid "Print Copy" |
877 | msgstr "Imprimir cópia" | 909 | msgstr "Imprimir cópia" |
878 | 910 | ||
@@ -884,19 +916,19 @@ msgstr "Operação de impressão falhou" | @@ -884,19 +916,19 @@ msgstr "Operação de impressão falhou" | ||
884 | msgid "Print operation has failed" | 916 | msgid "Print operation has failed" |
885 | msgstr "Operação de impressão falhou" | 917 | msgstr "Operação de impressão falhou" |
886 | 918 | ||
887 | -#: src/terminal/actions/table.c:312 | 919 | +#: src/terminal/actions/table.c:293 |
888 | msgid "Print screen" | 920 | msgid "Print screen" |
889 | msgstr "Imprimir tela" | 921 | msgstr "Imprimir tela" |
890 | 922 | ||
891 | -#: src/terminal/actions/table.c:302 | 923 | +#: src/terminal/actions/table.c:283 |
892 | msgid "Print screen or selection" | 924 | msgid "Print screen or selection" |
893 | msgstr "Imprimir tela ou seleção" | 925 | msgstr "Imprimir tela ou seleção" |
894 | 926 | ||
895 | -#: src/terminal/actions/table.c:323 | 927 | +#: src/terminal/actions/table.c:304 |
896 | msgid "Print selected" | 928 | msgid "Print selected" |
897 | msgstr "Imprimir seleção" | 929 | msgstr "Imprimir seleção" |
898 | 930 | ||
899 | -#: src/terminal/actions/table.c:324 | 931 | +#: src/terminal/actions/table.c:305 |
900 | msgid "Print selected area" | 932 | msgid "Print selected area" |
901 | msgstr "Imprimir área selecionada" | 933 | msgstr "Imprimir área selecionada" |
902 | 934 | ||
@@ -904,7 +936,7 @@ msgstr "Imprimir área selecionada" | @@ -904,7 +936,7 @@ msgstr "Imprimir área selecionada" | ||
904 | msgid "Print selection box" | 936 | msgid "Print selection box" |
905 | msgstr "Imprimir marca de seleção" | 937 | msgstr "Imprimir marca de seleção" |
906 | 938 | ||
907 | -#: src/terminal/actions/table.c:313 | 939 | +#: src/terminal/actions/table.c:294 |
908 | msgid "Print the entire screen" | 940 | msgid "Print the entire screen" |
909 | msgstr "Imprimir toda a tela" | 941 | msgstr "Imprimir toda a tela" |
910 | 942 | ||
@@ -928,7 +960,7 @@ msgstr "Receber arquivo" | @@ -928,7 +960,7 @@ msgstr "Receber arquivo" | ||
928 | msgid "Receive text file" | 960 | msgid "Receive text file" |
929 | msgstr "Receber arquivo texto" | 961 | msgstr "Receber arquivo texto" |
930 | 962 | ||
931 | -#: src/filetransfer/v3270ftprogress.c:747 src/dialogs/transfer.c:124 | 963 | +#: src/filetransfer/v3270ftprogress.c:747 src/dialogs/transfer.c:125 |
932 | msgid "Receiving file" | 964 | msgid "Receiving file" |
933 | msgstr "Recebendo arquivo" | 965 | msgstr "Recebendo arquivo" |
934 | 966 | ||
@@ -936,7 +968,7 @@ msgstr "Recebendo arquivo" | @@ -936,7 +968,7 @@ msgstr "Recebendo arquivo" | ||
936 | msgid "Record Length" | 968 | msgid "Record Length" |
937 | msgstr "Comprimento de registro:" | 969 | msgstr "Comprimento de registro:" |
938 | 970 | ||
939 | -#: src/filetransfer/v3270ft.c:340 src/filetransfer/settings.c:519 | 971 | +#: src/filetransfer/settings.c:519 src/filetransfer/v3270ft.c:341 |
940 | msgid "Record format" | 972 | msgid "Record format" |
941 | msgstr "Formato de registro" | 973 | msgstr "Formato de registro" |
942 | 974 | ||
@@ -965,33 +997,33 @@ msgstr "Arquivo remoto:" | @@ -965,33 +997,33 @@ msgstr "Arquivo remoto:" | ||
965 | msgid "Remote:" | 997 | msgid "Remote:" |
966 | msgstr "Remoto:" | 998 | msgstr "Remoto:" |
967 | 999 | ||
968 | -#: src/filetransfer/v3270ft.c:395 | 1000 | +#: src/filetransfer/v3270ft.c:396 |
969 | msgid "Remove selected file from the transfer queue" | 1001 | msgid "Remove selected file from the transfer queue" |
970 | msgstr "Remove arquivo selecionado da fila de transferência" | 1002 | msgstr "Remove arquivo selecionado da fila de transferência" |
971 | 1003 | ||
972 | -#: src/terminal/actions/table.c:72 | 1004 | +#: src/terminal/actions/table.c:54 |
973 | msgid "Replace current clipboard contents with the selected area" | 1005 | msgid "Replace current clipboard contents with the selected area" |
974 | msgstr "Substituí conteúdo da área de transferência com a seleção" | 1006 | msgstr "Substituí conteúdo da área de transferência com a seleção" |
975 | 1007 | ||
976 | -#: src/terminal/actions/table.c:81 | 1008 | +#: src/terminal/actions/table.c:74 |
977 | msgid "" | 1009 | msgid "" |
978 | "Replace current clipboard contents with the selected area in HTML format" | 1010 | "Replace current clipboard contents with the selected area in HTML format" |
979 | msgstr "" | 1011 | msgstr "" |
980 | "Substituí conteúdo da área de transferência com o conteúdo da área " | 1012 | "Substituí conteúdo da área de transferência com o conteúdo da área " |
981 | "selecionada em formato HTML" | 1013 | "selecionada em formato HTML" |
982 | 1014 | ||
983 | -#: src/terminal/actions/table.c:90 | 1015 | +#: src/terminal/actions/table.c:83 |
984 | msgid "" | 1016 | msgid "" |
985 | "Replace current clipboard contents with the selected area in image format" | 1017 | "Replace current clipboard contents with the selected area in image format" |
986 | msgstr "" | 1018 | msgstr "" |
987 | "Substituí conteúdo da área de transferência com uma imagem da área " | 1019 | "Substituí conteúdo da área de transferência com uma imagem da área " |
988 | "selecionada" | 1020 | "selecionada" |
989 | 1021 | ||
990 | -#: src/filetransfer/transfer.c:83 | 1022 | +#: src/filetransfer/transfer.c:84 |
991 | msgid "Retry" | 1023 | msgid "Retry" |
992 | msgstr "Repetir" | 1024 | msgstr "Repetir" |
993 | 1025 | ||
994 | -#: src/dialogs/security.c:143 | 1026 | +#: src/dialogs/security.c:144 |
995 | msgid "Revocation list" | 1027 | msgid "Revocation list" |
996 | msgstr "Lista de revogados" | 1028 | msgstr "Lista de revogados" |
997 | 1029 | ||
@@ -1007,49 +1039,49 @@ msgstr "" | @@ -1007,49 +1039,49 @@ msgstr "" | ||
1007 | msgid "SSL/TLS" | 1039 | msgid "SSL/TLS" |
1008 | msgstr "SSL/TLS" | 1040 | msgstr "SSL/TLS" |
1009 | 1041 | ||
1010 | -#: src/dialogs/settings/clipboard.c:318 src/dialogs/settings/clipboard.c:438 | 1042 | +#: src/dialogs/settings/clipboard.c:329 src/dialogs/settings/clipboard.c:450 |
1011 | msgid "Same of the screen" | 1043 | msgid "Same of the screen" |
1012 | msgstr "Igual ao terminal" | 1044 | msgstr "Igual ao terminal" |
1013 | 1045 | ||
1014 | -#: src/terminal/actions/table.c:254 src/filetransfer/v3270ft.c:215 | ||
1015 | -#: src/filetransfer/activitylist.c:451 src/trace/trace.c:499 | ||
1016 | -#: src/dialogs/transfer.c:69 | 1046 | +#: src/terminal/actions/table.c:235 src/filetransfer/activitylist.c:451 |
1047 | +#: src/filetransfer/v3270ft.c:216 src/trace/trace.c:498 | ||
1048 | +#: src/dialogs/transfer.c:70 | ||
1017 | msgid "Save" | 1049 | msgid "Save" |
1018 | msgstr "Salvar" | 1050 | msgstr "Salvar" |
1019 | 1051 | ||
1020 | -#: src/terminal/actions/table.c:288 | 1052 | +#: src/terminal/actions/table.c:269 |
1021 | msgid "Save Copy" | 1053 | msgid "Save Copy" |
1022 | msgstr "Salvar cópia" | 1054 | msgstr "Salvar cópia" |
1023 | 1055 | ||
1024 | -#: src/trace/tracewindow.c:124 | 1056 | +#: src/trace/tracewindow.c:125 |
1025 | msgid "Save _As" | 1057 | msgid "Save _As" |
1026 | msgstr "Salvar _Como" | 1058 | msgstr "Salvar _Como" |
1027 | 1059 | ||
1028 | -#: src/terminal/actions/table.c:264 | 1060 | +#: src/terminal/actions/table.c:245 |
1029 | msgid "Save all" | 1061 | msgid "Save all" |
1030 | msgstr "Salvar tela" | 1062 | msgstr "Salvar tela" |
1031 | 1063 | ||
1032 | -#: src/terminal/actions/table.c:286 src/dialogs/save/save.c:363 | 1064 | +#: src/terminal/actions/table.c:267 src/dialogs/save/save.c:363 |
1033 | msgid "Save copy" | 1065 | msgid "Save copy" |
1034 | msgstr "Salvar cópia" | 1066 | msgstr "Salvar cópia" |
1035 | 1067 | ||
1036 | -#: src/filetransfer/v3270ft.c:214 src/filetransfer/activitylist.c:450 | 1068 | +#: src/filetransfer/activitylist.c:450 src/filetransfer/v3270ft.c:215 |
1037 | msgid "Save queue to file" | 1069 | msgid "Save queue to file" |
1038 | msgstr "Salvar a fila para um arquivo" | 1070 | msgstr "Salvar a fila para um arquivo" |
1039 | 1071 | ||
1040 | -#: src/terminal/actions/table.c:266 | 1072 | +#: src/terminal/actions/table.c:247 |
1041 | msgid "Save screen" | 1073 | msgid "Save screen" |
1042 | msgstr "Salvar tela" | 1074 | msgstr "Salvar tela" |
1043 | 1075 | ||
1044 | -#: src/terminal/actions/table.c:255 | 1076 | +#: src/terminal/actions/table.c:236 |
1045 | msgid "Save screen or selection" | 1077 | msgid "Save screen or selection" |
1046 | msgstr "Salvar tela ou seleção" | 1078 | msgstr "Salvar tela ou seleção" |
1047 | 1079 | ||
1048 | -#: src/terminal/actions/table.c:275 | 1080 | +#: src/terminal/actions/table.c:256 |
1049 | msgid "Save selected" | 1081 | msgid "Save selected" |
1050 | msgstr "Salvar seleção" | 1082 | msgstr "Salvar seleção" |
1051 | 1083 | ||
1052 | -#: src/terminal/actions/table.c:277 src/dialogs/save/save.c:362 | 1084 | +#: src/terminal/actions/table.c:258 src/dialogs/save/save.c:362 |
1053 | msgid "Save selected area" | 1085 | msgid "Save selected area" |
1054 | msgstr "Salvar área selecionada" | 1086 | msgstr "Salvar área selecionada" |
1055 | 1087 | ||
@@ -1057,35 +1089,35 @@ msgstr "Salvar área selecionada" | @@ -1057,35 +1089,35 @@ msgstr "Salvar área selecionada" | ||
1057 | msgid "Save terminal contents" | 1089 | msgid "Save terminal contents" |
1058 | msgstr "Salvar conteúdo da tela" | 1090 | msgstr "Salvar conteúdo da tela" |
1059 | 1091 | ||
1060 | -#: src/trace/trace.c:498 | 1092 | +#: src/trace/trace.c:497 |
1061 | msgid "Save trace to file" | 1093 | msgid "Save trace to file" |
1062 | msgstr "Salvar trace para arquivo" | 1094 | msgstr "Salvar trace para arquivo" |
1063 | 1095 | ||
1064 | -#: src/dialogs/transfer.c:68 | 1096 | +#: src/dialogs/transfer.c:69 |
1065 | msgid "Save transfer activity to file" | 1097 | msgid "Save transfer activity to file" |
1066 | msgstr "Salvar atividade de transferência para arquivo" | 1098 | msgstr "Salvar atividade de transferência para arquivo" |
1067 | 1099 | ||
1068 | -#: src/dialogs/transfer.c:187 | 1100 | +#: src/dialogs/transfer.c:188 |
1069 | msgid "Save transfer information to file" | 1101 | msgid "Save transfer information to file" |
1070 | msgstr "Salvar informações da transferência para arquivo" | 1102 | msgstr "Salvar informações da transferência para arquivo" |
1071 | 1103 | ||
1072 | -#: src/dialogs/print/settingsdialog.c:349 | 1104 | +#: src/dialogs/print/settingsdialog.c:351 |
1073 | msgid "Save transfer queue" | 1105 | msgid "Save transfer queue" |
1074 | msgstr "Salvar fila de transferências" | 1106 | msgstr "Salvar fila de transferências" |
1075 | 1107 | ||
1076 | -#: src/filetransfer/v3270ft.c:379 | 1108 | +#: src/filetransfer/v3270ft.c:380 |
1077 | msgid "Save transfer queue to an external XML file" | 1109 | msgid "Save transfer queue to an external XML file" |
1078 | msgstr "Guarda fila de transferência num arquivo XML externo" | 1110 | msgstr "Guarda fila de transferência num arquivo XML externo" |
1079 | 1111 | ||
1080 | -#: src/dialogs/print/settingsdialog.c:353 | 1112 | +#: src/dialogs/print/settingsdialog.c:355 |
1081 | msgid "Save transfer queue to file" | 1113 | msgid "Save transfer queue to file" |
1082 | msgstr "Salvar fila de transferências para arquivo" | 1114 | msgstr "Salvar fila de transferências para arquivo" |
1083 | 1115 | ||
1084 | -#: src/dialogs/settings/clipboard.c:386 | 1116 | +#: src/dialogs/settings/clipboard.c:398 |
1085 | msgid "Screen with terminal attributes" | 1117 | msgid "Screen with terminal attributes" |
1086 | msgstr "Completa incluindo atributos do terminal" | 1118 | msgstr "Completa incluindo atributos do terminal" |
1087 | 1119 | ||
1088 | -#: src/terminal/actions/table.c:209 | 1120 | +#: src/terminal/actions/table.c:190 |
1089 | msgid "" | 1121 | msgid "" |
1090 | "Search clipboard for a similar screen, if found paste unprotected fields and " | 1122 | "Search clipboard for a similar screen, if found paste unprotected fields and " |
1091 | "restore cursor position" | 1123 | "restore cursor position" |
@@ -1113,16 +1145,16 @@ msgstr "Segurança" | @@ -1113,16 +1145,16 @@ msgstr "Segurança" | ||
1113 | msgid "Security engine" | 1145 | msgid "Security engine" |
1114 | msgstr "Mecanismo de segurança" | 1146 | msgstr "Mecanismo de segurança" |
1115 | 1147 | ||
1116 | -#: src/filetransfer/v3270ft.c:303 src/filetransfer/settings.c:209 | ||
1117 | -#: src/dialogs/settings/host.c:367 | 1148 | +#: src/filetransfer/settings.c:209 src/filetransfer/v3270ft.c:304 |
1149 | +#: src/dialogs/settings/host.c:368 | ||
1118 | msgid "Select" | 1150 | msgid "Select" |
1119 | msgstr "Selecionar" | 1151 | msgstr "Selecionar" |
1120 | 1152 | ||
1121 | -#: src/dialogs/settings/host.c:452 | 1153 | +#: src/dialogs/settings/host.c:453 |
1122 | msgid "Select charset remap file" | 1154 | msgid "Select charset remap file" |
1123 | msgstr "Selecionar arquivo com mapeamento personalizado" | 1155 | msgstr "Selecionar arquivo com mapeamento personalizado" |
1124 | 1156 | ||
1125 | -#: src/dialogs/settings/host.c:363 | 1157 | +#: src/dialogs/settings/host.c:364 |
1126 | msgid "Select custom charset mapping" | 1158 | msgid "Select custom charset mapping" |
1127 | msgstr "Seleciona mapeamento de teclado personalizado" | 1159 | msgstr "Seleciona mapeamento de teclado personalizado" |
1128 | 1160 | ||
@@ -1130,31 +1162,39 @@ msgstr "Seleciona mapeamento de teclado personalizado" | @@ -1130,31 +1162,39 @@ msgstr "Seleciona mapeamento de teclado personalizado" | ||
1130 | msgid "Select destination file" | 1162 | msgid "Select destination file" |
1131 | msgstr "Selecionar arquivo destino" | 1163 | msgstr "Selecionar arquivo destino" |
1132 | 1164 | ||
1133 | -#: src/filetransfer/v3270ft.c:591 src/filetransfer/settings.c:467 | 1165 | +#: src/filetransfer/settings.c:467 src/filetransfer/v3270ft.c:592 |
1134 | #: src/dialogs/load.c:186 | 1166 | #: src/dialogs/load.c:186 |
1135 | msgid "Select file" | 1167 | msgid "Select file" |
1136 | msgstr "Selecionar arquivo" | 1168 | msgstr "Selecionar arquivo" |
1137 | 1169 | ||
1138 | -#: src/filetransfer/v3270ft.c:436 src/filetransfer/v3270ft.c:445 | 1170 | +#: src/filetransfer/v3270ft.c:437 src/filetransfer/v3270ft.c:446 |
1139 | msgid "Select first file" | 1171 | msgid "Select first file" |
1140 | msgstr "Selecionar primeiro arquivo" | 1172 | msgstr "Selecionar primeiro arquivo" |
1141 | 1173 | ||
1142 | -#: src/filetransfer/v3270ft.c:412 src/filetransfer/v3270ft.c:469 | 1174 | +#: src/filetransfer/v3270ft.c:413 src/filetransfer/v3270ft.c:470 |
1143 | msgid "Select last file" | 1175 | msgid "Select last file" |
1144 | msgstr "Selecionar último arquivo" | 1176 | msgstr "Selecionar último arquivo" |
1145 | 1177 | ||
1146 | -#: src/filetransfer/v3270ft.c:302 src/filetransfer/settings.c:208 | 1178 | +#: src/filetransfer/settings.c:208 src/filetransfer/v3270ft.c:303 |
1147 | msgid "Select local file" | 1179 | msgid "Select local file" |
1148 | msgstr "Selecionar arquivo local" | 1180 | msgstr "Selecionar arquivo local" |
1149 | 1181 | ||
1150 | -#: src/filetransfer/v3270ft.c:420 src/filetransfer/v3270ft.c:461 | 1182 | +#: src/filetransfer/v3270ft.c:421 src/filetransfer/v3270ft.c:462 |
1151 | msgid "Select next file" | 1183 | msgid "Select next file" |
1152 | msgstr "Selecionar próximo arquivo" | 1184 | msgstr "Selecionar próximo arquivo" |
1153 | 1185 | ||
1154 | -#: src/filetransfer/v3270ft.c:428 src/filetransfer/v3270ft.c:453 | 1186 | +#: src/dialogs/settings/clipboard.c:251 |
1187 | +msgid "Select options" | ||
1188 | +msgstr "Opçoes para seleção" | ||
1189 | + | ||
1190 | +#: src/filetransfer/v3270ft.c:429 src/filetransfer/v3270ft.c:454 | ||
1155 | msgid "Select previous file" | 1191 | msgid "Select previous file" |
1156 | msgstr "Selecionar arquivo anterior" | 1192 | msgstr "Selecionar arquivo anterior" |
1157 | 1193 | ||
1194 | +#: src/terminal/actions/table.c:363 | ||
1195 | +msgid "Select terminal font" | ||
1196 | +msgstr "Seleção da fonte do terminal" | ||
1197 | + | ||
1158 | #: src/dialogs/settings/colors.c:177 | 1198 | #: src/dialogs/settings/colors.c:177 |
1159 | msgid "Selection background" | 1199 | msgid "Selection background" |
1160 | msgstr "Fundo da seleção" | 1200 | msgstr "Fundo da seleção" |
@@ -1163,6 +1203,10 @@ msgstr "Fundo da seleção" | @@ -1163,6 +1203,10 @@ msgstr "Fundo da seleção" | ||
1163 | msgid "Selection foreground" | 1203 | msgid "Selection foreground" |
1164 | msgstr "Frente da seleção" | 1204 | msgstr "Frente da seleção" |
1165 | 1205 | ||
1206 | +#: src/terminal/actions/table.c:353 | ||
1207 | +msgid "Selection settings" | ||
1208 | +msgstr "Configurar seleção" | ||
1209 | + | ||
1166 | #: src/filetransfer/tables.c:130 | 1210 | #: src/filetransfer/tables.c:130 |
1167 | msgid "Send file" | 1211 | msgid "Send file" |
1168 | msgstr "Enviar arquivo" | 1212 | msgstr "Enviar arquivo" |
@@ -1171,7 +1215,7 @@ msgstr "Enviar arquivo" | @@ -1171,7 +1215,7 @@ msgstr "Enviar arquivo" | ||
1171 | msgid "Send text file" | 1215 | msgid "Send text file" |
1172 | msgstr "Enviar arquivo texto" | 1216 | msgstr "Enviar arquivo texto" |
1173 | 1217 | ||
1174 | -#: src/filetransfer/v3270ftprogress.c:747 src/dialogs/transfer.c:124 | 1218 | +#: src/filetransfer/v3270ftprogress.c:747 src/dialogs/transfer.c:125 |
1175 | msgid "Sending file" | 1219 | msgid "Sending file" |
1176 | msgstr "Enviando arquivo" | 1220 | msgstr "Enviando arquivo" |
1177 | 1221 | ||
@@ -1179,27 +1223,27 @@ msgstr "Enviando arquivo" | @@ -1179,27 +1223,27 @@ msgstr "Enviando arquivo" | ||
1179 | msgid "Service/Port" | 1223 | msgid "Service/Port" |
1180 | msgstr "Serviço/Porta" | 1224 | msgstr "Serviço/Porta" |
1181 | 1225 | ||
1182 | -#: src/terminal/actions/table.c:241 | 1226 | +#: src/terminal/actions/table.c:222 |
1183 | msgid "Set the font to the best size for window" | 1227 | msgid "Set the font to the best size for window" |
1184 | msgstr "Ajusta a fonte para o melhor tamanho" | 1228 | msgstr "Ajusta a fonte para o melhor tamanho" |
1185 | 1229 | ||
1186 | -#: src/terminal/actions.c:72 | 1230 | +#: src/terminal/actions.c:73 |
1187 | msgid "Setup host properties" | 1231 | msgid "Setup host properties" |
1188 | msgstr "Configurar host" | 1232 | msgstr "Configurar host" |
1189 | 1233 | ||
1190 | -#: src/filetransfer/transfer.c:86 | 1234 | +#: src/filetransfer/transfer.c:87 |
1191 | msgid "Skip" | 1235 | msgid "Skip" |
1192 | msgstr "Skip" | 1236 | msgstr "Skip" |
1193 | 1237 | ||
1194 | -#: src/filetransfer/transfer.c:87 | 1238 | +#: src/filetransfer/transfer.c:88 |
1195 | msgid "Skip this transfer, keep the file on queue." | 1239 | msgid "Skip this transfer, keep the file on queue." |
1196 | msgstr "Skip this transfer, keep the file on queue." | 1240 | msgstr "Skip this transfer, keep the file on queue." |
1197 | 1241 | ||
1198 | -#: src/dialogs/settings/clipboard.c:163 | 1242 | +#: src/dialogs/settings/clipboard.c:154 |
1199 | msgid "Smart copy" | 1243 | msgid "Smart copy" |
1200 | msgstr "Cópia inteligente" | 1244 | msgstr "Cópia inteligente" |
1201 | 1245 | ||
1202 | -#: src/filetransfer/v3270ft.c:341 src/filetransfer/settings.c:544 | 1246 | +#: src/filetransfer/settings.c:544 src/filetransfer/v3270ft.c:342 |
1203 | msgid "Space allocation units" | 1247 | msgid "Space allocation units" |
1204 | msgstr "Unidades de alocação de espaço" | 1248 | msgstr "Unidades de alocação de espaço" |
1205 | 1249 | ||
@@ -1247,11 +1291,11 @@ msgstr "" | @@ -1247,11 +1291,11 @@ msgstr "" | ||
1247 | msgid "Speed:" | 1291 | msgid "Speed:" |
1248 | msgstr "Velocidade:" | 1292 | msgstr "Velocidade:" |
1249 | 1293 | ||
1250 | -#: src/filetransfer/v3270ft.c:403 | 1294 | +#: src/filetransfer/v3270ft.c:404 |
1251 | msgid "Start file transfer" | 1295 | msgid "Start file transfer" |
1252 | msgstr "Iniciar transferência de arquivo" | 1296 | msgstr "Iniciar transferência de arquivo" |
1253 | 1297 | ||
1254 | -#: src/dialogs/print/settingsdialog.c:435 | 1298 | +#: src/dialogs/print/settingsdialog.c:437 |
1255 | msgid "Start transfer" | 1299 | msgid "Start transfer" |
1256 | msgstr "Iniciar transferência" | 1300 | msgstr "Iniciar transferência" |
1257 | 1301 | ||
@@ -1259,7 +1303,7 @@ msgstr "Iniciar transferência" | @@ -1259,7 +1303,7 @@ msgstr "Iniciar transferência" | ||
1259 | msgid "Starting" | 1303 | msgid "Starting" |
1260 | msgstr "Iniciando" | 1304 | msgstr "Iniciando" |
1261 | 1305 | ||
1262 | -#: src/filetransfer/worker.c:314 src/dialogs/transfer.c:140 | 1306 | +#: src/filetransfer/worker.c:314 src/dialogs/transfer.c:141 |
1263 | msgid "Starting transfer" | 1307 | msgid "Starting transfer" |
1264 | msgstr "Iniciando transferência" | 1308 | msgstr "Iniciando transferência" |
1265 | 1309 | ||
@@ -1271,27 +1315,27 @@ msgstr "Situação" | @@ -1271,27 +1315,27 @@ msgstr "Situação" | ||
1271 | msgid "State Type" | 1315 | msgid "State Type" |
1272 | msgstr "Tipo de situação" | 1316 | msgstr "Tipo de situação" |
1273 | 1317 | ||
1274 | -#: src/terminal/properties/init.c:162 | 1318 | +#: src/terminal/properties/init.c:152 |
1275 | msgid "State of the dynamic font spacing" | 1319 | msgid "State of the dynamic font spacing" |
1276 | msgstr "Estado do espaçamento dinâmico" | 1320 | msgstr "Estado do espaçamento dinâmico" |
1277 | 1321 | ||
1278 | -#: src/dialogs/settings/accelerator.c:176 | 1322 | +#: src/dialogs/settings/accelerator.c:175 |
1279 | msgid "Summary" | 1323 | msgid "Summary" |
1280 | msgstr "Sumário" | 1324 | msgstr "Sumário" |
1281 | 1325 | ||
1282 | -#: src/dialogs/settings/host.c:124 | 1326 | +#: src/dialogs/settings/host.c:125 |
1283 | msgid "System _type" | 1327 | msgid "System _type" |
1284 | msgstr "_Tipo de servidor" | 1328 | msgstr "_Tipo de servidor" |
1285 | 1329 | ||
1286 | -#: src/dialogs/settings/host.c:166 | 1330 | +#: src/dialogs/settings/host.c:167 |
1287 | msgid "System default" | 1331 | msgid "System default" |
1288 | msgstr "Padrão do sistema" | 1332 | msgstr "Padrão do sistema" |
1289 | 1333 | ||
1290 | -#: src/dialogs/settings/host.c:376 | 1334 | +#: src/dialogs/settings/host.c:377 |
1291 | msgid "TN3270 Custom charset" | 1335 | msgid "TN3270 Custom charset" |
1292 | msgstr "Código de página TN3270 personalizado" | 1336 | msgstr "Código de página TN3270 personalizado" |
1293 | 1337 | ||
1294 | -#: src/dialogs/settings/host.c:440 | 1338 | +#: src/dialogs/settings/host.c:441 |
1295 | msgid "TN3270 Emulation settings" | 1339 | msgid "TN3270 Emulation settings" |
1296 | msgstr "Configuração da emulação TN3270" | 1340 | msgstr "Configuração da emulação TN3270" |
1297 | 1341 | ||
@@ -1299,16 +1343,16 @@ msgstr "Configuração da emulação TN3270" | @@ -1299,16 +1343,16 @@ msgstr "Configuração da emulação TN3270" | ||
1299 | msgid "TN3270 Host URL" | 1343 | msgid "TN3270 Host URL" |
1300 | msgstr "URL do servidor TN3270" | 1344 | msgstr "URL do servidor TN3270" |
1301 | 1345 | ||
1302 | -#: src/terminal/properties/init.c:97 | 1346 | +#: src/terminal/properties/init.c:87 |
1303 | msgid "TN3270 Session name" | 1347 | msgid "TN3270 Session name" |
1304 | msgstr "Nome da sessão TN3270" | 1348 | msgstr "Nome da sessão TN3270" |
1305 | 1349 | ||
1306 | -#: src/dialogs/settings/colors.c:148 src/dialogs/settings/colors.c:300 | ||
1307 | -#: src/dialogs/settings/colors.c:379 | 1350 | +#: src/terminal/actions/table.c:345 src/dialogs/settings/colors.c:148 |
1351 | +#: src/dialogs/settings/colors.c:300 src/dialogs/settings/colors.c:379 | ||
1308 | msgid "Terminal colors" | 1352 | msgid "Terminal colors" |
1309 | msgstr "Cores do terminal" | 1353 | msgstr "Cores do terminal" |
1310 | 1354 | ||
1311 | -#: src/dialogs/font/chooser.c:349 | 1355 | +#: src/dialogs/font/chooser.c:339 |
1312 | msgid "Terminal font" | 1356 | msgid "Terminal font" |
1313 | msgstr "Fonte do terminal" | 1357 | msgstr "Fonte do terminal" |
1314 | 1358 | ||
@@ -1326,7 +1370,7 @@ msgstr "" | @@ -1326,7 +1370,7 @@ msgstr "" | ||
1326 | "has been reached, or the maximum number of data blocks per file (16060) has " | 1370 | "has been reached, or the maximum number of data blocks per file (16060) has " |
1327 | "been reached." | 1371 | "been reached." |
1328 | 1372 | ||
1329 | -#: src/dialogs/settings/host.c:561 | 1373 | +#: src/dialogs/settings/host.c:562 |
1330 | msgid "The EBCDIC host character set. " | 1374 | msgid "The EBCDIC host character set. " |
1331 | msgstr "A tabela de caracteres EBCDIC." | 1375 | msgstr "A tabela de caracteres EBCDIC." |
1332 | 1376 | ||
@@ -1374,7 +1418,7 @@ msgstr "O host detectou um erro no arquivo durante a operação de recebimento." | @@ -1374,7 +1418,7 @@ msgstr "O host detectou um erro no arquivo durante a operação de recebimento." | ||
1374 | msgid "The label for the action" | 1418 | msgid "The label for the action" |
1375 | msgstr "A etiqueta da ação" | 1419 | msgstr "A etiqueta da ação" |
1376 | 1420 | ||
1377 | -#: src/dialogs/settings/host.c:181 | 1421 | +#: src/dialogs/settings/host.c:182 |
1378 | msgid "The model of 3270 display to be emulated" | 1422 | msgid "The model of 3270 display to be emulated" |
1379 | msgstr "Modelo de tela 3270 a ser emulada" | 1423 | msgstr "Modelo de tela 3270 a ser emulada" |
1380 | 1424 | ||
@@ -1405,12 +1449,12 @@ msgstr "Operação de impressão está em andamento" | @@ -1405,12 +1449,12 @@ msgstr "Operação de impressão está em andamento" | ||
1405 | msgid "The print settings should be stored." | 1449 | msgid "The print settings should be stored." |
1406 | msgstr "Configuração de impressão deve ser armazenada" | 1450 | msgstr "Configuração de impressão deve ser armazenada" |
1407 | 1451 | ||
1408 | -#: src/dialogs/settings/accelerator.c:309 | 1452 | +#: src/dialogs/settings/accelerator.c:308 |
1409 | #, c-format | 1453 | #, c-format |
1410 | msgid "The selected accelerator is in use by action <b>%s</b> (<b>%s</b>)" | 1454 | msgid "The selected accelerator is in use by action <b>%s</b> (<b>%s</b>)" |
1411 | msgstr "O atalho selecionado está em uso pela ação <b>%s</b> (<b>%s</b>)" | 1455 | msgstr "O atalho selecionado está em uso pela ação <b>%s</b> (<b>%s</b>)" |
1412 | 1456 | ||
1413 | -#: src/dialogs/settings/accelerator.c:329 | 1457 | +#: src/dialogs/settings/accelerator.c:328 |
1414 | msgid "The selected accelerator is in use by the same action" | 1458 | msgid "The selected accelerator is in use by the same action" |
1415 | msgstr "O atalho selecionado está em uso na mesma ação" | 1459 | msgstr "O atalho selecionado está em uso na mesma ação" |
1416 | 1460 | ||
@@ -1418,7 +1462,7 @@ msgstr "O atalho selecionado está em uso na mesma ação" | @@ -1418,7 +1462,7 @@ msgstr "O atalho selecionado está em uso na mesma ação" | ||
1418 | msgid "The state the action is in" | 1462 | msgid "The state the action is in" |
1419 | msgstr "A situação da ação está em" | 1463 | msgstr "A situação da ação está em" |
1420 | 1464 | ||
1421 | -#: src/terminal/properties/init.c:208 | 1465 | +#: src/terminal/properties/init.c:214 |
1422 | msgid "The terminal colors" | 1466 | msgid "The terminal colors" |
1423 | msgstr "As cores do terminal" | 1467 | msgstr "As cores do terminal" |
1424 | 1468 | ||
@@ -1438,7 +1482,7 @@ msgstr "The type of the state kept by the action" | @@ -1438,7 +1482,7 @@ msgstr "The type of the state kept by the action" | ||
1438 | msgid "There is not enough space available for data on the host." | 1482 | msgid "There is not enough space available for data on the host." |
1439 | msgstr "Não existe espaço suficiente no host para os dados." | 1483 | msgstr "Não existe espaço suficiente no host para os dados." |
1440 | 1484 | ||
1441 | -#: src/dialogs/security.c:192 | 1485 | +#: src/dialogs/security.c:193 |
1442 | msgid "There's no security information in the session" | 1486 | msgid "There's no security information in the session" |
1443 | msgstr "Não existe informação de segurança na sessão" | 1487 | msgstr "Não existe informação de segurança na sessão" |
1444 | 1488 | ||
@@ -1462,7 +1506,7 @@ msgstr "Total:" | @@ -1462,7 +1506,7 @@ msgstr "Total:" | ||
1462 | msgid "Trace" | 1506 | msgid "Trace" |
1463 | msgstr "Trace" | 1507 | msgstr "Trace" |
1464 | 1508 | ||
1465 | -#: src/terminal/properties/init.c:193 | 1509 | +#: src/terminal/properties/init.c:199 |
1466 | msgid "Trace window" | 1510 | msgid "Trace window" |
1467 | msgstr "Janela de trace" | 1511 | msgstr "Janela de trace" |
1468 | 1512 | ||
@@ -1470,7 +1514,7 @@ msgstr "Janela de trace" | @@ -1470,7 +1514,7 @@ msgstr "Janela de trace" | ||
1470 | msgid "Tracks" | 1514 | msgid "Tracks" |
1471 | msgstr "Trilhas" | 1515 | msgstr "Trilhas" |
1472 | 1516 | ||
1473 | -#: src/filetransfer/worker.c:576 src/filetransfer/v3270ftprogress.c:729 | 1517 | +#: src/filetransfer/v3270ftprogress.c:729 src/filetransfer/worker.c:576 |
1474 | msgid "Transfer failed" | 1518 | msgid "Transfer failed" |
1475 | msgstr "Transferência falhou" | 1519 | msgstr "Transferência falhou" |
1476 | 1520 | ||
@@ -1478,13 +1522,13 @@ msgstr "Transferência falhou" | @@ -1478,13 +1522,13 @@ msgstr "Transferência falhou" | ||
1478 | msgid "Transfer operation has timed out" | 1522 | msgid "Transfer operation has timed out" |
1479 | msgstr "Operação de transferência esgotou o tempo de espera" | 1523 | msgstr "Operação de transferência esgotou o tempo de espera" |
1480 | 1524 | ||
1481 | -#: src/filetransfer/v3270ft.c:339 src/filetransfer/settings.c:492 | 1525 | +#: src/filetransfer/settings.c:492 src/filetransfer/v3270ft.c:340 |
1482 | msgid "Transfer options" | 1526 | msgid "Transfer options" |
1483 | msgstr "Opções de transferência" | 1527 | msgstr "Opções de transferência" |
1484 | 1528 | ||
1485 | -#: src/dialogs/print/settingsdialog.c:379 | ||
1486 | -#: src/dialogs/print/settingsdialog.c:398 | ||
1487 | -#: src/dialogs/print/settingsdialog.c:417 | 1529 | +#: src/dialogs/print/settingsdialog.c:381 |
1530 | +#: src/dialogs/print/settingsdialog.c:400 | ||
1531 | +#: src/dialogs/print/settingsdialog.c:419 | ||
1488 | msgid "Transfer queue" | 1532 | msgid "Transfer queue" |
1489 | msgstr "Fila de transferências" | 1533 | msgstr "Fila de transferências" |
1490 | 1534 | ||
@@ -1492,15 +1536,15 @@ msgstr "Fila de transferências" | @@ -1492,15 +1536,15 @@ msgstr "Fila de transferências" | ||
1492 | msgid "Transfer speed" | 1536 | msgid "Transfer speed" |
1493 | msgstr "Velocidade de transferência" | 1537 | msgstr "Velocidade de transferência" |
1494 | 1538 | ||
1495 | -#: src/terminal/properties/init.c:241 | 1539 | +#: src/terminal/properties/init.c:247 |
1496 | msgid "True if the terminal has copy blocks" | 1540 | msgid "True if the terminal has copy blocks" |
1497 | msgstr "Verdadeiro se o terminal tiver blocos copiados" | 1541 | msgstr "Verdadeiro se o terminal tiver blocos copiados" |
1498 | 1542 | ||
1499 | -#: src/terminal/properties/init.c:256 | 1543 | +#: src/terminal/properties/init.c:262 |
1500 | msgid "True if the timer indicator is active" | 1544 | msgid "True if the timer indicator is active" |
1501 | msgstr "Verdadeiro se indicador de tempo estiver ativo" | 1545 | msgstr "Verdadeiro se indicador de tempo estiver ativo" |
1502 | 1546 | ||
1503 | -#: src/filetransfer/transfer.c:84 | 1547 | +#: src/filetransfer/transfer.c:85 |
1504 | msgid "Try again with the same file." | 1548 | msgid "Try again with the same file." |
1505 | msgstr "Tente de novo com o mesmo arquivo." | 1549 | msgstr "Tente de novo com o mesmo arquivo." |
1506 | 1550 | ||
@@ -1512,15 +1556,16 @@ msgstr "Turquesa" | @@ -1512,15 +1556,16 @@ msgstr "Turquesa" | ||
1512 | msgid "UTF-8" | 1556 | msgid "UTF-8" |
1513 | msgstr "UTF-8" | 1557 | msgstr "UTF-8" |
1514 | 1558 | ||
1515 | -#: src/selection/linux/paste.c:116 | ||
1516 | -msgid "Unable to paste formatted data." | 1559 | +#: src/selection/windows/paste.c:115 |
1560 | +#, fuzzy | ||
1561 | +msgid "Unable to paste formatted data" | ||
1517 | msgstr "Incapaz de colar dados formatados." | 1562 | msgstr "Incapaz de colar dados formatados." |
1518 | 1563 | ||
1519 | #: src/filetransfer/tables.c:92 | 1564 | #: src/filetransfer/tables.c:92 |
1520 | msgid "Undefined" | 1565 | msgid "Undefined" |
1521 | msgstr "Indefinido" | 1566 | msgstr "Indefinido" |
1522 | 1567 | ||
1523 | -#: src/terminal/callbacks.c:472 | 1568 | +#: src/terminal/callbacks.c:498 |
1524 | #, c-format | 1569 | #, c-format |
1525 | msgid "Unexpected callback table, the release %s of lib%s is invalid" | 1570 | msgid "Unexpected callback table, the release %s of lib%s is invalid" |
1526 | msgstr "Tabela de callbacks inesperada, a revisão %s da lib%s é inválida" | 1571 | msgstr "Tabela de callbacks inesperada, a revisão %s da lib%s é inválida" |
@@ -1544,12 +1589,16 @@ msgstr "Estado inesperado %d na operação de impressão" | @@ -1544,12 +1589,16 @@ msgstr "Estado inesperado %d na operação de impressão" | ||
1544 | msgid "Unsecure" | 1589 | msgid "Unsecure" |
1545 | msgstr "Insegura" | 1590 | msgstr "Insegura" |
1546 | 1591 | ||
1592 | +#: src/dialogs/windows/select.c:169 | ||
1593 | +msgid "Untitled document" | ||
1594 | +msgstr "Documento sem título" | ||
1595 | + | ||
1547 | #: src/filetransfer/tables.c:75 | 1596 | #: src/filetransfer/tables.c:75 |
1548 | msgid "Use host default record format." | 1597 | msgid "Use host default record format." |
1549 | msgstr "Utilizar o formato de registro padrão do servidor." | 1598 | msgstr "Utilizar o formato de registro padrão do servidor." |
1550 | 1599 | ||
1551 | # Tradução copiada do libre-office | 1600 | # Tradução copiada do libre-office |
1552 | -#: src/dialogs/settings/clipboard.c:143 | 1601 | +#: src/dialogs/settings/clipboard.c:134 |
1553 | msgid "Use non-breaking Spaces" | 1602 | msgid "Use non-breaking Spaces" |
1554 | msgstr "Usar espaço inseparável" | 1603 | msgstr "Usar espaço inseparável" |
1555 | 1604 | ||
@@ -1561,11 +1610,15 @@ msgstr "Variável" | @@ -1561,11 +1610,15 @@ msgstr "Variável" | ||
1561 | msgid "Western Europe (ISO 8859-1)" | 1610 | msgid "Western Europe (ISO 8859-1)" |
1562 | msgstr "Europa ocidental (ISO 8859-1)" | 1611 | msgstr "Europa ocidental (ISO 8859-1)" |
1563 | 1612 | ||
1564 | -#: src/dialogs/settings/clipboard.c:174 | 1613 | +#: src/dialogs/settings/clipboard.c:175 |
1614 | +msgid "When set URLs selected with double click will be opened" | ||
1615 | +msgstr "Quando ativo URLs selecionadas com duplo clique serão abertas." | ||
1616 | + | ||
1617 | +#: src/dialogs/settings/clipboard.c:165 | ||
1565 | msgid "When set allow image formats on clipboard" | 1618 | msgid "When set allow image formats on clipboard" |
1566 | msgstr "Quando ativo permite imagens na área de transferência" | 1619 | msgstr "Quando ativo permite imagens na área de transferência" |
1567 | 1620 | ||
1568 | -#: src/dialogs/settings/clipboard.c:154 | 1621 | +#: src/dialogs/settings/clipboard.c:145 |
1569 | msgid "" | 1622 | msgid "" |
1570 | "When set search clipboard for a similar screen, if found paste unprotected " | 1623 | "When set search clipboard for a similar screen, if found paste unprotected " |
1571 | "fields and restore cursor position" | 1624 | "fields and restore cursor position" |
@@ -1573,7 +1626,7 @@ msgstr "" | @@ -1573,7 +1626,7 @@ msgstr "" | ||
1573 | "Quando ativo pesquisa a área de transferência por uma tela similar, se " | 1626 | "Quando ativo pesquisa a área de transferência por uma tela similar, se " |
1574 | "encontrar cola os campos desprotegidos e restaura a posição do cursor" | 1627 | "encontrar cola os campos desprotegidos e restaura a posição do cursor" |
1575 | 1628 | ||
1576 | -#: src/dialogs/settings/clipboard.c:164 | 1629 | +#: src/dialogs/settings/clipboard.c:155 |
1577 | msgid "" | 1630 | msgid "" |
1578 | "When set the first copy operation after the selection will set the clipboard " | 1631 | "When set the first copy operation after the selection will set the clipboard " |
1579 | "contents and the next ones will append" | 1632 | "contents and the next ones will append" |
@@ -1582,7 +1635,7 @@ msgstr "" | @@ -1582,7 +1635,7 @@ msgstr "" | ||
1582 | "conteúdo da área de transferência enquanto as operações subsequentes " | 1635 | "conteúdo da área de transferência enquanto as operações subsequentes " |
1583 | "adicionam conteúdo" | 1636 | "adicionam conteúdo" |
1584 | 1637 | ||
1585 | -#: src/dialogs/settings/clipboard.c:144 | 1638 | +#: src/dialogs/settings/clipboard.c:135 |
1586 | msgid "" | 1639 | msgid "" |
1587 | "When set the terminal spaces are exported as non-breaking spaces to prevent " | 1640 | "When set the terminal spaces are exported as non-breaking spaces to prevent " |
1588 | "line breaks" | 1641 | "line breaks" |
@@ -1643,7 +1696,7 @@ msgstr "X Sistema" | @@ -1643,7 +1696,7 @@ msgstr "X Sistema" | ||
1643 | msgid "X Wait" | 1696 | msgid "X Wait" |
1644 | msgstr "X Aguarde" | 1697 | msgstr "X Aguarde" |
1645 | 1698 | ||
1646 | -#: src/terminal/properties/init.c:146 | 1699 | +#: src/terminal/properties/init.c:136 |
1647 | msgid "XML file with remap table" | 1700 | msgid "XML file with remap table" |
1648 | msgstr "Arquivo XML com a tabela para remapeamento de caracteres" | 1701 | msgstr "Arquivo XML com a tabela para remapeamento de caracteres" |
1649 | 1702 | ||
@@ -1651,7 +1704,7 @@ msgstr "Arquivo XML com a tabela para remapeamento de caracteres" | @@ -1651,7 +1704,7 @@ msgstr "Arquivo XML com a tabela para remapeamento de caracteres" | ||
1651 | msgid "Yellow" | 1704 | msgid "Yellow" |
1652 | msgstr "Amarelo" | 1705 | msgstr "Amarelo" |
1653 | 1706 | ||
1654 | -#: src/dialogs/print/settingsdialog.c:241 | 1707 | +#: src/dialogs/print/settingsdialog.c:243 |
1655 | msgid "You can't add more than one acitivity with the same files." | 1708 | msgid "You can't add more than one acitivity with the same files." |
1656 | msgstr "Você não pode adicionar mais de uma operação com os mesmos arquivos" | 1709 | msgstr "Você não pode adicionar mais de uma operação com os mesmos arquivos" |
1657 | 1710 | ||
@@ -1730,11 +1783,11 @@ msgstr "" | @@ -1730,11 +1783,11 @@ msgstr "" | ||
1730 | msgid "You specified an option that is invalid." | 1783 | msgid "You specified an option that is invalid." |
1731 | msgstr "Você especificou uma opção inválida." | 1784 | msgstr "Você especificou uma opção inválida." |
1732 | 1785 | ||
1733 | -#: src/terminal/actions/table.c:219 | 1786 | +#: src/terminal/actions/table.c:200 |
1734 | msgid "Zoom in" | 1787 | msgid "Zoom in" |
1735 | msgstr "Ampliar" | 1788 | msgstr "Ampliar" |
1736 | 1789 | ||
1737 | -#: src/terminal/actions/table.c:229 | 1790 | +#: src/terminal/actions/table.c:210 |
1738 | msgid "Zoom out" | 1791 | msgid "Zoom out" |
1739 | msgstr "Reduzir" | 1792 | msgstr "Reduzir" |
1740 | 1793 | ||
@@ -1742,29 +1795,29 @@ msgstr "Reduzir" | @@ -1742,29 +1795,29 @@ msgstr "Reduzir" | ||
1742 | msgid "_ASCII text" | 1795 | msgid "_ASCII text" |
1743 | msgstr "Texto _ASCII" | 1796 | msgstr "Texto _ASCII" |
1744 | 1797 | ||
1745 | -#: src/dialogs/settings/dialog.c:213 | 1798 | +#: src/dialogs/settings/dialog.c:204 |
1746 | msgid "_Apply" | 1799 | msgid "_Apply" |
1747 | msgstr "_Aplicar" | 1800 | msgstr "_Aplicar" |
1748 | 1801 | ||
1749 | -#: src/selection/linux/paste.c:85 src/dialogs/popups.c:179 | ||
1750 | -#: src/dialogs/load.c:214 src/dialogs/linux/select.c:51 | ||
1751 | -#: src/dialogs/linux/select.c:77 src/dialogs/print/settingsdialog.c:410 | ||
1752 | -#: src/dialogs/print/settingsdialog.c:429 src/dialogs/save/save.c:341 | ||
1753 | -#: src/dialogs/settings/dialog.c:212 | 1802 | +#: src/selection/windows/paste.c:83 src/selection/windows/paste.c:123 |
1803 | +#: src/dialogs/load.c:214 src/dialogs/popups.c:192 | ||
1804 | +#: src/dialogs/windows/select.c:158 src/dialogs/print/settingsdialog.c:412 | ||
1805 | +#: src/dialogs/print/settingsdialog.c:431 src/dialogs/save/save.c:341 | ||
1806 | +#: src/dialogs/settings/dialog.c:203 | ||
1754 | msgid "_Cancel" | 1807 | msgid "_Cancel" |
1755 | msgstr "_Cancelar" | 1808 | msgstr "_Cancelar" |
1756 | 1809 | ||
1757 | -#: src/dialogs/settings/host.c:560 | 1810 | +#: src/dialogs/settings/host.c:561 |
1758 | msgid "_Charset" | 1811 | msgid "_Charset" |
1759 | msgstr "Tabela de _Caracteres" | 1812 | msgstr "Tabela de _Caracteres" |
1760 | 1813 | ||
1761 | -#: src/trace/tracewindow.c:125 src/dialogs/transfer.c:159 | ||
1762 | -#: src/dialogs/transfer.c:179 src/dialogs/security.c:233 | ||
1763 | -#: src/dialogs/popups.c:101 | 1814 | +#: src/trace/tracewindow.c:126 src/dialogs/popups.c:106 |
1815 | +#: src/dialogs/security.c:234 src/dialogs/transfer.c:160 | ||
1816 | +#: src/dialogs/transfer.c:180 | ||
1764 | msgid "_Close" | 1817 | msgid "_Close" |
1765 | msgstr "_Close" | 1818 | msgstr "_Close" |
1766 | 1819 | ||
1767 | -#: src/dialogs/settings/host.c:152 | 1820 | +#: src/dialogs/settings/host.c:153 |
1768 | msgid "_Color table" | 1821 | msgid "_Color table" |
1769 | msgstr "_Tabela de cores" | 1822 | msgstr "_Tabela de cores" |
1770 | 1823 | ||
@@ -1772,7 +1825,7 @@ msgstr "_Tabela de cores" | @@ -1772,7 +1825,7 @@ msgstr "_Tabela de cores" | ||
1772 | msgid "_Continue" | 1825 | msgid "_Continue" |
1773 | msgstr "_Continuar" | 1826 | msgstr "_Continuar" |
1774 | 1827 | ||
1775 | -#: src/trace/tracewindow.c:117 | 1828 | +#: src/trace/tracewindow.c:118 |
1776 | msgid "_File" | 1829 | msgid "_File" |
1777 | msgstr "_Arquivo" | 1830 | msgstr "_Arquivo" |
1778 | 1831 | ||
@@ -1788,16 +1841,16 @@ msgstr "_Fonte:" | @@ -1788,16 +1841,16 @@ msgstr "_Fonte:" | ||
1788 | msgid "_Load" | 1841 | msgid "_Load" |
1789 | msgstr "_Carregar" | 1842 | msgstr "_Carregar" |
1790 | 1843 | ||
1791 | -#: src/filetransfer/v3270ft.c:334 | 1844 | +#: src/filetransfer/v3270ft.c:335 |
1792 | msgid "_Local file" | 1845 | msgid "_Local file" |
1793 | msgstr "Arquivo _local:" | 1846 | msgstr "Arquivo _local:" |
1794 | 1847 | ||
1795 | -#: src/dialogs/settings/host.c:180 | 1848 | +#: src/dialogs/settings/host.c:181 |
1796 | msgid "_Model" | 1849 | msgid "_Model" |
1797 | msgstr "_Modelo" | 1850 | msgstr "_Modelo" |
1798 | 1851 | ||
1799 | -#: src/dialogs/popups.c:83 src/dialogs/popups.c:89 src/dialogs/popups.c:95 | ||
1800 | -#: src/dialogs/popups.c:107 | 1852 | +#: src/dialogs/popups.c:88 src/dialogs/popups.c:94 src/dialogs/popups.c:100 |
1853 | +#: src/dialogs/popups.c:112 | ||
1801 | msgid "_Ok" | 1854 | msgid "_Ok" |
1802 | msgstr "_Ok" | 1855 | msgstr "_Ok" |
1803 | 1856 | ||
@@ -1805,19 +1858,19 @@ msgstr "_Ok" | @@ -1805,19 +1858,19 @@ msgstr "_Ok" | ||
1805 | msgid "_Open" | 1858 | msgid "_Open" |
1806 | msgstr "_Abrir" | 1859 | msgstr "_Abrir" |
1807 | 1860 | ||
1808 | -#: src/filetransfer/v3270ft.c:333 | 1861 | +#: src/filetransfer/v3270ft.c:334 |
1809 | msgid "_Operation" | 1862 | msgid "_Operation" |
1810 | msgstr "_Operação:" | 1863 | msgstr "_Operação:" |
1811 | 1864 | ||
1812 | -#: src/selection/linux/paste.c:86 src/selection/linux/paste.c:118 | 1865 | +#: src/selection/windows/paste.c:84 src/selection/windows/paste.c:124 |
1813 | msgid "_Paste as text" | 1866 | msgid "_Paste as text" |
1814 | msgstr "_Colar como texto" | 1867 | msgstr "_Colar como texto" |
1815 | 1868 | ||
1816 | -#: src/filetransfer/v3270ft.c:335 | 1869 | +#: src/filetransfer/v3270ft.c:336 |
1817 | msgid "_Remote file" | 1870 | msgid "_Remote file" |
1818 | msgstr "Arquivo _remoto:" | 1871 | msgstr "Arquivo _remoto:" |
1819 | 1872 | ||
1820 | -#: src/trace/tracewindow.c:123 src/dialogs/save/save.c:342 | 1873 | +#: src/trace/tracewindow.c:124 src/dialogs/save/save.c:342 |
1821 | #: src/tools/entry.c:168 | 1874 | #: src/tools/entry.c:168 |
1822 | msgid "_Save" | 1875 | msgid "_Save" |
1823 | msgstr "_Salvar" | 1876 | msgstr "_Salvar" |
@@ -1826,7 +1879,7 @@ msgstr "_Salvar" | @@ -1826,7 +1879,7 @@ msgstr "_Salvar" | ||
1826 | msgid "_Text file" | 1879 | msgid "_Text file" |
1827 | msgstr "Arquivo _texto" | 1880 | msgstr "Arquivo _texto" |
1828 | 1881 | ||
1829 | -#: src/terminal/actions/table.c:230 | 1882 | +#: src/terminal/actions/table.c:211 |
1830 | msgid "decrease the font size" | 1883 | msgid "decrease the font size" |
1831 | msgstr "Diminui o tamanho da fonte" | 1884 | msgstr "Diminui o tamanho da fonte" |
1832 | 1885 | ||
@@ -2366,6 +2419,9 @@ msgstr "Diminui o tamanho da fonte" | @@ -2366,6 +2419,9 @@ msgstr "Diminui o tamanho da fonte" | ||
2366 | #~ msgid "Click to save file" | 2419 | #~ msgid "Click to save file" |
2367 | #~ msgstr "Clique para salvar arquivo" | 2420 | #~ msgstr "Clique para salvar arquivo" |
2368 | 2421 | ||
2422 | +#~ msgid "Clipboard properties" | ||
2423 | +#~ msgstr "Configuração da área de transferência" | ||
2424 | + | ||
2369 | #~ msgid "Color setup" | 2425 | #~ msgid "Color setup" |
2370 | #~ msgstr "Configuração de cores" | 2426 | #~ msgstr "Configuração de cores" |
2371 | 2427 | ||
@@ -2983,6 +3039,9 @@ msgstr "Diminui o tamanho da fonte" | @@ -2983,6 +3039,9 @@ msgstr "Diminui o tamanho da fonte" | ||
2983 | #~ msgid "Non zero if the host is TSO." | 3039 | #~ msgid "Non zero if the host is TSO." |
2984 | #~ msgstr "Diferente de zero se o host é TSO" | 3040 | #~ msgstr "Diferente de zero se o host é TSO" |
2985 | 3041 | ||
3042 | +#~ msgid "None of the screens in the clipboard match with the current one." | ||
3043 | +#~ msgstr "Nenhuma das telas da área de transferência corresponde à atual." | ||
3044 | + | ||
2986 | #~ msgid "Not available" | 3045 | #~ msgid "Not available" |
2987 | #~ msgstr "Não disponível" | 3046 | #~ msgstr "Não disponível" |
2988 | 3047 | ||
@@ -3419,15 +3478,16 @@ msgstr "Diminui o tamanho da fonte" | @@ -3419,15 +3478,16 @@ msgstr "Diminui o tamanho da fonte" | ||
3419 | #~ msgid "Select file to send" | 3478 | #~ msgid "Select file to send" |
3420 | #~ msgstr "Selecione arquivo a enviar" | 3479 | #~ msgstr "Selecione arquivo a enviar" |
3421 | 3480 | ||
3422 | -#~ msgid "Select font" | ||
3423 | -#~ msgstr "Selecione fonte" | ||
3424 | - | ||
3425 | #~ msgid "Select hostname" | 3481 | #~ msgid "Select hostname" |
3426 | #~ msgstr "Selecione host" | 3482 | #~ msgstr "Selecione host" |
3427 | 3483 | ||
3428 | #~ msgid "Select() failed when processing for events." | 3484 | #~ msgid "Select() failed when processing for events." |
3429 | #~ msgstr "Select() falhou ao processar eventos." | 3485 | #~ msgstr "Select() falhou ao processar eventos." |
3430 | 3486 | ||
3487 | +#, fuzzy | ||
3488 | +#~ msgid "Selection" | ||
3489 | +#~ msgstr "Selecionar" | ||
3490 | + | ||
3431 | #~ msgid "Self signed certificate" | 3491 | #~ msgid "Self signed certificate" |
3432 | #~ msgstr "Certificado auto assinado" | 3492 | #~ msgstr "Certificado auto assinado" |
3433 | 3493 | ||
@@ -4026,9 +4086,6 @@ msgstr "Diminui o tamanho da fonte" | @@ -4026,9 +4086,6 @@ msgstr "Diminui o tamanho da fonte" | ||
4026 | #~ msgid "Unsupported socks 4 proxy" | 4086 | #~ msgid "Unsupported socks 4 proxy" |
4027 | #~ msgstr "Unsupported socks 4 proxy" | 4087 | #~ msgstr "Unsupported socks 4 proxy" |
4028 | 4088 | ||
4029 | -#~ msgid "Untitled document" | ||
4030 | -#~ msgstr "Documento sem título" | ||
4031 | - | ||
4032 | #~ msgid "Uppercase only" | 4089 | #~ msgid "Uppercase only" |
4033 | #~ msgstr "Apenas maiúsculas" | 4090 | #~ msgstr "Apenas maiúsculas" |
4034 | 4091 |
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +<?xml version="1.0"?> | ||
2 | +<!DOCTYPE moduleset SYSTEM "moduleset.dtd"> | ||
3 | +<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?> | ||
4 | +<moduleset> | ||
5 | + | ||
6 | + <include href="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/modulesets-stable/gtk-osx.modules" /> | ||
7 | + <include href="https://raw.githubusercontent.com/PerryWerneck/lib3270/macos/mac/lib3270.modules" /> | ||
8 | + | ||
9 | + <repository type="git" name="github.com" href="git://github.com/"/> | ||
10 | + | ||
11 | + <autotools id="libv3270"> | ||
12 | + <branch repo="github.com" module="PerryWerneck/libv3270" revision="macos" /> | ||
13 | + <dependencies> | ||
14 | + <dep package="meta-gtk-osx-bootstrap"/> | ||
15 | + <dep package="glib"/> | ||
16 | + <dep package="gtk+-3.0"/> | ||
17 | + <!-- dep package="gtk-mac-integration"/ --> | ||
18 | + <!-- dep package="adwaita-icon-theme"/ --> | ||
19 | + <dep package="lib3270"/> | ||
20 | + </dependencies> | ||
21 | + </autotools> | ||
22 | + | ||
23 | +</moduleset> | ||
24 | + |
src/dialogs/colorscheme.c
@@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
34 | #include <v3270.h> | 34 | #include <v3270.h> |
35 | #include <lib3270/log.h> | 35 | #include <lib3270/log.h> |
36 | #include <v3270/colorscheme.h> | 36 | #include <v3270/colorscheme.h> |
37 | - #include "../terminal/marshal.h" | 37 | + #include <marshal/terminal.h> |
38 | 38 | ||
39 | #define V3270_COLOR_BASE V3270_COLOR_GRAY+1 | 39 | #define V3270_COLOR_BASE V3270_COLOR_GRAY+1 |
40 | 40 |
src/dialogs/font/chooser.c
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 | /** | 20 | /** |
@@ -0,0 +1,96 @@ | @@ -0,0 +1,96 @@ | ||
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 - 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 | + */ | ||
30 | + | ||
31 | +#include "../private.h" | ||
32 | +#include <stdarg.h> | ||
33 | + | ||
34 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | ||
35 | + | ||
36 | +gchar * v3270_select_file(GtkWidget *widget, const gchar *title, const gchar *button, GtkFileChooserAction action, const gchar *filename) | ||
37 | +{ | ||
38 | + gchar *rc = NULL; | ||
39 | + | ||
40 | +#if GTK_CHECK_VERSION(3,20,0) | ||
41 | + | ||
42 | + debug("%s action=%d",__FUNCTION__,(int) action); | ||
43 | + | ||
44 | + GtkFileChooserNative *native = | ||
45 | + gtk_file_chooser_native_new | ||
46 | + ( | ||
47 | + title, | ||
48 | + GTK_WINDOW(widget), | ||
49 | + action, | ||
50 | + button, | ||
51 | + _( "_Cancel" ) | ||
52 | + ); | ||
53 | + | ||
54 | + | ||
55 | + // Setup filename | ||
56 | + if(filename && *filename) | ||
57 | + gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(native),filename); | ||
58 | + | ||
59 | + | ||
60 | + // Run dialog | ||
61 | + if(gtk_native_dialog_run(GTK_NATIVE_DIALOG (native)) == GTK_RESPONSE_ACCEPT) { | ||
62 | + rc = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(native)); | ||
63 | + } | ||
64 | + | ||
65 | + g_object_unref(native); | ||
66 | + | ||
67 | +#else | ||
68 | + | ||
69 | + debug("%s action=%d",__FUNCTION__,(int) action); | ||
70 | + | ||
71 | + GtkWidget * chooser = | ||
72 | + gtk_file_chooser_dialog_new | ||
73 | + ( | ||
74 | + title, | ||
75 | + GTK_WINDOW(widget), | ||
76 | + action, | ||
77 | + _("_Cancel" ), GTK_RESPONSE_CANCEL, | ||
78 | + button, GTK_RESPONSE_ACCEPT, | ||
79 | + NULL | ||
80 | + ); | ||
81 | + | ||
82 | + if(filename && *filename) | ||
83 | + gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(chooser),filename); | ||
84 | + | ||
85 | + if(gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_ACCEPT) { | ||
86 | + rc = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); | ||
87 | + } | ||
88 | + | ||
89 | + gtk_widget_destroy(chooser); | ||
90 | + | ||
91 | +#endif // GTK 3.20 | ||
92 | + | ||
93 | + return rc; | ||
94 | + | ||
95 | +} | ||
96 | + |
src/dialogs/save/save.c
@@ -179,7 +179,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -179,7 +179,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
179 | 179 | ||
180 | } | 180 | } |
181 | 181 | ||
182 | - static void fileformat_changed(GtkComboBox *formats, GtkEntry *entry) | 182 | + static void fileformat_changed(GtkComboBox *fmts, GtkEntry *entry) |
183 | { | 183 | { |
184 | const gchar * text = gtk_entry_get_text(entry); | 184 | const gchar * text = gtk_entry_get_text(entry); |
185 | 185 | ||
@@ -191,7 +191,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -191,7 +191,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
191 | return; | 191 | return; |
192 | 192 | ||
193 | extension++; | 193 | extension++; |
194 | - const gchar * format = gtk_combo_box_get_active_id(formats); | 194 | + const gchar * format = gtk_combo_box_get_active_id(fmts); |
195 | if(*format == '.') | 195 | if(*format == '.') |
196 | format++; | 196 | format++; |
197 | 197 |
src/dialogs/settings/clipboard.c
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. | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
16 | * | 5 | * |
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 | 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. | ||
20 | * | 10 | * |
21 | - * Este programa está nomeado como - 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) | 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 | /** | 20 | /** |
@@ -40,9 +30,10 @@ | @@ -40,9 +30,10 @@ | ||
40 | /*--[ Constants ]------------------------------------------------------------------------------------*/ | 30 | /*--[ Constants ]------------------------------------------------------------------------------------*/ |
41 | 31 | ||
42 | enum { | 32 | enum { |
43 | - COPY_SETTINGS, | ||
44 | - PASTE_SETTINGS, | ||
45 | - HTML_SETTINGS, | 33 | + SELECT_OPTIONS, |
34 | + COPY_OPTIONS, | ||
35 | + PASTE_OPTIONS, | ||
36 | + HTML_OPTIONS, | ||
46 | 37 | ||
47 | GRID_COUNT | 38 | GRID_COUNT |
48 | }; | 39 | }; |
@@ -52,7 +43,7 @@ | @@ -52,7 +43,7 @@ | ||
52 | .left = 1, | 43 | .left = 1, |
53 | .top = 1, | 44 | .top = 1, |
54 | .width = 1, | 45 | .width = 1, |
55 | - .grid = COPY_SETTINGS, | 46 | + .grid = SELECT_OPTIONS, |
56 | .id = LIB3270_TOGGLE_RECTANGLE_SELECT, | 47 | .id = LIB3270_TOGGLE_RECTANGLE_SELECT, |
57 | }, | 48 | }, |
58 | 49 | ||
@@ -60,7 +51,7 @@ | @@ -60,7 +51,7 @@ | ||
60 | .left = 1, | 51 | .left = 1, |
61 | .top = 2, | 52 | .top = 2, |
62 | .width = 1, | 53 | .width = 1, |
63 | - .grid = COPY_SETTINGS, | 54 | + .grid = SELECT_OPTIONS, |
64 | .id = LIB3270_TOGGLE_KEEP_SELECTED, | 55 | .id = LIB3270_TOGGLE_KEEP_SELECTED, |
65 | }, | 56 | }, |
66 | 57 | ||
@@ -68,7 +59,7 @@ | @@ -68,7 +59,7 @@ | ||
68 | .left = 0, | 59 | .left = 0, |
69 | .top = 0, | 60 | .top = 0, |
70 | .width = 1, | 61 | .width = 1, |
71 | - .grid = PASTE_SETTINGS, | 62 | + .grid = PASTE_OPTIONS, |
72 | .id = LIB3270_TOGGLE_MARGINED_PASTE, | 63 | .id = LIB3270_TOGGLE_MARGINED_PASTE, |
73 | }, | 64 | }, |
74 | 65 | ||
@@ -76,7 +67,7 @@ | @@ -76,7 +67,7 @@ | ||
76 | .left = 0, | 67 | .left = 0, |
77 | .top = 1, | 68 | .top = 1, |
78 | .width = 1, | 69 | .width = 1, |
79 | - .grid = PASTE_SETTINGS, | 70 | + .grid = PASTE_OPTIONS, |
80 | .id = LIB3270_TOGGLE_SMART_PASTE, | 71 | .id = LIB3270_TOGGLE_SMART_PASTE, |
81 | } | 72 | } |
82 | 73 | ||
@@ -85,7 +76,7 @@ | @@ -85,7 +76,7 @@ | ||
85 | static const struct ComboBoxDefinition combos[] = { | 76 | static const struct ComboBoxDefinition combos[] = { |
86 | 77 | ||
87 | { | 78 | { |
88 | - .grid = HTML_SETTINGS, | 79 | + .grid = HTML_OPTIONS, |
89 | .left = 0, | 80 | .left = 0, |
90 | .top = 0, | 81 | .top = 0, |
91 | .width = 1, | 82 | .width = 1, |
@@ -102,7 +93,7 @@ | @@ -102,7 +93,7 @@ | ||
102 | }, | 93 | }, |
103 | 94 | ||
104 | { | 95 | { |
105 | - .grid = HTML_SETTINGS, | 96 | + .grid = HTML_OPTIONS, |
106 | .left = 0, | 97 | .left = 0, |
107 | .top = 1, | 98 | .top = 1, |
108 | .width = 1, | 99 | .width = 1, |
@@ -119,7 +110,7 @@ | @@ -119,7 +110,7 @@ | ||
119 | }, | 110 | }, |
120 | 111 | ||
121 | { | 112 | { |
122 | - .grid = COPY_SETTINGS, | 113 | + .grid = COPY_OPTIONS, |
123 | .left = 0, | 114 | .left = 0, |
124 | .top = 0, | 115 | .top = 0, |
125 | .width = 2, | 116 | .width = 2, |
@@ -146,7 +137,7 @@ | @@ -146,7 +137,7 @@ | ||
146 | .top = 2, | 137 | .top = 2, |
147 | .width = 1, | 138 | .width = 1, |
148 | .height = 1, | 139 | .height = 1, |
149 | - .grid = HTML_SETTINGS | 140 | + .grid = HTML_OPTIONS |
150 | }, | 141 | }, |
151 | 142 | ||
152 | { | 143 | { |
@@ -156,27 +147,37 @@ | @@ -156,27 +147,37 @@ | ||
156 | .top = 2, | 147 | .top = 2, |
157 | .width = 1, | 148 | .width = 1, |
158 | .height = 1, | 149 | .height = 1, |
159 | - .grid = PASTE_SETTINGS | 150 | + .grid = PASTE_OPTIONS |
160 | }, | 151 | }, |
161 | 152 | ||
162 | { | 153 | { |
163 | .label = N_("Smart copy"), | 154 | .label = N_("Smart copy"), |
164 | .tooltip = N_("When set the first copy operation after the selection will set the clipboard contents and the next ones will append"), | 155 | .tooltip = N_("When set the first copy operation after the selection will set the clipboard contents and the next ones will append"), |
165 | .left = 1, | 156 | .left = 1, |
166 | - .top = 4, | 157 | + .top = 1, |
167 | .width = 1, | 158 | .width = 1, |
168 | .height = 1, | 159 | .height = 1, |
169 | - .grid = COPY_SETTINGS | 160 | + .grid = COPY_OPTIONS |
170 | }, | 161 | }, |
171 | 162 | ||
172 | { | 163 | { |
173 | .label = N_("Image copy"), | 164 | .label = N_("Image copy"), |
174 | .tooltip = N_("When set allow image formats on clipboard"), | 165 | .tooltip = N_("When set allow image formats on clipboard"), |
175 | .left = 1, | 166 | .left = 1, |
167 | + .top = 2, | ||
168 | + .width = 1, | ||
169 | + .height = 1, | ||
170 | + .grid = COPY_OPTIONS | ||
171 | + }, | ||
172 | + | ||
173 | + { | ||
174 | + .label = N_("Detect http:// or https://"), | ||
175 | + .tooltip = N_("When set URLs selected with double click will be opened"), | ||
176 | + .left = 1, | ||
176 | .top = 3, | 177 | .top = 3, |
177 | .width = 1, | 178 | .width = 1, |
178 | .height = 1, | 179 | .height = 1, |
179 | - .grid = COPY_SETTINGS | 180 | + .grid = SELECT_OPTIONS |
180 | } | 181 | } |
181 | 182 | ||
182 | }; | 183 | }; |
@@ -247,6 +248,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | @@ -247,6 +248,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | ||
247 | // Create grids | 248 | // Create grids |
248 | { | 249 | { |
249 | static const gchar * labels[GRID_COUNT] = { | 250 | static const gchar * labels[GRID_COUNT] = { |
251 | + N_("Select options"), | ||
250 | N_("Copy options"), | 252 | N_("Copy options"), |
251 | N_("Paste options"), | 253 | N_("Paste options"), |
252 | N_("HTML options") | 254 | N_("HTML options") |
@@ -258,23 +260,32 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | @@ -258,23 +260,32 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | ||
258 | int width; | 260 | int width; |
259 | } positions[GRID_COUNT] = { | 261 | } positions[GRID_COUNT] = { |
260 | { | 262 | { |
263 | + // SELECT_OPTIONS | ||
261 | .left = 0, | 264 | .left = 0, |
262 | .top = 0, | 265 | .top = 0, |
263 | .width = 1 | 266 | .width = 1 |
264 | }, | 267 | }, |
265 | 268 | ||
266 | { | 269 | { |
267 | - .left = 1, | 270 | + // COPY_OPTIONS |
271 | + .left = 1, | ||
268 | .top = 0, | 272 | .top = 0, |
269 | .width = 1 | 273 | .width = 1 |
270 | }, | 274 | }, |
271 | 275 | ||
272 | { | 276 | { |
277 | + // PASTE_OPTIONS | ||
278 | + .left = 1, | ||
279 | + .top = 1, | ||
280 | + .width = 1 | ||
281 | + }, | ||
282 | + | ||
283 | + { | ||
284 | + // HTML_OPTIONS | ||
273 | .left = 0, | 285 | .left = 0, |
274 | .top = 1, | 286 | .top = 1, |
275 | .width = 1 | 287 | .width = 1 |
276 | } | 288 | } |
277 | - | ||
278 | }; | 289 | }; |
279 | 290 | ||
280 | for(ix = 0; ix < G_N_ELEMENTS(labels); ix++) { | 291 | for(ix = 0; ix < G_N_ELEMENTS(labels); ix++) { |
@@ -334,6 +345,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | @@ -334,6 +345,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | ||
334 | 345 | ||
335 | } | 346 | } |
336 | 347 | ||
348 | +/* | ||
337 | // Load color schemes | 349 | // Load color schemes |
338 | #ifdef DEBUG | 350 | #ifdef DEBUG |
339 | { | 351 | { |
@@ -379,7 +391,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | @@ -379,7 +391,7 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) { | ||
379 | } | 391 | } |
380 | } | 392 | } |
381 | #endif // DEBUG | 393 | #endif // DEBUG |
382 | - | 394 | +*/ |
383 | // Copy format combo | 395 | // Copy format combo |
384 | static const gchar * copy_formats[] = { | 396 | static const gchar * copy_formats[] = { |
385 | N_("Plain text only"), | 397 | N_("Plain text only"), |
@@ -416,7 +428,7 @@ GtkWidget * v3270_clipboard_settings_new() { | @@ -416,7 +428,7 @@ GtkWidget * v3270_clipboard_settings_new() { | ||
416 | 428 | ||
417 | V3270Settings * settings = GTK_V3270_SETTINGS(g_object_new(V3270ClipboardSettings_get_type(), NULL)); | 429 | V3270Settings * settings = GTK_V3270_SETTINGS(g_object_new(V3270ClipboardSettings_get_type(), NULL)); |
418 | 430 | ||
419 | - settings->title = _("Clipboard properties"); | 431 | + settings->title = _("Options for select, cut and paste actions"); |
420 | settings->label = _("Clipboard"); | 432 | settings->label = _("Clipboard"); |
421 | 433 | ||
422 | return GTK_WIDGET(settings); | 434 | return GTK_WIDGET(settings); |
@@ -484,6 +496,7 @@ static void load(GtkWidget *w, GtkWidget *t) { | @@ -484,6 +496,7 @@ static void load(GtkWidget *w, GtkWidget *t) { | ||
484 | gtk_toggle_button_set_active(widget->input.checkboxes[1],(terminal->selection.options & V3270_SELECTION_SCREEN_PASTE) != 0); | 496 | gtk_toggle_button_set_active(widget->input.checkboxes[1],(terminal->selection.options & V3270_SELECTION_SCREEN_PASTE) != 0); |
485 | gtk_toggle_button_set_active(widget->input.checkboxes[2],(terminal->selection.options & V3270_SELECTION_SMART_COPY) != 0); | 497 | gtk_toggle_button_set_active(widget->input.checkboxes[2],(terminal->selection.options & V3270_SELECTION_SMART_COPY) != 0); |
486 | gtk_toggle_button_set_active(widget->input.checkboxes[3],(terminal->selection.options & V3270_SELECTION_PIXBUFF) != 0); | 498 | gtk_toggle_button_set_active(widget->input.checkboxes[3],(terminal->selection.options & V3270_SELECTION_PIXBUFF) != 0); |
499 | + gtk_toggle_button_set_active(widget->input.checkboxes[4],terminal->open_url != 0); | ||
487 | 500 | ||
488 | // | 501 | // |
489 | // Set font combo-box | 502 | // Set font combo-box |
@@ -577,6 +590,12 @@ static void apply(GtkWidget *w, GtkWidget *t) { | @@ -577,6 +590,12 @@ static void apply(GtkWidget *w, GtkWidget *t) { | ||
577 | terminal->selection.options &= ~V3270_SELECTION_PIXBUFF; | 590 | terminal->selection.options &= ~V3270_SELECTION_PIXBUFF; |
578 | } | 591 | } |
579 | 592 | ||
593 | + if(gtk_toggle_button_get_active(widget->input.checkboxes[4])) { | ||
594 | + terminal->open_url = 1; | ||
595 | + } else { | ||
596 | + terminal->open_url = 0; | ||
597 | + } | ||
598 | + | ||
580 | // Get font settings | 599 | // Get font settings |
581 | switch(get_active_id(widget,0)) { | 600 | switch(get_active_id(widget,0)) { |
582 | case '0': | 601 | case '0': |
src/dialogs/settings/colors.c
@@ -381,13 +381,3 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | @@ -381,13 +381,3 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) | ||
381 | 381 | ||
382 | return GTK_WIDGET(settings); | 382 | return GTK_WIDGET(settings); |
383 | } | 383 | } |
384 | - | ||
385 | - LIB3270_EXPORT void v3270_edit_color_table(GtkWidget *terminal) | ||
386 | - { | ||
387 | - v3270_settings_popup_dialog( | ||
388 | - v3270_color_settings_new(), | ||
389 | - terminal, | ||
390 | - FALSE | ||
391 | - ); | ||
392 | - | ||
393 | - } |
src/dialogs/settings/url.c
src/dialogs/settings/widget.c
@@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include "../private.h" | 30 | #include "../private.h" |
31 | - #include "../terminal/marshal.h" | 31 | + #include <marshal/terminal.h> |
32 | #include <internals.h> | 32 | #include <internals.h> |
33 | #include <v3270/settings.h> | 33 | #include <v3270/settings.h> |
34 | #include <lib3270/log.h> | 34 | #include <lib3270/log.h> |
src/filetransfer/activitylist.c
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | #include <internals.h> | 30 | #include <internals.h> |
31 | #include <v3270/dialogs.h> | 31 | #include <v3270/dialogs.h> |
32 | #include "private.h" | 32 | #include "private.h" |
33 | - #include "marshal.h" | 33 | + #include <marshal/filetransfer.h> |
34 | 34 | ||
35 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ | 35 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ |
36 | 36 |
src/filetransfer/settings.c
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | #include <string.h> | 30 | #include <string.h> |
31 | #include <internals.h> | 31 | #include <internals.h> |
32 | #include "private.h" | 32 | #include "private.h" |
33 | - #include "marshal.h" | 33 | + #include <marshal/filetransfer.h> |
34 | #include <v3270/filetransfer.h> | 34 | #include <v3270/filetransfer.h> |
35 | 35 | ||
36 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ | 36 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ |
src/filetransfer/v3270ftprogress.c
src/filetransfer/worker.c
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | #include <string.h> | 30 | #include <string.h> |
31 | #include <internals.h> | 31 | #include <internals.h> |
32 | #include "private.h" | 32 | #include "private.h" |
33 | - #include "marshal.h" | 33 | + #include <marshal/filetransfer.h> |
34 | #include <v3270/filetransfer.h> | 34 | #include <v3270/filetransfer.h> |
35 | 35 | ||
36 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ | 36 | /*--[ Widget definition ]----------------------------------------------------------------------------*/ |
src/include/internals.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 | #ifndef V3270_INTERNALS_H_INCLUDED | 20 | #ifndef V3270_INTERNALS_H_INCLUDED |
@@ -121,6 +111,7 @@ | @@ -121,6 +111,7 @@ | ||
121 | // Misc signals | 111 | // Misc signals |
122 | // | 112 | // |
123 | V3270_SIGNAL_FIRE_ACTION, ///< @brief Fire action by name. | 113 | V3270_SIGNAL_FIRE_ACTION, ///< @brief Fire action by name. |
114 | + V3270_SIGNAL_OPEN_URL, ///< @brief An URL was selected. | ||
124 | 115 | ||
125 | V3270_SIGNAL_LAST | 116 | V3270_SIGNAL_LAST |
126 | }; | 117 | }; |
src/include/terminal.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 | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
20 | * | 5 | * |
21 | - * Este programa está nomeado como - e possui - linhas de código. | 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. | ||
22 | * | 10 | * |
23 | - * Contatos: | ||
24 | - * | ||
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> | ||
31 | -#include <internals.h> | ||
32 | -#include <v3270/selection.h> | ||
33 | - | ||
34 | -G_BEGIN_DECLS | 20 | + #include <config.h> |
21 | + #include <internals.h> | ||
22 | + #include <v3270/selection.h> | ||
35 | 23 | ||
36 | -/* | ||
37 | - /// @brief V3270 Properties saved to the configuration file. | ||
38 | - typedef enum | ||
39 | - { | ||
40 | - V3270_SETTING_URL, | ||
41 | - V3270_SETTING_FONT_FAMILY, | ||
42 | - V3270_SETTING_AUTO_DISCONNECT, | ||
43 | - V3270_SETTING_REMAP_FILE, | ||
44 | - V3270_SETTING_DYNAMIC_SPACING, | ||
45 | - V3270_SETTING_LU_NAMES, | ||
46 | - V3270_SETTING_MODEL_NUMBER, | ||
47 | - V3270_SETTING_OVERSIZE, | ||
48 | - V3270_SETTING_HOST_CHARSET, | ||
49 | - V3270_SETTING_UNLOCK_DELAY, | ||
50 | - V3270_SETTING_COLOR_TYPE, | ||
51 | - V3270_SETTING_HOST_TYPE, | ||
52 | - V3270_SETTING_CRL_PROTOCOL, | ||
53 | - V3270_SETTING_TERMINAL_COLORS, | ||
54 | - V3270_SETTING_SELECTION_OPTIONS, | ||
55 | - | ||
56 | - V3270_SETTING_COUNT ///< @brief Number of setting properties. | ||
57 | - } V3270_SETTING; | ||
58 | - | ||
59 | - G_GNUC_INTERNAL void v3270_notify_setting(GtkWidget *widget, V3270_SETTING id); | ||
60 | -*/ | 24 | + G_BEGIN_DECLS |
61 | 25 | ||
62 | struct _v3270Class | 26 | struct _v3270Class |
63 | { | 27 | { |
@@ -151,14 +115,15 @@ G_BEGIN_DECLS | @@ -151,14 +115,15 @@ G_BEGIN_DECLS | ||
151 | GtkWidget parent; | 115 | GtkWidget parent; |
152 | 116 | ||
153 | // flags | 117 | // flags |
154 | - int selecting : 1; /// @brief Selecting region | ||
155 | - int moving : 1; /// @brief Moving selected region | ||
156 | - int resizing : 1; /// @brief Resizing selected region | ||
157 | - int scaled_fonts : 1; /// @brief Use scaled fonts | ||
158 | - int drawing : 1; /// @brief Draw widget? | ||
159 | - int freeze : 1; /// @brief Truee when the "save settings" signal is disabled. | ||
160 | - int append : 1; /// @brief Next smart-copy operation will be append. | ||
161 | - int copying : 1; /// @brief Copy with center mouse button | 118 | + unsigned int selecting : 1; ///< @brief Selecting region |
119 | + unsigned int moving : 1; ///< @brief Moving selected region | ||
120 | + unsigned int resizing : 1; ///< @brief Resizing selected region | ||
121 | + unsigned int scaled_fonts : 1; ///< @brief Use scaled fonts | ||
122 | + unsigned int drawing : 1; ///< @brief Draw widget? | ||
123 | + unsigned int freeze : 1; ///< @brief True when the "save settings" signal is disabled. | ||
124 | + unsigned int append : 1; ///< @brief Next smart-copy operation will be append. | ||
125 | + unsigned int copying : 1; ///< @brief Copy with center mouse button | ||
126 | + unsigned int open_url : 1; ///< @brief Emit 'open-url' signal when and http:// or https:// url is selected by 'word-select' action. | ||
162 | 127 | ||
163 | /// @brief Action properties. | 128 | /// @brief Action properties. |
164 | // GtkResponseType responses[V3270_TOGGLEABLE_DIALOG_CUSTOM]; | 129 | // GtkResponseType responses[V3270_TOGGLEABLE_DIALOG_CUSTOM]; |
@@ -238,7 +203,7 @@ G_BEGIN_DECLS | @@ -238,7 +203,7 @@ G_BEGIN_DECLS | ||
238 | // Blink | 203 | // Blink |
239 | struct | 204 | struct |
240 | { | 205 | { |
241 | - int show : 1; ///< @brief Show element? | 206 | + unsigned int show : 1; ///< @brief Show element? |
242 | GSource * timer; ///< @brief Timer source. | 207 | GSource * timer; ///< @brief Timer source. |
243 | } blink; | 208 | } blink; |
244 | 209 |
src/include/v3270/colorscheme.h
@@ -66,7 +66,6 @@ | @@ -66,7 +66,6 @@ | ||
66 | LIB3270_EXPORT void v3270_color_scheme_set_text(GtkWidget *widget, const gchar *colors); | 66 | LIB3270_EXPORT void v3270_color_scheme_set_text(GtkWidget *widget, const gchar *colors); |
67 | 67 | ||
68 | LIB3270_EXPORT GtkWidget * v3270_color_selection_new() G_GNUC_DEPRECATED; | 68 | LIB3270_EXPORT GtkWidget * v3270_color_selection_new() G_GNUC_DEPRECATED; |
69 | - LIB3270_EXPORT void v3270_edit_color_table(GtkWidget *terminal); | ||
70 | 69 | ||
71 | G_END_DECLS | 70 | G_END_DECLS |
72 | 71 |
@@ -0,0 +1,196 @@ | @@ -0,0 +1,196 @@ | ||
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 - 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 <clipboard.h> | ||
31 | + #include <lib3270/selection.h> | ||
32 | + #include <lib3270/toggle.h> | ||
33 | + | ||
34 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | ||
35 | + | ||
36 | +void v3270_clipboard_clear(G_GNUC_UNUSED GtkClipboard *clipboard, G_GNUC_UNUSED GObject *obj) | ||
37 | +{ | ||
38 | + v3270 * terminal = GTK_V3270(obj); | ||
39 | + | ||
40 | + if(!lib3270_get_toggle(terminal->host,LIB3270_TOGGLE_KEEP_SELECTED)) | ||
41 | + { | ||
42 | + v3270_unselect(GTK_WIDGET(obj)); | ||
43 | + v3270_clear_selection(terminal); | ||
44 | + } | ||
45 | + | ||
46 | +} | ||
47 | + | ||
48 | +void v3270_clipboard_get(G_GNUC_UNUSED GtkClipboard *clipboard, GtkSelectionData *selection, guint target, GObject *obj) | ||
49 | +{ | ||
50 | + v3270 * terminal = GTK_V3270(obj); | ||
51 | + | ||
52 | + if(!terminal->selection.blocks) | ||
53 | + { | ||
54 | + return; | ||
55 | + } | ||
56 | + | ||
57 | + switch(target) | ||
58 | + { | ||
59 | + case CLIPBOARD_TYPE_TEXT: // Get clipboard contents as text | ||
60 | + { | ||
61 | + g_autofree gchar *text = v3270_get_copy_as_text(terminal,"UTF-8"); | ||
62 | + gtk_selection_data_set_text(selection,text,-1); | ||
63 | + } | ||
64 | + break; | ||
65 | + | ||
66 | + case CLIPBOARD_TYPE_CSV: | ||
67 | + { | ||
68 | + g_autofree gchar *text = v3270_get_copy_as_table(terminal,";","UTF-8"); | ||
69 | + debug("Selection:\n%s",text); | ||
70 | + gtk_selection_data_set( | ||
71 | + selection, | ||
72 | + gdk_atom_intern_static_string("text/csv"), | ||
73 | + 8, | ||
74 | + (guchar *) text, | ||
75 | + strlen(text) | ||
76 | + ); | ||
77 | + } | ||
78 | + break; | ||
79 | + | ||
80 | + case CLIPBOARD_TYPE_HTML: | ||
81 | + { | ||
82 | + g_autofree gchar *text = v3270_get_copy_as_html(terminal,"UTF-8"); | ||
83 | + //debug("Selection:\n%s",text); | ||
84 | + gtk_selection_data_set( | ||
85 | + selection, | ||
86 | + gdk_atom_intern_static_string("text/html"), | ||
87 | + 8, | ||
88 | + (guchar *) text, | ||
89 | + strlen(text) | ||
90 | + ); | ||
91 | + } | ||
92 | + break; | ||
93 | + | ||
94 | + case CLIPBOARD_TYPE_V3270_FORMATTED: | ||
95 | + { | ||
96 | + g_autofree gchar *data = v3270_get_copy_as_data_block(terminal); | ||
97 | + gtk_selection_data_set( | ||
98 | + selection, | ||
99 | + GTK_V3270_GET_CLASS(obj)->clipboard_formatted, | ||
100 | + 8, | ||
101 | + (guchar *) data, | ||
102 | + ((struct SelectionHeader *) data)->length | ||
103 | + ); | ||
104 | + } | ||
105 | + break; | ||
106 | + | ||
107 | + case CLIPBOARD_TYPE_PIXBUFF: | ||
108 | + { | ||
109 | + GdkPixbuf * pixbuff = v3270_get_selection_as_pixbuf(terminal, terminal->selection.blocks, FALSE); | ||
110 | + | ||
111 | + debug("%s: pixbuff=%p (blocks=%p)",__FUNCTION__,pixbuff,terminal->selection.blocks); | ||
112 | + | ||
113 | + if(pixbuff) | ||
114 | + { | ||
115 | + gtk_selection_data_set_pixbuf(selection,pixbuff); | ||
116 | + g_object_unref(pixbuff); | ||
117 | + } | ||
118 | + } | ||
119 | + break; | ||
120 | + | ||
121 | + default: | ||
122 | + g_warning("Unexpected clipboard type %d\n",target); | ||
123 | + } | ||
124 | +} | ||
125 | + | ||
126 | +void v3270_update_system_clipboard(GtkWidget *widget) | ||
127 | +{ | ||
128 | + v3270 * terminal = GTK_V3270(widget); | ||
129 | + | ||
130 | + if(!terminal->selection.blocks) | ||
131 | + { | ||
132 | + // No clipboard data, return. | ||
133 | + v3270_emit_copy_state(widget); | ||
134 | + return; | ||
135 | + } | ||
136 | + | ||
137 | + // Has clipboard data, inform system. | ||
138 | + GtkClipboard * clipboard = gtk_widget_get_clipboard(widget,terminal->selection.target); | ||
139 | + | ||
140 | + // Create target list | ||
141 | + // | ||
142 | + // Reference: https://cpp.hotexamples.com/examples/-/-/g_list_insert_sorted/cpp-g_list_insert_sorted-function-examples.html | ||
143 | + // | ||
144 | + GtkTargetList * list = gtk_target_list_new(NULL,0); | ||
145 | + | ||
146 | + gtk_target_list_add_text_targets(list, CLIPBOARD_TYPE_TEXT); | ||
147 | + | ||
148 | + if((terminal->selection.options & V3270_SELECTION_PLAIN_TEXT) == 0) | ||
149 | + { | ||
150 | + static const GtkTargetEntry targets[] = { | ||
151 | + { "text/csv", 0, CLIPBOARD_TYPE_CSV }, | ||
152 | + { "text/html", 0, CLIPBOARD_TYPE_HTML }, | ||
153 | + { "application/x-v3270-formatted", 0, CLIPBOARD_TYPE_V3270_FORMATTED }, | ||
154 | + }; | ||
155 | + | ||
156 | + gtk_target_list_add_table(list, targets, G_N_ELEMENTS(targets)); | ||
157 | + | ||
158 | + } | ||
159 | + | ||
160 | + if(terminal->selection.options & V3270_SELECTION_PIXBUFF) | ||
161 | + { | ||
162 | + gtk_target_list_add_image_targets(list,CLIPBOARD_TYPE_PIXBUFF,TRUE); | ||
163 | + } | ||
164 | + | ||
165 | + int n_targets; | ||
166 | + GtkTargetEntry * targets = gtk_target_table_new_from_list(list, &n_targets); | ||
167 | + | ||
168 | +#ifdef DEBUG | ||
169 | + { | ||
170 | + int ix; | ||
171 | + for(ix = 0; ix < n_targets; ix++) { | ||
172 | + debug("target(%d)=\"%s\"",ix,targets[ix].target); | ||
173 | + } | ||
174 | + } | ||
175 | +#endif // DEBUG | ||
176 | + | ||
177 | + if(gtk_clipboard_set_with_owner( | ||
178 | + clipboard, | ||
179 | + targets, | ||
180 | + n_targets, | ||
181 | + (GtkClipboardGetFunc) v3270_clipboard_get, | ||
182 | + (GtkClipboardClearFunc) v3270_clipboard_clear, | ||
183 | + G_OBJECT(widget) | ||
184 | + )) | ||
185 | + { | ||
186 | + gtk_clipboard_set_can_store(clipboard,targets,1); | ||
187 | + } | ||
188 | + | ||
189 | + gtk_target_table_free(targets, n_targets); | ||
190 | + gtk_target_list_unref(list); | ||
191 | + | ||
192 | + v3270_emit_copy_state(widget); | ||
193 | + | ||
194 | +} | ||
195 | + | ||
196 | + |
@@ -0,0 +1,219 @@ | @@ -0,0 +1,219 @@ | ||
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 selection.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 <clipboard.h> | ||
31 | + #include <lib3270/toggle.h> | ||
32 | + #include <v3270/dialogs.h> | ||
33 | + #include <lib3270/popup.h> | ||
34 | + | ||
35 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | ||
36 | + | ||
37 | +static void text_received(G_GNUC_UNUSED GtkClipboard *clipboard, const gchar *text, GtkWidget *widget) | ||
38 | +{ | ||
39 | + v3270_input_text(widget,text,"UTF-8"); | ||
40 | +} | ||
41 | + | ||
42 | +static gboolean has_target(const GdkAtom atom, const GdkAtom *atoms, const gint n_atoms) | ||
43 | +{ | ||
44 | + gint ix; | ||
45 | + | ||
46 | + for(ix = 0; ix < n_atoms; ix++) | ||
47 | + { | ||
48 | + if(atom == atoms[ix]) | ||
49 | + return TRUE; | ||
50 | + } | ||
51 | + | ||
52 | + return FALSE; | ||
53 | +} | ||
54 | + | ||
55 | +static void formatted_received(GtkClipboard *clipboard, GtkSelectionData *selection_data, GtkWidget *widget) | ||
56 | +{ | ||
57 | + const struct SelectionHeader *selection = (const struct SelectionHeader *) gtk_selection_data_get_data(selection_data); | ||
58 | + | ||
59 | + v3270 * terminal = GTK_V3270(widget); | ||
60 | + | ||
61 | + debug( | ||
62 | + "Received formatted data with %u bytes: Build=%u rows=%u cols=%u", | ||
63 | + selection->length, | ||
64 | + selection->build, | ||
65 | + selection->rows, | ||
66 | + selection->cols | ||
67 | + ); | ||
68 | + | ||
69 | + if(selection->cols != lib3270_get_width(terminal->host) || selection->rows != lib3270_get_height(terminal->host)) | ||
70 | + { | ||
71 | + GtkWidget * dialog = | ||
72 | + gtk_message_dialog_new( | ||
73 | + GTK_WINDOW(gtk_widget_get_toplevel(widget)), | ||
74 | + GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, | ||
75 | + GTK_MESSAGE_INFO, | ||
76 | + GTK_BUTTONS_NONE, | ||
77 | + _("Not the same terminal type") | ||
78 | + ); | ||
79 | + | ||
80 | + | ||
81 | + gtk_window_set_title(GTK_WINDOW(dialog),_("Can't paste")); | ||
82 | + | ||
83 | + gtk_dialog_add_buttons( | ||
84 | + GTK_DIALOG (dialog), | ||
85 | + _("_Cancel"), GTK_RESPONSE_CANCEL, | ||
86 | + _("_Paste as text"), GTK_RESPONSE_APPLY, | ||
87 | + NULL | ||
88 | + ); | ||
89 | + | ||
90 | + gtk_dialog_set_default_response(GTK_DIALOG (dialog),GTK_RESPONSE_APPLY); | ||
91 | + | ||
92 | + gint response = gtk_dialog_run(GTK_DIALOG(dialog)); | ||
93 | + | ||
94 | + gtk_widget_destroy(dialog); | ||
95 | + | ||
96 | + if(response == GTK_RESPONSE_APPLY) | ||
97 | + { | ||
98 | + gtk_clipboard_request_text( | ||
99 | + clipboard, | ||
100 | + (GtkClipboardTextReceivedFunc) text_received, | ||
101 | + (gpointer) widget | ||
102 | + ); | ||
103 | + } | ||
104 | + | ||
105 | + return; | ||
106 | + | ||
107 | + } | ||
108 | + | ||
109 | + if(!v3270_set_from_data_block(terminal, selection)) | ||
110 | + { | ||
111 | + debug("%s: Can't paste data",__FUNCTION__); | ||
112 | + | ||
113 | + LIB3270_POPUP popup = { | ||
114 | + .name = "cantpaste", | ||
115 | + .title = _("Can't paste"), | ||
116 | + .summary = _("Unable to paste formatted data."), | ||
117 | + .body = _("None of the screens in the clipboard match with the current one."), | ||
118 | + .label = _("_Paste as text") | ||
119 | + }; | ||
120 | + | ||
121 | + if(v3270_popup_dialog_show(widget,&popup,1) == GTK_RESPONSE_APPLY) | ||
122 | + { | ||
123 | + gtk_clipboard_request_text( | ||
124 | + clipboard, | ||
125 | + (GtkClipboardTextReceivedFunc) text_received, | ||
126 | + (gpointer) widget | ||
127 | + ); | ||
128 | + } | ||
129 | + | ||
130 | + return; | ||
131 | + | ||
132 | + } | ||
133 | + | ||
134 | +} | ||
135 | + | ||
136 | +static void targets_received(GtkClipboard *clipboard, GdkAtom *atoms, gint n_atoms, GtkWidget *widget) { | ||
137 | + | ||
138 | + // If smart paste is enabled try to get formatted clipboard. | ||
139 | + gboolean screen_paste = ((GTK_V3270(widget)->selection.options & V3270_SELECTION_SCREEN_PASTE) != 0); | ||
140 | + | ||
141 | + debug("%s: Screen paste is %s", __FUNCTION__, screen_paste ? "enabled" : "disabled"); | ||
142 | + | ||
143 | + if(screen_paste && has_target(GTK_V3270_GET_CLASS(widget)->clipboard_formatted,atoms,n_atoms)) { | ||
144 | + | ||
145 | + debug("Clipboard as TN3270 \"%s\" data",gdk_atom_name(GTK_V3270_GET_CLASS(widget)->clipboard_formatted)); | ||
146 | + | ||
147 | + gtk_clipboard_request_contents( | ||
148 | + clipboard, | ||
149 | + GTK_V3270_GET_CLASS(widget)->clipboard_formatted, | ||
150 | + (GtkClipboardReceivedFunc) formatted_received, | ||
151 | + (gpointer) widget | ||
152 | + ); | ||
153 | + | ||
154 | + return; | ||
155 | + } | ||
156 | + | ||
157 | + // No smart paste or formatted data on clipboard, request as text. | ||
158 | + gtk_clipboard_request_text( | ||
159 | + clipboard, | ||
160 | + (GtkClipboardTextReceivedFunc) text_received, | ||
161 | + (gpointer) widget | ||
162 | + ); | ||
163 | + | ||
164 | +} | ||
165 | + | ||
166 | +LIB3270_EXPORT void v3270_clipboard_get_from_url(GtkWidget *widget, const gchar *url) | ||
167 | +{ | ||
168 | + g_return_if_fail(GTK_IS_V3270(widget)); | ||
169 | + | ||
170 | + GtkClipboard * clipboard = gtk_widget_get_clipboard(widget,GTK_V3270(widget)->selection.target); | ||
171 | + | ||
172 | + if(!url || !*url || g_str_has_prefix(url,"clipboard://") || g_str_has_prefix(url,"tn3270://")) | ||
173 | + { | ||
174 | + gtk_clipboard_request_targets( | ||
175 | + clipboard, | ||
176 | + (GtkClipboardTargetsReceivedFunc) targets_received, | ||
177 | + (gpointer) widget | ||
178 | + ); | ||
179 | + } | ||
180 | + else if(g_str_has_prefix(url,"text://")) | ||
181 | + { | ||
182 | + gtk_clipboard_request_text( | ||
183 | + clipboard, | ||
184 | + (GtkClipboardTextReceivedFunc) text_received, | ||
185 | + (gpointer) widget | ||
186 | + ); | ||
187 | + } | ||
188 | + else if(g_str_has_prefix(url,"file://")) | ||
189 | + { | ||
190 | + GtkWidget * dialog = v3270_load_dialog_new(widget, url+7); | ||
191 | + gtk_widget_show_all(dialog); | ||
192 | + v3270_load_dialog_run(dialog); | ||
193 | + gtk_widget_destroy(dialog); | ||
194 | + } | ||
195 | + else if(g_str_has_prefix(url,"screen://")) | ||
196 | + { | ||
197 | + gtk_clipboard_request_contents( | ||
198 | + clipboard, | ||
199 | + GTK_V3270_GET_CLASS(widget)->clipboard_formatted, | ||
200 | + (GtkClipboardReceivedFunc) formatted_received, | ||
201 | + (gpointer) widget | ||
202 | + ); | ||
203 | + } | ||
204 | + | ||
205 | +} | ||
206 | + | ||
207 | + | ||
208 | +LIB3270_EXPORT void v3270_paste(GtkWidget *widget) | ||
209 | +{ | ||
210 | + debug("%s",__FUNCTION__); | ||
211 | + v3270_clipboard_get_from_url(widget,NULL); | ||
212 | +} | ||
213 | + | ||
214 | +LIB3270_EXPORT void v3270_paste_text(GtkWidget *widget) | ||
215 | +{ | ||
216 | + debug("%s",__FUNCTION__); | ||
217 | + v3270_clipboard_get_from_url(widget,"text://"); | ||
218 | +} | ||
219 | + |
src/selection/text.c
@@ -124,7 +124,7 @@ gchar * v3270_convert_to_3270_charset(GtkWidget *widget, const gchar *text, cons | @@ -124,7 +124,7 @@ gchar * v3270_convert_to_3270_charset(GtkWidget *widget, const gchar *text, cons | ||
124 | 124 | ||
125 | g_autofree gchar *string = g_strdup(text); | 125 | g_autofree gchar *string = g_strdup(text); |
126 | 126 | ||
127 | - // FIXME (perry#1#): Is there any better way for a "sed" here? | 127 | + // Is there any better way for a "sed" here? |
128 | for(f=0;f<G_N_ELEMENTS(xlat);f++) | 128 | for(f=0;f<G_N_ELEMENTS(xlat);f++) |
129 | { | 129 | { |
130 | gchar *ptr = g_strstr_len(string,-1,xlat[f].from); | 130 | gchar *ptr = g_strstr_len(string,-1,xlat[f].from); |
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
@@ -26,8 +26,16 @@ | @@ -26,8 +26,16 @@ | ||
26 | 26 | ||
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 | + | ||
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 | + | ||
33 | + // Dialogs | ||
29 | 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); |
30 | 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); |
36 | + static int fire_color_dialog(GtkWidget *widget, const struct _v3270_action * action); | ||
37 | + static int fire_clipboard_dialog(GtkWidget *widget, const struct _v3270_action * action); | ||
38 | + static int fire_font_dialog(GtkWidget *widget, const struct _v3270_action * action); | ||
31 | 39 | ||
32 | /*--[ Implement ]------------------------------------------------------------------------------------*/ | 40 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
33 | 41 | ||
@@ -328,11 +336,37 @@ | @@ -328,11 +336,37 @@ | ||
328 | .group = LIB3270_ACTION_GROUP_OFFLINE, | 336 | .group = LIB3270_ACTION_GROUP_OFFLINE, |
329 | .name = "dialog-host", | 337 | .name = "dialog-host", |
330 | .icon = "network-server", | 338 | .icon = "network-server", |
331 | - .label = N_("Host settings"), | ||
332 | - .summary = N_("Edit host settings"), | 339 | + .label = N_("Host and emulation settings"), |
340 | + .summary = N_("Edit host and terminal emulation settings"), | ||
333 | .activate = fire_host_dialog | 341 | .activate = fire_host_dialog |
334 | }, | 342 | }, |
335 | 343 | ||
344 | + { | ||
345 | + .group = LIB3270_ACTION_GROUP_NONE, | ||
346 | + .name = "dialog-colors", | ||
347 | + .icon = "gtk-select-color", | ||
348 | + .label = N_("Terminal colors"), | ||
349 | + .summary = N_("Edit terminal colors"), | ||
350 | + .activate = fire_color_dialog | ||
351 | + }, | ||
352 | + | ||
353 | + { | ||
354 | + .group = LIB3270_ACTION_GROUP_NONE, | ||
355 | + .name = "dialog-clipboard", | ||
356 | + .label = N_("Selection settings"), | ||
357 | + .summary = N_("Edit clipboard settings"), | ||
358 | + .activate = fire_clipboard_dialog | ||
359 | + }, | ||
360 | + | ||
361 | + { | ||
362 | + .group = LIB3270_ACTION_GROUP_NONE, | ||
363 | + .icon = "preferences-desktop-font", | ||
364 | + .name = "dialog-font", | ||
365 | + .label = N_("Font settings"), | ||
366 | + .summary = N_("Select terminal font"), | ||
367 | + .activate = fire_font_dialog | ||
368 | + }, | ||
369 | + | ||
336 | // | 370 | // |
337 | // Terminator | 371 | // Terminator |
338 | // | 372 | // |
@@ -355,7 +389,7 @@ | @@ -355,7 +389,7 @@ | ||
355 | return 0; | 389 | return 0; |
356 | } | 390 | } |
357 | 391 | ||
358 | - static int fire_accelerators_dialog(GtkWidget *widget, const struct _v3270_action * action) { | 392 | + static int fire_accelerators_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { |
359 | 393 | ||
360 | GtkWidget * dialog = | 394 | GtkWidget * dialog = |
361 | v3270_settings_popup_dialog( | 395 | v3270_settings_popup_dialog( |
@@ -370,8 +404,7 @@ | @@ -370,8 +404,7 @@ | ||
370 | return 0; | 404 | return 0; |
371 | } | 405 | } |
372 | 406 | ||
373 | - static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action * action) { | ||
374 | - | 407 | + static int fire_host_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { |
375 | gtk_widget_show_all( | 408 | gtk_widget_show_all( |
376 | v3270_settings_popup_dialog( | 409 | v3270_settings_popup_dialog( |
377 | v3270_host_settings_new(), | 410 | v3270_host_settings_new(), |
@@ -379,49 +412,78 @@ | @@ -379,49 +412,78 @@ | ||
379 | TRUE | 412 | TRUE |
380 | ) | 413 | ) |
381 | ); | 414 | ); |
415 | + return 0; | ||
416 | + } | ||
417 | + | ||
418 | + static int fire_color_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { | ||
419 | + gtk_widget_show_all( | ||
420 | + v3270_settings_popup_dialog( | ||
421 | + v3270_color_settings_new(), | ||
422 | + widget, | ||
423 | + FALSE | ||
424 | + ) | ||
425 | + ); | ||
426 | + return 0; | ||
427 | + } | ||
428 | + | ||
429 | + static int fire_clipboard_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { | ||
430 | + gtk_widget_show_all( | ||
431 | + v3270_settings_popup_dialog( | ||
432 | + v3270_clipboard_settings_new(), | ||
433 | + widget, | ||
434 | + FALSE | ||
435 | + ) | ||
436 | + ); | ||
437 | + return 0; | ||
438 | + } | ||
382 | 439 | ||
440 | + static int fire_font_dialog(GtkWidget *widget, const struct _v3270_action G_GNUC_UNUSED(* action)) { | ||
441 | + | ||
442 | + GtkWidget * dialog = | ||
443 | + v3270_settings_popup_dialog( | ||
444 | + v3270_font_settings_new(), | ||
445 | + widget, | ||
446 | + TRUE | ||
447 | + ); | ||
448 | + gtk_window_set_default_size(GTK_WINDOW(dialog),950,400); | ||
449 | + gtk_widget_show_all(dialog); | ||
383 | return 0; | 450 | return 0; |
451 | + } | ||
384 | 452 | ||
385 | - /* | ||
386 | - GtkWidget * dialog = v3270_settings_dialog_new(); | ||
387 | - GtkWidget * settings = v3270_host_settings_new(); | 453 | + static int fire_copy_accelerator(GtkWidget *widget, const V3270_ACTION * action) { |
388 | 454 | ||
389 | - v3270_settings_dialog_set_has_subtitle(dialog,FALSE); | 455 | + v3270_clipboard_set( |
456 | + widget, | ||
457 | + (action->flags & 0x0F), | ||
458 | + (action->flags & V3270_ACTION_FLAG_CUT) != 0 | ||
459 | + ); | ||
390 | 460 | ||
391 | - gtk_window_set_title(GTK_WINDOW(dialog), v3270_settings_get_title(settings)); | ||
392 | - gtk_container_add(GTK_CONTAINER(dialog), settings); | 461 | + return EINVAL; |
462 | + } | ||
393 | 463 | ||
394 | - gtk_dialog_set_toplevel(dialog,widget); | ||
395 | - gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); | 464 | + static int fire_paste_accelerator(GtkWidget *widget, const V3270_ACTION * action) { |
396 | 465 | ||
397 | - v3270_settings_dialog_set_terminal_widget(dialog, widget); | 466 | + switch((int) action->flags) |
467 | + { | ||
468 | + case 0: // Default paste. | ||
469 | + v3270_clipboard_get_from_url(widget,NULL); | ||
470 | + break; | ||
398 | 471 | ||
399 | - gtk_window_set_default_size(GTK_WINDOW(dialog), 700, 150); | ||
400 | - gtk_widget_show_all(dialog); | 472 | + case 1: // Text paste. |
473 | + v3270_clipboard_get_from_url(widget,"text://"); | ||
474 | + break; | ||
401 | 475 | ||
402 | - gboolean again = TRUE; | ||
403 | - while(again) | ||
404 | - { | ||
405 | - gtk_widget_set_sensitive(dialog,TRUE); | ||
406 | - gtk_widget_set_visible(dialog,TRUE); | ||
407 | - | ||
408 | - switch(gtk_dialog_run(GTK_DIALOG(dialog))) | ||
409 | - { | ||
410 | - case GTK_RESPONSE_APPLY: | ||
411 | - debug("V3270HostSelectWidget::%s=%s",__FUNCTION__,"GTK_RESPONSE_APPLY"); | ||
412 | - v3270_settings_dialog_apply(dialog); | ||
413 | - again = lib3270_reconnect(v3270_get_session(widget),0); | ||
414 | - break; | ||
415 | - | ||
416 | - case GTK_RESPONSE_CANCEL: | ||
417 | - again = FALSE; | ||
418 | - debug("V3270HostSelectWidget::%s=%s",__FUNCTION__,"GTK_RESPONSE_CANCEL"); | ||
419 | - v3270_settings_dialog_revert(dialog); | ||
420 | - break; | ||
421 | - } | ||
422 | - } | ||
423 | - | ||
424 | - gtk_widget_destroy(dialog); | ||
425 | - */ | 476 | + case 2: // File paste. |
477 | + v3270_clipboard_get_from_url(widget,"file://"); | ||
478 | + break; | ||
426 | 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 | + } | ||
487 | + | ||
488 | + return 0; | ||
427 | } | 489 | } |
src/terminal/callbacks.c
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. | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
16 | * | 5 | * |
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 | 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. | ||
20 | * | 10 | * |
21 | - * Este programa está nomeado como - 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) | 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> |
@@ -85,23 +75,34 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE_ID id, unsigned char va | @@ -85,23 +75,34 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE_ID id, unsigned char va | ||
85 | v3270_update_toggle((GtkWidget *) lib3270_get_user_data(session), id, value, name); | 75 | v3270_update_toggle((GtkWidget *) lib3270_get_user_data(session), id, value, name); |
86 | } | 76 | } |
87 | 77 | ||
88 | -static gboolean bg_update_message(H3270 *session) | 78 | + |
79 | +struct update_message_data | ||
89 | { | 80 | { |
90 | - v3270 *terminal = (v3270 *) lib3270_get_user_data(session); | 81 | + H3270 *hSession; |
82 | + LIB3270_MESSAGE message; | ||
83 | +}; | ||
84 | + | ||
85 | +static gboolean bg_update_message(struct update_message_data *data) | ||
86 | +{ | ||
87 | + v3270 *terminal = (v3270 *) lib3270_get_user_data(data->hSession); | ||
91 | 88 | ||
92 | v3270_signal_emit( | 89 | v3270_signal_emit( |
93 | terminal, | 90 | terminal, |
94 | V3270_SIGNAL_MESSAGE_CHANGED, | 91 | V3270_SIGNAL_MESSAGE_CHANGED, |
95 | - (gint) lib3270_get_program_message(session) | 92 | + (gint) data->message |
96 | ); | 93 | ); |
97 | 94 | ||
98 | - //trace("-----B %s %p",__FUNCTION__, lib3270_get_user_data(session)); | 95 | + g_free(data); |
99 | return FALSE; | 96 | return FALSE; |
100 | } | 97 | } |
101 | 98 | ||
102 | -static void update_message(H3270 *session, G_GNUC_UNUSED LIB3270_MESSAGE id) | 99 | +static void update_message(H3270 *hSession, LIB3270_MESSAGE message) |
103 | { | 100 | { |
104 | - g_idle_add((GSourceFunc) bg_update_message, session); | 101 | + struct update_message_data *data = g_new0(struct update_message_data,1); |
102 | + data->hSession = hSession; | ||
103 | + data->message = message; | ||
104 | + | ||
105 | + g_idle_add((GSourceFunc) bg_update_message, data); | ||
105 | } | 106 | } |
106 | 107 | ||
107 | static void update_luname(H3270 *session, const char G_GNUC_UNUSED(*name)) | 108 | static void update_luname(H3270 *session, const char G_GNUC_UNUSED(*name)) |
@@ -276,21 +277,6 @@ static void update_selection(H3270 *session, G_GNUC_UNUSED int start, G_GNUC_UNU | @@ -276,21 +277,6 @@ static void update_selection(H3270 *session, G_GNUC_UNUSED int start, G_GNUC_UNU | ||
276 | 277 | ||
277 | } | 278 | } |
278 | 279 | ||
279 | -/* | ||
280 | -static void message(H3270 *session, LIB3270_NOTIFY type , const char *title, const char *message, const char *text) | ||
281 | -{ | ||
282 | - LIB3270_POPUP popup = { | ||
283 | - .type = type, | ||
284 | - .title = title, | ||
285 | - .summary = message, | ||
286 | - .body = text | ||
287 | - }; | ||
288 | - | ||
289 | - v3270_popup_dialog_show(GTK_WIDGET(lib3270_get_user_data(session)),&popup,0); | ||
290 | - | ||
291 | -} | ||
292 | -*/ | ||
293 | - | ||
294 | static int print(H3270 *session, LIB3270_CONTENT_OPTION mode) | 280 | static int print(H3270 *session, LIB3270_CONTENT_OPTION mode) |
295 | { | 281 | { |
296 | return v3270_print_dialog(GTK_WIDGET(lib3270_get_user_data(session)), mode, NULL); | 282 | return v3270_print_dialog(GTK_WIDGET(lib3270_get_user_data(session)), mode, NULL); |
@@ -326,27 +312,6 @@ static int load(H3270 *session, const char *filename) | @@ -326,27 +312,6 @@ static int load(H3270 *session, const char *filename) | ||
326 | return 0; | 312 | return 0; |
327 | } | 313 | } |
328 | 314 | ||
329 | -/* | ||
330 | -static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title, const char *msg, const char *fmt, va_list args) | ||
331 | -{ | ||
332 | - LIB3270_POPUP popup = { | ||
333 | - .type = type, | ||
334 | - .title = title, | ||
335 | - .summary = msg | ||
336 | - }; | ||
337 | - | ||
338 | - g_autofree gchar * body = NULL; | ||
339 | - | ||
340 | - if(fmt) { | ||
341 | - body = g_strdup_vprintf(fmt,args); | ||
342 | - popup.body = body; | ||
343 | - } | ||
344 | - | ||
345 | - v3270_popup_dialog_show(GTK_WIDGET(lib3270_get_user_data(session)),&popup,0); | ||
346 | - | ||
347 | - } | ||
348 | - */ | ||
349 | - | ||
350 | static gboolean bg_update_ssl(H3270 *session) | 315 | static gboolean bg_update_ssl(H3270 *session) |
351 | { | 316 | { |
352 | v3270 *terminal = GTK_V3270(lib3270_get_user_data(session)); | 317 | v3270 *terminal = GTK_V3270(lib3270_get_user_data(session)); |
@@ -371,8 +336,6 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | @@ -371,8 +336,6 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | ||
371 | 336 | ||
372 | static void update_ssl(H3270 *session, G_GNUC_UNUSED LIB3270_SSL_STATE state) | 337 | static void update_ssl(H3270 *session, G_GNUC_UNUSED LIB3270_SSL_STATE state) |
373 | { | 338 | { |
374 | - debug("----------------------> %d", (int) state); | ||
375 | - | ||
376 | g_idle_add((GSourceFunc) bg_update_ssl, session); | 339 | g_idle_add((GSourceFunc) bg_update_ssl, session); |
377 | } | 340 | } |
378 | 341 | ||
@@ -450,6 +413,80 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | @@ -450,6 +413,80 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | ||
450 | return 0; | 413 | return 0; |
451 | } | 414 | } |
452 | 415 | ||
416 | + struct _word_selected | ||
417 | + { | ||
418 | + H3270 *hSession; | ||
419 | + int offset; | ||
420 | + int len; | ||
421 | + }; | ||
422 | + | ||
423 | + static gboolean bg_word_selected(struct _word_selected *cfg) | ||
424 | + { | ||
425 | + v3270 *terminal = (v3270 *) lib3270_get_user_data(cfg->hSession); | ||
426 | + | ||
427 | + debug("%s(open-url=%d)",__FUNCTION__,terminal->open_url); | ||
428 | + | ||
429 | + if(cfg->len > 3 && terminal->open_url) { | ||
430 | + | ||
431 | + lib3270_autoptr(char) text = lib3270_get_string_at_address(cfg->hSession,cfg->offset,cfg->len,0); | ||
432 | + | ||
433 | + if(text && (g_str_has_prefix(text,"http://") || g_str_has_prefix(text,"https://")) ) { | ||
434 | + | ||
435 | + debug("Emitting '%s'", text); | ||
436 | + | ||
437 | + guint response = 0; | ||
438 | + v3270_signal_emit( | ||
439 | + terminal, | ||
440 | + V3270_SIGNAL_OPEN_URL, | ||
441 | + text, | ||
442 | + &response | ||
443 | + ); | ||
444 | + | ||
445 | + debug("Response was: %d", (int) response); | ||
446 | + | ||
447 | + if(response == 0) { | ||
448 | + // No one has changed the response, take default action. | ||
449 | + g_message("Opening '%s'",text); | ||
450 | +#ifdef G_OS_WIN32 | ||
451 | + if(gtk_show_uri_on_window( | ||
452 | + NULL, | ||
453 | + text, | ||
454 | + GDK_CURRENT_TIME, | ||
455 | + NULL | ||
456 | + )) { | ||
457 | + v3270_unselect(GTK_WIDGET(terminal)); | ||
458 | + } | ||
459 | +#else | ||
460 | + if(gtk_show_uri_on_window( | ||
461 | + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(terminal))), | ||
462 | + text, | ||
463 | + GDK_CURRENT_TIME, | ||
464 | + NULL | ||
465 | + )) { | ||
466 | + v3270_unselect(GTK_WIDGET(terminal)); | ||
467 | + } | ||
468 | +#endif // G_OS_WIN32 | ||
469 | + } | ||
470 | + | ||
471 | + } | ||
472 | + | ||
473 | + } | ||
474 | + | ||
475 | + return G_SOURCE_REMOVE; | ||
476 | + } | ||
477 | + | ||
478 | + static void word_selected(H3270 *hSession, int from, int to) { | ||
479 | + | ||
480 | + struct _word_selected *cfg = g_new0(struct _word_selected, 1); | ||
481 | + | ||
482 | + cfg->hSession = hSession; | ||
483 | + cfg->offset = from; | ||
484 | + cfg->len = (to-from)+1; | ||
485 | + | ||
486 | + g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,(GSourceFunc) bg_word_selected, cfg, g_free); | ||
487 | + | ||
488 | + } | ||
489 | + | ||
453 | void v3270_install_callbacks(v3270 *widget) | 490 | void v3270_install_callbacks(v3270 *widget) |
454 | { | 491 | { |
455 | struct lib3270_session_callbacks *cbk; | 492 | struct lib3270_session_callbacks *cbk; |
@@ -505,6 +542,7 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | @@ -505,6 +542,7 @@ static void popup_handler(H3270 *session, LIB3270_NOTIFY type, const char *title | ||
505 | cbk->popup = popup; | 542 | cbk->popup = popup; |
506 | cbk->action = action; | 543 | cbk->action = action; |
507 | cbk->reconnect = reconnect; | 544 | cbk->reconnect = reconnect; |
545 | + cbk->word_selected = word_selected; | ||
508 | 546 | ||
509 | } | 547 | } |
510 | 548 |
@@ -0,0 +1,56 @@ | @@ -0,0 +1,56 @@ | ||
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 - 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 <config.h> | ||
31 | + #include <lib3270.h> | ||
32 | + #include <locale.h> | ||
33 | + #include <libintl.h> | ||
34 | + #include <lib3270/log.h> | ||
35 | + | ||
36 | + int libv3270_loaded(void) __attribute__((constructor)); | ||
37 | + int libv3270_unloaded(void) __attribute__((destructor)); | ||
38 | + | ||
39 | +/*---[ Implement ]-----------------------------------------------------------------------------------------*/ | ||
40 | + | ||
41 | + int libv3270_loaded(void) { | ||
42 | + | ||
43 | + debug("LocaleDIR(%s)=%s",PACKAGE_NAME,LIB3270_STRINGIZE_VALUE_OF(LOCALEDIR)); | ||
44 | + | ||
45 | + bindtextdomain(PACKAGE_NAME, LIB3270_STRINGIZE_VALUE_OF(LOCALEDIR)); | ||
46 | + bind_textdomain_codeset(PACKAGE_NAME, "UTF-8"); | ||
47 | + | ||
48 | + return 0; | ||
49 | + | ||
50 | + } | ||
51 | + | ||
52 | + int libv3270_unloaded(void) { | ||
53 | + | ||
54 | + return 0; | ||
55 | + | ||
56 | + } |
@@ -0,0 +1,169 @@ | @@ -0,0 +1,169 @@ | ||
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 - 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 <config.h> | ||
31 | + #include <lib3270.h> | ||
32 | + #include <lib3270/log.h> | ||
33 | + #include <poll.h> | ||
34 | + #include <internals.h> | ||
35 | + #include <terminal.h> | ||
36 | + | ||
37 | +/*---[ Structs ]-------------------------------------------------------------------------------------------*/ | ||
38 | + | ||
39 | + typedef struct _IO_Source | ||
40 | + { | ||
41 | + GSource gsrc; | ||
42 | + GPollFD poll; | ||
43 | + gboolean enabled; | ||
44 | + int fd; | ||
45 | + void (*call)(H3270 *, int, LIB3270_IO_FLAG, void *); | ||
46 | + H3270 * session; | ||
47 | + void * userdata; | ||
48 | + } IO_Source; | ||
49 | + | ||
50 | +static gboolean IO_prepare(GSource *source, gint *timeout); | ||
51 | +static gboolean IO_check(GSource *source); | ||
52 | +static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer user_data); | ||
53 | +static void IO_finalize(GSource *source); /* Can be NULL */ | ||
54 | +static gboolean IO_closure(gpointer data); | ||
55 | + | ||
56 | +/*---[ Implement ]-----------------------------------------------------------------------------------------*/ | ||
57 | + | ||
58 | +GSource * IO_source_new(H3270 *session, int fd, LIB3270_IO_FLAG flag, void(*call)(H3270 *, int, LIB3270_IO_FLAG, void *), void *userdata) | ||
59 | +{ | ||
60 | + static GSourceFuncs IOSources = | ||
61 | + { | ||
62 | + IO_prepare, | ||
63 | + IO_check, | ||
64 | + IO_dispatch, | ||
65 | + IO_finalize, | ||
66 | + IO_closure, | ||
67 | + NULL | ||
68 | + }; | ||
69 | + | ||
70 | + IO_Source *src = (IO_Source *) g_source_new(&IOSources,sizeof(IO_Source)); | ||
71 | + | ||
72 | + src->fd = fd; | ||
73 | + src->enabled = TRUE; | ||
74 | + src->call = call; | ||
75 | + src->userdata = userdata; | ||
76 | + src->session = session; | ||
77 | + | ||
78 | + src->poll.fd = (int) fd; | ||
79 | + src->poll.events = G_IO_HUP|G_IO_ERR; | ||
80 | + | ||
81 | + if(flag & LIB3270_IO_FLAG_READ) | ||
82 | + src->poll.events |= G_IO_IN; | ||
83 | + | ||
84 | + if(flag & LIB3270_IO_FLAG_WRITE) | ||
85 | + src->poll.events |= G_IO_OUT; | ||
86 | + | ||
87 | + IO_source_set_state((GSource *) src, TRUE); | ||
88 | + | ||
89 | + g_source_attach((GSource *) src,NULL); | ||
90 | + g_source_add_poll((GSource *) src, &((IO_Source *)src)->poll); | ||
91 | + | ||
92 | + return (GSource *) src; | ||
93 | +} | ||
94 | + | ||
95 | +void IO_source_set_state(GSource *source, gboolean enable) | ||
96 | +{ | ||
97 | + ((IO_Source *)source)->enabled = enable; | ||
98 | +} | ||
99 | + | ||
100 | +gboolean IO_prepare(G_GNUC_UNUSED GSource *source, G_GNUC_UNUSED gint *timeout) | ||
101 | +{ | ||
102 | + /* | ||
103 | + * Called before all the file descriptors are polled. | ||
104 | + * If the source can determine that it is ready here | ||
105 | + * (without waiting for the results of the poll() call) | ||
106 | + * it should return TRUE. | ||
107 | + * | ||
108 | + * It can also return a timeout_ value which should be the maximum | ||
109 | + * timeout (in milliseconds) which should be passed to the poll() call. | ||
110 | + * The actual timeout used will be -1 if all sources returned -1, | ||
111 | + * or it will be the minimum of all the timeout_ values | ||
112 | + * returned which were >= 0. | ||
113 | + * | ||
114 | + */ | ||
115 | + return 0; | ||
116 | +} | ||
117 | + | ||
118 | +gboolean IO_check(GSource *source) | ||
119 | +{ | ||
120 | + /* | ||
121 | + * Called after all the file descriptors are polled. | ||
122 | + * The source should return TRUE if it is ready to be dispatched. | ||
123 | + * Note that some time may have passed since the previous prepare | ||
124 | + * function was called, so the source should be checked again here. | ||
125 | + * | ||
126 | + */ | ||
127 | + if(((IO_Source *) source)->enabled) | ||
128 | + { | ||
129 | + struct pollfd fds; | ||
130 | + | ||
131 | + memset(&fds,0,sizeof(fds)); | ||
132 | + | ||
133 | + fds.fd = ((IO_Source *) source)->poll.fd; | ||
134 | + fds.events = ((IO_Source *) source)->poll.events; | ||
135 | + | ||
136 | + if(poll(&fds,1,0) > 0) | ||
137 | + return TRUE; | ||
138 | + } | ||
139 | + | ||
140 | + return FALSE; | ||
141 | +} | ||
142 | + | ||
143 | +gboolean IO_dispatch(GSource *source, G_GNUC_UNUSED GSourceFunc callback, G_GNUC_UNUSED gpointer user_data) | ||
144 | +{ | ||
145 | + /* | ||
146 | + * Called to dispatch the event source, | ||
147 | + * after it has returned TRUE in either its prepare or its check function. | ||
148 | + * The dispatch function is passed in a callback function and data. | ||
149 | + * The callback function may be NULL if the source was never connected | ||
150 | + * to a callback using g_source_set_callback(). The dispatch function | ||
151 | + * should call the callback function with user_data and whatever additional | ||
152 | + * parameters are needed for this type of event source. | ||
153 | + */ | ||
154 | + IO_Source *obj = (IO_Source *) source; | ||
155 | + | ||
156 | + obj->call(obj->session,obj->fd,0,obj->userdata); | ||
157 | + | ||
158 | + return TRUE; | ||
159 | +} | ||
160 | + | ||
161 | +void IO_finalize(G_GNUC_UNUSED GSource *source) | ||
162 | +{ | ||
163 | + | ||
164 | +} | ||
165 | + | ||
166 | +gboolean IO_closure(G_GNUC_UNUSED gpointer data) | ||
167 | +{ | ||
168 | + return 0; | ||
169 | +} |
src/terminal/properties/get.c
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. | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
16 | * | 5 | * |
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 | 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. | ||
20 | * | 10 | * |
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) | 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 "private.h" | 20 | #include "private.h" |
@@ -147,6 +137,10 @@ | @@ -147,6 +137,10 @@ | ||
147 | g_value_set_boolean(value,window->timer != NULL); | 137 | g_value_set_boolean(value,window->timer != NULL); |
148 | break; | 138 | break; |
149 | 139 | ||
140 | + case V3270_PROPERTY_OPEN_URL: | ||
141 | + g_value_set_boolean(value,window->open_url != 0); | ||
142 | + break; | ||
143 | + | ||
150 | default: | 144 | default: |
151 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); | 145 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); |
152 | 146 |
src/terminal/properties/init.c
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 | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
20 | * | 5 | * |
21 | - * Este programa está nomeado como properties.c e possui - linhas de código. | 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. | ||
22 | * | 10 | * |
23 | - * Contatos: | ||
24 | - * | ||
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 "private.h" | 20 | #include "private.h" |
@@ -170,6 +160,22 @@ | @@ -170,6 +160,22 @@ | ||
170 | spec | 160 | spec |
171 | ); | 161 | ); |
172 | 162 | ||
163 | + // Open URL | ||
164 | + spec = | ||
165 | + g_param_spec_boolean( | ||
166 | + "open-url", | ||
167 | + "open-url", | ||
168 | + _( "Emit signal 'open-url' when an http:// or https:// string is selected by action 'word-select'" ), | ||
169 | + FALSE, | ||
170 | + G_PARAM_READABLE|G_PARAM_WRITABLE | ||
171 | + ); | ||
172 | + | ||
173 | + g_object_class_install_property( | ||
174 | + gobject_class, | ||
175 | + V3270_PROPERTY_OPEN_URL, | ||
176 | + spec | ||
177 | + ); | ||
178 | + | ||
173 | // Lu names | 179 | // Lu names |
174 | spec = | 180 | spec = |
175 | g_param_spec_string( | 181 | g_param_spec_string( |
src/terminal/properties/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 properties.c 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 | #ifdef WIN32 | 20 | #ifdef WIN32 |
@@ -60,8 +50,9 @@ | @@ -60,8 +50,9 @@ | ||
60 | V3270_PROPERTY_SELECTION_OPTIONS = 11, | 50 | V3270_PROPERTY_SELECTION_OPTIONS = 11, |
61 | V3270_PROPERTY_HAS_COPY = 12, ///< @brief Terminal has copy. | 51 | V3270_PROPERTY_HAS_COPY = 12, ///< @brief Terminal has copy. |
62 | V3270_PROPERTY_HAS_TIMER = 13, ///< @brief Timer indicator state. | 52 | V3270_PROPERTY_HAS_TIMER = 13, ///< @brief Timer indicator state. |
53 | + V3270_PROPERTY_OPEN_URL = 14, ///< @brief Open URL when 'word' selected. | ||
63 | 54 | ||
64 | - V3270_PROPERTY_DYNAMIC = 14 ///< @brief Id of the first LIB3270 internal property. | 55 | + V3270_PROPERTY_DYNAMIC = 15 ///< @brief Id of the first LIB3270 internal property. |
65 | }; | 56 | }; |
66 | 57 | ||
67 | G_GNUC_INTERNAL void v3270_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); | 58 | G_GNUC_INTERNAL void v3270_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); |
src/terminal/properties/set.c
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. | 4 | + * Copyright (C) 2008 Banco do Brasil S.A. |
16 | * | 5 | * |
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 | 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. | ||
20 | * | 10 | * |
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) | 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 "private.h" | 20 | #include "private.h" |
@@ -143,6 +133,10 @@ | @@ -143,6 +133,10 @@ | ||
143 | GTK_V3270(object)->selection.options = (V3270SelectionOption) g_value_get_uint(value); | 133 | GTK_V3270(object)->selection.options = (V3270SelectionOption) g_value_get_uint(value); |
144 | break; | 134 | break; |
145 | 135 | ||
136 | + case V3270_PROPERTY_OPEN_URL: | ||
137 | + GTK_V3270(object)->open_url = (g_value_get_boolean(value) ? 1 : 0); | ||
138 | + break; | ||
139 | + | ||
146 | default: | 140 | default: |
147 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); | 141 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); |
148 | 142 |
src/terminal/widget.c
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> |
31 | #include <terminal.h> | 21 | #include <terminal.h> |
32 | - #include "marshal.h" | 22 | + #include <marshal/terminal.h> |
33 | 23 | ||
34 | #include <lib3270.h> | 24 | #include <lib3270.h> |
35 | #include <lib3270/log.h> | 25 | #include <lib3270/log.h> |
@@ -63,6 +53,7 @@ | @@ -63,6 +53,7 @@ | ||
63 | /// @brief Persistent properties (load/save from session file). | 53 | /// @brief Persistent properties (load/save from session file). |
64 | static const gchar *persistent_properties[] = { | 54 | static const gchar *persistent_properties[] = { |
65 | "url", | 55 | "url", |
56 | + "open-url", | ||
66 | "model-number", | 57 | "model-number", |
67 | "oversize", | 58 | "oversize", |
68 | "host-charset", | 59 | "host-charset", |
@@ -537,6 +528,15 @@ static void finalize(GObject *object) { | @@ -537,6 +528,15 @@ static void finalize(GObject *object) { | ||
537 | v3270_UINT__POINTER, | 528 | v3270_UINT__POINTER, |
538 | G_TYPE_UINT, 1, G_TYPE_POINTER); | 529 | G_TYPE_UINT, 1, G_TYPE_POINTER); |
539 | 530 | ||
531 | + v3270_widget_signal[V3270_SIGNAL_OPEN_URL] = | ||
532 | + g_signal_new( I_("open-url"), | ||
533 | + G_OBJECT_CLASS_TYPE (gobject_class), | ||
534 | + G_SIGNAL_RUN_LAST, | ||
535 | + 0, | ||
536 | + NULL, NULL, | ||
537 | + v3270_UINT__POINTER, | ||
538 | + G_TYPE_UINT, 1, G_TYPE_STRING); | ||
539 | + | ||
540 | v3270_widget_signal[V3270_SIGNAL_SAVE_POPUP_RESPONSE] = | 540 | v3270_widget_signal[V3270_SIGNAL_SAVE_POPUP_RESPONSE] = |
541 | g_signal_new( I_("save-popup-response"), | 541 | g_signal_new( I_("save-popup-response"), |
542 | G_OBJECT_CLASS_TYPE (gobject_class), | 542 | G_OBJECT_CLASS_TYPE (gobject_class), |
src/testprogram/toolbar.c
@@ -198,11 +198,6 @@ | @@ -198,11 +198,6 @@ | ||
198 | v3270_clipboard_set(terminal,V3270_COPY_TEXT,FALSE); | 198 | v3270_clipboard_set(terminal,V3270_COPY_TEXT,FALSE); |
199 | } | 199 | } |
200 | 200 | ||
201 | - static void color_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | ||
202 | - { | ||
203 | - v3270_edit_color_table(terminal); | ||
204 | - } | ||
205 | - | ||
206 | static void zoom_in_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) | 201 | static void zoom_in_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) |
207 | { | 202 | { |
208 | v3270_zoom_in(terminal); | 203 | v3270_zoom_in(terminal); |
@@ -228,12 +223,12 @@ | @@ -228,12 +223,12 @@ | ||
228 | GCallback callback; | 223 | GCallback callback; |
229 | const gchar * tooltip; | 224 | const gchar * tooltip; |
230 | } buttons[] = { | 225 | } buttons[] = { |
231 | - { "gtk-connect", G_CALLBACK(connect_clicked), "Connect to host" }, | ||
232 | - { "gtk-disconnect", G_CALLBACK(disconnect_clicked), "Disconnect from host" }, | ||
233 | - { "gtk-print", G_CALLBACK(print_clicked), "Print screen contents" }, | ||
234 | - { "gtk-harddisk", G_CALLBACK(ft_clicked), "Open file transfer dialog" }, | ||
235 | - { "gtk-copy", G_CALLBACK(copy_clicked), "Copy data" }, | ||
236 | - { "gtk-paste", G_CALLBACK(paste_clicked), "Paste data" }, | 226 | + { "media-playback-start", G_CALLBACK(connect_clicked), "Connect to host" }, |
227 | + { "media-playback-stop", G_CALLBACK(disconnect_clicked), "Disconnect from host" }, | ||
228 | + { "document-print", G_CALLBACK(print_clicked), "Print screen contents" }, | ||
229 | + { "drive-harddisk", G_CALLBACK(ft_clicked), "Open file transfer dialog" }, | ||
230 | + { "edit-copy", G_CALLBACK(copy_clicked), "Copy data" }, | ||
231 | + { "edit-paste", G_CALLBACK(paste_clicked), "Paste data" }, | ||
237 | { "document-save", G_CALLBACK(save_clicked), "Save screen or selection" }, | 232 | { "document-save", G_CALLBACK(save_clicked), "Save screen or selection" }, |
238 | { "document-open", G_CALLBACK(load_clicked), "Paste file" }, | 233 | { "document-open", G_CALLBACK(load_clicked), "Paste file" }, |
239 | { "dialog-information", G_CALLBACK(popup_clicked), "Show test popup" }, | 234 | { "dialog-information", G_CALLBACK(popup_clicked), "Show test popup" }, |
@@ -242,7 +237,7 @@ | @@ -242,7 +237,7 @@ | ||
242 | 237 | ||
243 | // { "network-server", G_CALLBACK(host_clicked), "Configure host" }, | 238 | // { "network-server", G_CALLBACK(host_clicked), "Configure host" }, |
244 | // { "preferences-desktop-font", G_CALLBACK(font_clicked), "Select font" }, | 239 | // { "preferences-desktop-font", G_CALLBACK(font_clicked), "Select font" }, |
245 | - { "gtk-select-color", G_CALLBACK(color_clicked), "Edit or change color scheme" }, | 240 | +// { "gtk-select-color", G_CALLBACK(color_clicked), "Edit or change color scheme" }, |
246 | 241 | ||
247 | 242 | ||
248 | { "zoom-in", G_CALLBACK(zoom_in_clicked), "Zoom in" }, | 243 | { "zoom-in", G_CALLBACK(zoom_in_clicked), "Zoom in" }, |
src/trace/trace.c
@@ -43,7 +43,7 @@ | @@ -43,7 +43,7 @@ | ||
43 | #include <lib3270/properties.h> | 43 | #include <lib3270/properties.h> |
44 | #include <internals.h> | 44 | #include <internals.h> |
45 | #include <v3270/dialogs.h> | 45 | #include <v3270/dialogs.h> |
46 | - #include "marshal.h" | 46 | + #include <marshal/trace.h> |
47 | 47 | ||
48 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ | 48 | /*--[ Globals ]--------------------------------------------------------------------------------------*/ |
49 | 49 |