static void on_history_item(GtkMenuItem* mi, FmMainWin* win) { GList* l = g_object_get_qdata(G_OBJECT(mi), fm_qdata_id); const FmNavHistoryItem* item = (FmNavHistoryItem*)l->data; int scroll_pos = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(win->folder_view))); fm_nav_history_jump(win->nav_history, l, scroll_pos); item = fm_nav_history_get_cur(win->nav_history); /* FIXME: should this be driven by a signal emitted on FmNavHistory? */ fm_main_win_chdir_without_history(win, item->path); }
void fm_tab_page_history(FmTabPage* page, GList* history_item_link) { FmMainWin* win = GET_MAIN_WIN(page); const FmNavHistoryItem* item = (FmNavHistoryItem*)history_item_link->data; GtkAdjustment* vadjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view)); int scroll_pos = gtk_adjustment_get_value(vadjustment); fm_nav_history_jump(page->nav_history, history_item_link, scroll_pos); item = fm_nav_history_get_cur(page->nav_history); fm_tab_page_chdir_without_history(page, item->path); }