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); }
static FmJobErrorAction on_folder_error(FmFolder* folder, GError* err, FmJobErrorSeverity severity, FmTabPage* page) { GtkWindow* win = GTK_WINDOW(GET_MAIN_WIN(page)); if(err->domain == G_IO_ERROR) { if( err->code == G_IO_ERROR_NOT_MOUNTED && severity < FM_JOB_ERROR_CRITICAL ) { FmPath* path = fm_folder_get_path(folder); if(fm_mount_path(win, path, TRUE)) return FM_JOB_RETRY; } } if(severity >= FM_JOB_ERROR_MODERATE) { /* Only show more severe errors to the users and * ignore milder errors. Otherwise too many error * message boxes can be annoying. * This fixes bug #3411298- Show "Permission denied" when switching to super user mode. * https://sourceforge.net/tracker/?func=detail&aid=3411298&group_id=156956&atid=801864 * */ fm_show_error(win, NULL, err->message); } return FM_JOB_CONTINUE; }