[dia] Don't repeat the additional context menu entries
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] Don't repeat the additional context menu entries
- Date: Sat, 30 Jul 2011 12:16:52 +0000 (UTC)
commit 52e64c7fe132c29b4d7a1b8be43450461a69d2eb
Author: Hans Breuer <hans breuer org>
Date: Tue Jul 26 21:27:56 2011 +0200
Don't repeat the additional context menu entries
Formerly the menu header and additional entries like "Properties"
and "Follow link" were repeated for every submenu.
app/disp_callbacks.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/app/disp_callbacks.c b/app/disp_callbacks.c
index 2449895..6438d05 100644
--- a/app/disp_callbacks.c
+++ b/app/disp_callbacks.c
@@ -169,7 +169,7 @@ add_follow_link_menu_item (GtkMenu *menu)
gtk_widget_show(menu_item);
}
static void
-create_object_menu(DiaMenu *dia_menu)
+create_object_menu(DiaMenu *dia_menu, gboolean root_menu)
{
int i;
GtkWidget *menu;
@@ -219,7 +219,7 @@ create_object_menu(DiaMenu *dia_menu)
* DiaMenu pointer for the submenu. */
if ( ((DiaMenu*)item->callback_data)->app_data == NULL ) {
/* Create the popup menu items for the submenu. */
- create_object_menu((DiaMenu*)(item->callback_data) ) ;
+ create_object_menu((DiaMenu*)(item->callback_data), FALSE) ;
gtk_menu_item_set_submenu( GTK_MENU_ITEM (menu_item),
GTK_WIDGET(((DiaMenu*)(item->callback_data))->app_data));
}
@@ -227,9 +227,11 @@ create_object_menu(DiaMenu *dia_menu)
}
}
- /* Finally add a Properties... menu item for objects*/
- add_properties_menu_item(GTK_MENU (menu), i > 0);
- add_follow_link_menu_item(GTK_MENU (menu));
+ if (root_menu) {
+ /* Finally add a Properties... menu item for objects*/
+ add_properties_menu_item(GTK_MENU (menu), i > 0);
+ add_follow_link_menu_item(GTK_MENU (menu));
+ }
dia_menu->app_data = menu;
dia_menu->app_data_free = dia_menu_free;
@@ -293,7 +295,7 @@ popup_object_menu(DDisplay *ddisp, GdkEventButton *bevent)
}
if (dia_menu->app_data == NULL) {
- create_object_menu(dia_menu);
+ create_object_menu(dia_menu, TRUE);
}
/* Update active/nonactive menuitems */
for (i=0;i<num_items;i++) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]