ekiga r6509 - in trunk/lib/engine: framework gui/gtk-core



Author: jpuydt
Date: Fri Jul 25 16:28:49 2008
New Revision: 6509
URL: http://svn.gnome.org/viewvc/ekiga?rev=6509&view=rev

Log:
Add a new MenuBuilder feature, to complement the separator stuff : a ghost entry

Modified:
   trunk/lib/engine/framework/menu-builder.cpp
   trunk/lib/engine/framework/menu-builder.h
   trunk/lib/engine/gui/gtk-core/menu-builder-gtk.cpp
   trunk/lib/engine/gui/gtk-core/menu-builder-gtk.h

Modified: trunk/lib/engine/framework/menu-builder.cpp
==============================================================================
--- trunk/lib/engine/framework/menu-builder.cpp	(original)
+++ trunk/lib/engine/framework/menu-builder.cpp	Fri Jul 25 16:28:49 2008
@@ -57,6 +57,13 @@
 }
 
 
+void
+Ekiga::MenuBuilder::add_ghost (const std::string /*icon*/,
+			       const std::string /*label*/)
+{
+  // nothing
+}
+
 bool
 Ekiga::MenuBuilder::empty () const
 {

Modified: trunk/lib/engine/framework/menu-builder.h
==============================================================================
--- trunk/lib/engine/framework/menu-builder.h	(original)
+++ trunk/lib/engine/framework/menu-builder.h	Fri Jul 25 16:28:49 2008
@@ -83,6 +83,9 @@
 
     virtual void add_separator ();
 
+    virtual void add_ghost (const std::string icon,
+			    const std::string label);
+
     virtual bool empty () const;
 
     virtual int size () const;

Modified: trunk/lib/engine/gui/gtk-core/menu-builder-gtk.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-core/menu-builder-gtk.cpp	(original)
+++ trunk/lib/engine/gui/gtk-core/menu-builder-gtk.cpp	Fri Jul 25 16:28:49 2008
@@ -113,6 +113,25 @@
   }
 }
 
+void
+MenuBuilderGtk::add_ghost (const std::string icon,
+			   const std::string label)
+{
+  GtkWidget *item = NULL;
+  GtkWidget *image = NULL;
+
+  nbr_elements++;
+  last_was_separator = false;
+
+  item = gtk_image_menu_item_new_with_mnemonic (label.c_str ());
+  image = gtk_image_new_from_stock (icon.c_str (), GTK_ICON_SIZE_MENU);
+  if (image)
+    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+
+  gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
+
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+}
 
 int
 MenuBuilderGtk::size () const

Modified: trunk/lib/engine/gui/gtk-core/menu-builder-gtk.h
==============================================================================
--- trunk/lib/engine/gui/gtk-core/menu-builder-gtk.h	(original)
+++ trunk/lib/engine/gui/gtk-core/menu-builder-gtk.h	Fri Jul 25 16:28:49 2008
@@ -59,6 +59,9 @@
 
   void add_separator ();
 
+  void add_ghost (const std::string icon,
+		  const std::string label);
+
   int size () const;
 
   GtkWidget *menu;



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