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>
Этот коммит содержится в:
родитель
839816f3fe
Коммит
462315fe09
@ -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
|
||||
Можете да размотрите и употребу наредбе
|
||||
|
79
src/find.c
79
src/find.c
@ -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", "");
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user