/* save panels.ini */ static void save_panel_types (void) { panel_view_mode_t type; if (mc_run_mode != MC_RUN_FULL) return; type = get_display_type (0); panel_save_type ("New Left Panel", type); if (type == view_listing) panel_save_setup (left_panel, left_panel->panel_name); type = get_display_type (1); panel_save_type ("New Right Panel", type); if (type == view_listing) panel_save_setup (right_panel, right_panel->panel_name); mc_config_set_string (mc_panels_config, "Dirs", "other_dir", get_panel_dir_for (other_panel)); if (current_panel != NULL) mc_config_set_string (mc_panels_config, "Dirs", "current_is_left", get_current_index () == 0 ? "1" : "0"); if (mc_panels_config->ini_path == NULL) mc_panels_config->ini_path = g_strdup (panels_profile_name); mc_config_del_group (mc_panels_config, "Temporal:New Left Panel"); mc_config_del_group (mc_panels_config, "Temporal:New Right Panel"); mc_config_save_file (mc_panels_config, NULL); }
void quick_cmd_no_menu (void) { if (get_display_type (0) == view_quick) set_display_type (0, view_listing); else if (get_display_type (1) == view_quick) set_display_type (1, view_listing); else set_display_type (current_panel == left_panel ? 1 : 0, view_quick); }
void save_panel_types () { int type; type = get_display_type (0); panel_save_type ("New Left Panel", type); if (type == view_listing) panel_save_setup (left_panel, left_panel->panel_name); type = get_display_type (1); panel_save_type ("New Right Panel", type); if (type == view_listing) panel_save_setup (right_panel, right_panel->panel_name); }
static void panel_do_cols (int index) { /* Only one panel at the moment */ index=0; if (get_display_type (index) == view_listing) set_panel_formats ((WPanel *) panels [index].widget); else { panel_update_cols (panels [index].widget, frame_half); /* In case of an Hex Quick View must review line length */ if (get_display_type (index) == view_quick) view_update_bytes_per_line ((WView *) panels [index].widget); } }
void listing_cmd (void) { int view_type, use_msformat; char *user, *status; WPanel *p; int display_type; display_type = get_display_type (MENU_PANEL_IDX); if (display_type == view_listing) p = MENU_PANEL_IDX == 0 ? left_panel : right_panel; else p = 0; view_type = display_box (p, &user, &status, &use_msformat, MENU_PANEL_IDX); if (view_type == -1) return; switch_to_listing (MENU_PANEL_IDX); p = MENU_PANEL_IDX == 0 ? left_panel : right_panel; configure_panel_listing (p, view_type, use_msformat, user, status); }
void panel_do_cols (int index) { if (get_display_type (index) == view_listing) set_panel_formats ((WPanel *) panels [index].widget); else { panel_update_cols (panels [index].widget, frame_half); } }
static void panel_do_cols (int idx) { if (get_display_type (idx) == view_listing) set_panel_formats (PANEL (panels[idx].widget)); else panel_update_cols (panels[idx].widget, frame_half); }
void save_panel_dir (int idx) { panel_view_mode_t type = get_display_type (idx); Widget *widget = get_panel_widget (idx); if ((type == view_listing) && (widget != NULL)) { WPanel *w = PANEL (widget); g_free (panels[idx].last_saved_dir); /* last path no needed */ /* Because path can be nonlocal */ panels[idx].last_saved_dir = g_strdup (vfs_path_as_str (w->cwd_vpath)); } }
static Widget * restore_into_right_dir_panel (int idx, Widget * from_widget) { Widget *new_widget = NULL; const char *saved_dir = panels[idx].last_saved_dir; gboolean last_was_panel = (from_widget && get_display_type (idx) != view_listing); const char *p_name = get_nth_panel_name (idx); if (last_was_panel) new_widget = (Widget *) panel_new_with_dir (p_name, saved_dir); else new_widget = (Widget *) panel_new (p_name); return new_widget; }
void save_panel_dir (int idx) { panel_view_mode_t type = get_display_type (idx); Widget *widget = get_panel_widget (idx); if ((type == view_listing) && (widget != NULL)) { WPanel *w = (WPanel *) widget; char *widget_work_dir = w->cwd; g_free (panels[idx].last_saved_dir); /* last path no needed */ /* Because path can be nonlocal */ panels[idx].last_saved_dir = g_strdup (widget_work_dir); } }
static void switch_to_listing (int panel_index) { if (get_display_type (panel_index) != view_listing) set_display_type (panel_index, view_listing); else { WPanel *p; p = PANEL (get_panel_widget (panel_index)); if (p->is_panelized) { p->is_panelized = FALSE; panel_reload (p); } } }
const char * get_panel_dir_for (const WPanel * widget) { int i; for (i = 0; i < MAX_VIEWS; i++) if ((WPanel *) get_panel_widget (i) == widget) break; if (i >= MAX_VIEWS) return "."; if (get_display_type (i) == view_listing) return ((WPanel *) get_panel_widget (i))->cwd; return panels[i].last_saved_dir; }
void change_listing_cmd (void) { int list_type; int use_msformat; char *user, *status; WPanel *p = NULL; if (get_display_type (MENU_PANEL_IDX) == view_listing) p = MENU_PANEL_IDX == 0 ? left_panel : right_panel; list_type = display_box (p, &user, &status, &use_msformat, MENU_PANEL_IDX); if (list_type != -1) { switch_to_listing (MENU_PANEL_IDX); p = MENU_PANEL_IDX == 0 ? left_panel : right_panel; configure_panel_listing (p, list_type, use_msformat, user, status); } }
static Widget * restore_into_right_dir_panel (int idx, Widget * from_widget) { WPanel *new_widget; const char *saved_dir = panels[idx].last_saved_dir; gboolean last_was_panel = (from_widget && get_display_type (idx) != view_listing); const char *p_name = get_nth_panel_name (idx); if (last_was_panel) { vfs_path_t *saved_dir_vpath; saved_dir_vpath = vfs_path_from_str (saved_dir); new_widget = panel_new_with_dir (p_name, saved_dir_vpath); vfs_path_free (saved_dir_vpath); } else new_widget = panel_new (p_name); return WIDGET (new_widget); }
char * get_panel_dir_for (const WPanel * widget) { int i; for (i = 0; i < MAX_VIEWS; i++) if (PANEL (get_panel_widget (i)) == widget) break; if (i >= MAX_VIEWS) return g_strdup ("."); if (get_display_type (i) == view_listing) { vfs_path_t *cwd_vpath; cwd_vpath = PANEL (get_panel_widget (i))->cwd_vpath; return g_strdup (vfs_path_as_str (cwd_vpath)); } return g_strdup (panels[i].last_saved_dir); }
static void switch_to_listing (int panel_index) { if (get_display_type (panel_index) != view_listing) set_display_type (panel_index, view_listing); }