Commit a3c50bce40d934c75ffad420df639ce66f575134

Authored by Perry Werneck
1 parent 5e9730a4

Implementing standard models for menus & comboboxes.

@@ -149,6 +149,9 @@ @@ -149,6 +149,9 @@
149 <Unit filename="src/objects/toolbar/actions.c"> 149 <Unit filename="src/objects/toolbar/actions.c">
150 <Option compilerVar="CC" /> 150 <Option compilerVar="CC" />
151 </Unit> 151 </Unit>
  152 + <Unit filename="src/objects/toolbar/models.c">
  153 + <Option compilerVar="CC" />
  154 + </Unit>
152 <Unit filename="src/objects/toolbar/private.h" /> 155 <Unit filename="src/objects/toolbar/private.h" />
153 <Unit filename="src/objects/toolbar/settings.c"> 156 <Unit filename="src/objects/toolbar/settings.c">
154 <Option compilerVar="CC" /> 157 <Option compilerVar="CC" />
src/objects/toolbar/models.c 0 → 100644
@@ -0,0 +1,214 @@ @@ -0,0 +1,214 @@
  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 "private.h"
  31 + #include <pw3270/application.h>
  32 + #include <pw3270/settings.h>
  33 +
  34 + #define GTK_TOOLBAR_DEFAULT_STYLE ((GtkToolbarStyle) -1)
  35 +
  36 + static const struct _models {
  37 + const gchar *name;
  38 + const gchar *label;
  39 + const struct _contents {
  40 + const gchar * label;
  41 + guint value;
  42 + } *contents;
  43 + } models[] = {
  44 +
  45 + {
  46 + "toolbar-icon-size",
  47 + N_("Icon _size"),
  48 + (const struct _contents[]) {
  49 + {
  50 + .label = N_( "System default" ),
  51 + .value = GTK_ICON_SIZE_INVALID
  52 +
  53 + },
  54 +
  55 + {
  56 + .label = N_( "Small" ),
  57 + .value = GTK_ICON_SIZE_SMALL_TOOLBAR
  58 + },
  59 +
  60 + {
  61 + .label = N_( "Large" ),
  62 + .value = GTK_ICON_SIZE_LARGE_TOOLBAR
  63 + },
  64 +
  65 + {
  66 + .label = NULL
  67 + }
  68 + }
  69 + },
  70 +
  71 + {
  72 + "toolbar-style",
  73 + N_("Toolbar s_tyle"),
  74 + (const struct _contents[]) {
  75 + {
  76 + .label = N_( "System default" ),
  77 + .value = GTK_TOOLBAR_DEFAULT_STYLE
  78 + },
  79 +
  80 + {
  81 + .label = N_( "Icons only" ),
  82 + .value = GTK_TOOLBAR_ICONS
  83 + },
  84 +
  85 + {
  86 + .label = N_( "Text only" ),
  87 + .value = GTK_TOOLBAR_TEXT
  88 + },
  89 +
  90 + {
  91 + .label = N_( "Icons & text" ),
  92 + .value = GTK_TOOLBAR_BOTH
  93 + },
  94 + {
  95 + .label = NULL
  96 + }
  97 + }
  98 + },
  99 + {
  100 + "toolbar-icon-type",
  101 + N_("Icon type"),
  102 + (const struct _contents[]) {
  103 + {
  104 + .label = N_( "System default" ),
  105 + .value = 0
  106 + },
  107 + {
  108 + .label = N_( "Symbolic" ),
  109 + .value = 1
  110 + },
  111 + {
  112 + .label = NULL
  113 + }
  114 + }
  115 + }
  116 +
  117 + };
  118 +
  119 + GtkTreeModel * pw3270_model_from_name(const gchar *name) {
  120 +
  121 + size_t model;
  122 +
  123 + for(model = 0; model < G_N_ELEMENTS(models); model++) {
  124 +
  125 + if(g_ascii_strcasecmp(models[model].name,name))
  126 + continue;
  127 +
  128 + // Create model
  129 + size_t row;
  130 + GtkTreeIter iter;
  131 + GtkListStore * store = gtk_list_store_new(2, G_TYPE_STRING,G_TYPE_UINT);
  132 +
  133 + for(row = 0; models[model].contents[row].label; row++) {
  134 + gtk_list_store_append(store,&iter);
  135 + gtk_list_store_set( store,
  136 + &iter,
  137 + 0, gettext(models[model].contents[row].label),
  138 + 1, models[model].contents[row].value,
  139 + -1);
  140 + }
  141 +
  142 + return GTK_TREE_MODEL(store);
  143 +
  144 + }
  145 +
  146 + return NULL;
  147 + }
  148 +
  149 + void pw3270_model_get_iter_from_value(GtkTreeModel * model, GtkTreeIter *iter, guint value) {
  150 +
  151 + if(gtk_tree_model_get_iter_first(model,iter)) {
  152 +
  153 + do {
  154 +
  155 + GValue gVal = { 0, };
  156 + gtk_tree_model_get_value(model,iter,1,&gVal);
  157 + guint iVal = g_value_get_uint(&gVal);
  158 + g_value_unset(&gVal);
  159 +
  160 + if(iVal == value) {
  161 + return;
  162 + }
  163 +
  164 + } while(gtk_tree_model_iter_next(model,iter));
  165 +
  166 + }
  167 +
  168 + }
  169 +
  170 + guint pw3270_model_get_value_from_iter(GtkTreeModel * model, GtkTreeIter *iter) {
  171 + GValue gVal = { 0, };
  172 + gtk_tree_model_get_value(model,iter,1,&gVal);
  173 + guint iVal = g_value_get_uint(&gVal);
  174 + g_value_unset(&gVal);
  175 + return iVal;
  176 + }
  177 +
  178 + GtkWidget * pw3270_menu_item_from_name(const gchar *name) {
  179 +
  180 + size_t model;
  181 +
  182 + for(model = 0; model < G_N_ELEMENTS(models); model++) {
  183 +
  184 + if(g_ascii_strcasecmp(models[model].name,name))
  185 + continue;
  186 +
  187 + // Create submenu
  188 + size_t row;
  189 + GtkWidget * item;
  190 + GtkWidget * menu = gtk_menu_item_new_with_mnemonic(gettext(models[model].label));
  191 +
  192 + GtkWidget * submenu = gtk_menu_new();
  193 + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu),submenu);
  194 +
  195 + g_object_set_data(G_OBJECT(submenu),"model-data",(gpointer) &models[model]);
  196 +
  197 + for(row = 0; models[model].contents[row].label; row++) {
  198 +
  199 + item = gtk_check_menu_item_new_with_mnemonic(gettext(models[model].contents[row].label));
  200 + gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(item),TRUE);
  201 +
  202 + //g_signal_connect(item, "toggled", G_CALLBACK(set_icon_size), menu);
  203 +
  204 + gtk_menu_shell_append(GTK_MENU_SHELL(submenu),item);
  205 +
  206 + }
  207 +
  208 + gtk_widget_show_all(menu);
  209 +
  210 + return menu;
  211 + }
  212 +
  213 + return NULL;
  214 + }
src/objects/toolbar/private.h
@@ -50,8 +50,8 @@ @@ -50,8 +50,8 @@
50 G_GNUC_INTERNAL GtkWidget * pw3270_tool_button_new(GAction *action); 50 G_GNUC_INTERNAL GtkWidget * pw3270_tool_button_new(GAction *action);
51 G_GNUC_INTERNAL GtkWidget * pw3270_tool_button_new_from_action_name(const gchar * action_name); 51 G_GNUC_INTERNAL GtkWidget * pw3270_tool_button_new_from_action_name(const gchar * action_name);
52 52
53 - G_GNUC_INTERNAL GtkTreeModel * pw3270_toolbar_style_model_new();  
54 - G_GNUC_INTERNAL GtkTreeModel * pw3270_toolbar_icon_size_model_new(); 53 + GtkTreeModel * pw3270_model_from_name(const gchar *name);
  54 + GtkWidget * pw3270_menu_item_from_name(const gchar *name);
55 55
56 G_GNUC_INTERNAL void pw3270_model_get_iter_from_value(GtkTreeModel * model, GtkTreeIter *iter, guint value); 56 G_GNUC_INTERNAL void pw3270_model_get_iter_from_value(GtkTreeModel * model, GtkTreeIter *iter, guint value);
57 G_GNUC_INTERNAL guint pw3270_model_get_value_from_iter(GtkTreeModel * model, GtkTreeIter *iter); 57 G_GNUC_INTERNAL guint pw3270_model_get_value_from_iter(GtkTreeModel * model, GtkTreeIter *iter);
src/objects/toolbar/settings.c
@@ -41,16 +41,22 @@ @@ -41,16 +41,22 @@
41 /*--[ Constants ]------------------------------------------------------------------------------------*/ 41 /*--[ Constants ]------------------------------------------------------------------------------------*/
42 42
43 static const struct _comboboxes { 43 static const struct _comboboxes {
44 - const gchar * name;  
45 - const gchar * label; 44 + const gchar * name; ///< @brief The gsettings name.
  45 + const gchar * label; ///< @brief The combo name.
  46 + guint left;
  47 + guint top;
46 } comboboxes[] = { 48 } comboboxes[] = {
47 49
48 { 50 {
  51 + .left = 0,
  52 + .top = 0,
49 .name = "toolbar-icon-size", 53 .name = "toolbar-icon-size",
50 .label = N_("Icon Size"), 54 .label = N_("Icon Size"),
51 }, 55 },
52 56
53 { 57 {
  58 + .left = 3,
  59 + .top = 0,
54 .name = "toolbar-style", 60 .name = "toolbar-style",
55 .label = N_("Style") 61 .label = N_("Style")
56 } 62 }
@@ -170,17 +176,16 @@ @@ -170,17 +176,16 @@
170 gtk_grid_set_column_spacing(grid,12); 176 gtk_grid_set_column_spacing(grid,12);
171 gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE); 177 gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE);
172 178
173 - page->models[0] = pw3270_toolbar_icon_size_model_new();  
174 - page->models[1] = pw3270_toolbar_style_model_new();  
175 -  
176 GtkCellRenderer * renderer = gtk_cell_renderer_text_new(); 179 GtkCellRenderer * renderer = gtk_cell_renderer_text_new();
177 180
178 for(ix = 0; ix < G_N_ELEMENTS(page->models); ix++) { 181 for(ix = 0; ix < G_N_ELEMENTS(page->models); ix++) {
179 182
  183 + page->models[ix] = pw3270_model_from_name(comboboxes[ix].name);
  184 +
180 GtkWidget * label = gtk_label_new(gettext(comboboxes[ix].label)); 185 GtkWidget * label = gtk_label_new(gettext(comboboxes[ix].label));
181 gtk_label_set_xalign(GTK_LABEL(label),1); 186 gtk_label_set_xalign(GTK_LABEL(label),1);
182 187
183 - gtk_grid_attach(grid,label,(ix*3),0,1,1); 188 + gtk_grid_attach(grid,label,comboboxes[ix].left,comboboxes[ix].top,1,1);
184 189
185 page->combos[ix] = gtk_combo_box_new_with_model(page->models[ix]); 190 page->combos[ix] = gtk_combo_box_new_with_model(page->models[ix]);
186 gtk_widget_set_hexpand(page->combos[ix],TRUE); 191 gtk_widget_set_hexpand(page->combos[ix],TRUE);
@@ -188,7 +193,7 @@ @@ -188,7 +193,7 @@
188 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(page->combos[ix]), renderer, TRUE); 193 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(page->combos[ix]), renderer, TRUE);
189 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(page->combos[ix]), renderer, "text", 0, NULL); 194 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(page->combos[ix]), renderer, "text", 0, NULL);
190 195
191 - gtk_grid_attach(grid,page->combos[ix],(ix*3)+1,0,2,1); 196 + gtk_grid_attach(grid,page->combos[ix],comboboxes[ix].left+1,comboboxes[ix].top,2,1);
192 197
193 } 198 }
194 199
src/objects/toolbar/toolbar.c
@@ -38,54 +38,6 @@ @@ -38,54 +38,6 @@
38 static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); 38 static void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
39 static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); 39 static void set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
40 40
41 - const struct icon_size {  
42 - const gchar * label;  
43 - GtkIconSize icon_size;  
44 - } icon_sizes[] = {  
45 -  
46 - {  
47 - .label = N_( "System default" ),  
48 - .icon_size = GTK_ICON_SIZE_INVALID  
49 -  
50 - },  
51 -  
52 - {  
53 - .label = N_( "Small" ),  
54 - .icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR  
55 - },  
56 -  
57 - {  
58 - .label = N_( "Large" ),  
59 - .icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR  
60 - },  
61 - };  
62 -  
63 - static const struct style {  
64 - const gchar * label;  
65 - GtkToolbarStyle style;  
66 - } styles[] = {  
67 -  
68 - {  
69 - .label = N_( "System default" ),  
70 - .style = GTK_TOOLBAR_DEFAULT_STYLE  
71 - },  
72 -  
73 - {  
74 - .label = N_( "Icons only" ),  
75 - .style = GTK_TOOLBAR_ICONS  
76 - },  
77 -  
78 - {  
79 - .label = N_( "Text only" ),  
80 - .style = GTK_TOOLBAR_TEXT  
81 - },  
82 -  
83 - {  
84 - .label = N_( "Icons & text" ),  
85 - .style = GTK_TOOLBAR_BOTH  
86 - },  
87 - };  
88 -  
89 enum { 41 enum {
90 PROP_NONE, 42 PROP_NONE,
91 PROP_ACTION_NAMES, 43 PROP_ACTION_NAMES,
@@ -94,17 +46,19 @@ @@ -94,17 +46,19 @@
94 PROP_STYLE 46 PROP_STYLE
95 }; 47 };
96 48
  49 +
97 struct _pw3270ToolBar { 50 struct _pw3270ToolBar {
98 GtkToolbar parent; 51 GtkToolbar parent;
99 GtkToolbarStyle style; 52 GtkToolbarStyle style;
  53 + GtkWidget *menu;
100 int icon_type; 54 int icon_type;
101 55
102 /// @brief Popup Menu 56 /// @brief Popup Menu
103 - struct {  
104 - GtkWidget * menu;  
105 - GtkWidget * styles[G_N_ELEMENTS(styles)];  
106 - GtkWidget * icon_sizes[G_N_ELEMENTS(icon_sizes)];  
107 - } popup; 57 +// struct {
  58 +// GtkWidget * menu;
  59 +// GtkWidget * styles[G_N_ELEMENTS(styles)];
  60 +// GtkWidget * icon_sizes[G_N_ELEMENTS(icon_sizes)];
  61 +// } popup;
108 62
109 }; 63 };
110 64
@@ -235,10 +189,11 @@ @@ -235,10 +189,11 @@
235 static void detacher(GtkWidget *attach_widget, GtkMenu G_GNUC_UNUSED(*menu)) { 189 static void detacher(GtkWidget *attach_widget, GtkMenu G_GNUC_UNUSED(*menu)) {
236 190
237 pw3270ToolBar * toolbar = PW3270_TOOLBAR(attach_widget); 191 pw3270ToolBar * toolbar = PW3270_TOOLBAR(attach_widget);
238 - toolbar->popup.menu = NULL; 192 + toolbar->menu = NULL;
239 193
240 } 194 }
241 195
  196 + /*
242 static void set_icon_size(GtkCheckMenuItem *menuitem, GtkWidget *toolbar) { 197 static void set_icon_size(GtkCheckMenuItem *menuitem, GtkWidget *toolbar) {
243 198
244 if(gtk_check_menu_item_get_active(menuitem)) { 199 if(gtk_check_menu_item_get_active(menuitem)) {
@@ -256,6 +211,7 @@ @@ -256,6 +211,7 @@
256 } 211 }
257 212
258 } 213 }
  214 + */
259 215
260 static void open_preferences(GtkMenuItem G_GNUC_UNUSED(*menuitem), GtkWidget *toolbar) { 216 static void open_preferences(GtkMenuItem G_GNUC_UNUSED(*menuitem), GtkWidget *toolbar) {
261 217
@@ -277,66 +233,21 @@ @@ -277,66 +233,21 @@
277 233
278 static void pw3270ToolBar_init(pw3270ToolBar *widget) { 234 static void pw3270ToolBar_init(pw3270ToolBar *widget) {
279 235
280 - widget->popup.menu = gtk_menu_new();  
281 -  
282 - // Size options  
283 - {  
284 - size_t ix;  
285 -  
286 - GtkWidget * item = gtk_menu_item_new_with_mnemonic( _("Icon _size") );  
287 - gtk_menu_shell_append(GTK_MENU_SHELL(widget->popup.menu),item);  
288 -  
289 - GtkWidget * submenu = gtk_menu_new();  
290 - gtk_menu_item_set_submenu(GTK_MENU_ITEM(item),submenu);  
291 -  
292 - for(ix = 0; ix < G_N_ELEMENTS(icon_sizes); ix++) {  
293 -  
294 - widget->popup.icon_sizes[ix] = item = gtk_check_menu_item_new_with_mnemonic(gettext(icon_sizes[ix].label));  
295 - gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(item),TRUE);  
296 -  
297 - g_object_set_data(G_OBJECT(item),"icon_size", (gpointer) &icon_sizes[ix]);  
298 - g_signal_connect(item, "toggled", G_CALLBACK(set_icon_size), widget);  
299 -  
300 - gtk_menu_shell_append(GTK_MENU_SHELL(submenu),item);  
301 -  
302 - }  
303 -  
304 - }  
305 -  
306 - // Style option  
307 - {  
308 - size_t ix;  
309 -  
310 - GtkWidget * item = gtk_menu_item_new_with_mnemonic( _("S_tyle") );  
311 - gtk_menu_shell_append(GTK_MENU_SHELL(widget->popup.menu),item);  
312 -  
313 - GtkWidget * submenu = gtk_menu_new();  
314 - gtk_menu_item_set_submenu(GTK_MENU_ITEM(item),submenu);  
315 -  
316 - for(ix = 0; ix < G_N_ELEMENTS(styles); ix++) {  
317 -  
318 - widget->popup.styles[ix] = item = gtk_check_menu_item_new_with_mnemonic(gettext(styles[ix].label));  
319 - gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(item),TRUE); 236 + widget->menu = gtk_menu_new();
320 237
321 - g_object_set_data(G_OBJECT(item),"toolbar_style", (gpointer) &styles[ix]);  
322 - g_signal_connect(item, "toggled", G_CALLBACK(set_style), widget);  
323 -  
324 - gtk_menu_shell_append(GTK_MENU_SHELL(submenu),item);  
325 -  
326 - }  
327 -  
328 - } 238 + gtk_menu_shell_append(GTK_MENU_SHELL(widget->menu),pw3270_menu_item_from_name("toolbar-style"));
  239 + gtk_menu_shell_append(GTK_MENU_SHELL(widget->menu),pw3270_menu_item_from_name("toolbar-icon-size"));
  240 + gtk_menu_shell_append(GTK_MENU_SHELL(widget->menu),pw3270_menu_item_from_name("toolbar-icon-type"));
329 241
330 // Toolbar preferences. 242 // Toolbar preferences.
331 { 243 {
332 GtkWidget * item = gtk_menu_item_new_with_mnemonic( _("_Preferences") ); 244 GtkWidget * item = gtk_menu_item_new_with_mnemonic( _("_Preferences") );
333 - gtk_menu_shell_append(GTK_MENU_SHELL(widget->popup.menu),item); 245 + gtk_menu_shell_append(GTK_MENU_SHELL(widget->menu),item);
334 g_signal_connect(item, "activate", G_CALLBACK(open_preferences), widget); 246 g_signal_connect(item, "activate", G_CALLBACK(open_preferences), widget);
335 } 247 }
336 248
337 - // gtk_container_set_border_width(GTK_CONTAINER(widget->popup_menu),6);  
338 - gtk_widget_show_all(widget->popup.menu);  
339 - gtk_menu_attach_to_widget(GTK_MENU(widget->popup.menu),GTK_WIDGET(widget),detacher); 249 + gtk_widget_show_all(widget->menu);
  250 + gtk_menu_attach_to_widget(GTK_MENU(widget->menu),GTK_WIDGET(widget),detacher);
340 251
341 } 252 }
342 253
@@ -356,11 +267,11 @@ @@ -356,11 +267,11 @@
356 267
357 debug("%s button_number=%d",__FUNCTION__,button_number); 268 debug("%s button_number=%d",__FUNCTION__,button_number);
358 269
359 - if(toolbar->popup.menu) { 270 + if(toolbar->menu) {
360 #if GTK_CHECK_VERSION(3,22,0) 271 #if GTK_CHECK_VERSION(3,22,0)
361 - gtk_menu_popup_at_pointer(GTK_MENU(toolbar->popup.menu),NULL); 272 + gtk_menu_popup_at_pointer(GTK_MENU(toolbar->menu),NULL);
362 #else 273 #else
363 - gtk_menu_popup(GTK_MENU(toolbar->popup.menu), NULL, NULL, NULL, NULL, 0, 0); 274 + gtk_menu_popup(GTK_MENU(toolbar->menu), NULL, NULL, NULL, NULL, 0, 0);
364 #endif 275 #endif
365 } 276 }
366 277
@@ -379,9 +290,10 @@ @@ -379,9 +290,10 @@
379 else 290 else
380 gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),style); 291 gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),style);
381 292
  293 + /*
382 // Update menu 294 // Update menu
383 pw3270ToolBar * tb = PW3270_TOOLBAR(toolbar); 295 pw3270ToolBar * tb = PW3270_TOOLBAR(toolbar);
384 - if(tb && tb->popup.menu) { 296 + if(tb && tb->menu) {
385 size_t ix; 297 size_t ix;
386 for(ix = 0; ix < G_N_ELEMENTS(styles); ix++) { 298 for(ix = 0; ix < G_N_ELEMENTS(styles); ix++) {
387 299
@@ -391,9 +303,7 @@ @@ -391,9 +303,7 @@
391 ); 303 );
392 } 304 }
393 } 305 }
394 -  
395 - // Store value  
396 -// pw3270_settings_set_int("toolbar-style",(int) style); 306 + */
397 307
398 g_object_notify(G_OBJECT(toolbar), "style"); 308 g_object_notify(G_OBJECT(toolbar), "style");
399 309
@@ -422,8 +332,9 @@ @@ -422,8 +332,9 @@
422 gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),icon_size); 332 gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),icon_size);
423 333
424 // Update menu 334 // Update menu
  335 + /*
425 pw3270ToolBar * tb = PW3270_TOOLBAR(toolbar); 336 pw3270ToolBar * tb = PW3270_TOOLBAR(toolbar);
426 - if(tb && tb->popup.menu) { 337 + if(tb && tb->menu) {
427 size_t ix; 338 size_t ix;
428 for(ix = 0; ix < G_N_ELEMENTS(icon_sizes); ix++) { 339 for(ix = 0; ix < G_N_ELEMENTS(icon_sizes); ix++) {
429 340
@@ -433,6 +344,7 @@ @@ -433,6 +344,7 @@
433 ); 344 );
434 } 345 }
435 } 346 }
  347 + */
436 348
437 // Store value 349 // Store value
438 g_object_notify(G_OBJECT(toolbar), "icon-size"); 350 g_object_notify(G_OBJECT(toolbar), "icon-size");
@@ -527,71 +439,3 @@ @@ -527,71 +439,3 @@
527 return g_string_free(str,FALSE); 439 return g_string_free(str,FALSE);
528 } 440 }
529 441
530 - GtkTreeModel * pw3270_toolbar_style_model_new() {  
531 -  
532 - size_t ix;  
533 - GtkTreeIter iter;  
534 - GtkListStore * model = gtk_list_store_new(2, G_TYPE_STRING,G_TYPE_UINT);  
535 -  
536 - for(ix = 0; ix < G_N_ELEMENTS(icon_sizes); ix++) {  
537 - gtk_list_store_append(model,&iter);  
538 - gtk_list_store_set( model,  
539 - &iter,  
540 - 0, gettext(styles[ix].label),  
541 - 1, (guint) styles[ix].style,  
542 - -1);  
543 -  
544 - }  
545 -  
546 - return GTK_TREE_MODEL(model);  
547 -  
548 - }  
549 -  
550 - GtkTreeModel * pw3270_toolbar_icon_size_model_new() {  
551 -  
552 - size_t ix;  
553 - GtkTreeIter iter;  
554 - GtkListStore * model = gtk_list_store_new(2, G_TYPE_STRING,G_TYPE_UINT);  
555 -  
556 - for(ix = 0; ix < G_N_ELEMENTS(icon_sizes); ix++) {  
557 - gtk_list_store_append(model,&iter);  
558 - gtk_list_store_set( model,  
559 - &iter,  
560 - 0, gettext(icon_sizes[ix].label),  
561 - 1, (guint) icon_sizes[ix].icon_size,  
562 - -1);  
563 -  
564 - }  
565 -  
566 - return GTK_TREE_MODEL(model);  
567 - }  
568 -  
569 - void pw3270_model_get_iter_from_value(GtkTreeModel * model, GtkTreeIter *iter, guint value) {  
570 -  
571 - if(gtk_tree_model_get_iter_first(model,iter)) {  
572 -  
573 - do {  
574 -  
575 - GValue gVal = { 0, };  
576 - gtk_tree_model_get_value(model,iter,1,&gVal);  
577 - guint iVal = g_value_get_uint(&gVal);  
578 - g_value_unset(&gVal);  
579 -  
580 - if(iVal == value) {  
581 - return;  
582 - }  
583 -  
584 - } while(gtk_tree_model_iter_next(model,iter));  
585 -  
586 - }  
587 -  
588 - }  
589 -  
590 - guint pw3270_model_get_value_from_iter(GtkTreeModel * model, GtkTreeIter *iter) {  
591 - GValue gVal = { 0, };  
592 - gtk_tree_model_get_value(model,iter,1,&gVal);  
593 - guint iVal = g_value_get_uint(&gVal);  
594 - g_value_unset(&gVal);  
595 - return iVal;  
596 -}  
597 -