mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 21:03:23 +00:00
info.c: Make sure we only edit when there is dive selection
1) info.c: always check for "amount_selected > 0" before calling edit_multi_dive_info(). 2) populate_popup_cb() should only add the "Edit" and "Delete" items if there are dives are selected 3) in info_menu_delete_cb() we clear the selection, therefore we need to set "amount_selected" to 0. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6ea59895ad
commit
aec904b612
1 changed files with 8 additions and 4 deletions
6
info.c
6
info.c
|
@ -226,6 +226,7 @@ static int delete_dive_info(struct dive *dive)
|
|||
|
||||
static void info_menu_edit_cb(GtkMenuItem *menuitem, gpointer user_data)
|
||||
{
|
||||
if (amount_selected)
|
||||
edit_multi_dive_info(NULL);
|
||||
}
|
||||
|
||||
|
@ -233,6 +234,7 @@ static void info_menu_delete_cb(GtkMenuItem *menuitem, gpointer user_data)
|
|||
{
|
||||
/* this needs to delete all the selected dives as well, I guess? */
|
||||
delete_dive_info(current_dive);
|
||||
amount_selected = 0;
|
||||
}
|
||||
|
||||
static void add_menu_item(GtkMenu *menu, const char *label, const char *icon, void (*cb)(GtkMenuItem *, gpointer))
|
||||
|
@ -253,8 +255,10 @@ static void add_menu_item(GtkMenu *menu, const char *label, const char *icon, vo
|
|||
|
||||
static void populate_popup_cb(GtkTextView *entry, GtkMenu *menu, gpointer user_data)
|
||||
{
|
||||
if (amount_selected) {
|
||||
add_menu_item(menu, _("Delete"), GTK_STOCK_DELETE, info_menu_delete_cb);
|
||||
add_menu_item(menu, _("Edit"), GTK_STOCK_EDIT, info_menu_edit_cb);
|
||||
}
|
||||
}
|
||||
|
||||
static GtkEntry *text_value(GtkWidget *box, const char *label)
|
||||
|
@ -769,7 +773,7 @@ int edit_multi_dive_info(struct dive *single_dive)
|
|||
|
||||
int edit_dive_info(struct dive *dive)
|
||||
{
|
||||
if (!dive)
|
||||
if (!dive || !amount_selected)
|
||||
return 0;
|
||||
return edit_multi_dive_info(dive);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue