@@ -108,6 +108,7 @@ struct _Imagewindow {
108108 GtkWidget * properties ;
109109 GtkWidget * display_bar ;
110110 GtkWidget * info_bar ;
111+ GtkWidget * region_menu ;
111112
112113 /* The set of active images in the stack right now. These are not
113114 * references.
@@ -118,6 +119,10 @@ struct _Imagewindow {
118119 */
119120 ViewSettings view_settings ;
120121
122+ /* Set on menu popup on a regionview.
123+ */
124+ View * action_view ;
125+
121126 GSettings * settings ;
122127};
123128
@@ -1352,7 +1357,18 @@ imagewindow_pressed(GtkGestureClick *gesture,
13521357 guint n_press , double x , double y , Imagewindow * win )
13531358{
13541359 Imageui * imageui = win -> imageui ;
1355- GtkWidget * menu = win -> right_click_menu ;
1360+
1361+ GtkWidget * menu ;
1362+ Regionview * regionview ;
1363+
1364+ menu = NULL ;
1365+ if (imageui &&
1366+ (regionview = imageui_pick_regionview (imageui , x , y ))) {
1367+ menu = win -> region_menu ;
1368+ win -> action_view = VIEW (regionview );
1369+ }
1370+ else
1371+ menu = win -> right_click_menu ;
13561372
13571373 gtk_popover_set_pointing_to (GTK_POPOVER (menu ),
13581374 & (const GdkRectangle ){ x , y , 1 , 1 });
@@ -1378,6 +1394,7 @@ imagewindow_class_init(ImagewindowClass *class)
13781394 BIND_VARIABLE (Imagewindow , properties );
13791395 BIND_VARIABLE (Imagewindow , display_bar );
13801396 BIND_VARIABLE (Imagewindow , info_bar );
1397+ BIND_VARIABLE (Imagewindow , region_menu );
13811398
13821399 BIND_CALLBACK (imagewindow_pressed );
13831400 BIND_CALLBACK (imagewindow_error_clicked );
0 commit comments