| 2494 if(data->customdata3) { |
2494 if(data->customdata3) { |
| 2495 uic_set_tmp_eventdata(eventdata, UI_EVENT_DATA_SUBLIST); |
2495 uic_set_tmp_eventdata(eventdata, UI_EVENT_DATA_SUBLIST); |
| 2496 |
2496 |
| 2497 UIMENU menu = data->customdata3; |
2497 UIMENU menu = data->customdata3; |
| 2498 g_object_set_data(G_OBJECT(button), "ui-button-popup", menu); |
2498 g_object_set_data(G_OBJECT(button), "ui-button-popup", menu); |
| |
2499 #if GTK_CHECK_VERSION(4, 0, 0) |
| 2499 gtk_popover_popup(GTK_POPOVER(menu)); |
2500 gtk_popover_popup(GTK_POPOVER(menu)); |
| |
2501 #else |
| |
2502 ui_contextmenu_popup(menu, button, 0, 0); |
| |
2503 #endif |
| 2500 } |
2504 } |
| 2501 } |
2505 } |
| 2502 |
2506 |
| 2503 #if GTK_CHECK_VERSION(4, 0, 0) |
2507 #if GTK_CHECK_VERSION(4, 0, 0) |
| 2504 static void button_popover_closed(GtkPopover *popover, GtkWidget *button) { |
2508 static void button_popover_closed(GtkPopover *popover, GtkWidget *button) { |
| 2586 "clicked", |
2590 "clicked", |
| 2587 G_CALLBACK(listbox_button_clicked), |
2591 G_CALLBACK(listbox_button_clicked), |
| 2588 event |
2592 event |
| 2589 ); |
2593 ); |
| 2590 gtk_widget_set_visible(button, FALSE); |
2594 gtk_widget_set_visible(button, FALSE); |
| |
2595 WIDGET_NO_SHOW_ALL(button); |
| 2591 |
2596 |
| 2592 g_object_set_data(G_OBJECT(row), "ui-listbox-row-button", button); |
2597 g_object_set_data(G_OBJECT(row), "ui-listbox-row-button", button); |
| 2593 |
2598 |
| 2594 // menu |
2599 // menu |
| 2595 if(item->button_menu) { |
2600 if(item->button_menu) { |