1998-02-27 07:54:42 +03:00
|
|
|
/* Setup loading/saving.
|
|
|
|
Copyright (C) 1994 Miguel de Icaza
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
2000-08-23 02:50:00 +04:00
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
1998-02-27 07:54:42 +03:00
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
#include <sys/types.h> /* Needed to include local .h files */
|
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <sys/param.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include "tty.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "global.h"
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
#include "dir.h"
|
1998-02-27 07:54:42 +03:00
|
|
|
#include "panel.h"
|
|
|
|
#include "main.h"
|
|
|
|
#include "tree.h"
|
|
|
|
#include "profile.h"
|
1998-12-03 00:27:27 +03:00
|
|
|
#define WANT_WIDGETS
|
1998-02-27 07:54:42 +03:00
|
|
|
#include "setup.h"
|
|
|
|
#include "mouse.h" /* To make view.h happy */
|
|
|
|
#include "view.h" /* For the externs */
|
|
|
|
#include "key.h" /* For the externs */
|
|
|
|
#include "hotlist.h" /* load/save/done hotlist */
|
|
|
|
#include "panelize.h" /* load/save/done panelize */
|
|
|
|
#include "layout.h"
|
|
|
|
#include "menu.h" /* menubar_visible declaration */
|
|
|
|
#include "win.h" /* lookup_key */
|
|
|
|
#include "cmd.h"
|
1998-11-18 05:31:23 +03:00
|
|
|
#include "file.h"
|
1998-03-13 06:44:54 +03:00
|
|
|
#include "x.h"
|
1998-02-27 07:54:42 +03:00
|
|
|
|
1998-04-15 07:16:29 +04:00
|
|
|
#ifdef HAVE_GNOME
|
|
|
|
# include "gdesktop.h"
|
|
|
|
#endif
|
|
|
|
|
1998-05-12 08:26:21 +04:00
|
|
|
#ifndef PORT_LIST_MODE_NAME
|
|
|
|
# define PORT_LIST_MODE_NAME "list_mode"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef PORT_LIST_MODE_DEFAULT
|
|
|
|
# define PORT_LIST_MODE_DEFAULT "full"
|
|
|
|
#endif
|
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
#include "../vfs/vfs.h"
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
# include "../vfs/ftpfs.h"
|
|
|
|
extern int use_netrc;
|
|
|
|
extern int ftpfs_retry_seconds;
|
|
|
|
extern int ftpfs_use_passive_connections;
|
1998-09-15 23:41:22 +04:00
|
|
|
extern int ftpfs_use_unix_list_options;
|
1999-01-31 23:28:13 +03:00
|
|
|
extern int ftpfs_first_cd_then_ls;
|
1998-02-27 07:54:42 +03:00
|
|
|
#endif
|
|
|
|
|
1999-02-04 02:22:53 +03:00
|
|
|
#ifdef HAVE_GNOME
|
1999-02-19 00:43:07 +03:00
|
|
|
extern int tree_panel_visible;
|
1999-02-04 02:22:53 +03:00
|
|
|
extern int we_can_afford_the_speed;
|
2000-01-03 Aaron Lehmann <aaronl@vitelus.com>
* gdesktop.c, gdnd.c, gaction.c, gicon.c,
gnome-file-property-dialog.c, gpopup.c, gpopup2.c, gprefs.cgmain.h,
setup.c: Add option of using GNOME "magic" routines to determine file
types. This makes MC intelligently look at the data in the file to see
what type of file it is, rather than looking at the filename extension.
This slows down MC quite a bit, so it has been made an optional
preference item. Type detection is expected to improve as mime-magic
matures.
2000-01-24 01:25:26 +03:00
|
|
|
int use_magic = 0;
|
1999-02-04 02:22:53 +03:00
|
|
|
#endif
|
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
/* "$Id$" */
|
|
|
|
|
|
|
|
#ifdef USE_VFS
|
|
|
|
extern int vfs_timeout;
|
|
|
|
extern int tar_gzipped_memlimit;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
extern char *find_ignore_dirs;
|
|
|
|
|
|
|
|
extern int num_history_items_recorded;
|
|
|
|
|
|
|
|
char *profile_name;
|
|
|
|
|
|
|
|
char setup_color_string [4096];
|
|
|
|
char term_color_string [4096];
|
|
|
|
char color_terminal_string [512];
|
|
|
|
|
|
|
|
#define load_int(a,b,c) GetPrivateProfileInt(a,b,c,profile_name)
|
|
|
|
#define load_string(a,b,c,d,e) GetPrivateProfileString(a,b,c,d,e,profile_name)
|
|
|
|
#define save_string WritePrivateProfileString
|
|
|
|
|
|
|
|
int startup_left_mode;
|
|
|
|
int startup_right_mode;
|
|
|
|
|
|
|
|
/* Ugly hack to allow panel_save_setup to work as a place holder for */
|
|
|
|
/* default panel values */
|
|
|
|
int saving_setup;
|
|
|
|
|
2000-02-02 19:57:51 +03:00
|
|
|
static const struct {
|
1998-02-27 07:54:42 +03:00
|
|
|
char *key;
|
|
|
|
sortfn *sort_type;
|
|
|
|
} sort_names [] = {
|
|
|
|
{ "name", (sortfn *) sort_name },
|
|
|
|
{ "extension", (sortfn *) sort_ext },
|
|
|
|
{ "time", (sortfn *) sort_time },
|
|
|
|
{ "atime", (sortfn *) sort_atime },
|
|
|
|
{ "ctime", (sortfn *) sort_ctime },
|
|
|
|
{ "size", (sortfn *) sort_size },
|
|
|
|
{ "inode", (sortfn *) sort_inode },
|
|
|
|
{ "unsorted", (sortfn *) unsorted },
|
|
|
|
{ 0, 0 }
|
|
|
|
};
|
|
|
|
|
2000-02-02 19:57:51 +03:00
|
|
|
static const struct {
|
1998-02-27 07:54:42 +03:00
|
|
|
char *key;
|
|
|
|
int list_type;
|
|
|
|
} list_types [] = {
|
1998-05-12 08:26:21 +04:00
|
|
|
{ "full", list_full },
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "brief", list_brief },
|
1998-05-12 08:26:21 +04:00
|
|
|
{ "long", list_long },
|
|
|
|
{ "user", list_user },
|
|
|
|
{ "icons", list_icons },
|
1998-02-27 07:54:42 +03:00
|
|
|
{ 0, 0 }
|
|
|
|
};
|
|
|
|
|
2000-02-02 19:57:51 +03:00
|
|
|
static const struct {
|
1998-02-27 07:54:42 +03:00
|
|
|
char *opt_name;
|
|
|
|
int opt_type;
|
|
|
|
} panel_types [] = {
|
|
|
|
{ "listing", view_listing },
|
|
|
|
{ "quickview", view_quick },
|
|
|
|
{ "info", view_info },
|
|
|
|
{ "tree", view_tree },
|
|
|
|
{ 0, 0 }
|
|
|
|
};
|
1999-09-21 00:03:58 +04:00
|
|
|
|
2000-02-02 19:57:51 +03:00
|
|
|
static const struct {
|
1998-02-27 07:54:42 +03:00
|
|
|
char *opt_name;
|
|
|
|
int *opt_addr;
|
|
|
|
} layout [] = {
|
|
|
|
#ifndef HAVE_GNOME
|
|
|
|
{ "equal_split", &equal_split },
|
|
|
|
{ "first_panel_size", &first_panel_size },
|
|
|
|
{ "message_visible", &message_visible },
|
|
|
|
{ "keybar_visible", &keybar_visible },
|
|
|
|
{ "xterm_hintbar", &xterm_hintbar },
|
|
|
|
{ "output_lines", &output_lines },
|
|
|
|
#endif
|
|
|
|
{ "menubar_visible", &menubar_visible },
|
|
|
|
{ "command_prompt", &command_prompt },
|
|
|
|
{ "show_mini_info", &show_mini_info },
|
|
|
|
{ "permission_mode", &permission_mode },
|
|
|
|
{ "filetype_mode", &filetype_mode },
|
|
|
|
{ 0, 0 }
|
|
|
|
};
|
|
|
|
|
1998-05-10 17:41:43 +04:00
|
|
|
|
|
|
|
#undef SAVE_CHANGES_OUTSIDE_OPTIONS_MENU
|
|
|
|
|
|
|
|
#ifdef SAVE_CHANGES_OUTSIDE_OPTIONS_MENU
|
1998-02-27 07:54:42 +03:00
|
|
|
extern int preserve_uidgid;
|
1998-05-10 17:41:43 +04:00
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
|
2000-02-02 19:57:51 +03:00
|
|
|
static const struct {
|
1998-02-27 07:54:42 +03:00
|
|
|
char *opt_name;
|
|
|
|
int *opt_addr;
|
|
|
|
} options [] = {
|
|
|
|
{ "show_backups", &show_backups },
|
1999-02-10 01:06:56 +03:00
|
|
|
#ifdef HAVE_GNOME
|
|
|
|
{ "gnome_show_dot_files", &show_dot_files },
|
|
|
|
#else
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "show_dot_files", &show_dot_files },
|
1999-02-10 01:06:56 +03:00
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "verbose", &verbose },
|
|
|
|
{ "mark_moves_down", &mark_moves_down },
|
|
|
|
{ "pause_after_run", &pause_after_run },
|
|
|
|
{ "shell_patterns", &easy_patterns },
|
|
|
|
{ "auto_save_setup", &auto_save_setup },
|
|
|
|
{ "align_extensions", &align_extensions },
|
|
|
|
{ "auto_menu", &auto_menu },
|
|
|
|
{ "use_internal_view", &use_internal_view },
|
|
|
|
{ "use_internal_edit", &use_internal_edit },
|
|
|
|
{ "clear_before_exec", &clear_before_exec },
|
|
|
|
{ "mix_all_files", &mix_all_files },
|
|
|
|
{ "fast_reload", &fast_reload },
|
|
|
|
{ "fast_reload_msg_shown", &fast_reload_w },
|
|
|
|
{ "confirm_delete", &confirm_delete },
|
|
|
|
{ "confirm_overwrite", &confirm_overwrite },
|
|
|
|
{ "confirm_execute", &confirm_execute },
|
|
|
|
{ "confirm_exit", &confirm_exit },
|
|
|
|
{ "safe_delete", &know_not_what_am_i_doing },
|
|
|
|
{ "mouse_repeat_rate", &mou_auto_repeat },
|
|
|
|
{ "double_click_speed", &double_click_speed },
|
|
|
|
{ "eight_bit_clean", &eight_bit_clean },
|
|
|
|
{ "full_eight_bits", &full_eight_bits },
|
|
|
|
{ "use_8th_bit_as_meta", &use_8th_bit_as_meta },
|
|
|
|
{ "confirm_view_dir", &confirm_view_dir },
|
|
|
|
{ "mouse_move_pages", &mouse_move_pages },
|
|
|
|
{ "mouse_move_pages_viewer", &mouse_move_pages_viewer },
|
|
|
|
{ "fast_refresh", &fast_refresh },
|
|
|
|
{ "navigate_with_arrows", &navigate_with_arrows },
|
|
|
|
{ "advanced_chown", &advanced_chfns },
|
|
|
|
{ "drop_menus", &drop_menus },
|
1998-03-14 03:42:23 +03:00
|
|
|
{ "wrap_mode", &global_wrap_mode},
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "old_esc_mode", &old_esc_mode },
|
1999-09-01 02:55:18 +04:00
|
|
|
#ifndef HAVE_GNOME
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "cd_symlinks", &cd_symlinks },
|
1999-09-01 02:55:18 +04:00
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "show_all_if_ambiguous", &show_all_if_ambiguous },
|
|
|
|
{ "have_fast_cpu", &have_fast_cpu },
|
|
|
|
{ "iconify_on_exec", &iconify_on_exec },
|
|
|
|
{ "torben_fj_mode", &torben_fj_mode },
|
|
|
|
{ "use_file_to_guess_type", &use_file_to_check_type },
|
|
|
|
{ "alternate_plus_minus", &alternate_plus_minus },
|
|
|
|
{ "only_leading_plus_minus", &only_leading_plus_minus },
|
|
|
|
{ "show_output_starts_shell", &output_starts_shell },
|
|
|
|
{ "panel_scroll_pages", &panel_scroll_pages },
|
|
|
|
{ "xtree_mode", &xtree_mode },
|
|
|
|
{ "num_history_items_recorded", &num_history_items_recorded },
|
1998-12-05 02:39:41 +03:00
|
|
|
{ "file_op_compute_totals", &file_op_compute_totals },
|
2000-01-03 Aaron Lehmann <aaronl@vitelus.com>
* gdesktop.c, gdnd.c, gaction.c, gicon.c,
gnome-file-property-dialog.c, gpopup.c, gpopup2.c, gprefs.cgmain.h,
setup.c: Add option of using GNOME "magic" routines to determine file
types. This makes MC intelligently look at the data in the file to see
what type of file it is, rather than looking at the filename extension.
This slows down MC quite a bit, so it has been made an optional
preference item. Type detection is expected to improve as mime-magic
matures.
2000-01-24 01:25:26 +03:00
|
|
|
#ifdef HAVE_GNOME
|
|
|
|
{ "use_magic", &use_magic },
|
|
|
|
#endif
|
1998-05-10 17:41:43 +04:00
|
|
|
#ifdef SAVE_CHANGES_OUTSIDE_OPTIONS_MENU
|
|
|
|
{ "dive_into_subdirs", &dive_into_subdirs },
|
|
|
|
{ "preserve_uidgid", &preserve_uidgid },
|
|
|
|
/* What about the other two options in the copy dialog
|
|
|
|
(follow links, stable symlinks) -Norbert */
|
|
|
|
{ "tree_navigation_flag", &tree_navigation_flag },
|
|
|
|
#endif
|
1999-09-21 00:03:58 +04:00
|
|
|
#ifdef USE_VFS
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "vfs_timeout", &vfs_timeout },
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
{ "ftpfs_directory_timeout", &ftpfs_directory_timeout },
|
|
|
|
{ "use_netrc", &use_netrc },
|
|
|
|
{ "ftpfs_retry_seconds", &ftpfs_retry_seconds },
|
|
|
|
{ "ftpfs_always_use_proxy", &ftpfs_always_use_proxy },
|
|
|
|
{ "ftpfs_use_passive_connections", &ftpfs_use_passive_connections },
|
1998-10-11 23:19:03 +04:00
|
|
|
{ "ftpfs_use_unix_list_options", &ftpfs_use_unix_list_options },
|
1999-01-31 23:28:13 +03:00
|
|
|
{ "ftpfs_first_cd_then_ls", &ftpfs_first_cd_then_ls },
|
1998-02-27 07:54:42 +03:00
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifdef USE_INTERNAL_EDIT
|
|
|
|
{ "editor_word_wrap_line_length", &option_word_wrap_line_length },
|
|
|
|
{ "editor_key_emulation", &edit_key_emulation },
|
|
|
|
{ "editor_tab_spacing", &option_tab_spacing },
|
|
|
|
{ "editor_fill_tabs_with_spaces", &option_fill_tabs_with_spaces },
|
|
|
|
{ "editor_return_does_auto_indent", &option_return_does_auto_indent },
|
|
|
|
{ "editor_backspace_through_tabs", &option_backspace_through_tabs },
|
|
|
|
{ "editor_fake_half_tabs", &option_fake_half_tabs },
|
|
|
|
{ "editor_option_save_mode", &option_save_mode },
|
|
|
|
{ "editor_option_backup_ext_int", &option_backup_ext_int },
|
|
|
|
{ "editor_option_auto_para_formatting", &option_auto_para_formatting },
|
|
|
|
{ "editor_option_typewriter_wrap", &option_typewriter_wrap },
|
|
|
|
{ "editor_edit_confirm_save", &edit_confirm_save },
|
1998-04-24 19:18:08 +04:00
|
|
|
{ "editor_syntax_highlighting", &option_syntax_highlighting },
|
1998-02-27 07:54:42 +03:00
|
|
|
#endif
|
|
|
|
|
1999-01-17 07:17:20 +03:00
|
|
|
#ifdef HAVE_GNOME
|
1999-04-06 05:00:20 +04:00
|
|
|
{ "desktop_use_shaped_icons", &desktop_use_shaped_icons },
|
1999-08-24 03:16:08 +04:00
|
|
|
{ "desktop_use_shaped_text", &desktop_use_shaped_text },
|
1999-04-06 05:00:20 +04:00
|
|
|
{ "desktop_auto_placement", &desktop_auto_placement },
|
|
|
|
{ "desktop_snap_icons", &desktop_snap_icons },
|
1999-08-10 02:38:44 +04:00
|
|
|
{ "desktop_arr_r2l", &desktop_arr_r2l },
|
|
|
|
{ "desktop_arr_b2t", &desktop_arr_b2t },
|
|
|
|
{ "desktop_arr_rows", &desktop_arr_rows },
|
1999-01-17 07:17:20 +03:00
|
|
|
{ "tree_panel_visible", &tree_panel_visible },
|
1999-02-04 02:22:53 +03:00
|
|
|
{ "we_can_afford_the_speed", &we_can_afford_the_speed },
|
1999-09-21 00:03:58 +04:00
|
|
|
|
|
|
|
/* Keep the following in sync with panel.h */
|
|
|
|
{ "column_width_brief_icon", &default_column_width[0] },
|
|
|
|
{ "column_width_brief_filename", &default_column_width[1] },
|
|
|
|
{ "column_width_detailed_icon", &default_column_width[2] },
|
|
|
|
{ "column_width_detailed_filename", &default_column_width[3] },
|
|
|
|
{ "column_width_detailed_size", &default_column_width[4] },
|
|
|
|
{ "column_width_detailed_mtime", &default_column_width[5] },
|
|
|
|
{ "column_width_custom_0", &default_column_width[6] },
|
|
|
|
{ "column_width_custom_1", &default_column_width[7] },
|
|
|
|
{ "column_width_custom_2", &default_column_width[8] },
|
|
|
|
{ "column_width_custom_3", &default_column_width[9] },
|
|
|
|
{ "column_width_custom_4", &default_column_width[10] },
|
|
|
|
{ "column_width_custom_5", &default_column_width[11] },
|
|
|
|
{ "column_width_custom_6", &default_column_width[12] },
|
|
|
|
{ "column_width_custom_7", &default_column_width[13] },
|
|
|
|
{ "column_width_custom_8", &default_column_width[14] },
|
|
|
|
{ "column_width_custom_9", &default_column_width[15] },
|
|
|
|
{ "column_width_custom_10", &default_column_width[16] },
|
|
|
|
{ "column_width_custom_11", &default_column_width[17] },
|
|
|
|
{ "column_width_custom_12", &default_column_width[18] },
|
|
|
|
{ "column_width_custom_13", &default_column_width[19] },
|
|
|
|
{ "column_width_custom_14", &default_column_width[20] },
|
1999-01-17 07:17:20 +03:00
|
|
|
#else
|
1998-02-27 07:54:42 +03:00
|
|
|
{ "nice_rotating_dash", &nice_rotating_dash },
|
1999-01-17 07:17:20 +03:00
|
|
|
{ "horizontal_split", &horizontal_split },
|
1998-02-27 07:54:42 +03:00
|
|
|
#endif
|
|
|
|
{ 0, 0 }
|
|
|
|
};
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
panel_save_setup (WPanel *panel, char *section)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
char buffer [BUF_TINY];
|
1998-02-27 07:54:42 +03:00
|
|
|
int i;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_snprintf (buffer, sizeof (buffer), "%d", panel->reverse);
|
1998-02-27 07:54:42 +03:00
|
|
|
save_string (section, "reverse", buffer, profile_name);
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_snprintf (buffer, sizeof (buffer), "%d", panel->case_sensitive);
|
1998-02-27 07:54:42 +03:00
|
|
|
save_string (section, "case_sensitive", buffer, profile_name);
|
|
|
|
for (i = 0; sort_names [i].key; i++)
|
|
|
|
if (sort_names [i].sort_type == (sortfn *) panel->sort_type){
|
|
|
|
save_string (section, "sort_order",
|
|
|
|
sort_names [i].key, profile_name);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; list_types [i].key; i++)
|
|
|
|
if (list_types [i].list_type == panel->list_type){
|
1998-05-12 08:26:21 +04:00
|
|
|
save_string (section, PORT_LIST_MODE_NAME, list_types [i].key, profile_name);
|
1998-02-27 07:54:42 +03:00
|
|
|
break;
|
|
|
|
}
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
save_string (section, "user_format",
|
|
|
|
panel->user_format, profile_name);
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
for (i = 0; i < LIST_TYPES; i++){
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_snprintf (buffer, sizeof (buffer), "user_status%d", i);
|
1999-09-21 00:03:58 +04:00
|
|
|
save_string (section, buffer,
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->user_status_format [i], profile_name);
|
|
|
|
}
|
1999-09-21 00:03:58 +04:00
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_snprintf (buffer, sizeof (buffer), "%d", panel->user_mini_status);
|
1998-02-27 07:54:42 +03:00
|
|
|
save_string (section, "user_mini_status", buffer,
|
|
|
|
profile_name);
|
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
save_layout (void)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char *profile;
|
|
|
|
int i;
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
char buffer [BUF_TINY];
|
1998-02-27 07:54:42 +03:00
|
|
|
|
|
|
|
profile = concat_dir_and_file (home_dir, PROFILE_NAME);
|
|
|
|
|
|
|
|
/* Save integer options */
|
|
|
|
for (i = 0; layout [i].opt_name; i++){
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_snprintf (buffer, sizeof (buffer), "%d", *layout [i].opt_addr);
|
1998-02-27 07:54:42 +03:00
|
|
|
save_string ("Layout", layout [i].opt_name, buffer, profile);
|
|
|
|
}
|
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (profile);
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
save_configure (void)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char *profile;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
profile = concat_dir_and_file (home_dir, PROFILE_NAME);
|
|
|
|
|
|
|
|
/* Save integer options */
|
|
|
|
for (i = 0; options [i].opt_name; i++)
|
|
|
|
set_int (profile, options [i].opt_name, *options [i].opt_addr);
|
|
|
|
|
1999-09-21 00:03:58 +04:00
|
|
|
#ifdef HAVE_GNOME
|
|
|
|
save_string (app_text, "default_user_format", default_user_format, profile_name);
|
|
|
|
#endif
|
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (profile);
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
static void
|
|
|
|
panel_save_type (char *section, int type)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
int i;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
for (i = 0; panel_types [i].opt_name; i++)
|
|
|
|
if (panel_types [i].opt_type == type){
|
|
|
|
save_string (section, "display", panel_types [i].opt_name,
|
|
|
|
profile_name);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
1998-03-13 06:44:54 +03:00
|
|
|
#ifndef PORT_HAS_SAVE_PANEL_TYPES
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
save_panel_types ()
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
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);
|
|
|
|
}
|
1998-03-13 06:44:54 +03:00
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
save_setup (void)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char *profile;
|
|
|
|
#ifdef USE_VFS
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
extern char *ftpfs_anonymous_passwd;
|
|
|
|
extern char *ftpfs_proxy_host;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
saving_setup = 1;
|
|
|
|
profile = concat_dir_and_file (home_dir, PROFILE_NAME);
|
|
|
|
|
|
|
|
save_layout ();
|
|
|
|
save_configure ();
|
|
|
|
save_string ("Dirs", "other_dir",
|
|
|
|
get_other_type () == view_listing
|
|
|
|
? opanel->cwd : ".", profile);
|
1999-03-27 22:00:18 +03:00
|
|
|
if (get_current_panel () != NULL)
|
|
|
|
WritePrivateProfileString ("Dirs", "current_is_left",
|
|
|
|
get_current_index () == 0 ? "1" : "0", profile);
|
1998-02-27 07:54:42 +03:00
|
|
|
save_hotlist ();
|
|
|
|
save_panelize ();
|
|
|
|
save_panel_types ();
|
1998-03-31 01:04:59 +04:00
|
|
|
/* directory_history_save (); */
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
#ifdef USE_VFS
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
WritePrivateProfileString ("Misc", "ftpfs_password",
|
|
|
|
ftpfs_anonymous_passwd, profile);
|
|
|
|
if (ftpfs_proxy_host)
|
|
|
|
WritePrivateProfileString ("Misc", "ftp_proxy_host",
|
|
|
|
ftpfs_proxy_host, profile);
|
|
|
|
#endif
|
|
|
|
#endif
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (profile);
|
1998-02-27 07:54:42 +03:00
|
|
|
saving_setup = 0;
|
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
void
|
|
|
|
panel_load_setup (WPanel *panel, char *section)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
int i;
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
char buffer [BUF_TINY];
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->reverse = load_int (section, "reverse", 0);
|
|
|
|
panel->case_sensitive = load_int (section, "case_sensitive", OS_SORT_CASE_SENSITIVE_DEFAULT);
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
/* Load sort order */
|
|
|
|
load_string (section, "sort_order", "name", buffer, sizeof (buffer));
|
|
|
|
panel->sort_type = (sortfn *) sort_name;
|
|
|
|
for (i = 0; sort_names [i].key; i++)
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
if ( g_strcasecmp (sort_names [i].key, buffer) == 0){
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->sort_type = sort_names [i].sort_type;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Load the listing mode */
|
1998-05-12 08:26:21 +04:00
|
|
|
load_string (section, PORT_LIST_MODE_NAME, PORT_LIST_MODE_DEFAULT, buffer, sizeof (buffer));
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->list_type = list_full;
|
|
|
|
for (i = 0; list_types [i].key; i++)
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
if ( g_strcasecmp (list_types [i].key, buffer) == 0){
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->list_type = list_types [i].list_type;
|
|
|
|
break;
|
|
|
|
}
|
1998-05-11 02:35:07 +04:00
|
|
|
#ifndef PORT_HAS_ICON_VIEW
|
|
|
|
if (panel->list_type == list_icons)
|
1998-09-29 14:44:57 +04:00
|
|
|
panel->list_type = list_full;
|
1998-05-11 02:35:07 +04:00
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
/* User formats */
|
|
|
|
if (panel->user_format){
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (panel->user_format);
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->user_format = 0;
|
|
|
|
}
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
panel->user_format = g_strdup (get_profile_string (section, "user_format",
|
1998-02-27 07:54:42 +03:00
|
|
|
DEFAULT_USER_FORMAT,
|
|
|
|
profile_name));
|
|
|
|
for (i = 0; i < LIST_TYPES; i++){
|
|
|
|
if (panel->user_status_format [i])
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (panel->user_status_format [i]);
|
|
|
|
g_snprintf (buffer, sizeof (buffer), "user_status%d", i);
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->user_status_format [i] =
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_strdup (get_profile_string (section, buffer,
|
1998-02-27 07:54:42 +03:00
|
|
|
DEFAULT_USER_FORMAT, profile_name));
|
|
|
|
}
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
panel->user_mini_status =
|
|
|
|
load_int (section, "user_mini_status", 0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
static void
|
|
|
|
load_layout (char *profile_name)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
int i;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
for (i = 0; layout [i].opt_name; i++)
|
|
|
|
*layout [i].opt_addr =
|
|
|
|
load_int ("Layout", layout [i].opt_name,
|
|
|
|
*layout [i].opt_addr);
|
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
static int
|
|
|
|
load_mode (char *section)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char buffer [20];
|
|
|
|
int i;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
int mode = view_listing;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
/* Load the display mode */
|
|
|
|
load_string (section, "display", "listing", buffer, sizeof (buffer));
|
|
|
|
|
|
|
|
for (i = 0; panel_types [i].opt_name; i++)
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
if ( g_strcasecmp (panel_types [i].opt_name, buffer) == 0){
|
1998-02-27 07:54:42 +03:00
|
|
|
mode = panel_types [i].opt_type;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return mode;
|
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
static char *
|
|
|
|
do_load_string (char *s, char *ss, char *def)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
2000-04-14 05:19:58 +04:00
|
|
|
char *buffer = g_malloc (BUF_SMALL);
|
1998-02-27 07:54:42 +03:00
|
|
|
char *p;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
2000-04-14 05:19:58 +04:00
|
|
|
load_string (s, ss, def, buffer, BUF_SMALL);
|
1998-02-27 07:54:42 +03:00
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
p = g_strdup (buffer);
|
|
|
|
g_free (buffer);
|
1998-02-27 07:54:42 +03:00
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
1999-02-17 06:00:27 +03:00
|
|
|
char *
|
|
|
|
setup_init (void)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
2000-02-11 03:33:28 +03:00
|
|
|
char *buffer;
|
1998-02-27 07:54:42 +03:00
|
|
|
char *profile;
|
|
|
|
char *inifile;
|
1999-02-17 06:00:27 +03:00
|
|
|
|
|
|
|
if (profile_name)
|
|
|
|
return profile_name;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
buffer = concat_dir_and_file (home_dir, PROFILE_NAME);
|
|
|
|
inifile = concat_dir_and_file (mc_home, "mc.ini");
|
|
|
|
if (exist_file (buffer)){
|
|
|
|
profile = buffer;
|
|
|
|
} else if (exist_file (inifile)){
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
profile = g_strdup (inifile);
|
|
|
|
g_free (buffer);
|
1998-02-27 07:54:42 +03:00
|
|
|
} else {
|
|
|
|
profile = buffer;
|
|
|
|
}
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (inifile);
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
profile_name = profile;
|
|
|
|
|
1999-02-17 06:00:27 +03:00
|
|
|
return profile;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
load_setup (void)
|
|
|
|
{
|
|
|
|
char *profile;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1999-02-17 06:00:27 +03:00
|
|
|
int i;
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
extern char *ftpfs_proxy_host;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
profile = setup_init ();
|
1998-02-27 07:54:42 +03:00
|
|
|
/* Load integer boolean options */
|
|
|
|
for (i = 0; options [i].opt_name; i++)
|
|
|
|
*options [i].opt_addr =
|
|
|
|
get_int (profile, options [i].opt_name, *options [i].opt_addr);
|
|
|
|
|
1999-09-21 00:03:58 +04:00
|
|
|
#ifdef HAVE_GNOME
|
|
|
|
g_free (default_user_format);
|
|
|
|
default_user_format = do_load_string (app_text, "default_user_format", DEFAULT_USER_FORMAT);
|
|
|
|
#endif
|
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
load_layout (profile);
|
|
|
|
|
|
|
|
load_panelize ();
|
|
|
|
|
|
|
|
startup_left_mode = load_mode ("New Left Panel");
|
|
|
|
startup_right_mode = load_mode ("New Right Panel");
|
|
|
|
|
|
|
|
/* At least one of the panels is a listing panel */
|
|
|
|
if (startup_left_mode != view_listing && startup_right_mode!=view_listing)
|
|
|
|
startup_left_mode = view_listing;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
if (!other_dir){
|
1999-02-17 06:00:27 +03:00
|
|
|
char *buffer;
|
1999-09-21 00:03:58 +04:00
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
buffer = (char*) g_malloc (MC_MAXPATHLEN);
|
1998-02-27 07:54:42 +03:00
|
|
|
load_string ("Dirs", "other_dir", ".", buffer,
|
|
|
|
MC_MAXPATHLEN);
|
|
|
|
if (vfs_file_is_local (buffer))
|
|
|
|
other_dir = buffer;
|
|
|
|
else
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (buffer);
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
ftpfs_proxy_host = do_load_string ("Misc", "ftp_proxy_host", "gate");
|
|
|
|
#endif
|
|
|
|
boot_current_is_left =
|
|
|
|
GetPrivateProfileInt ("Dirs", "current_is_left", 1, profile);
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
load_string ("Misc", "find_ignore_dirs", "", setup_color_string,
|
|
|
|
sizeof (setup_color_string));
|
|
|
|
if (setup_color_string [0])
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
find_ignore_dirs = g_strconcat (":", setup_color_string, ":", NULL);
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
/* The default color and the terminal dependent color */
|
|
|
|
load_string ("Colors", "base_color", "", setup_color_string,
|
|
|
|
sizeof (setup_color_string));
|
|
|
|
load_string ("Colors", getenv ("TERM"), "",
|
|
|
|
term_color_string, sizeof (term_color_string));
|
|
|
|
load_string ("Colors", "color_terminals", "",
|
|
|
|
color_terminal_string, sizeof (color_terminal_string));
|
|
|
|
|
|
|
|
/* Load the directory history */
|
1998-03-31 01:04:59 +04:00
|
|
|
/* directory_history_load (); */
|
1998-02-27 07:54:42 +03:00
|
|
|
/* Remove the temporal entries */
|
|
|
|
profile_clean_section ("Temporal:New Left Panel", profile_name);
|
|
|
|
profile_clean_section ("Temporal:New Right Panel", profile_name);
|
2000-02-02 19:57:51 +03:00
|
|
|
#ifdef USE_VFS
|
|
|
|
#ifdef USE_NETCODE
|
|
|
|
ftpfs_init_passwd ();
|
|
|
|
#endif
|
|
|
|
#endif
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef USE_VFS
|
|
|
|
#ifdef USE_NETCODE
|
1998-12-03 00:27:27 +03:00
|
|
|
char *
|
|
|
|
load_anon_passwd ()
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char buffer [255];
|
|
|
|
|
|
|
|
load_string ("Misc", "ftpfs_password", "", buffer, sizeof (buffer));
|
|
|
|
if (buffer [0])
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
return g_strdup (buffer);
|
1998-02-27 07:54:42 +03:00
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void done_setup (void)
|
|
|
|
{
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (profile_name);
|
1998-02-27 07:54:42 +03:00
|
|
|
done_hotlist ();
|
|
|
|
done_panelize ();
|
1998-03-31 01:04:59 +04:00
|
|
|
/* directory_history_free (); */
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
|
|
|
|
1998-12-03 00:27:27 +03:00
|
|
|
static void
|
|
|
|
load_keys_from_section (char *terminal, char *profile_name)
|
1998-02-27 07:54:42 +03:00
|
|
|
{
|
|
|
|
char *section_name;
|
|
|
|
void *profile_keys;
|
|
|
|
char *key, *value, *valcopy;
|
|
|
|
int key_code;
|
|
|
|
|
|
|
|
if (!terminal)
|
|
|
|
return;
|
|
|
|
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
section_name = g_strconcat ("terminal:", terminal, NULL);
|
1998-02-27 07:54:42 +03:00
|
|
|
profile_keys = profile_init_iterator (section_name, profile_name);
|
|
|
|
if (!profile_keys){
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (section_name);
|
1998-02-27 07:54:42 +03:00
|
|
|
return;
|
|
|
|
}
|
1999-09-21 00:03:58 +04:00
|
|
|
|
1998-02-27 07:54:42 +03:00
|
|
|
while (profile_keys){
|
|
|
|
profile_keys = profile_iterator_next (profile_keys, &key, &value);
|
|
|
|
key_code = lookup_key (key);
|
|
|
|
valcopy = convert_controls (value);
|
|
|
|
if (key_code)
|
|
|
|
define_sequence (key_code, valcopy, MCKEY_NOACTION);
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (valcopy);
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (section_name);
|
1998-02-27 07:54:42 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void load_key_defs (void)
|
|
|
|
{
|
|
|
|
char *libfile = concat_dir_and_file (mc_home, "mc.lib");
|
|
|
|
load_keys_from_section (getenv ("TERM"), profile_name);
|
|
|
|
load_keys_from_section ("general", profile_name);
|
|
|
|
|
|
|
|
load_keys_from_section (getenv ("TERM"), libfile);
|
|
|
|
load_keys_from_section ("general", libfile);
|
|
|
|
|
|
|
|
/* We don't want a huge database loaded in core */
|
|
|
|
free_profile_name (libfile);
|
Glibing..... (2)
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
1999-01-27 04:08:30 +03:00
|
|
|
g_free (libfile);
|
1998-02-27 07:54:42 +03:00
|
|
|
}
|