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); | ... | ... |