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); }
void fm_tab_page_forward(FmTabPage* page) { if(fm_nav_history_get_can_forward(page->nav_history)) { FmNavHistoryItem* item; GtkAdjustment* vadjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view)); int scroll_pos = gtk_adjustment_get_value(vadjustment); fm_nav_history_forward(page->nav_history, scroll_pos); item = fm_nav_history_get_cur(page->nav_history); fm_tab_page_chdir_without_history(page, item->path); } }
void fm_tab_page_back(FmTabPage* page) { FmMainWin* win = FM_MAIN_WIN(gtk_widget_get_toplevel(GTK_WIDGET(page))); if(fm_nav_history_get_can_back(page->nav_history)) { FmNavHistoryItem* item; GtkAdjustment* vadjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view)); int scroll_pos = gtk_adjustment_get_value(vadjustment); fm_nav_history_back(page->nav_history, scroll_pos); item = fm_nav_history_get_cur(page->nav_history); fm_tab_page_chdir_without_history(page, item->path); } }
void fm_tab_page_back(FmTabPage* page) { g_return_if_fail(page); if(fm_nav_history_can_back(page->nav_history)) { const FmNavHistoryItem* item; GtkAdjustment* vadjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view)); int scroll_pos = gtk_adjustment_get_value(vadjustment); fm_nav_history_back(page->nav_history, scroll_pos); item = fm_nav_history_get_cur(page->nav_history); fm_tab_page_chdir_without_history(page, item->path, NULL); } }
void fm_tab_page_chdir(FmTabPage* page, FmPath* path, FmPath* select_path) { g_return_if_fail(page); FmFolderView* fv = page->folder_view; FmPath * cwd = fm_tab_page_get_cwd(page); int scroll_pos; if(cwd && path && fm_path_equal(cwd, path)) { if (select_path) fm_folder_view_select_file_path(fv, select_path); return; } scroll_pos = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view))); fm_nav_history_chdir(page->nav_history, path, scroll_pos); fm_tab_page_chdir_without_history(page, path, select_path); }
void fm_tab_page_chdir(FmTabPage* page, FmPath* path) { int scroll_pos = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(page->folder_view))); fm_nav_history_chdir(page->nav_history, path, scroll_pos); fm_tab_page_chdir_without_history(page, path); }