1
1

Save find file options in user configuration file.

The new section [FindFile] was created for find file options.
The find_ignore_dirs key in Misc section is obsolete now.
The ignore_dirs key in FindFile section is used instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Этот коммит содержится в:
Andrew Borodin 2010-01-04 14:29:10 +03:00
родитель 839816f3fe
Коммит 462315fe09
9 изменённых файлов: 98 добавлений и 43 удалений

Просмотреть файл

@ -1286,17 +1286,17 @@ evitar búsquedas en un CDROM o en un directorio NFS que está montado a través
enlace lento).
.PP
Los directorios a ser omitidos deberían ser enumerados en la variable
.B find_ignore_dirs
.B ignore_dirs
en la sección
.B Misc
.B FindFile
de nuestro archivo ~/.mc/ini.
.PP
Los componentes del directorio deberían ser separados por dos puntos, como en
el ejemplo que sigue:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
Debemos valorar la utilización de

Просмотреть файл

@ -1215,17 +1215,17 @@ során el szeretnéd kerülni a CDROM\-ot, vagy az NFS könyvtárait amelyeket
slow linkkel csatoltak).
.PP
Az átlépendő könyvtárakat a
.B find_ignore_dirs
.B ignore_dirs
változó állítja be az ~/.mc/ini fájlod
.B Misc
.B FindFile
részében.
.PP
A könyvtár elemeket kettősponttal tudod elválasztani egymástól, emire
itt egy példát is láthatsz:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
A

Просмотреть файл

@ -1234,16 +1234,16 @@ saltare durante la ricerca (per esempio, si può evitare di fare ricerche su
un CDROM o su una directory NFS montata attraverso un collegamento lento).
.PP
Le directory che devono essere saltate devono essere impostate nella variabile
.B find_ignore_dirs
.B ignore_dirs
nella sezione
.B Misc
.B FindFile
del file ~/.mc/ini.
.PP
Le directory devono essere separate da una virgola, come nell'esempio:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
Si può prendere in considerazione l'uso del comando

Просмотреть файл

@ -1363,17 +1363,17 @@ searches on a CD\-ROM or on a NFS directory that is mounted across a slow
link).
.PP
Directories to be skipped should be set on the variable
.B find_ignore_dirs
.B ignore_dirs
in the
.B Misc
.B FindFile
section of your ~/.mc/ini file.
.PP
Directory components should be separated with a colon, here is an
example:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
You may consider using the

Просмотреть файл

@ -1019,17 +1019,17 @@ powinno uwzględniać (na przykład możesz chcieć ominąć przeszukiwanie CDRO
i innych podmontowanych systemów plików).
.PP
Katalogi do omijania powinny być umieszczone w zmiennej
.B find_ignore_dirs
.B ignore_dirs
w sekcji
.B Misc
.B FindFile
twojego pliku ~/.mc/ini.
.PP
Składowe katalogów powinny być oddzielone od siebie przez średniki, to jest
przykład:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
Możesz woleć używać panelu zewnętrznego do wykonywania niektórych operacji.

Просмотреть файл

@ -1466,16 +1466,16 @@ CDROM или не хотите искать в каталогах, подклю
медленному каналу).
.PP
Каталоги, которые надо пропустить, должны быть указаны в переменной
.B find_ignore_dirs
.B ignore_dirs
в секции
.B Misc
.B FindFile
вашего файла
.BR ~/.mc/ini .
Имена каталогов разделяются двоеточиями, следующим образом:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
Вы можете использовать перенаправление вывода на панель

Просмотреть файл

@ -1202,16 +1202,16 @@ egrep(1). Ово значи да морате да наводите знаков
.PP
Директоријуме које би требало избегавати би требало навести у
променљивој
.B find_ignore_dirs
.B ignore_dirs
у одељку
.B Misc
.B FindFile
ваше датотеке ~/.mc/ini.
.PP
Директоријуме би требало раздвајати двотачком; ево примера:
.PP
.nf
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
[FindFile]
ignore_dirs=/cdrom:/nfs/wuarchive:/afs
.fi
.PP
Можете да размотрите и употребу наредбе

Просмотреть файл

@ -35,14 +35,14 @@
#include "global.h"
#include "../src/tty/tty.h"
#include "../src/skin/skin.h"
#include "../src/tty/key.h"
#include "../src/skin/skin.h"
#include "../src/search/search.h"
#include "../src/mcconfig/mcconfig.h"
#include "../vfs/vfs.h"
#include "setup.h"
#include "find.h"
#include "setup.h" /* verbose */
#include "strutil.h"
#include "dialog.h"
#include "widget.h"
@ -55,6 +55,8 @@
#include "history.h" /* MC_HISTORY_SHARED_SEARCH */
#include "layout.h" /* mc_refresh() */
#include "find.h"
/* Size of the find parameters window */
#if HAVE_CHARSET
static int FIND_Y = 16;
@ -180,6 +182,60 @@ static char *in_start_dir = INPUT_LAST_TEXT;
static mc_search_t *search_file_handle = NULL;
static mc_search_t *search_content_handle = NULL;
static void
find_load_options (void)
{
static gboolean loaded = FALSE;
char *ignore_dirs;
if (loaded)
return;
loaded = TRUE;
/* Back compatibility: try load old parameter at first */
ignore_dirs = mc_config_get_string (mc_main_config, "Misc", "find_ignore_dirs", "");
if (ignore_dirs [0] != '\0') {
find_ignore_dirs = g_strconcat (":", ignore_dirs, ":", (char *) NULL);
mc_config_set_string (mc_main_config, "FindFile", "ignore_dirs", ignore_dirs);
}
g_free (ignore_dirs);
mc_config_del_param (mc_main_config, "Misc", "find_ignore_dirs");
/* Then load new parameters */
ignore_dirs = mc_config_get_string (mc_main_config, "FindFile", "ignore_dirs", "");
if (ignore_dirs [0] != '\0') {
g_free (find_ignore_dirs);
find_ignore_dirs = g_strconcat (":", ignore_dirs, ":", (char *) NULL);
}
g_free (ignore_dirs);
options.file_case_sens = mc_config_get_bool (mc_main_config, "FindFile", "file_case_sens", TRUE);
options.file_pattern = mc_config_get_bool (mc_main_config, "FindFile", "file_shell_pattern", TRUE);
options.find_recurs = mc_config_get_bool (mc_main_config, "FindFile", "file_find_recurs", TRUE);
options.skip_hidden = mc_config_get_bool (mc_main_config, "FindFile", "file_skip_hidden", FALSE);
options.file_all_charsets = mc_config_get_bool (mc_main_config, "FindFile", "file_all_charsets", FALSE);
options.content_case_sens = mc_config_get_bool (mc_main_config, "FindFile", "content_case_sens", TRUE);
options.content_regexp = mc_config_get_bool (mc_main_config, "FindFile", "content_regexp", FALSE);
options.content_first_hit = mc_config_get_bool (mc_main_config, "FindFile", "content_first_hit", FALSE);
options.content_whole_words = mc_config_get_bool (mc_main_config, "FindFile", "content_whole_words", FALSE);
options.content_all_charsets = mc_config_get_bool (mc_main_config, "FindFile", "content_all_charsets", FALSE);
}
static void
find_save_options (void)
{
mc_config_set_bool (mc_main_config, "FindFile", "file_case_sens", options.file_case_sens);
mc_config_set_bool (mc_main_config, "FindFile", "file_shell_pattern", options.file_pattern);
mc_config_set_bool (mc_main_config, "FindFile", "file_find_recurs", options.find_recurs);
mc_config_set_bool (mc_main_config, "FindFile", "file_skip_hidden", options.skip_hidden);
mc_config_set_bool (mc_main_config, "FindFile", "file_all_charsets", options.file_all_charsets);
mc_config_set_bool (mc_main_config, "FindFile", "content_case_sens", options.content_case_sens);
mc_config_set_bool (mc_main_config, "FindFile", "content_regexp", options.content_regexp);
mc_config_set_bool (mc_main_config, "FindFile", "content_first_hit", options.content_first_hit);
mc_config_set_bool (mc_main_config, "FindFile", "content_whole_words", options.content_whole_words);
mc_config_set_bool (mc_main_config, "FindFile", "content_all_charsets", options.content_all_charsets);
}
static inline char *
add_to_list (const char *text, void *data)
@ -274,7 +330,7 @@ find_parm_callback (Dlg_head *h, Widget *sender,
/*
* find_parameters: gets information from the user
*
* If the return value is true, then the following holds:
* If the return value is TRUE, then the following holds:
*
* START_DIR and PATTERN are pointers to char * and upon return they
* contain the information provided by the user.
@ -284,10 +340,10 @@ find_parm_callback (Dlg_head *h, Widget *sender,
* behavior for the other two parameters.
*
*/
static int
static gboolean
find_parameters (char **start_dir, char **pattern, char **content)
{
int return_value;
gboolean return_value;
char *temp_dir = NULL;
/* file name */
@ -337,7 +393,9 @@ find_parameters (char **start_dir, char **pattern, char **content)
b1 = str_term_width1 (buts[1]) + 4;
b2 = str_term_width1 (buts[2]) + 4;
find_par_start:
find_load_options ();
find_par_start:
if (in_start_dir == NULL)
in_start_dir = g_strdup (".");
@ -409,7 +467,7 @@ find_parameters (char **start_dir, char **pattern, char **content)
switch (run_dlg (find_dlg)) {
case B_CANCEL:
return_value = 0;
return_value = FALSE;
break;
case B_TREE:
@ -463,7 +521,10 @@ find_parameters (char **start_dir, char **pattern, char **content)
if (in_start_dir != INPUT_LAST_TEXT)
g_free (in_start_dir);
in_start_dir = g_strdup (*start_dir);
return_value = 1;
find_save_options ();
return_value = TRUE;
}
destroy_dlg (find_dlg);

Просмотреть файл

@ -73,8 +73,6 @@
#include "../src/strutil.h" /* str_isutf8 () */
extern char *find_ignore_dirs;
extern int num_history_items_recorded;
char *profile_name; /* .mc/ini */
@ -788,10 +786,6 @@ load_setup (void)
#ifdef USE_NETCODE
ftpfs_proxy_host = mc_config_get_string(mc_main_config, "Misc", "ftp_proxy_host", "gate");
#endif
setup_color_string = mc_config_get_string(mc_main_config, "Misc", "find_ignore_dirs", "");
if (setup_color_string [0])
find_ignore_dirs = g_strconcat (":", setup_color_string, ":", (char *) NULL);
g_free(setup_color_string);
/* The default color and the terminal dependent color */
setup_color_string = mc_config_get_string(mc_main_config, "Colors", "base_color", "");