From 8a71cc37e3f4b8e9f624268b2bc33a4ed1e17910 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Mon, 27 Aug 2012 11:32:41 +0000 Subject: [PATCH] Windows - Incluindo save/restore do estado da janela no registry --- src/include/lib3270/config.h.in | 2 +- src/include/v3270.h | 4 ++-- src/lib3270/ansi.c | 6 +++--- src/lib3270/session.c | 5 ----- src/pw3270/common/config.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- src/pw3270/v3270/oia.c | 21 ++------------------- 6 files changed, 82 insertions(+), 32 deletions(-) diff --git a/src/include/lib3270/config.h.in b/src/include/lib3270/config.h.in index 0d7c4a5..9eccfb0 100644 --- a/src/include/lib3270/config.h.in +++ b/src/include/lib3270/config.h.in @@ -61,7 +61,7 @@ #define X3270_TRACE - /* #define X3270_PRINTER */ + #undef HAVE_PRINTER #undef HAVE_IGEMAC #undef HAVE_MACUI diff --git a/src/include/v3270.h b/src/include/v3270.h index 5b4ab7e..fab21d0 100644 --- a/src/include/v3270.h +++ b/src/include/v3270.h @@ -112,9 +112,9 @@ // V3270_OIA_CAPS, /**< Caps indication ("A" or blank) */ -#ifdef X3270_PRINTER +#ifdef HAVE_PRINTER V3270_OIA_PRINTER, /**< Printer indication ("P" or blank) */ -#endif // X3270_PRINTER +#endif // HAVE_PRINTER V3270_OIA_FIELD_COUNT diff --git a/src/lib3270/ansi.c b/src/lib3270/ansi.c index dab165a..12c1297 100644 --- a/src/lib3270/ansi.c +++ b/src/lib3270/ansi.c @@ -124,7 +124,7 @@ #define CSDES LIB3270_ANSI_STATE_CSDES #define N1 LIB3270_ANSI_STATE_N1 #define DECP LIB3270_ANSI_STATE_DECP -#define TEXT LIB3270_ANSI_STATE_TEXT +// #define TEXT LIB3270_ANSI_STATE_TEXT #define TEXT2 LIB3270_ANSI_STATE_TEXT2 #define MBPEND LIB3270_ANSI_STATE_MBPEND @@ -1597,14 +1597,14 @@ xterm_text_mode(H3270 *hSession, int ig1 unused, int ig2 unused) { nx = 0; n[0] = 0; - return TEXT; + return LIB3270_ANSI_STATE_TEXT; } static enum lib3270_ansi_state xterm_text_semicolon(H3270 *hSession, int ig1 unused, int ig2 unused) { tx = 0; - return TEXT2; + return LIB3270_ANSI_STATE_TEXT2; } static enum lib3270_ansi_state diff --git a/src/lib3270/session.c b/src/lib3270/session.c index 7938d70..3993b41 100644 --- a/src/lib3270/session.c +++ b/src/lib3270/session.c @@ -337,11 +337,6 @@ H3270 * lib3270_session_new(const char *model) ft_init(hSession); #endif -/* -#if defined(X3270_PRINTER) - printer_init(); -#endif -*/ trace("%s finished",__FUNCTION__); errno = 0; diff --git a/src/pw3270/common/config.c b/src/pw3270/common/config.c index 0f8cbba..9d718ae 100644 --- a/src/pw3270/common/config.c +++ b/src/pw3270/common/config.c @@ -688,7 +688,29 @@ void save_window_to_config(const gchar *group, const gchar *key, GtkWidget *hwnd { #if defined( WIN_REGISTRY_ENABLED ) - #warning save window state to registry + gchar * path = g_strdup_printf("%s\\%s\\%s\\%s",registry_path,g_get_application_name(),group,key); + + HKEY hKey; + DWORD disp; + + if(RegCreateKeyEx(HKEY_CURRENT_USER,path,0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hKey,&disp) == ERROR_SUCCESS) + { + int f; + int pos[2]; + + for(f=0;fhost,&terminal->metrics,terminal->color,r); - gtk_widget_queue_draw_area(GTK_WIDGET(terminal),r->x,r->y,r->width,r->height); - cairo_destroy(cr); - break; -*/ - case LIB3270_FLAG_TYPEAHEAD: update_text_field(terminal,on,V3270_OIA_TYPEAHEAD,"T"); break; -/* -#if defined(LIB3270_FLAG_PRINTER) && defined(X3270_PRINTER) - case LIB3270_FLAG_PRINTER: - update_text_field(terminal,on,V3270_OIA_PRINTER,"P"); - break; -#endif // LIB3270_FLAG_PRINTER -*/ - default: return; } -- libgit2 0.21.2