Commit 8b1d37dca549d4c451539eda8174bceebb9e41a4

Authored by Perry Werneck
1 parent a83ae34f

Adding support for toolbar separators.

src/include/pw3270/actions.h
@@ -263,6 +263,7 @@ @@ -263,6 +263,7 @@
263 void pw3270_action_list_free(Pw3270ActionList *action_list); 263 void pw3270_action_list_free(Pw3270ActionList *action_list);
264 void pw3270_action_view_set_actions(GtkWidget *view, Pw3270ActionList *list); 264 void pw3270_action_view_set_actions(GtkWidget *view, Pw3270ActionList *list);
265 void pw3270_action_view_move_selected(GtkWidget *from, GtkWidget *to); 265 void pw3270_action_view_move_selected(GtkWidget *from, GtkWidget *to);
  266 + void pw3270_action_view_append(GtkWidget *widget, const gchar *label, GdkPixbuf *pixbuf, const gchar *action_name, gint flags);
266 267
267 Pw3270ActionList * pw3270_action_list_move_action(Pw3270ActionList *action_list, const gchar *action_name, GtkWidget *view); 268 Pw3270ActionList * pw3270_action_list_move_action(Pw3270ActionList *action_list, const gchar *action_name, GtkWidget *view);
268 269
src/objects/actions/view.c
@@ -106,6 +106,25 @@ @@ -106,6 +106,25 @@
106 return view; 106 return view;
107 } 107 }
108 108
  109 + void pw3270_action_view_append(GtkWidget *widget, const gchar *label, GdkPixbuf *pixbuf, const gchar *action_name, gint flags) {
  110 +
  111 + GtkListStore * store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(widget)));
  112 +
  113 + GtkTreeIter iter;
  114 + gtk_list_store_append(store, &iter);
  115 + gtk_list_store_set(
  116 + store,
  117 + &iter,
  118 + COLUMN_PIXBUF, pixbuf,
  119 + COLUMN_LABEL, label,
  120 + COLUMN_ACTION_NAME, action_name,
  121 + COLUMN_FLAGS, flags,
  122 + -1
  123 + );
  124 +
  125 +
  126 + }
  127 +
109 static void pw3270_action_view_append_element(GtkListStore * store, struct ListElement * element) { 128 static void pw3270_action_view_append_element(GtkListStore * store, struct ListElement * element) {
110 129
111 size_t ix; 130 size_t ix;
src/objects/toolbar/settings.c
@@ -59,8 +59,12 @@ @@ -59,8 +59,12 @@
59 // It's an action 59 // It's an action
60 action_list = pw3270_action_list_move_action(action_list,actions[ix],((ToolbarSettingsPage *) pg)->views[0]); 60 action_list = pw3270_action_list_move_action(action_list,actions[ix],((ToolbarSettingsPage *) pg)->views[0]);
61 61
62 - } 62 + } else {
  63 +
  64 + // It's a separator
  65 + pw3270_action_view_append(((ToolbarSettingsPage *) pg)->views[0], _( "Separator"), NULL, "separator", 2);
63 66
  67 + }
64 68
65 } 69 }
66 70
@@ -68,6 +72,7 @@ @@ -68,6 +72,7 @@
68 72
69 // Load available actions. 73 // Load available actions.
70 pw3270_action_view_set_actions(((ToolbarSettingsPage *) pg)->views[1], action_list); 74 pw3270_action_view_set_actions(((ToolbarSettingsPage *) pg)->views[1], action_list);
  75 + pw3270_action_view_append(((ToolbarSettingsPage *) pg)->views[1], _( "Separator"), NULL, "separator", 1);
71 76
72 pw3270_action_list_free(action_list); 77 pw3270_action_list_free(action_list);
73 78
src/objects/window/header.c
@@ -146,7 +146,7 @@ @@ -146,7 +146,7 @@
146 146
147 for(item = children;item;item = g_list_next(item)) { 147 for(item = children;item;item = g_list_next(item)) {
148 148
149 - if(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(item->data),"header-position-id") != id)) 149 + if(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(item->data),"header-position-id")) != id)
150 continue; 150 continue;
151 151
152 if(sep) 152 if(sep)