mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
First step towards a context menu in the profile view
This is completely bogus as all it does is print out the corresponding time for the spot we right-clicked on the profile. But that at least shows that the infrastructure is working as intended... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a094b2b88a
commit
bfa37c3cac
3 changed files with 44 additions and 0 deletions
31
gtk-gui.c
31
gtk-gui.c
|
@ -1959,6 +1959,34 @@ static gboolean scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void add_gas_change_cb(GtkWidget *menuitem, gpointer data)
|
||||
{
|
||||
double *x = data;
|
||||
printf("x = %d:%02u\n", FRACTION(x_to_time(*x), 60));
|
||||
}
|
||||
|
||||
static void popup_profile_menu(GtkWidget *widget, GdkEventButton *event)
|
||||
{
|
||||
GtkWidget *menu, *menuitem, *image;
|
||||
static double x;
|
||||
|
||||
if (!event || !current_dive)
|
||||
return;
|
||||
x = event->x;
|
||||
menu = gtk_menu_new();
|
||||
menuitem = gtk_image_menu_item_new_with_label(_("Add gas change event here"));
|
||||
image = gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU);
|
||||
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
|
||||
g_signal_connect(menuitem, "activate", G_CALLBACK(add_gas_change_cb), &x);
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
|
||||
gtk_widget_show_all(menu);
|
||||
|
||||
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
|
||||
event->button, gtk_get_current_event_time());
|
||||
|
||||
}
|
||||
|
||||
static gboolean clicked(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
|
||||
{
|
||||
switch (event->button) {
|
||||
|
@ -1967,6 +1995,9 @@ static gboolean clicked(GtkWidget *widget, GdkEventButton *event, gpointer user_
|
|||
zoom_y = event->y;
|
||||
zoom_factor = 2.5;
|
||||
break;
|
||||
case 3:
|
||||
popup_profile_menu(widget, event);
|
||||
break;
|
||||
default:
|
||||
return TRUE;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue