diff --git a/src/pw3270/trace.c b/src/pw3270/trace.c index 44c9951..278c3d7 100644 --- a/src/pw3270/trace.c +++ b/src/pw3270/trace.c @@ -37,7 +37,11 @@ #include #include - + +#if defined( HAVE_SYSLOG ) + #include +#endif // HAVE_SYSLOG + /*--[ Widget definition ]----------------------------------------------------------------------------*/ G_BEGIN_DECLS @@ -54,7 +58,8 @@ GtkTextBuffer * text; GtkWidget * entry; GtkWidget * button; - gchar **line; + gchar **line; + guint log_handler; gboolean * enabled; gboolean destroy_on_close; }; @@ -102,6 +107,12 @@ static void destroy(GtkObject *widget) { pw3270_trace * hwnd = PW3270_TRACE(widget); + if(hwnd->log_handler) + { + g_log_remove_handler(NULL,hwnd->log_handler); + hwnd->log_handler = 0; + } + if(hwnd->line) *hwnd->line = NULL; @@ -163,12 +174,128 @@ static void destroy(GtkObject *widget) trace("%s",__FUNCTION__); activate_default(window); } + + static void menu_save(GtkWidget *button, pw3270_trace *window) + { + + } + + static void menu_close(GtkWidget *button, GtkWidget *window) + { + gtk_widget_destroy(window); + } + + struct submenu + { + const gchar * stock_id; + GCallback action; + }; + + static void build_menu(GtkWidget *menubar, pw3270_trace *window, const gchar *name, const struct submenu *item, size_t sz) + { + int f; + GtkWidget * menu = gtk_menu_new(); + GtkWidget * topitem = gtk_image_menu_item_new_from_stock( name, NULL ); + + gtk_menu_item_set_submenu(GTK_MENU_ITEM(topitem), menu); + + for(f=0;flog_handler = g_log_set_handler(NULL,G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION,(GLogFunc) glog,window); + trace("Log handler set to %d",window->log_handler); + } GtkWidget * pw3270_trace_new(void) -- libgit2 0.21.2