Commit 3f48813e0b733bb73b2bd5b2b4a863e91c512f07
1 parent
2daaee0a
Exists in
master
and in
4 other branches
Adding toolbar properties menu.
Showing
2 changed files
with
23 additions
and
32 deletions
Show diff stats
src/main/tools.c
@@ -110,36 +110,4 @@ | @@ -110,36 +110,4 @@ | ||
110 | 110 | ||
111 | } | 111 | } |
112 | 112 | ||
113 | - /* | ||
114 | - GtkWidget * pw3270_settings_dialog_new(const gchar *title, GtkWindow *parent) { | ||
115 | - | ||
116 | - gboolean use_header; | ||
117 | - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL); | ||
118 | - | ||
119 | - GtkWidget * dialog = | ||
120 | - GTK_WIDGET(g_object_new( | ||
121 | - GTK_TYPE_DIALOG, | ||
122 | - "use-header-bar", (use_header ? 1 : 0), | ||
123 | - NULL | ||
124 | - )); | ||
125 | - | ||
126 | - gtk_window_set_title(GTK_WINDOW(dialog),title); | ||
127 | - gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); | ||
128 | - gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | ||
129 | - gtk_window_set_transient_for(GTK_WINDOW(dialog),parent); | ||
130 | - | ||
131 | - g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL); | ||
132 | - | ||
133 | - gtk_dialog_add_buttons( | ||
134 | - GTK_DIALOG(dialog), | ||
135 | - _("_Cancel"), GTK_RESPONSE_CANCEL, | ||
136 | - _("_Apply"), GTK_RESPONSE_APPLY, | ||
137 | - NULL | ||
138 | - ); | ||
139 | - | ||
140 | - return dialog; | ||
141 | - | ||
142 | - } | ||
143 | - */ | ||
144 | - | ||
145 | 113 |
src/objects/toolbar/toolbar.c
@@ -29,6 +29,7 @@ | @@ -29,6 +29,7 @@ | ||
29 | 29 | ||
30 | #include "private.h" | 30 | #include "private.h" |
31 | #include <pw3270/application.h> | 31 | #include <pw3270/application.h> |
32 | + #include <pw3270/settings.h> | ||
32 | 33 | ||
33 | #define GTK_TOOLBAR_DEFAULT_STYLE ((GtkToolbarStyle) -1) | 34 | #define GTK_TOOLBAR_DEFAULT_STYLE ((GtkToolbarStyle) -1) |
34 | 35 | ||
@@ -234,6 +235,22 @@ | @@ -234,6 +235,22 @@ | ||
234 | 235 | ||
235 | } | 236 | } |
236 | 237 | ||
238 | + static void open_properties(GtkMenuItem G_GNUC_UNUSED(*menuitem), GtkWidget *toolbar) { | ||
239 | + | ||
240 | + GtkWidget * window = gtk_widget_get_toplevel(toolbar); | ||
241 | + GtkWidget * dialog = pw3270_settings_dialog_new(NULL); | ||
242 | + | ||
243 | + gtk_container_add(GTK_CONTAINER(dialog),pw3270_toolbar_settings_new()); | ||
244 | + | ||
245 | + gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); | ||
246 | + gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); | ||
247 | + gtk_window_set_attached_to(GTK_WINDOW(dialog), window); | ||
248 | + gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(window)); | ||
249 | + | ||
250 | + gtk_widget_show_all(dialog); | ||
251 | + | ||
252 | + } | ||
253 | + | ||
237 | static void pw3270ToolBar_init(pw3270ToolBar *widget) { | 254 | static void pw3270ToolBar_init(pw3270ToolBar *widget) { |
238 | 255 | ||
239 | widget->popup.menu = gtk_menu_new(); | 256 | widget->popup.menu = gtk_menu_new(); |
@@ -286,6 +303,12 @@ | @@ -286,6 +303,12 @@ | ||
286 | 303 | ||
287 | } | 304 | } |
288 | 305 | ||
306 | + // Toolbar properties. | ||
307 | + { | ||
308 | + GtkWidget * item = gtk_menu_item_new_with_mnemonic( _("_Properties") ); | ||
309 | + gtk_menu_shell_append(GTK_MENU_SHELL(widget->popup.menu),item); | ||
310 | + g_signal_connect(item, "activate", G_CALLBACK(open_properties), widget); | ||
311 | + } | ||
289 | 312 | ||
290 | // gtk_container_set_border_width(GTK_CONTAINER(widget->popup_menu),6); | 313 | // gtk_container_set_border_width(GTK_CONTAINER(widget->popup_menu),6); |
291 | gtk_widget_show_all(widget->popup.menu); | 314 | gtk_widget_show_all(widget->popup.menu); |