[gtk+/wip/csd-for-review] Disable window menu items when appropriate



commit c3c86140ee9b3d3f08095e390567cd68a09db343
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Mar 10 03:09:44 2013 -0400

    Disable window menu items when appropriate

 gtk/gtkwindow.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 5fe14a1..85ef9aa 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7595,16 +7595,21 @@ gtk_window_do_popup (GtkWindow      *window,
 
   menuitem = gtk_menu_item_new_with_label (_("Minimize"));
   gtk_widget_show (menuitem);
+  if (priv->gdk_type_hint != GDK_WINDOW_TYPE_HINT_NORMAL)
+    gtk_widget_set_sensitive (menuitem, FALSE);
   g_signal_connect (G_OBJECT (menuitem),
                     "activate",
                     G_CALLBACK (minimize_window_clicked), window);
   gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
 
   menuitem = gtk_menu_item_new_with_label (state & GDK_WINDOW_STATE_MAXIMIZED ? _("Unmaximize") : 
_("Maximize"));
+  gtk_widget_show (menuitem);
+  if (!priv->resizable ||
+      priv->gdk_type_hint != GDK_WINDOW_TYPE_HINT_NORMAL)
+    gtk_widget_set_sensitive (menuitem, FALSE);
   g_signal_connect (G_OBJECT (menuitem),
                     "activate",
                     G_CALLBACK (maximize_window_clicked), window);
-  gtk_widget_show (menuitem);
   gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
 
   menuitem = gtk_separator_menu_item_new ();
@@ -7613,6 +7618,8 @@ gtk_window_do_popup (GtkWindow      *window,
 
   menuitem = gtk_image_menu_item_new_with_label (_("Close"));
   gtk_widget_show (menuitem);
+  if (!priv->deletable)
+    gtk_widget_set_sensitive (menuitem, FALSE);
   g_signal_connect (G_OBJECT (menuitem),
                     "activate",
                     G_CALLBACK (close_window_clicked), window);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]