Commit 8b1d37dca549d4c451539eda8174bceebb9e41a4
1 parent
a83ae34f
Exists in
master
and in
4 other branches
Adding support for toolbar separators.
Showing
4 changed files
with
27 additions
and
2 deletions
Show diff stats
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) |