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