[dia/dia-0-97] Simple context menu also for selection of objects
- From: Hans Breuer <hans src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [dia/dia-0-97] Simple context menu also for selection of objects
- Date: Sun, 27 Dec 2009 21:34:11 +0000 (UTC)
commit 025a8916220c8af80f4ca1d2d62aada3058d6aa0
Author: Hans Breuer <hans breuer org>
Date: Sun Dec 27 16:05:05 2009 +0100
Simple context menu also for selection of objects
We can offer the Properties entry also for multiple selected
objects since Sameer's work on group properties.
(cherry picked from commit 55d3b2604d91667de9c071a8253ae3bcc7df22db)
app/disp_callbacks.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/app/disp_callbacks.c b/app/disp_callbacks.c
index 71c8dc7..596a63b 100644
--- a/app/disp_callbacks.c
+++ b/app/disp_callbacks.c
@@ -219,13 +219,13 @@ popup_object_menu(DDisplay *ddisp, GdkEventButton *bevent)
int num_items;
diagram = ddisp->diagram;
- if (g_list_length (diagram->data->selected) != 1)
+ if (g_list_length (diagram->data->selected) < 1)
return;
selected_list = diagram->data->selected;
/* Have to have exactly one selected object */
- if (selected_list == NULL || g_list_next(selected_list) != NULL) {
+ if (selected_list == NULL) {
message_error("Selected list is %s while selected_count is %d\n",
(selected_list?"long":"empty"), g_list_length (diagram->data->selected));
return;
@@ -236,13 +236,18 @@ popup_object_menu(DDisplay *ddisp, GdkEventButton *bevent)
/* Possibly react differently at a handle? */
/* Get its menu, and remember the # of object-generated items */
- if (obj->ops->get_object_menu == NULL || (obj->ops->get_object_menu)(obj, &object_menu_clicked_point) == NULL) {
+ if ( g_list_length (diagram->data->selected) > 1
+ || obj->ops->get_object_menu == NULL
+ || (obj->ops->get_object_menu)(obj, &object_menu_clicked_point) == NULL) {
dia_menu = &empty_menu;
if (dia_menu->title &&
(0 != strcmp(dia_menu->title,obj->type->name))) {
dia_menu->app_data_free(dia_menu);
}
- dia_menu->title = obj->type->name;
+ if (g_list_length (diagram->data->selected) > 1)
+ dia_menu->title = _("Selection");
+ else
+ dia_menu->title = obj->type->name;
num_items = 0;
} else {
dia_menu = (obj->ops->get_object_menu)(obj, &object_menu_clicked_point);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]