Commit 3f48813e0b733bb73b2bd5b2b4a863e91c512f07

Authored by Perry Werneck
1 parent 2daaee0a

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