Move common menu position callback to view_dir.c.
authorLaurent Monin <geeqie@norz.org>
Thu, 17 Apr 2008 16:33:31 +0000 (16:33 +0000)
committerLaurent Monin <geeqie@norz.org>
Thu, 17 Apr 2008 16:33:31 +0000 (16:33 +0000)
src/view_dir.c
src/view_dir.h
src/view_dir_list.c
src/view_dir_tree.c

index 656aef8..a663f0f 100644 (file)
@@ -849,3 +849,26 @@ void vd_dnd_init(ViewDir *vd)
                         G_CALLBACK(vd_dnd_drop_leave), vd);
 }
 
+/*
+ *----------------------------------------------------------------------------
+ * callbacks
+ *----------------------------------------------------------------------------
+ */
+
+void vd_menu_position_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
+{
+       ViewDir *vd = data;
+       GtkTreeModel *store;
+       GtkTreeIter iter;
+       GtkTreePath *tpath;
+       gint cw, ch;
+
+       if (vd_find_row(vd, vd->click_fd, &iter) < 0) return;
+       store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view));
+       tpath = gtk_tree_model_get_path(store, &iter);
+       tree_view_get_cell_clamped(GTK_TREE_VIEW(vd->view), tpath, 0, TRUE, x, y, &cw, &ch);
+       gtk_tree_path_free(tpath);
+       *y += ch;
+       popup_menu_position_clamp(menu, x, y, 0);
+}
+
index 73aecbc..547c368 100644 (file)
@@ -45,6 +45,9 @@ GtkWidget *vd_pop_menu(ViewDir *vd, FileData *fd);
 void vd_dnd_drop_scroll_cancel(ViewDir *vd);
 void vd_dnd_init(ViewDir *vd);
 
+void vd_menu_position_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data);
+
+
 #endif
 
 
index d465c36..71580d4 100644 (file)
@@ -284,23 +284,6 @@ void vdlist_refresh(ViewDir *vd)
        g_free(path);
 }
 
-static void vdlist_menu_position_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
-{
-       ViewDir *vd = data;
-       GtkTreeModel *store;
-       GtkTreeIter iter;
-       GtkTreePath *tpath;
-       gint cw, ch;
-
-       if (vd_find_row(vd, vd->click_fd, &iter) < 0) return;
-       store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view));
-       tpath = gtk_tree_model_get_path(store, &iter);
-       tree_view_get_cell_clamped(GTK_TREE_VIEW(vd->view), tpath, 0, TRUE, x, y, &cw, &ch);
-       gtk_tree_path_free(tpath);
-       *y += ch;
-       popup_menu_position_clamp(menu, x, y, 0);
-}
-
 static gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
        ViewDir *vd = data;
@@ -329,7 +312,7 @@ static gint vdlist_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer
 
        vd->popup = vd_pop_menu(vd, vd->click_fd);
 
-       gtk_menu_popup(GTK_MENU(vd->popup), NULL, NULL, vdlist_menu_position_cb, vd, 0, GDK_CURRENT_TIME);
+       gtk_menu_popup(GTK_MENU(vd->popup), NULL, NULL, vd_menu_position_cb, vd, 0, GDK_CURRENT_TIME);
 
        return TRUE;
 }
index b64ba89..15323d5 100644 (file)
@@ -738,23 +738,6 @@ const gchar *vdtree_row_get_path(ViewDir *vd, gint row)
  *----------------------------------------------------------------------------
  */
 
-static void vdtree_menu_position_cb(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
-{
-       ViewDir *vd = data;
-       GtkTreeModel *store;
-       GtkTreeIter iter;
-       GtkTreePath *tpath;
-       gint cw, ch;
-
-       if (vd_find_row(vd, vd->click_fd, &iter) < 0) return;
-       store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view));
-       tpath = gtk_tree_model_get_path(store, &iter);
-       tree_view_get_cell_clamped(GTK_TREE_VIEW(vd->view), tpath, 0, TRUE, x, y, &cw, &ch);
-       gtk_tree_path_free(tpath);
-       *y += ch;
-       popup_menu_position_clamp(menu, x, y, 0);
-}
-
 static gint vdtree_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
        ViewDir *vd = data;
@@ -784,7 +767,7 @@ static gint vdtree_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer
                        vd_color_set(vd, vd->click_fd, TRUE);
 
                        vd->popup = vd_pop_menu(vd, vd->click_fd);
-                       gtk_menu_popup(GTK_MENU(vd->popup), NULL, NULL, vdtree_menu_position_cb, vd, 0, GDK_CURRENT_TIME);
+                       gtk_menu_popup(GTK_MENU(vd->popup), NULL, NULL, vd_menu_position_cb, vd, 0, GDK_CURRENT_TIME);
 
                        return TRUE;
                        break;