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 | 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 | 29 | |
30 | 30 | #include "private.h" |
31 | 31 | #include <pw3270/application.h> |
32 | + #include <pw3270/settings.h> | |
32 | 33 | |
33 | 34 | #define GTK_TOOLBAR_DEFAULT_STYLE ((GtkToolbarStyle) -1) |
34 | 35 | |
... | ... | @@ -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 | 254 | static void pw3270ToolBar_init(pw3270ToolBar *widget) { |
238 | 255 | |
239 | 256 | widget->popup.menu = gtk_menu_new(); |
... | ... | @@ -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 | 313 | // gtk_container_set_border_width(GTK_CONTAINER(widget->popup_menu),6); |
291 | 314 | gtk_widget_show_all(widget->popup.menu); | ... | ... |