From 18eb35eb4d378e36e2b0a9791b55d3a8bf3d8f7a Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Tue, 5 Nov 2019 14:38:03 -0300 Subject: [PATCH] Working on the font chooser dialog. --- Makefile.in | 3 ++- src/dialogs/colors.c | 1 - src/dialogs/font/chooser.c | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dialogs/font/model.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dialogs/font/select.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dialogs/fontselect.c | 140 -------------------------------------------------------------------------------------------------------------------------------------------- src/include/v3270.h | 1 + src/include/v3270/dialogs.h | 2 ++ src/include/v3270/print.h | 2 -- src/testprogram/testprogram.c | 1 + src/testprogram/toolbar.c | 43 +++++++++++++++++++++++++++++-------------- v3270.cbp | 8 +++++++- 12 files changed, 405 insertions(+), 159 deletions(-) create mode 100644 src/dialogs/font/chooser.c create mode 100644 src/dialogs/font/model.c create mode 100644 src/dialogs/font/select.c delete mode 100644 src/dialogs/fontselect.c diff --git a/Makefile.in b/Makefile.in index 6e8f797..fb7e2e6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -45,7 +45,8 @@ SOURCES= \ $(wildcard src/dialogs/*.c) \ $(wildcard src/dialogs/@OSNAME@/*.c) \ $(wildcard src/dialogs/print/*.c) \ - $(wildcard src/dialogs/save/*.c) + $(wildcard src/dialogs/save/*.c) \ + $(wildcard src/dialogs/font/*.c) TEST_SOURCES= \ $(wildcard src/testprogram/*.c) diff --git a/src/dialogs/colors.c b/src/dialogs/colors.c index 610c6ff..e17a516 100644 --- a/src/dialogs/colors.c +++ b/src/dialogs/colors.c @@ -284,7 +284,6 @@ static void load(GtkWidget G_GNUC_UNUSED(*w), GtkWidget *terminal) g_value_unset(&value); } - static void V3270ColorSelection_init(V3270ColorSelection *widget) { { diff --git a/src/dialogs/font/chooser.c b/src/dialogs/font/chooser.c new file mode 100644 index 0000000..c575103 --- /dev/null +++ b/src/dialogs/font/chooser.c @@ -0,0 +1,188 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + /** + * @brief Implements the V3270 Font Chooser widget. + * + * Reference: + * + */ + + #include "../private.h" + #include + #include + #include + +/*--[ Widget definition ]----------------------------------------------------------------------------*/ + + #define GTK_TYPE_V3270_FONT_CHOOSER (V3270FontChooserWidget_get_type ()) + #define GTK_V3270_FONT_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270_FONT_CHOOSER, V3270FontChooserWidget)) + #define GTK_V3270_FONT_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270_FONT_CHOOSER, V3270FontChooserWidgetClass)) + #define GTK_IS_V3270_FONT_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_V3270_FONT_CHOOSER)) + #define GTK_IS_V3270_FONT_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_V3270_FONT_CHOOSER)) + #define GTK_V3270_FONT_CHOOSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_V3270_FONT_CHOOSER, V3270FontChooserWidgetClass)) + + typedef struct _V3270FontChooserWidget + { + V3270Settings parent; + + GtkWidget * font_list; + GtkWidget * preview; + + } V3270FontChooserWidget; + + typedef struct _V3270HostSelectWidgetClass + { + V3270SettingsClass parent_class; + } V3270FontChooserWidgetClass; + + + G_DEFINE_TYPE(V3270FontChooserWidget, V3270FontChooserWidget, GTK_TYPE_V3270_SETTINGS); + +/*--[ Implement ]------------------------------------------------------------------------------------*/ + +static void apply(GtkWidget *widget, GtkWidget *terminal) +{ + + debug("V3270FontChooserWidget::%s",__FUNCTION__); + +} + +static void load(GtkWidget *widget, GtkWidget *terminal) +{ + V3270FontChooserWidget *chooser = GTK_V3270_FONT_CHOOSER(widget); + + debug("V3270FontChooserWidget::%s",__FUNCTION__); + + GtkTreeIter active; + gtk_tree_view_set_model( + GTK_TREE_VIEW(chooser->font_list), + v3270_font_family_model_new( + chooser->font_list, + v3270_get_font_family(terminal), + &active + ) + ); + + gtk_tree_selection_select_iter( + gtk_tree_view_get_selection(GTK_TREE_VIEW(chooser->font_list)), + &active + ); + +} + +static void V3270FontChooserWidget_class_init(V3270FontChooserWidgetClass *klass) +{ + V3270SettingsClass * widget = GTK_V3270_SETTINGS_CLASS(klass); + + widget->apply = apply; + widget->load = load; + +} + + static void font_selected(GtkTreeSelection *selection, V3270FontChooserWidget *widget) + { + GValue value = { 0, }; + GtkTreeModel * model; + GtkTreeIter iter; + + if(!gtk_tree_selection_get_selected(selection,&model,&iter)) + return; + + gtk_tree_model_get_value(model,&iter,0,&value); + + debug("Font-family: %s",g_value_get_string(&value)); + + // Update terminal widget + GtkWidget * terminal = v3270_settings_get_terminal_widget(GTK_WIDGET(widget)); + if(terminal) + v3270_set_font_family(terminal,g_value_get_string(&value)); + + g_value_unset(&value); + } + +static void V3270FontChooserWidget_init(V3270FontChooserWidget *widget) +{ + gtk_widget_set_size_request(GTK_WIDGET(widget),-1,136); + gtk_grid_set_row_homogeneous(GTK_GRID(widget),FALSE); + + // Create font list view + { + widget->font_list = gtk_tree_view_new(); + + gtk_widget_set_tooltip_markup(widget->font_list,_("Available fonts")); + + gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(widget->font_list),FALSE); + gtk_tree_view_insert_column_with_attributes( GTK_TREE_VIEW(widget->font_list), + -1, + "text",gtk_cell_renderer_text_new(),"text", + 0, NULL + ); + + // Setup selection mode. + GtkTreeSelection * select = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget->font_list)); + gtk_tree_selection_set_mode(select, GTK_SELECTION_SINGLE); + g_signal_connect(G_OBJECT(select),"changed",G_CALLBACK(font_selected),widget); + + // Put the view inside a scrolled window. + GtkWidget * box = gtk_scrolled_window_new(NULL,NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(box),GTK_POLICY_NEVER,GTK_POLICY_ALWAYS); + gtk_container_add(GTK_CONTAINER(box),widget->font_list); + + gtk_widget_set_vexpand(box,TRUE); + gtk_widget_set_hexpand(box,FALSE); + + gtk_grid_attach(GTK_GRID(widget),box,0,0,1,5); + } + + // Add preview widgets + { + widget->preview = gtk_entry_new(); + gtk_entry_set_text(GTK_ENTRY(widget->preview),pango_language_get_sample_string(NULL)); + + gtk_widget_set_can_default(widget->preview,FALSE); + gtk_widget_set_can_focus(widget->preview,FALSE); + gtk_editable_set_editable(GTK_EDITABLE(widget->preview),FALSE); + + gtk_widget_set_vexpand(widget->preview,FALSE); + gtk_widget_set_hexpand(widget->preview,TRUE); + + gtk_grid_attach(GTK_GRID(widget),widget->preview,1,0,5,1); + } + +} + +GtkWidget * v3270_font_chooser_widget_new() +{ + V3270FontChooserWidget * font_chooser = (V3270FontChooserWidget *) g_object_new(GTK_TYPE_V3270_FONT_CHOOSER, NULL); + + + return GTK_WIDGET(font_chooser); +} + diff --git a/src/dialogs/font/model.c b/src/dialogs/font/model.c new file mode 100644 index 0000000..e476877 --- /dev/null +++ b/src/dialogs/font/model.c @@ -0,0 +1,68 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include + #include + #include + +/*--[ Widget definition ]----------------------------------------------------------------------------*/ + + LIB3270_EXPORT GtkTreeModel * v3270_font_family_model_new(GtkWidget *widget, const gchar *selected, GtkTreeIter * active) + { + GtkTreeModel * model = (GtkTreeModel *) gtk_list_store_new(1,G_TYPE_STRING); + + gint n_families, i; + PangoFontFamily **families; + pango_context_list_families(gtk_widget_get_pango_context(widget),&families, &n_families); + + if(!(selected && *selected)) + selected = v3270_get_default_font_name(); + + memset(active,0,sizeof(GtkTreeIter)); + + for(i=0; i < n_families; i++) + { + if(!pango_font_family_is_monospace(families[i])) + continue; + + const gchar *name = pango_font_family_get_name (families[i]); + GtkTreeIter iter; + + gtk_list_store_append((GtkListStore *) model,&iter); + gtk_list_store_set((GtkListStore *) model, &iter,0, name, -1); + + if(!g_ascii_strcasecmp(name,selected)) + *active = iter; + + } + + g_free(families); + + return model; + } diff --git a/src/dialogs/font/select.c b/src/dialogs/font/select.c new file mode 100644 index 0000000..3b432f1 --- /dev/null +++ b/src/dialogs/font/select.c @@ -0,0 +1,107 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como - e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include + #include + #include + #include + #include + +/*--[ Widget definition ]----------------------------------------------------------------------------*/ + + LIB3270_EXPORT GtkWidget * v3270_font_selection_new(const gchar *selected) + { + GtkWidget * widget = gtk_combo_box_new(); + GtkTreeIter active; + GtkTreeModel * model = v3270_font_family_model_new(widget,selected,&active); + + GtkCellRenderer * renderer = gtk_cell_renderer_text_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(widget), renderer, TRUE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(widget), renderer, "text", 0, NULL); + + gtk_combo_box_set_model(GTK_COMBO_BOX(widget),model); + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&active); + + return widget; + } + + LIB3270_EXPORT gboolean v3270_font_selection_set_family(GtkWidget *widget, const gchar *fontname) + { + GtkTreeModel * model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); + GtkTreeIter iter; + + if(!fontname) + fontname = "monospace"; + + if(gtk_tree_model_get_iter_first(model,&iter)) + { + do + { + GValue value = { 0, }; + + gtk_tree_model_get_value(model,&iter,0,&value); + + if(!g_ascii_strcasecmp(fontname,g_value_get_string(&value))) + { + gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&iter); + g_value_unset(&value); + return TRUE; + } + + g_value_unset(&value); + + } while(gtk_tree_model_iter_next(model,&iter)); + } + + return FALSE; + + } + + LIB3270_EXPORT gchar * v3270_font_selection_get_family(GtkWidget *widget) + { + GtkTreeIter iter; + + if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget),&iter)) + { + GValue value = { 0, }; + + gtk_tree_model_get_value(gtk_combo_box_get_model(GTK_COMBO_BOX(widget)),&iter,0,&value); + + gchar * rc = g_value_dup_string(&value); + + g_value_unset(&value); + + return rc; + + } + + return "monospace"; + + } + diff --git a/src/dialogs/fontselect.c b/src/dialogs/fontselect.c deleted file mode 100644 index de06b6d..0000000 --- a/src/dialogs/fontselect.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como - e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - #include - #include - #include - #include - -/*--[ Widget definition ]----------------------------------------------------------------------------*/ - - LIB3270_EXPORT GtkTreeModel * v3270_font_family_model_new(GtkWidget *widget, const gchar *selected, GtkTreeIter * active) - { - GtkTreeModel * model = (GtkTreeModel *) gtk_list_store_new(1,G_TYPE_STRING); - - GtkCellRenderer * renderer = gtk_cell_renderer_text_new(); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(widget), renderer, TRUE); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(widget), renderer, "text", 0, NULL); - - gint n_families, i; - PangoFontFamily **families; - pango_context_list_families(gtk_widget_get_pango_context(widget),&families, &n_families); - - if(!(selected && *selected)) - selected = v3270_get_default_font_name(); - - memset(active,0,sizeof(GtkTreeIter)); - - for(i=0; i < n_families; i++) - { - if(!pango_font_family_is_monospace(families[i])) - continue; - - const gchar *name = pango_font_family_get_name (families[i]); - GtkTreeIter iter; - - gtk_list_store_append((GtkListStore *) model,&iter); - gtk_list_store_set((GtkListStore *) model, &iter,0, name, -1); - - if(!g_ascii_strcasecmp(name,selected)) - *active = iter; - - } - - g_free(families); - - return model; - } - - LIB3270_EXPORT GtkWidget * v3270_font_selection_new(const gchar *selected) - { - GtkWidget * widget = gtk_combo_box_new(); - GtkTreeIter active; - GtkTreeModel * model = v3270_font_family_model_new(widget,selected,&active); - - gtk_combo_box_set_model(GTK_COMBO_BOX(widget),model); - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&active); - - return widget; - } - - LIB3270_EXPORT gboolean v3270_font_selection_set_family(GtkWidget *widget, const gchar *fontname) - { - GtkTreeModel * model = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); - GtkTreeIter iter; - - if(!fontname) - fontname = "monospace"; - - if(gtk_tree_model_get_iter_first(model,&iter)) - { - do - { - GValue value = { 0, }; - - gtk_tree_model_get_value(model,&iter,0,&value); - - if(!g_ascii_strcasecmp(fontname,g_value_get_string(&value))) - { - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&iter); - g_value_unset(&value); - return TRUE; - } - - g_value_unset(&value); - - } while(gtk_tree_model_iter_next(model,&iter)); - } - - return FALSE; - - } - - LIB3270_EXPORT gchar * v3270_font_selection_get_family(GtkWidget *widget) - { - GtkTreeIter iter; - - if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget),&iter)) - { - GValue value = { 0, }; - - gtk_tree_model_get_value(gtk_combo_box_get_model(GTK_COMBO_BOX(widget)),&iter,0,&value); - - gchar * rc = g_value_dup_string(&value); - - g_value_unset(&value); - - return rc; - - } - - return "monospace"; - - } - diff --git a/src/include/v3270.h b/src/include/v3270.h index bc37b4b..8361404 100644 --- a/src/include/v3270.h +++ b/src/include/v3270.h @@ -278,6 +278,7 @@ // Auxiliary widgets LIB3270_EXPORT void v3270_select_host(GtkWidget *widget); + LIB3270_EXPORT GtkWidget * v3270_font_chooser_widget_new(); // Print LIB3270_EXPORT int v3270_print(GtkWidget *widget, GError **error); diff --git a/src/include/v3270/dialogs.h b/src/include/v3270/dialogs.h index 1a916f3..0421f46 100644 --- a/src/include/v3270/dialogs.h +++ b/src/include/v3270/dialogs.h @@ -48,6 +48,8 @@ LIB3270_EXPORT void v3270_popup_gerror(GtkWidget *widget, GError *error, const gchar *title, const gchar *fmt, ...) G_GNUC_PRINTF(4,5); + LIB3270_EXPORT GtkTreeModel * v3270_font_family_model_new(GtkWidget *widget, const gchar *selected, GtkTreeIter * active); + G_END_DECLS diff --git a/src/include/v3270/print.h b/src/include/v3270/print.h index 8cc72f6..9a69e51 100644 --- a/src/include/v3270/print.h +++ b/src/include/v3270/print.h @@ -74,8 +74,6 @@ LIB3270_EXPORT void v3270_print_operation_set_color_scheme(GtkPrintOperation *operation, const gchar *colors); LIB3270_EXPORT gchar * v3270_print_operation_get_color_scheme(GtkPrintOperation *operation); - LIB3270_EXPORT GtkTreeModel * v3270_font_family_model_new(GtkWidget *widget, const gchar *selected, GtkTreeIter * active); - LIB3270_EXPORT GtkWidget * v3270_font_selection_new(const gchar *fontname); LIB3270_EXPORT gboolean v3270_font_selection_set_family(GtkWidget *widget, const gchar *fontname); LIB3270_EXPORT gchar * v3270_font_selection_get_family(GtkWidget *widget); diff --git a/src/testprogram/testprogram.c b/src/testprogram/testprogram.c index 0d380ea..e02ab2c 100644 --- a/src/testprogram/testprogram.c +++ b/src/testprogram/testprogram.c @@ -37,6 +37,7 @@ #include #include #include + #include #include #include #include diff --git a/src/testprogram/toolbar.c b/src/testprogram/toolbar.c index 3940495..3a95ffa 100644 --- a/src/testprogram/toolbar.c +++ b/src/testprogram/toolbar.c @@ -33,6 +33,7 @@ #include #include #include + #include #include #include #include @@ -51,6 +52,18 @@ v3270_select_host(terminal); } + static void font_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) + { + GtkWidget * dialog = v3270_settings_dialog_new(terminal, v3270_font_chooser_widget_new()); + + v3270_dialog_setup(dialog,_("Font setup"),_("_Save")); + + gtk_widget_show_all(dialog); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + + } + static void connect_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) { lib3270_reconnect(v3270_get_session(terminal),0); @@ -205,20 +218,22 @@ GCallback callback; const gchar * tooltip; } buttons[] = { - { "gtk-connect", G_CALLBACK(connect_clicked), "Connect to host" }, - { "gtk-disconnect", G_CALLBACK(disconnect_clicked), "Disconnect from host" }, - { "gtk-select-color", G_CALLBACK(color_clicked), "Edit or change color scheme" }, - { "network-server", G_CALLBACK(host_clicked), "Configure host" }, - { "gtk-print", G_CALLBACK(print_clicked), "Print screen contents" }, - { "gtk-harddisk", G_CALLBACK(ft_clicked), "Open file transfer dialog" }, - { "gtk-copy", G_CALLBACK(copy_clicked), "Copy data" }, - { "gtk-paste", G_CALLBACK(paste_clicked), "Paste data" }, - { "document-save", G_CALLBACK(save_all_clicked), "Save screen" }, - { "document-open", G_CALLBACK(load_clicked), "Paste file" }, - - { "zoom-in", G_CALLBACK(zoom_in_clicked), "Zoom in" }, - { "zoom-out", G_CALLBACK(zoom_out_clicked), "Zoom out" }, - { "zoom-fit-best", G_CALLBACK(zoom_best_clicked), "Zoom best" }, + { "gtk-connect", G_CALLBACK(connect_clicked), "Connect to host" }, + { "gtk-disconnect", G_CALLBACK(disconnect_clicked), "Disconnect from host" }, + { "gtk-select-color", G_CALLBACK(color_clicked), "Edit or change color scheme" }, + { "network-server", G_CALLBACK(host_clicked), "Configure host" }, + { "gtk-print", G_CALLBACK(print_clicked), "Print screen contents" }, + { "gtk-harddisk", G_CALLBACK(ft_clicked), "Open file transfer dialog" }, + { "gtk-copy", G_CALLBACK(copy_clicked), "Copy data" }, + { "gtk-paste", G_CALLBACK(paste_clicked), "Paste data" }, + { "document-save", G_CALLBACK(save_all_clicked), "Save screen" }, + { "document-open", G_CALLBACK(load_clicked), "Paste file" }, + + { "preferences-desktop-font", G_CALLBACK(font_clicked), "Select font" }, + + { "zoom-in", G_CALLBACK(zoom_in_clicked), "Zoom in" }, + { "zoom-out", G_CALLBACK(zoom_out_clicked), "Zoom out" }, + { "zoom-fit-best", G_CALLBACK(zoom_best_clicked), "Zoom best" }, }; GtkWidget * toolbar = gtk_toolbar_new(); diff --git a/v3270.cbp b/v3270.cbp index 2eed8c0..8bd16d5 100644 --- a/v3270.cbp +++ b/v3270.cbp @@ -51,7 +51,13 @@ - + + + + + -- libgit2 0.21.2