Merge branch 'master' of ssh://styx@midnight-commander.org:22/git/mc
Этот коммит содержится в:
Коммит
ae517852b0
@ -7,19 +7,15 @@
|
|||||||
v v v mqv v v v mqu v v mj
|
v v v mqv v v v mqu v v mj
|
||||||
qqqqqqCommanderqj
|
qqqqqqCommanderqj
|
||||||
|
|
||||||
Ésta es la pantalla de inicio de la ayuda de
|
Ésta es la pantalla de inicio de la ayuda de GNU Midnight Commander.
|
||||||
GNU Midnight Commander.
|
|
||||||
|
|
||||||
Puede pulsar la tecla IntroHow to use help para aprender a navegar por el
|
Puede pulsar la tecla IntroHow to use help para aprender a navegar por el sistema de ayuda, o acceder directamente a los contenidosContents.
|
||||||
sistema de ayuda, o acceder directamente a los contenidosContents.
|
|
||||||
|
|
||||||
GNU Midnight Commander es obra de sus numerosos autoresAUTHORS.
|
GNU Midnight Commander es obra de sus numerosos autoresAUTHORS.
|
||||||
|
|
||||||
GNU Midnight Commander NO INCLUYE NINGÚN TIPO DE GARANTÍAWarranty,
|
GNU Midnight Commander NO INCLUYE NINGÚN TIPO DE GARANTÍAWarranty, es software libre, y se alienta su redistribución en los terminos y condiciones que están contenidos en la Licencia Pública General de GNU (GPL)Licencia GNU, de la que existe una traducción no oficial al españolLicencia GNU (Español).
|
||||||
es software libre, y se alienta su redistribución en los
|
|
||||||
terminos y condiciones que están contenidos en la Licencia
|
[Licencia GNU]
|
||||||
Pública General de GNU (GPL)Licencia GNU, de la que existe una
|
|
||||||
traducción no oficial al españolLicencia GNU (Español).[Licencia GNU]
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
@ -880,32 +876,22 @@ General de GNU para Bibliotecas en lugar de esta Licencia.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Cuadros de diálogo
|
Cuadros de diálogo
|
||||||
|
|
||||||
En los cuadros de diálogo puede desplazarse con el teclado
|
En los cuadros de diálogo puede desplazarse con el teclado usando las flechas o las teclas de las letras resaltadas.
|
||||||
usando las flechas o las teclas de las letras resaltadas.
|
|
||||||
|
|
||||||
También se pueden pulsar los botones con el ratón.
|
También se pueden pulsar los botones con el ratón.
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Uso de la ayuda
|
Uso de la ayuda
|
||||||
|
|
||||||
Se pueden utilizar las flechas o el ratón para navegar
|
Se pueden utilizar las flechas o el ratón para navegar por el sistema de ayuda.
|
||||||
por el sistema de ayuda.
|
|
||||||
|
|
||||||
La flecha de abajo cambia al siguiente elemento o baja.
|
La flecha de abajo cambia al siguiente elemento o baja. La tecla de arriba vuelve al elemento anterior o sube. La tecla derecha sigue el enlace activo. La tecla izquierda vuelve a la última página visitada.
|
||||||
La tecla de arriba vuelve al elemento anterior o sube.
|
|
||||||
La tecla derecha sigue el enlace activo.
|
|
||||||
La tecla izquierda vuelve a la última página visitada.
|
|
||||||
|
|
||||||
Si el terminal no es compatible con las flechas de cursor
|
Si el terminal no es compatible con las flechas de cursor se puede avanzar con la barra espaciadora y retroceder con la tecla b (back). El tabulador activa el elemento siguiente y con INTRO se puede entrar al enlace correspondiente. La tecla l (last) permite volver a la última página.
|
||||||
se puede avanzar con la barra espaciadora y retroceder con
|
|
||||||
la tecla b (back). El tabulador activa el elemento siguiente y
|
|
||||||
con INTRO se puede entrar al enlace correspondiente.
|
|
||||||
La tecla l (last) permite volver a la última página.
|
|
||||||
|
|
||||||
ESC pulsada dos veces permite salir de la ayuda.
|
ESC pulsada dos veces permite salir de la ayuda.
|
||||||
|
|
||||||
El botón izquierdo del ratón avanza o sigue enlaces y el
|
El botón izquierdo del ratón avanza o sigue enlaces y el botón derecho retrocede o vuelve a la última página.
|
||||||
botón derecho retrocede o vuelve a la última página.
|
|
||||||
|
|
||||||
La función de todas las teclas en la ayuda:
|
La función de todas las teclas en la ayuda:
|
||||||
|
|
||||||
|
@ -8,15 +8,11 @@
|
|||||||
|
|
||||||
Ez a GNU Midnight Commander súgója.
|
Ez a GNU Midnight Commander súgója.
|
||||||
|
|
||||||
Az interaktív súgó használatának megismeréséhez csak üss
|
Az interaktív súgó használatának megismeréséhez csak üss egy entertHow to use help. Itt közvetlenül a súgó tartalomjegyzékébeContents juthatsz.
|
||||||
egy entertHow to use help. Itt közvetlenül a súgó tartalomjegyzékébeContents
|
|
||||||
juthatsz.
|
|
||||||
|
|
||||||
A Midnight Commander-t a következő szerzőkAUTHORS készítették.
|
A Midnight Commander-t a következő szerzőkAUTHORS készítették.
|
||||||
|
|
||||||
A Midnight Commander mindenféle garanciaWarranty nélkül kerül
|
A Midnight Commander mindenféle garanciaWarranty nélkül kerül kiadásra. Ez szabad szoftver, így továbbadhatod azt a Felhasználási engedélybenLicense meghatározott feltételekkel.
|
||||||
kiadásra. Ez szabad szoftver, így továbbadhatod azt a
|
|
||||||
Felhasználási engedélybenLicense meghatározott feltételekkel.
|
|
||||||
|
|
||||||
[License]
|
[License]
|
||||||
Engedélyek
|
Engedélyek
|
||||||
@ -438,34 +434,16 @@ Library General Public License instead of this License.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Lekérdező box
|
Lekérdező box
|
||||||
|
|
||||||
A lekérdező boxban kezeléséhez a nyíl billentyűket, a
|
A lekérdező boxban kezeléséhez a nyíl billentyűket, a szövegrész elejének magadásást, vagy a gombokra történő egérkattintást használhatod.
|
||||||
szövegrész elejének magadásást, vagy a gombokra történő
|
|
||||||
egérkattintást használhatod.
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Hogyan használjuk a súgót
|
Hogyan használjuk a súgót
|
||||||
|
|
||||||
A súgóban a navigációhoz a billentyűzet gombjait és az
|
A súgóban a navigációhoz a billentyűzet gombjait és az egér gombjait is használhatod. A lefelé mutató nyíl lenyomására a következő bejegyzésre ugorhatsz, vagy legördítheted azt. A felfelé mutató nyíl lenyomására ez előző bejegyzésre ugorhatsz, vagy felhúzhatod azt. A jobbra mutató nyíl lenyomására a linknek megfelelő címre lép. A balra mutató nyíl lenyomására az előzőleg meglátogatott címre lépsz vissza.
|
||||||
egér gombjait is használhatod. A lefelé mutató nyíl
|
|
||||||
lenyomására a következő bejegyzésre ugorhatsz, vagy
|
|
||||||
legördítheted azt. A felfelé mutató nyíl lenyomására
|
|
||||||
ez előző bejegyzésre ugorhatsz, vagy felhúzhatod azt.
|
|
||||||
A jobbra mutató nyíl lenyomására a linknek megfelelő
|
|
||||||
címre lép. A balra mutató nyíl lenyomására az előzőleg
|
|
||||||
meglátogatott címre lépsz vissza.
|
|
||||||
|
|
||||||
Ha az általad használt terminál nem támogatja a kurzor
|
Ha az általad használt terminál nem támogatja a kurzor gombok használatát, használd a szóköz billentyűt az előre lépésre, a 'b' gombot a visszalépésre. Használd a TAB gombot a következő bejegyzésre való ugráshoz és az ENTER-t a jelenlegi link által megadott címre történő lépéshez. Az 'l' (last=utolsó) gombot az előzőleg látogatott oldalra való visszalépésre használhatod. Az ESC lenyomásával kiléphetsz a Súgóból.
|
||||||
gombok használatát, használd a szóköz billentyűt az
|
|
||||||
előre lépésre, a 'b' gombot a visszalépésre. Használd a
|
|
||||||
TAB gombot a következő bejegyzésre való ugráshoz és az
|
|
||||||
ENTER-t a jelenlegi link által megadott címre történő
|
|
||||||
lépéshez. Az 'l' (last=utolsó) gombot az előzőleg
|
|
||||||
látogatott oldalra való visszalépésre használhatod. Az
|
|
||||||
ESC lenyomásával kiléphetsz a Súgóból.
|
|
||||||
|
|
||||||
A bal egérgomb lenyomásával követheted a linket, vagy
|
A bal egérgomb lenyomásával követheted a linket, vagy gördíthetsz. A jobb gomb lenyomásával visszatérhetsz az előzőleg látogatott pontra.
|
||||||
gördíthetsz. A jobb gomb lenyomásával visszatérhetsz az
|
|
||||||
előzőleg látogatott pontra.
|
|
||||||
|
|
||||||
A Súgóban használható összes gomb listája:
|
A Súgóban használható összes gomb listája:
|
||||||
|
|
||||||
|
@ -7,18 +7,15 @@
|
|||||||
v v v mqv v v v mqu v v mj
|
v v v mqv v v v mqu v v mj
|
||||||
qqqqqqCommanderqj
|
qqqqqqCommanderqj
|
||||||
|
|
||||||
Questa è la principale schermata della guida interattiva
|
Questa è la principale schermata della guida interattiva del GNU Midnight Commander.
|
||||||
del GNU Midnight Commander.
|
|
||||||
|
|
||||||
Per saperne di più su come usare la guida interattiva, premere
|
Per saperne di più su come usare la guida interattiva, premere semplicemente invioHow to use help. Se lo si desidera, è possibile consultare direttamente il sommarioContents della guida.
|
||||||
semplicemente invioHow to use help. Se lo si desidera, è possibile
|
|
||||||
consultare direttamente il sommarioContents della guida.
|
|
||||||
|
|
||||||
Il Midnight Commander è stato scritto dai suoi autoriAUTHORS.
|
Il Midnight Commander è stato scritto dai suoi autoriAUTHORS.
|
||||||
|
|
||||||
Il Midnight Commander NON E' COPERTO DA ALCUNA GARANZIAWarranty.
|
Il Midnight Commander NON E' COPERTO DA ALCUNA GARANZIAWarranty. Questo è software libero, lo si può ridistribuire sotto certe condizioniLicenza.
|
||||||
Questo è software libero, lo si può ridistribuire sotto
|
|
||||||
certe condizioniLicenza.[Licenza]
|
[Licenza]
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
@ -432,38 +429,18 @@ Library General Public License instead of this License.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Finestre di dialogo di richiesta dati
|
Finestre di dialogo di richiesta dati
|
||||||
|
|
||||||
Nelle finestre di dialogo di richiesta dati è possibile
|
Nelle finestre di dialogo di richiesta dati è possibile usare i tasti freccia o la prima lettera per selezionare una voce o cliccare con il mouse sul bottone.
|
||||||
usare i tasti freccia o la prima lettera per selezionare
|
|
||||||
una voce o cliccare con il mouse sul bottone.
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Come usare la guida interattiva
|
Come usare la guida interattiva
|
||||||
|
|
||||||
Usare i tasti del cursore o il mouse per navigare
|
Usare i tasti del cursore o il mouse per navigare nel visualizzatore della guida.
|
||||||
nel visualizzatore della guida.
|
|
||||||
|
|
||||||
Premere freccia in giù per spostarsi alla voce
|
Premere freccia in giù per spostarsi alla voce successiva o per spostarsi in basso. Premere freccia in su per spostarsi alla voce precedente o per spostarsi in alto. Premere freccia a destra per seguire il collegamento corrente. Premere freccia a sinistra per tornare indietro nello storico dei nodi visitati.
|
||||||
successiva o per spostarsi in basso.
|
|
||||||
Premere freccia in su per spostarsi alla voce
|
|
||||||
precedente o per spostarsi in alto.
|
|
||||||
Premere freccia a destra per seguire il collegamento
|
|
||||||
corrente.
|
|
||||||
Premere freccia a sinistra per tornare indietro nello
|
|
||||||
storico dei nodi visitati.
|
|
||||||
|
|
||||||
Se il terminale non supporta i tasti del cursore si può
|
Se il terminale non supporta i tasti del cursore si può usare la barra spaziatrice per spostarsi in avanti ed il tasto 'b' per tornare indietro. Usare il tasto TAB per spostarsi sulla prossima voce e premere INVIO per seguire il collegamento corrente. Usare il tasto 'l' per tornare indietro nello storico dei nodi visitati. Premere ESC per uscire dal visualizzatore della guida.
|
||||||
usare la barra spaziatrice per spostarsi in avanti
|
|
||||||
ed il tasto 'b' per tornare indietro. Usare il tasto
|
|
||||||
TAB per spostarsi sulla prossima voce e premere
|
|
||||||
INVIO per seguire il collegamento corrente. Usare il
|
|
||||||
tasto 'l' per tornare indietro nello storico dei nodi
|
|
||||||
visitati.
|
|
||||||
Premere ESC per uscire dal visualizzatore della guida.
|
|
||||||
|
|
||||||
Il tasto sinistro del mouse segue il collegamento
|
Il tasto sinistro del mouse segue il collegamento o sfoglia le pagine. Il tasto destro del mouse torna indietro nello storico dei nodi visitati.
|
||||||
o sfoglia le pagine.
|
|
||||||
Il tasto destro del mouse torna indietro nello storico
|
|
||||||
dei nodi visitati.
|
|
||||||
|
|
||||||
Elenco completo dei tasti del visualizzatore della guida:
|
Elenco completo dei tasti del visualizzatore della guida:
|
||||||
|
|
||||||
|
@ -9,17 +9,13 @@
|
|||||||
|
|
||||||
Główny ekran pomocy programu GNU Midnight Commander.
|
Główny ekran pomocy programu GNU Midnight Commander.
|
||||||
|
|
||||||
Aby dowiedzieć się, jak używać interaktywnej pomocy,
|
Aby dowiedzieć się, jak używać interaktywnej pomocy, należy nacisnąć klawisz EnterHow to use help. Można też przejść bezpośrednio do spisu treściContents.
|
||||||
należy nacisnąć klawisz EnterHow to use help. Można też
|
|
||||||
przejść bezpośrednio do spisu treściContents.
|
|
||||||
|
|
||||||
Program GNU Midnight Commander został napisany przez jego
|
Program GNU Midnight Commander został napisany przez jego autorówAUTHORS.
|
||||||
autorówAUTHORS.
|
|
||||||
|
|
||||||
Program GNU Midnight Commander jest dostarczany BEZ
|
Program GNU Midnight Commander jest dostarczany BEZ JAKIEJKOLWIEK GWARANCJIWarranty. Niniejszy program jest wolnym oprogramowaniem; można go rozprowadzać dalej na warunkach GNU General Public LicenseLicense.
|
||||||
JAKIEJKOLWIEK GWARANCJIWarranty. Niniejszy program jest
|
|
||||||
wolnym oprogramowaniem; można go rozprowadzać dalej na
|
[License]
|
||||||
warunkach GNU General Public LicenseLicense.[License]
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
@ -433,32 +429,16 @@ Library General Public License instead of this License.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Okna zapytań
|
Okna zapytań
|
||||||
|
|
||||||
W oknach dialogowych zapytań można używać klawiszy
|
W oknach dialogowych zapytań można używać klawiszy strzałek lub pierwszych liter, aby wybrać element albo kliknąć na przycisku.
|
||||||
strzałek lub pierwszych liter, aby wybrać element albo
|
|
||||||
kliknąć na przycisku.
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Jak używać pomocy
|
Jak używać pomocy
|
||||||
|
|
||||||
Do obsługi przeglądarki można używać klawiszy kursora lub
|
Do obsługi przeglądarki można używać klawiszy kursora lub myszy. Naciśnięcie strzałki w dół przeniesie do następnego elementu lub przewinie w dół. Naciśnięcie strzałki w górę przeniesie do poprzedniego elementu lub przewinie w górę, Naciśnięcie strzałki w prawo podąży za zaznaczonym odnośnikiem. Naciśnięcie strzałki w lewo powróci do poprzednio odwiedzonego węzła.
|
||||||
myszy. Naciśnięcie strzałki w dół przeniesie do następnego
|
|
||||||
elementu lub przewinie w dół. Naciśnięcie strzałki w górę
|
|
||||||
przeniesie do poprzedniego elementu lub przewinie w górę,
|
|
||||||
Naciśnięcie strzałki w prawo podąży za zaznaczonym
|
|
||||||
odnośnikiem. Naciśnięcie strzałki w lewo powróci do
|
|
||||||
poprzednio odwiedzonego węzła.
|
|
||||||
|
|
||||||
Jeśli terminal nie obsługuje klawiszy kursora, można używać
|
Jeśli terminal nie obsługuje klawiszy kursora, można używać spacji do przewijania do przodu i klawisz B, aby przewijać do tyłu. Można używać klawisza Tab, aby przechodzić do następnego elementu i klawisza Enter, aby podążyć za zaznaczonym odnośnikiem. Klawisz L może być używany do przechodzenia do poprzednio odwiedzonego węzła. Naciśnięcie klawisza Esc zakończy przeglądarkę pomocy.
|
||||||
spacji do przewijania do przodu i klawisz B, aby przewijać
|
|
||||||
do tyłu. Można używać klawisza Tab, aby przechodzić do
|
|
||||||
następnego elementu i klawisza Enter, aby podążyć za
|
|
||||||
zaznaczonym odnośnikiem. Klawisz L może być używany do
|
|
||||||
przechodzenia do poprzednio odwiedzonego węzła.
|
|
||||||
Naciśnięcie klawisza Esc zakończy przeglądarkę pomocy.
|
|
||||||
|
|
||||||
Lewy przycisk myszy podąży za odnośnikiem lub przewinie
|
Lewy przycisk myszy podąży za odnośnikiem lub przewinie ekran. Prawy przycisk myszy może być używany, aby przechodzić do poprzednio odwiedzonego węzła.
|
||||||
ekran. Prawy przycisk myszy może być używany, aby
|
|
||||||
przechodzić do poprzednio odwiedzonego węzła.
|
|
||||||
|
|
||||||
Pełna lista klawiszy przeglądarki pomocy:
|
Pełna lista klawiszy przeglądarki pomocy:
|
||||||
|
|
||||||
|
@ -6,19 +6,15 @@
|
|||||||
v v v mqv v v v mqu v v mj
|
v v v mqv v v v mqu v v mj
|
||||||
qqqqqqCommanderqj
|
qqqqqqCommanderqj
|
||||||
|
|
||||||
Вы сейчас видите главное окно интерактивной подсказки
|
Вы сейчас видите главное окно интерактивной подсказки программы GNU Midnight Commander.
|
||||||
программы GNU Midnight Commander.
|
|
||||||
|
|
||||||
Чтобы узнать, как пользоваться подсказкой, нажмите клавишу
|
Чтобы узнать, как пользоваться подсказкой, нажмите клавишу EnterHow to use help, иначе переходите к перечню разделовContents подсказки.
|
||||||
EnterHow to use help, иначе переходите к перечню разделовContents подсказки.
|
|
||||||
|
|
||||||
Программа Midnight Commander поставляется АБСОЛЮТНО БЕЗ
|
Программа Midnight Commander поставляется АБСОЛЮТНО БЕЗ ВСЯКИХ ГАРАНТИЙГарантия. Это свободно распространяемое программное обеспечение, созданное группой авторовAUTHORS. Вы можете передавать его другим при условии соблюдения требований лицензии GNUЛицензия (оригинал на английском) (прочитайте неофициальный переводЛицензия этой лицензии).
|
||||||
ВСЯКИХ ГАРАНТИЙГарантия. Это свободно распространяемое программное
|
|
||||||
обеспечение, созданное группой авторовAUTHORS. Вы можете передавать
|
|
||||||
его другим при условии соблюдения требований лицензии GNUЛицензия (оригинал на английском)
|
|
||||||
(прочитайте неофициальный переводЛицензия этой лицензии).
|
|
||||||
|
|
||||||
Русский перевод текста подсказки - Костромин В.А., 1999 г.[Лицензия (оригинал на английском)]
|
Русский перевод текста подсказки - Костромин В.А., 1999 г.
|
||||||
|
|
||||||
|
[Лицензия (оригинал на английском)]
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
@ -843,50 +839,21 @@ Gnomovision поставляется АБСОЛЮТНО БЕЗ КАКИХ-ЛИБ
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Диалоговые окна запросов
|
Диалоговые окна запросов
|
||||||
|
|
||||||
В окнах запросов для выбора какого-либо варианта ответа
|
В окнах запросов для выбора какого-либо варианта ответа (которые обычно задаются в виде экранных кнопок) Вы можете использовать либо клавиши со стрелками, либо выбрать ответ путем нажатия клавиши с выделенной в названии кнопки буквой, либо щелкнув по нужной кнопке мышкой.
|
||||||
(которые обычно задаются в виде экранных кнопок) Вы можете
|
|
||||||
использовать либо клавиши со стрелками, либо выбрать ответ
|
|
||||||
путем нажатия клавиши с выделенной в названии кнопки
|
|
||||||
буквой, либо щелкнув по нужной кнопке мышкой.
|
|
||||||
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Как пользоваться помощью
|
Как пользоваться помощью
|
||||||
|
|
||||||
При работе с программой Midnight Commander практически в
|
При работе с программой Midnight Commander практически в любой момент можно обратиться к интерактивной подсказке, вызов которой осуществляется нажатием клавиши F1. Для перемещения в окне просмотра подсказки Вы можете использовать клавиши перемещения курсора (стрелки) или мышь. Стрелка вниз вызывает переход к следующей ссылке (выделены голубым фоном) или сдвиг текста на одну строку вверх. Стрелка вверх вызывает переход к предыдущей ссылке или сдвиг текста на одну строку вверх. Стрелка вправо вызывает переход по ссылке, которая в данный момент выделена синим фоном (текущая ссылка). По стрелке влево происходит переход к ранее просмотренным разделам подсказки.
|
||||||
любой момент можно обратиться к интерактивной подсказке,
|
|
||||||
вызов которой осуществляется нажатием клавиши F1. Для
|
|
||||||
перемещения в окне просмотра подсказки Вы можете
|
|
||||||
использовать клавиши перемещения курсора (стрелки) или
|
|
||||||
мышь. Стрелка вниз вызывает переход к следующей ссылке
|
|
||||||
(выделены голубым фоном) или сдвиг текста на одну строку
|
|
||||||
вверх. Стрелка вверх вызывает переход к предыдущей ссылке
|
|
||||||
или сдвиг текста на одну строку вверх. Стрелка вправо
|
|
||||||
вызывает переход по ссылке, которая в данный момент
|
|
||||||
выделена синим фоном (текущая ссылка). По стрелке влево
|
|
||||||
происходит переход к ранее просмотренным разделам
|
|
||||||
подсказки.
|
|
||||||
|
|
||||||
Если Ваш терминал не поддерживает клавиши-стрелки, Вы
|
Если Ваш терминал не поддерживает клавиши-стрелки, Вы можете использовать клавишу пробела для перехода к следующей странице подсказки и клавишу 'b' для перехода к предыдущей странице. Клавиша TAB вызывает переход к следующей ссылке, а нажатие ENTER - переход по текущей ссылке. При просмотре подсказки программа запоминает последовательность переходов по ссылкам и позволяет вернуться к ранее просмотренным разделам, воспользовавшись клавишей 'l' (last). Нажатие на ESC вызывает выход из окна подсказки.
|
||||||
можете использовать клавишу пробела для перехода к
|
|
||||||
следующей странице подсказки и клавишу 'b' для перехода к
|
|
||||||
предыдущей странице. Клавиша TAB вызывает переход к
|
|
||||||
следующей ссылке, а нажатие ENTER - переход по текущей
|
|
||||||
ссылке. При просмотре подсказки программа запоминает
|
|
||||||
последовательность переходов по ссылкам и позволяет
|
|
||||||
вернуться к ранее просмотренным разделам, воспользовавшись
|
|
||||||
клавишей 'l' (last). Нажатие на ESC вызывает выход из окна
|
|
||||||
подсказки.
|
|
||||||
|
|
||||||
По щелчку левой клавиши мыши происходит переход по ссылке
|
По щелчку левой клавиши мыши происходит переход по ссылке или перемещение по тексту подсказки. Щелчок правой кнопкой мыши используется для переход к ранее просмотренным разделам.
|
||||||
или перемещение по тексту подсказки. Щелчок правой кнопкой
|
|
||||||
мыши используется для переход к ранее просмотренным
|
|
||||||
разделам.
|
|
||||||
|
|
||||||
Полный список управляющих комбинаций для окна просмотра
|
Полный список управляющих комбинаций для окна просмотра подсказки:
|
||||||
подсказки:
|
|
||||||
|
|
||||||
Работают все клавиши управления перемещениемGeneral Movement Keys.
|
Работают все клавиши управления перемещениемGeneral Movement Keys.
|
||||||
|
|
||||||
tab Переход на следующую ссылку.
|
tab Переход на следующую ссылку.
|
||||||
M-tab Переход на предыдущую ссылку.
|
M-tab Переход на предыдущую ссылку.
|
||||||
|
@ -10,20 +10,14 @@
|
|||||||
|
|
||||||
Ово је главни екран помоћи за ГНУ-овог поноћног наредника.
|
Ово је главни екран помоћи за ГНУ-овог поноћног наредника.
|
||||||
|
|
||||||
Да бисте сазнали више о томе како да користите интерактивни
|
Да бисте сазнали више о томе како да користите интерактивни систем помоћи потребно је да притиснете EnterHow to use help. Можете и одмах отићи на садржајContents помоћи.
|
||||||
систем помоћи потребно је да притиснете EnterHow to use help.
|
|
||||||
Можете и одмах отићи на садржајContents помоћи.
|
|
||||||
|
|
||||||
ГНУ-овог поноћног наредника су написали његови ауториAUTHORS.
|
ГНУ-овог поноћног наредника су написали његови ауториAUTHORS.
|
||||||
|
|
||||||
ГНУ-ов поноћни наредник се испоручује БЕЗ ИКАКВЕ ГАРАНЦИЈЕWarranty.
|
ГНУ-ов поноћни наредник се испоручује БЕЗ ИКАКВЕ ГАРАНЦИЈЕWarranty. Ово је слободни софтвер, а ви сте позвани да га расподелите под одредбама ГНУ-ове опште јавне лиценцеЛиценца (оригинал на енглеском). Погледајте и незваничан превод ГНУ-ове ОЈЛ на српскиЛиценца (на српском).
|
||||||
Ово је слободни софтвер, а ви сте позвани да га
|
|
||||||
расподелите под одредбама ГНУ-ове опште јавне лиценцеЛиценца (оригинал на енглеском).
|
Превод Поноћног наредника и ове датотеке помоћи на српски: Страхиња Радић, <mr99164@alas.matf.bg.ac.yu> СРД `Уликс', http://uliks.sourceforge.net
|
||||||
Погледајте и незваничан превод ГНУ-ове ОЈЛ на српскиЛиценца (на српском).
|
|
||||||
|
|
||||||
Превод Поноћног наредника и ове датотеке помоћи на српски:
|
|
||||||
Страхиња Радић, <mr99164@alas.matf.bg.ac.yu>
|
|
||||||
СРД `Уликс', http://uliks.sourceforge.net
|
|
||||||
[Лиценца (оригинал на енглеском)]
|
[Лиценца (оригинал на енглеском)]
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
@ -883,35 +877,16 @@ Library General Public License instead of this License.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Прозори упита
|
Прозори упита
|
||||||
|
|
||||||
У дијалозима упита можете да користите тастере са
|
У дијалозима упита можете да користите тастере са стрелицама или прво слово да бисте изабрали ставку или можете да притиснете дугме миша када се показивач налази изнад дугмета на екрану.
|
||||||
стрелицама или прво слово да бисте изабрали ставку или
|
|
||||||
можете да притиснете дугме миша када се показивач налази
|
|
||||||
изнад дугмета на екрану.
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
Како користити помоћ
|
Како користити помоћ
|
||||||
|
|
||||||
Можете да користите курсорске тастере да бисте се кретали
|
Можете да користите курсорске тастере да бисте се кретали у оквиру прегледача помоћи. Притисните стрелицу надоле да бисте се померили на следећу ставку или клизали надоле. Притисните стрелицу нагоре да бисте се померили на претходну ставку или клизали нагоре. Притисните стрелицу надесно да бисте пратили текућу везу. Притисните стрелицу налево да бисте се вратили уназад у оквиру историје посећених чворова.
|
||||||
у оквиру прегледача помоћи. Притисните стрелицу надоле
|
|
||||||
да бисте се померили на следећу ставку или клизали надоле.
|
|
||||||
Притисните стрелицу нагоре да бисте се померили на
|
|
||||||
претходну ставку или клизали нагоре. Притисните стрелицу
|
|
||||||
надесно да бисте пратили текућу везу. Притисните
|
|
||||||
стрелицу налево да бисте се вратили уназад у оквиру
|
|
||||||
историје посећених чворова.
|
|
||||||
|
|
||||||
Ако ваш терминал не подржава курсорске тастере, можете да
|
Ако ваш терминал не подржава курсорске тастере, можете да користите размакницу да бисте клизали унапред и b (латинично б) да бисте клизали уназад. Користите тастер TAB да бисте прешли на следећу ставку а ENTER да бисте пратили текућу везу. Тастер l (латинично л) се може користити за враћање уназад у историји чворова које сте посетили. Притисните тастер ESC да бисте изашли из прегледача помоћи.
|
||||||
користите размакницу да бисте клизали унапред и b
|
|
||||||
(латинично б) да бисте клизали уназад. Користите тастер
|
|
||||||
TAB да бисте прешли на следећу ставку а ENTER да
|
|
||||||
бисте пратили текућу везу. Тастер l (латинично л) се
|
|
||||||
може користити за враћање уназад у историји чворова које
|
|
||||||
сте посетили. Притисните тастер ESC да бисте изашли из
|
|
||||||
прегледача помоћи.
|
|
||||||
|
|
||||||
Притиском на лево дугме миша ћете пратити везу или
|
Притиском на лево дугме миша ћете пратити везу или клизати. Притиском на десно дугме миша ћете се враћати уназад у историји чворова.
|
||||||
клизати. Притиском на десно дугме миша ћете се враћати
|
|
||||||
уназад у историји чворова.
|
|
||||||
|
|
||||||
Потпун списак тастера прегледача помоћи:
|
Потпун списак тастера прегледача помоћи:
|
||||||
|
|
||||||
|
@ -9,15 +9,13 @@
|
|||||||
|
|
||||||
This is the main help screen for GNU Midnight Commander.
|
This is the main help screen for GNU Midnight Commander.
|
||||||
|
|
||||||
To learn more on how to use the interactive help facility
|
To learn more on how to use the interactive help facility just press EnterHow to use help. You may want to go directly to the help contentsContents.
|
||||||
just press EnterHow to use help. You may want to go directly to the help
|
|
||||||
contentsContents.
|
|
||||||
|
|
||||||
GNU Midnight Commander is written by its authorsAUTHORS.
|
GNU Midnight Commander is written by its authorsAUTHORS.
|
||||||
|
|
||||||
GNU Midnight Commander comes with ABSOLUTELY NO WARRANTYWarranty.
|
GNU Midnight Commander comes with ABSOLUTELY NO WARRANTYWarranty. This is free software, and you are welcome to redistribute it under terms of GNU General Public LicenseLicense.
|
||||||
This is free software, and you are welcome to redistribute
|
|
||||||
it under terms of GNU General Public LicenseLicense.[License]
|
[License]
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
@ -431,30 +429,16 @@ Library General Public License instead of this License.
|
|||||||
[QueryBox]
|
[QueryBox]
|
||||||
Query boxes
|
Query boxes
|
||||||
|
|
||||||
In the query dialog box you can use the arrow keys or the
|
In the query dialog box you can use the arrow keys or the first letter to select an item or click with the mouse on the button.
|
||||||
first letter to select an item or click with the mouse on
|
|
||||||
the button.
|
|
||||||
|
|
||||||
[How to use help]
|
[How to use help]
|
||||||
How to use help
|
How to use help
|
||||||
|
|
||||||
You can use the cursor keys or mouse to navigate in the
|
You can use the cursor keys or mouse to navigate in the help viewer. Press down arrow to move to the next item or scroll down. Press up arrow to move to the previous item or scroll up. Press right arrow to follow the current link. Press left arrow to go back in the history of nodes that you have visited.
|
||||||
help viewer. Press down arrow to move to the next item or
|
|
||||||
scroll down. Press up arrow to move to the previous item
|
|
||||||
or scroll up. Press right arrow to follow the current
|
|
||||||
link. Press left arrow to go back in the history of nodes
|
|
||||||
that you have visited.
|
|
||||||
|
|
||||||
If you terminal doesn't support the cursor keys you can
|
If you terminal doesn't support the cursor keys you can use the space bar to scroll forward and the b (back) key scroll back. Use the TAB key to move to the next item and press ENTER to follow the current link. The l (last) key can be used to go back in the history of nodes you have visited. Press ESC to exit the help viewer.
|
||||||
use the space bar to scroll forward and the b (back) key
|
|
||||||
scroll back. Use the TAB key to move to the next item and
|
|
||||||
press ENTER to follow the current link. The l (last) key
|
|
||||||
can be used to go back in the history of nodes you have
|
|
||||||
visited. Press ESC to exit the help viewer.
|
|
||||||
|
|
||||||
The left mouse button will follow the link or scroll. The
|
The left mouse button will follow the link or scroll. The right mouse button can be used to go back in the history of nodes.
|
||||||
right mouse button can be used to go back in the history
|
|
||||||
of nodes.
|
|
||||||
|
|
||||||
The full key list of the help viewer:
|
The full key list of the help viewer:
|
||||||
|
|
||||||
|
@ -23,10 +23,10 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.h> /* extern int errno */
|
#include <errno.h> /* extern int errno */
|
||||||
|
|
||||||
#include "lib/global.h"
|
#include "lib/global.h"
|
||||||
#include "lib/vfs/mc-vfs/vfs.h" /* mc_stat */
|
#include "lib/vfs/mc-vfs/vfs.h" /* mc_stat */
|
||||||
#include "lib/mcconfig.h"
|
#include "lib/mcconfig.h"
|
||||||
|
|
||||||
/*** global variables **************************************************/
|
/*** global variables **************************************************/
|
||||||
@ -44,8 +44,7 @@ mc_config_t *mc_panels_config;
|
|||||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
|
mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path, GError ** error)
|
||||||
GError **error)
|
|
||||||
{
|
{
|
||||||
gchar *data, *written_data;
|
gchar *data, *written_data;
|
||||||
gsize len, total_written;
|
gsize len, total_written;
|
||||||
@ -54,7 +53,8 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
|
|||||||
ssize_t cur_written;
|
ssize_t cur_written;
|
||||||
|
|
||||||
data = g_key_file_to_data (mc_config->handle, &len, NULL);
|
data = g_key_file_to_data (mc_config->handle, &len, NULL);
|
||||||
if (!exist_file (ini_path)) {
|
if (!exist_file (ini_path))
|
||||||
|
{
|
||||||
ret = g_file_set_contents (ini_path, data, len, error);
|
ret = g_file_set_contents (ini_path, data, len, error);
|
||||||
g_free (data);
|
g_free (data);
|
||||||
return ret;
|
return ret;
|
||||||
@ -62,9 +62,12 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
|
|||||||
mc_util_make_backup_if_possible (ini_path, "~");
|
mc_util_make_backup_if_possible (ini_path, "~");
|
||||||
|
|
||||||
fd = mc_open (ini_path, O_WRONLY | O_TRUNC | O_SYNC, 0);
|
fd = mc_open (ini_path, O_WRONLY | O_TRUNC | O_SYNC, 0);
|
||||||
if (fd == -1) {
|
if (fd == -1)
|
||||||
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, "%s", unix_error_string (errno)));
|
{
|
||||||
g_free(data);
|
g_propagate_error (error,
|
||||||
|
g_error_new (mc_main_error_quark (), 0, "%s",
|
||||||
|
unix_error_string (errno)));
|
||||||
|
g_free (data);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,9 +77,12 @@ mc_config_new_or_override_file (mc_config_t * mc_config, const gchar * ini_path,
|
|||||||
mc_close (fd);
|
mc_close (fd);
|
||||||
g_free (data);
|
g_free (data);
|
||||||
|
|
||||||
if (cur_written == -1) {
|
if (cur_written == -1)
|
||||||
|
{
|
||||||
mc_util_restore_from_backup_if_possible (ini_path, "~");
|
mc_util_restore_from_backup_if_possible (ini_path, "~");
|
||||||
g_propagate_error (error, g_error_new (mc_main_error_quark() ,0, "%s", unix_error_string (errno)));
|
g_propagate_error (error,
|
||||||
|
g_error_new (mc_main_error_quark (), 0, "%s",
|
||||||
|
unix_error_string (errno)));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,15 +106,18 @@ mc_config_init (const gchar * ini_path)
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
mc_config->handle = g_key_file_new ();
|
mc_config->handle = g_key_file_new ();
|
||||||
if (mc_config->handle == NULL) {
|
if (mc_config->handle == NULL)
|
||||||
|
{
|
||||||
g_free (mc_config);
|
g_free (mc_config);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (!ini_path || !exist_file (ini_path)) {
|
if (!ini_path || !exist_file (ini_path))
|
||||||
|
{
|
||||||
return mc_config;
|
return mc_config;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mc_stat (ini_path, &st) && st.st_size) {
|
if (!mc_stat (ini_path, &st) && st.st_size)
|
||||||
|
{
|
||||||
/* file present and not empty */
|
/* file present and not empty */
|
||||||
g_key_file_load_from_file (mc_config->handle, ini_path, G_KEY_FILE_KEEP_COMMENTS, NULL);
|
g_key_file_load_from_file (mc_config->handle, ini_path, G_KEY_FILE_KEEP_COMMENTS, NULL);
|
||||||
}
|
}
|
||||||
@ -195,7 +204,8 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
|
|||||||
gchar **keys, **curr_key;
|
gchar **keys, **curr_key;
|
||||||
gchar *value;
|
gchar *value;
|
||||||
|
|
||||||
if (mc_config == NULL) {
|
if (mc_config == NULL)
|
||||||
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,11 +216,16 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
|
|||||||
groups = mc_config_get_groups (tmp_config, NULL);
|
groups = mc_config_get_groups (tmp_config, NULL);
|
||||||
|
|
||||||
if (groups == NULL)
|
if (groups == NULL)
|
||||||
|
{
|
||||||
|
mc_config_deinit (tmp_config);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
for (curr_grp = groups; *curr_grp != NULL; curr_grp++) {
|
for (curr_grp = groups; *curr_grp != NULL; curr_grp++)
|
||||||
|
{
|
||||||
keys = mc_config_get_keys (tmp_config, *curr_grp, NULL);
|
keys = mc_config_get_keys (tmp_config, *curr_grp, NULL);
|
||||||
for (curr_key = keys; *curr_key != NULL; curr_key++) {
|
for (curr_key = keys; *curr_key != NULL; curr_key++)
|
||||||
|
{
|
||||||
value = g_key_file_get_value (tmp_config->handle, *curr_grp, *curr_key, NULL);
|
value = g_key_file_get_value (tmp_config->handle, *curr_grp, *curr_key, NULL);
|
||||||
if (value == NULL)
|
if (value == NULL)
|
||||||
continue;
|
continue;
|
||||||
@ -228,9 +243,10 @@ mc_config_read_file (mc_config_t * mc_config, const gchar * ini_path)
|
|||||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mc_config_save_file (mc_config_t * mc_config, GError **error)
|
mc_config_save_file (mc_config_t * mc_config, GError ** error)
|
||||||
{
|
{
|
||||||
if (mc_config == NULL || mc_config->ini_path == NULL) {
|
if (mc_config == NULL || mc_config->ini_path == NULL)
|
||||||
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return mc_config_new_or_override_file (mc_config, mc_config->ini_path, error);
|
return mc_config_new_or_override_file (mc_config, mc_config->ini_path, error);
|
||||||
@ -239,10 +255,10 @@ mc_config_save_file (mc_config_t * mc_config, GError **error)
|
|||||||
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mc_config_save_to_file (mc_config_t * mc_config, const gchar * ini_path, GError **error)
|
mc_config_save_to_file (mc_config_t * mc_config, const gchar * ini_path, GError ** error)
|
||||||
{
|
{
|
||||||
|
if (mc_config == NULL)
|
||||||
if (mc_config == NULL) {
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return mc_config_new_or_override_file (mc_config, ini_path, error);
|
return mc_config_new_or_override_file (mc_config, ini_path, error);
|
||||||
|
@ -44,7 +44,8 @@
|
|||||||
|
|
||||||
/*** file scope type declarations ****************************************************************/
|
/*** file scope type declarations ****************************************************************/
|
||||||
|
|
||||||
typedef enum {
|
typedef enum
|
||||||
|
{
|
||||||
REPLACE_T_NO_TRANSFORM = 0,
|
REPLACE_T_NO_TRANSFORM = 0,
|
||||||
REPLACE_T_UPP_TRANSFORM_CHAR = 1,
|
REPLACE_T_UPP_TRANSFORM_CHAR = 1,
|
||||||
REPLACE_T_LOW_TRANSFORM_CHAR = 2,
|
REPLACE_T_LOW_TRANSFORM_CHAR = 2,
|
||||||
@ -81,18 +82,24 @@ mc_search__regex_str_append_if_special (GString * copy_to, GString * regex_str,
|
|||||||
|
|
||||||
tmp_regex_str = &(regex_str->str[*offset]);
|
tmp_regex_str = &(regex_str->str[*offset]);
|
||||||
|
|
||||||
while (*spec_chr) {
|
while (*spec_chr)
|
||||||
|
{
|
||||||
spec_chr_len = strlen (*spec_chr);
|
spec_chr_len = strlen (*spec_chr);
|
||||||
if (!strncmp (tmp_regex_str, *spec_chr, spec_chr_len)) {
|
if (!strncmp (tmp_regex_str, *spec_chr, spec_chr_len))
|
||||||
if (!strutils_is_char_escaped (regex_str->str, tmp_regex_str)) {
|
{
|
||||||
if (!strncmp ("\\x", *spec_chr, spec_chr_len)) {
|
if (!strutils_is_char_escaped (regex_str->str, tmp_regex_str))
|
||||||
if (*(tmp_regex_str + spec_chr_len) == '{') {
|
{
|
||||||
|
if (!strncmp ("\\x", *spec_chr, spec_chr_len))
|
||||||
|
{
|
||||||
|
if (*(tmp_regex_str + spec_chr_len) == '{')
|
||||||
|
{
|
||||||
while ((spec_chr_len < regex_str->len - *offset)
|
while ((spec_chr_len < regex_str->len - *offset)
|
||||||
&& *(tmp_regex_str + spec_chr_len) != '}')
|
&& *(tmp_regex_str + spec_chr_len) != '}')
|
||||||
spec_chr_len++;
|
spec_chr_len++;
|
||||||
if (*(tmp_regex_str + spec_chr_len) == '}')
|
if (*(tmp_regex_str + spec_chr_len) == '}')
|
||||||
spec_chr_len++;
|
spec_chr_len++;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
spec_chr_len += 2;
|
spec_chr_len += 2;
|
||||||
}
|
}
|
||||||
g_string_append_len (copy_to, tmp_regex_str, spec_chr_len);
|
g_string_append_len (copy_to, tmp_regex_str, spec_chr_len);
|
||||||
@ -118,16 +125,20 @@ mc_search__cond_struct_new_regex_hex_add (const char *charset, GString * str_to,
|
|||||||
upp = mc_search__toupper_case_str (charset, one_char, str_len);
|
upp = mc_search__toupper_case_str (charset, one_char, str_len);
|
||||||
low = mc_search__tolower_case_str (charset, one_char, str_len);
|
low = mc_search__tolower_case_str (charset, one_char, str_len);
|
||||||
|
|
||||||
for (loop = 0; loop < upp->len; loop++) {
|
for (loop = 0; loop < upp->len; loop++)
|
||||||
|
{
|
||||||
|
|
||||||
if (loop < low->len) {
|
if (loop < low->len)
|
||||||
|
{
|
||||||
if (upp->str[loop] == low->str[loop])
|
if (upp->str[loop] == low->str[loop])
|
||||||
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
|
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
|
||||||
else
|
else
|
||||||
tmp_str =
|
tmp_str =
|
||||||
g_strdup_printf ("[\\x%02X\\x%02X]", (unsigned char) upp->str[loop],
|
g_strdup_printf ("[\\x%02X\\x%02X]", (unsigned char) upp->str[loop],
|
||||||
(unsigned char) low->str[loop]);
|
(unsigned char) low->str[loop]);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
|
tmp_str = g_strdup_printf ("\\x%02X", (unsigned char) upp->str[loop]);
|
||||||
}
|
}
|
||||||
g_string_append (str_to, tmp_str);
|
g_string_append (str_to, tmp_str);
|
||||||
@ -144,31 +155,34 @@ mc_search__cond_struct_new_regex_accum_append (const char *charset, GString * st
|
|||||||
GString * str_from)
|
GString * str_from)
|
||||||
{
|
{
|
||||||
GString *recoded_part;
|
GString *recoded_part;
|
||||||
gchar *one_char;
|
gsize loop = 0;
|
||||||
gsize loop;
|
|
||||||
gboolean just_letters;
|
|
||||||
|
|
||||||
loop = 0;
|
recoded_part = g_string_sized_new (32);
|
||||||
recoded_part = g_string_new ("");
|
|
||||||
|
while (loop < str_from->len)
|
||||||
|
{
|
||||||
|
gchar *one_char;
|
||||||
|
gsize one_char_len;
|
||||||
|
gboolean just_letters;
|
||||||
|
|
||||||
while (loop < str_from->len) {
|
|
||||||
one_char =
|
one_char =
|
||||||
mc_search__get_one_symbol (charset, &(str_from->str[loop]),
|
mc_search__get_one_symbol (charset, &(str_from->str[loop]),
|
||||||
(str_from->len - loop > 6) ? 6 : str_from->len - loop,
|
min (str_from->len - loop, 6), &just_letters);
|
||||||
&just_letters);
|
one_char_len = strlen (one_char);
|
||||||
if (!strlen (one_char)) {
|
|
||||||
|
if (one_char_len == 0)
|
||||||
loop++;
|
loop++;
|
||||||
continue;
|
else
|
||||||
|
{
|
||||||
|
loop += one_char_len;
|
||||||
|
|
||||||
|
if (just_letters)
|
||||||
|
mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char,
|
||||||
|
one_char_len);
|
||||||
|
else
|
||||||
|
g_string_append_len (recoded_part, one_char, one_char_len);
|
||||||
}
|
}
|
||||||
if (just_letters) {
|
|
||||||
mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char,
|
|
||||||
strlen (one_char));
|
|
||||||
} else {
|
|
||||||
g_string_append (recoded_part, one_char);
|
|
||||||
}
|
|
||||||
loop += strlen (one_char);
|
|
||||||
if (!strlen (one_char))
|
|
||||||
loop++;
|
|
||||||
g_free (one_char);
|
g_free (one_char);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,20 +207,23 @@ mc_search__cond_struct_new_regex_ci_str (const char *charset, const char *str, g
|
|||||||
spec_char = g_string_new ("");
|
spec_char = g_string_new ("");
|
||||||
loop = 0;
|
loop = 0;
|
||||||
|
|
||||||
while (loop <= str_len) {
|
while (loop <= str_len)
|
||||||
if (mc_search__regex_str_append_if_special (spec_char, tmp, &loop)) {
|
{
|
||||||
|
if (mc_search__regex_str_append_if_special (spec_char, tmp, &loop))
|
||||||
|
{
|
||||||
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
|
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
|
||||||
g_string_append_len (ret_str, spec_char->str, spec_char->len);
|
g_string_append_len (ret_str, spec_char->str, spec_char->len);
|
||||||
g_string_set_size (spec_char, 0);
|
g_string_set_size (spec_char, 0);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tmp->str[loop] == '[' && !strutils_is_char_escaped (tmp->str, &(tmp->str[loop]))) {
|
if (tmp->str[loop] == '[' && !strutils_is_char_escaped (tmp->str, &(tmp->str[loop])))
|
||||||
|
{
|
||||||
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
|
mc_search__cond_struct_new_regex_accum_append (charset, ret_str, accumulator);
|
||||||
|
|
||||||
while (loop < str_len && !(tmp->str[loop] == ']'
|
while (loop < str_len && !(tmp->str[loop] == ']'
|
||||||
&& !strutils_is_char_escaped (tmp->str,
|
&& !strutils_is_char_escaped (tmp->str, &(tmp->str[loop]))))
|
||||||
&(tmp->str[loop])))) {
|
{
|
||||||
g_string_append_c (ret_str, tmp->str[loop]);
|
g_string_append_c (ret_str, tmp->str[loop]);
|
||||||
loop++;
|
loop++;
|
||||||
|
|
||||||
@ -240,12 +257,15 @@ mc_search__regex_found_cond_one (mc_search_t * lc_mc_search, mc_search_regex_t *
|
|||||||
|
|
||||||
if (!g_regex_match_full
|
if (!g_regex_match_full
|
||||||
(regex, search_str->str, -1, 0, G_REGEX_MATCH_NEWLINE_ANY, &lc_mc_search->regex_match_info,
|
(regex, search_str->str, -1, 0, G_REGEX_MATCH_NEWLINE_ANY, &lc_mc_search->regex_match_info,
|
||||||
&error)) {
|
&error))
|
||||||
|
{
|
||||||
g_match_info_free (lc_mc_search->regex_match_info);
|
g_match_info_free (lc_mc_search->regex_match_info);
|
||||||
lc_mc_search->regex_match_info = NULL;
|
lc_mc_search->regex_match_info = NULL;
|
||||||
if (error) {
|
if (error)
|
||||||
|
{
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX;
|
lc_mc_search->error = MC_SEARCH_E_REGEX;
|
||||||
lc_mc_search->error_str = str_conv_gerror_message (error, _(" Regular expression error "));
|
lc_mc_search->error_str =
|
||||||
|
str_conv_gerror_message (error, _(" Regular expression error "));
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
return COND__FOUND_ERROR;
|
return COND__FOUND_ERROR;
|
||||||
}
|
}
|
||||||
@ -254,9 +274,10 @@ mc_search__regex_found_cond_one (mc_search_t * lc_mc_search, mc_search_regex_t *
|
|||||||
lc_mc_search->num_rezults = g_match_info_get_match_count (lc_mc_search->regex_match_info);
|
lc_mc_search->num_rezults = g_match_info_get_match_count (lc_mc_search->regex_match_info);
|
||||||
#else /* SEARCH_TYPE_GLIB */
|
#else /* SEARCH_TYPE_GLIB */
|
||||||
lc_mc_search->num_rezults = pcre_exec (regex, lc_mc_search->regex_match_info,
|
lc_mc_search->num_rezults = pcre_exec (regex, lc_mc_search->regex_match_info,
|
||||||
search_str->str, search_str->len - 1, 0, 0, lc_mc_search->iovector,
|
search_str->str, search_str->len - 1, 0, 0,
|
||||||
MC_SEARCH__NUM_REPLACE_ARGS);
|
lc_mc_search->iovector, MC_SEARCH__NUM_REPLACE_ARGS);
|
||||||
if (lc_mc_search->num_rezults < 0) {
|
if (lc_mc_search->num_rezults < 0)
|
||||||
|
{
|
||||||
return COND__NOT_FOUND;
|
return COND__NOT_FOUND;
|
||||||
}
|
}
|
||||||
#endif /* SEARCH_TYPE_GLIB */
|
#endif /* SEARCH_TYPE_GLIB */
|
||||||
@ -273,13 +294,16 @@ mc_search__regex_found_cond (mc_search_t * lc_mc_search, GString * search_str)
|
|||||||
mc_search_cond_t *mc_search_cond;
|
mc_search_cond_t *mc_search_cond;
|
||||||
mc_search__found_cond_t ret;
|
mc_search__found_cond_t ret;
|
||||||
|
|
||||||
for (loop1 = 0; loop1 < lc_mc_search->conditions->len; loop1++) {
|
for (loop1 = 0; loop1 < lc_mc_search->conditions->len; loop1++)
|
||||||
|
{
|
||||||
mc_search_cond = (mc_search_cond_t *) g_ptr_array_index (lc_mc_search->conditions, loop1);
|
mc_search_cond = (mc_search_cond_t *) g_ptr_array_index (lc_mc_search->conditions, loop1);
|
||||||
|
|
||||||
if (!mc_search_cond->regex_handle)
|
if (!mc_search_cond->regex_handle)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ret = mc_search__regex_found_cond_one (lc_mc_search, mc_search_cond->regex_handle, search_str);
|
ret =
|
||||||
|
mc_search__regex_found_cond_one (lc_mc_search, mc_search_cond->regex_handle,
|
||||||
|
search_str);
|
||||||
|
|
||||||
if (ret != COND__NOT_FOUND)
|
if (ret != COND__NOT_FOUND)
|
||||||
return ret;
|
return ret;
|
||||||
@ -294,15 +318,18 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len)
|
|||||||
{
|
{
|
||||||
int max_token = 0;
|
int max_token = 0;
|
||||||
gsize loop;
|
gsize loop;
|
||||||
for (loop = 0; loop < len - 1; loop++) {
|
for (loop = 0; loop < len - 1; loop++)
|
||||||
if (str[loop] == '\\' && (str[loop + 1] & (char) 0xf0) == 0x30 /* 0-9 */ ) {
|
{
|
||||||
|
if (str[loop] == '\\' && (str[loop + 1] & (char) 0xf0) == 0x30 /* 0-9 */ )
|
||||||
|
{
|
||||||
if (strutils_is_char_escaped (str, &str[loop]))
|
if (strutils_is_char_escaped (str, &str[loop]))
|
||||||
continue;
|
continue;
|
||||||
if (max_token < str[loop + 1] - '0')
|
if (max_token < str[loop + 1] - '0')
|
||||||
max_token = str[loop + 1] - '0';
|
max_token = str[loop + 1] - '0';
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (str[loop] == '$' && str[loop + 1] == '{') {
|
if (str[loop] == '$' && str[loop + 1] == '{')
|
||||||
|
{
|
||||||
gsize tmp_len;
|
gsize tmp_len;
|
||||||
char *tmp_str;
|
char *tmp_str;
|
||||||
int tmp_token;
|
int tmp_token;
|
||||||
@ -312,7 +339,8 @@ mc_search_regex__get_max_num_of_replace_tokens (const gchar * str, gsize len)
|
|||||||
for (tmp_len = 0;
|
for (tmp_len = 0;
|
||||||
loop + tmp_len + 2 < len && (str[loop + 2 + tmp_len] & (char) 0xf0) == 0x30;
|
loop + tmp_len + 2 < len && (str[loop + 2 + tmp_len] & (char) 0xf0) == 0x30;
|
||||||
tmp_len++);
|
tmp_len++);
|
||||||
if (str[loop + 2 + tmp_len] == '}') {
|
if (str[loop + 2 + tmp_len] == '}')
|
||||||
|
{
|
||||||
tmp_str = g_strndup (&str[loop + 2], tmp_len);
|
tmp_str = g_strndup (&str[loop + 2], tmp_len);
|
||||||
tmp_token = atoi (tmp_str);
|
tmp_token = atoi (tmp_str);
|
||||||
if (max_token < tmp_token)
|
if (max_token < tmp_token)
|
||||||
@ -359,8 +387,10 @@ mc_search_regex__process_replace_str (const GString * replace_str, const gsize c
|
|||||||
|
|
||||||
*skip_len = 0;
|
*skip_len = 0;
|
||||||
|
|
||||||
if (*curr_str == '$' && *(curr_str + 1) == '{' && (*(curr_str + 2) & (char) 0xf0) == 0x30) {
|
if (*curr_str == '$' && *(curr_str + 1) == '{' && (*(curr_str + 2) & (char) 0xf0) == 0x30)
|
||||||
if (strutils_is_char_escaped (replace_str->str, curr_str)) {
|
{
|
||||||
|
if (strutils_is_char_escaped (replace_str->str, curr_str))
|
||||||
|
{
|
||||||
*skip_len = 1;
|
*skip_len = 1;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -383,20 +413,24 @@ mc_search_regex__process_replace_str (const GString * replace_str, const gsize c
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*curr_str == '\\') {
|
if (*curr_str == '\\')
|
||||||
if (strutils_is_char_escaped (replace_str->str, curr_str)) {
|
{
|
||||||
|
if (strutils_is_char_escaped (replace_str->str, curr_str))
|
||||||
|
{
|
||||||
*skip_len = 1;
|
*skip_len = 1;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((*(curr_str + 1) & (char) 0xf0) == 0x30) {
|
if ((*(curr_str + 1) & (char) 0xf0) == 0x30)
|
||||||
|
{
|
||||||
ret = *(curr_str + 1) - '0';
|
ret = *(curr_str + 1) - '0';
|
||||||
*skip_len = 2; /* \\ and one digit */
|
*skip_len = 2; /* \\ and one digit */
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
ret = -2;
|
ret = -2;
|
||||||
*skip_len += 2;
|
*skip_len += 2;
|
||||||
switch (*(curr_str + 1)) {
|
switch (*(curr_str + 1))
|
||||||
|
{
|
||||||
case 'U':
|
case 'U':
|
||||||
*replace_flags |= REPLACE_T_UPP_TRANSFORM;
|
*replace_flags |= REPLACE_T_UPP_TRANSFORM;
|
||||||
*replace_flags &= ~REPLACE_T_LOW_TRANSFORM;
|
*replace_flags &= ~REPLACE_T_LOW_TRANSFORM;
|
||||||
@ -430,39 +464,50 @@ mc_search_regex__process_append_str (GString * dest_str, const char *from, gsize
|
|||||||
char *tmp_str;
|
char *tmp_str;
|
||||||
GString *tmp_string;
|
GString *tmp_string;
|
||||||
|
|
||||||
if (len == (gsize) -1)
|
if (len == (gsize) - 1)
|
||||||
len = strlen (from);
|
len = strlen (from);
|
||||||
|
|
||||||
if (*replace_flags == REPLACE_T_NO_TRANSFORM) {
|
if (*replace_flags == REPLACE_T_NO_TRANSFORM)
|
||||||
|
{
|
||||||
g_string_append_len (dest_str, from, len);
|
g_string_append_len (dest_str, from, len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while (loop < len) {
|
while (loop < len)
|
||||||
|
{
|
||||||
tmp_str = mc_search__get_one_symbol (NULL, from + loop, len - loop, NULL);
|
tmp_str = mc_search__get_one_symbol (NULL, from + loop, len - loop, NULL);
|
||||||
char_len = strlen (tmp_str);
|
char_len = strlen (tmp_str);
|
||||||
if (*replace_flags & REPLACE_T_UPP_TRANSFORM_CHAR) {
|
if (*replace_flags & REPLACE_T_UPP_TRANSFORM_CHAR)
|
||||||
|
{
|
||||||
*replace_flags &= !REPLACE_T_UPP_TRANSFORM_CHAR;
|
*replace_flags &= !REPLACE_T_UPP_TRANSFORM_CHAR;
|
||||||
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
||||||
g_string_append (dest_str, tmp_string->str);
|
g_string_append (dest_str, tmp_string->str);
|
||||||
g_string_free (tmp_string, TRUE);
|
g_string_free (tmp_string, TRUE);
|
||||||
|
|
||||||
} else if (*replace_flags & REPLACE_T_LOW_TRANSFORM_CHAR) {
|
}
|
||||||
|
else if (*replace_flags & REPLACE_T_LOW_TRANSFORM_CHAR)
|
||||||
|
{
|
||||||
*replace_flags &= !REPLACE_T_LOW_TRANSFORM_CHAR;
|
*replace_flags &= !REPLACE_T_LOW_TRANSFORM_CHAR;
|
||||||
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
||||||
g_string_append (dest_str, tmp_string->str);
|
g_string_append (dest_str, tmp_string->str);
|
||||||
g_string_free (tmp_string, TRUE);
|
g_string_free (tmp_string, TRUE);
|
||||||
|
|
||||||
} else if (*replace_flags & REPLACE_T_UPP_TRANSFORM) {
|
}
|
||||||
|
else if (*replace_flags & REPLACE_T_UPP_TRANSFORM)
|
||||||
|
{
|
||||||
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
tmp_string = mc_search__toupper_case_str (NULL, tmp_str, char_len);
|
||||||
g_string_append (dest_str, tmp_string->str);
|
g_string_append (dest_str, tmp_string->str);
|
||||||
g_string_free (tmp_string, TRUE);
|
g_string_free (tmp_string, TRUE);
|
||||||
|
|
||||||
} else if (*replace_flags & REPLACE_T_LOW_TRANSFORM) {
|
}
|
||||||
|
else if (*replace_flags & REPLACE_T_LOW_TRANSFORM)
|
||||||
|
{
|
||||||
tmp_string = mc_search__tolower_case_str (NULL, tmp_str, char_len);
|
tmp_string = mc_search__tolower_case_str (NULL, tmp_str, char_len);
|
||||||
g_string_append (dest_str, tmp_string->str);
|
g_string_append (dest_str, tmp_string->str);
|
||||||
g_string_free (tmp_string, TRUE);
|
g_string_free (tmp_string, TRUE);
|
||||||
|
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
g_string_append (dest_str, tmp_str);
|
g_string_append (dest_str, tmp_str);
|
||||||
}
|
}
|
||||||
g_free (tmp_str);
|
g_free (tmp_str);
|
||||||
@ -485,7 +530,8 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
|
|||||||
int erroffset;
|
int erroffset;
|
||||||
#endif /* SEARCH_TYPE_GLIB */
|
#endif /* SEARCH_TYPE_GLIB */
|
||||||
|
|
||||||
if (!lc_mc_search->is_case_sentitive) {
|
if (!lc_mc_search->is_case_sentitive)
|
||||||
|
{
|
||||||
tmp = g_string_new_len (mc_search_cond->str->str, mc_search_cond->str->len);
|
tmp = g_string_new_len (mc_search_cond->str->str, mc_search_cond->str->len);
|
||||||
g_string_free (mc_search_cond->str, TRUE);
|
g_string_free (mc_search_cond->str, TRUE);
|
||||||
mc_search_cond->str = mc_search__cond_struct_new_regex_ci_str (charset, tmp->str, tmp->len);
|
mc_search_cond->str = mc_search__cond_struct_new_regex_ci_str (charset, tmp->str, tmp->len);
|
||||||
@ -496,7 +542,8 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
|
|||||||
g_regex_new (mc_search_cond->str->str, G_REGEX_OPTIMIZE | G_REGEX_RAW | G_REGEX_DOTALL, 0,
|
g_regex_new (mc_search_cond->str->str, G_REGEX_OPTIMIZE | G_REGEX_RAW | G_REGEX_DOTALL, 0,
|
||||||
&error);
|
&error);
|
||||||
|
|
||||||
if (error != NULL) {
|
if (error != NULL)
|
||||||
|
{
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
||||||
lc_mc_search->error_str = str_conv_gerror_message (error, _(" Regular expression error "));
|
lc_mc_search->error_str = str_conv_gerror_message (error, _(" Regular expression error "));
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
@ -505,14 +552,17 @@ mc_search__cond_struct_new_init_regex (const char *charset, mc_search_t * lc_mc_
|
|||||||
#else /* SEARCH_TYPE_GLIB */
|
#else /* SEARCH_TYPE_GLIB */
|
||||||
mc_search_cond->regex_handle =
|
mc_search_cond->regex_handle =
|
||||||
pcre_compile (mc_search_cond->str->str, PCRE_EXTRA, &error, &erroffset, NULL);
|
pcre_compile (mc_search_cond->str->str, PCRE_EXTRA, &error, &erroffset, NULL);
|
||||||
if (mc_search_cond->regex_handle == NULL) {
|
if (mc_search_cond->regex_handle == NULL)
|
||||||
|
{
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
||||||
lc_mc_search->error_str = g_strdup (error);
|
lc_mc_search->error_str = g_strdup (error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lc_mc_search->regex_match_info = pcre_study (mc_search_cond->regex_handle, 0, &error);
|
lc_mc_search->regex_match_info = pcre_study (mc_search_cond->regex_handle, 0, &error);
|
||||||
if (lc_mc_search->regex_match_info == NULL) {
|
if (lc_mc_search->regex_match_info == NULL)
|
||||||
if (error) {
|
{
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
lc_mc_search->error = MC_SEARCH_E_REGEX_COMPILE;
|
||||||
lc_mc_search->error_str = g_strdup (error);
|
lc_mc_search->error_str = g_strdup (error);
|
||||||
g_free (mc_search_cond->regex_handle);
|
g_free (mc_search_cond->regex_handle);
|
||||||
@ -540,11 +590,13 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
|
|||||||
lc_mc_search->regex_buffer = g_string_new ("");
|
lc_mc_search->regex_buffer = g_string_new ("");
|
||||||
|
|
||||||
virtual_pos = current_pos = start_search;
|
virtual_pos = current_pos = start_search;
|
||||||
while (virtual_pos <= end_search) {
|
while (virtual_pos <= end_search)
|
||||||
|
{
|
||||||
g_string_set_size (lc_mc_search->regex_buffer, 0);
|
g_string_set_size (lc_mc_search->regex_buffer, 0);
|
||||||
lc_mc_search->start_buffer = current_pos;
|
lc_mc_search->start_buffer = current_pos;
|
||||||
|
|
||||||
while (1) {
|
while (1)
|
||||||
|
{
|
||||||
current_chr = mc_search__get_char (lc_mc_search, user_data, current_pos);
|
current_chr = mc_search__get_char (lc_mc_search, user_data, current_pos);
|
||||||
if (current_chr == MC_SEARCH_CB_ABORT)
|
if (current_chr == MC_SEARCH_CB_ABORT)
|
||||||
break;
|
break;
|
||||||
@ -566,7 +618,8 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
switch (mc_search__regex_found_cond (lc_mc_search, lc_mc_search->regex_buffer)) {
|
switch (mc_search__regex_found_cond (lc_mc_search, lc_mc_search->regex_buffer))
|
||||||
|
{
|
||||||
case COND__FOUND_OK:
|
case COND__FOUND_OK:
|
||||||
#ifdef SEARCH_TYPE_GLIB
|
#ifdef SEARCH_TYPE_GLIB
|
||||||
g_match_info_fetch_pos (lc_mc_search->regex_match_info, 0, &start_pos, &end_pos);
|
g_match_info_fetch_pos (lc_mc_search->regex_match_info, 0, &start_pos, &end_pos);
|
||||||
@ -587,8 +640,8 @@ mc_search__run_regex (mc_search_t * lc_mc_search, const void *user_data,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (( lc_mc_search->update_fn != NULL ) &&
|
if ((lc_mc_search->update_fn != NULL) &&
|
||||||
( (lc_mc_search->update_fn) (user_data, current_pos) == MC_SEARCH_CB_ABORT))
|
((lc_mc_search->update_fn) (user_data, current_pos) == MC_SEARCH_CB_ABORT))
|
||||||
current_chr = MC_SEARCH_CB_ABORT;
|
current_chr = MC_SEARCH_CB_ABORT;
|
||||||
|
|
||||||
if (current_chr == MC_SEARCH_CB_ABORT)
|
if (current_chr == MC_SEARCH_CB_ABORT)
|
||||||
@ -626,7 +679,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
|
|||||||
return g_string_new_len (replace_str->str, replace_str->len);
|
return g_string_new_len (replace_str->str, replace_str->len);
|
||||||
|
|
||||||
if (num_replace_tokens > lc_mc_search->num_rezults - 1
|
if (num_replace_tokens > lc_mc_search->num_rezults - 1
|
||||||
|| num_replace_tokens > MC_SEARCH__NUM_REPLACE_ARGS) {
|
|| num_replace_tokens > MC_SEARCH__NUM_REPLACE_ARGS)
|
||||||
|
{
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
|
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
|
||||||
lc_mc_search->error_str = g_strdup (STR_E_RPL_NOT_EQ_TO_FOUND);
|
lc_mc_search->error_str = g_strdup (STR_E_RPL_NOT_EQ_TO_FOUND);
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -634,11 +688,14 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
|
|||||||
|
|
||||||
ret = g_string_new ("");
|
ret = g_string_new ("");
|
||||||
prev_str = replace_str->str;
|
prev_str = replace_str->str;
|
||||||
for (loop = 0; loop < replace_str->len - 1; loop++) {
|
for (loop = 0; loop < replace_str->len - 1; loop++)
|
||||||
|
{
|
||||||
lc_index = mc_search_regex__process_replace_str (replace_str, loop, &len, &replace_flags);
|
lc_index = mc_search_regex__process_replace_str (replace_str, loop, &len, &replace_flags);
|
||||||
|
|
||||||
if (lc_index == -1) {
|
if (lc_index == -1)
|
||||||
if (len != 0) {
|
{
|
||||||
|
if (len != 0)
|
||||||
|
{
|
||||||
mc_search_regex__process_append_str (ret, prev_str,
|
mc_search_regex__process_append_str (ret, prev_str,
|
||||||
replace_str->str - prev_str + loop,
|
replace_str->str - prev_str + loop,
|
||||||
&replace_flags);
|
&replace_flags);
|
||||||
@ -650,7 +707,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lc_index == -2) {
|
if (lc_index == -2)
|
||||||
|
{
|
||||||
if (loop)
|
if (loop)
|
||||||
mc_search_regex__process_append_str (ret, prev_str,
|
mc_search_regex__process_append_str (ret, prev_str,
|
||||||
replace_str->str - prev_str + loop,
|
replace_str->str - prev_str + loop,
|
||||||
@ -660,7 +718,8 @@ mc_search_regex_prepare_replace_str (mc_search_t * lc_mc_search, GString * repla
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lc_index > lc_mc_search->num_rezults) {
|
if (lc_index > lc_mc_search->num_rezults)
|
||||||
|
{
|
||||||
g_string_free (ret, TRUE);
|
g_string_free (ret, TRUE);
|
||||||
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
|
lc_mc_search->error = MC_SEARCH_E_REGEX_REPLACE;
|
||||||
lc_mc_search->error_str = g_strdup_printf (STR_E_RPL_INVALID_TOKEN, lc_index);
|
lc_mc_search->error_str = g_strdup_printf (STR_E_RPL_INVALID_TOKEN, lc_index);
|
||||||
|
@ -663,6 +663,7 @@ load_mc_home_file (const char *_mc_home, const char *_mc_home_alt, const char *f
|
|||||||
/* Fall back to the two-letter language code */
|
/* Fall back to the two-letter language code */
|
||||||
if (lang[0] && lang[1])
|
if (lang[0] && lang[1])
|
||||||
lang[2] = 0;
|
lang[2] = 0;
|
||||||
|
g_free (hintfile);
|
||||||
hintfile = g_strconcat (hintfile_base, ".", lang, (char *) NULL);
|
hintfile = g_strconcat (hintfile_base, ".", lang, (char *) NULL);
|
||||||
data = load_file (hintfile);
|
data = load_file (hintfile);
|
||||||
|
|
||||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -486,7 +486,7 @@ extfs_read_archive (int fstype, const char *name, struct archive **pparc)
|
|||||||
*(p++) = '\0';
|
*(p++) = '\0';
|
||||||
q = cfn;
|
q = cfn;
|
||||||
}
|
}
|
||||||
if (S_ISDIR (hstat.st_mode) && (strcmp (p, ".") || !strcmp (p, "..") == 0))
|
if (S_ISDIR (hstat.st_mode) && (strcmp (p, ".") == 0 || strcmp (p, "..") == 0))
|
||||||
goto read_extfs_continue;
|
goto read_extfs_continue;
|
||||||
pent = extfs_find_entry (current_archive->root_entry, q, TRUE, FALSE);
|
pent = extfs_find_entry (current_archive->root_entry, q, TRUE, FALSE);
|
||||||
if (pent == NULL)
|
if (pent == NULL)
|
||||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -23,6 +23,7 @@ context default
|
|||||||
keyword = brightcyan
|
keyword = brightcyan
|
||||||
keyword ; brightmagenta
|
keyword ; brightmagenta
|
||||||
keyword whole extensions yellow
|
keyword whole extensions yellow
|
||||||
|
keyword whole extensions_case yellow
|
||||||
keyword whole type yellow
|
keyword whole type yellow
|
||||||
keyword DEVICE brightred
|
keyword DEVICE brightred
|
||||||
keyword DIR brightred
|
keyword DIR brightred
|
||||||
|
73
po/ko.po
73
po/ko.po
@ -14,9 +14,9 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-Country: KOREA, REPUBLIC OF\n"
|
||||||
"X-Poedit-Language: Korean\n"
|
"X-Poedit-Language: Korean\n"
|
||||||
"X-Poedit-SourceCharset: utf-8\n"
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
"X-Poedit-Country: KOREA, REPUBLIC OF\n"
|
|
||||||
|
|
||||||
msgid " Search string not found "
|
msgid " Search string not found "
|
||||||
msgstr "글월을 찾을 수 없군요 "
|
msgstr "글월을 찾을 수 없군요 "
|
||||||
@ -25,7 +25,7 @@ msgid " Not implemented yet "
|
|||||||
msgstr "아직 구현되지 않았습니다."
|
msgstr "아직 구현되지 않았습니다."
|
||||||
|
|
||||||
msgid " Num of replace tokens not equal to num of found tokens "
|
msgid " Num of replace tokens not equal to num of found tokens "
|
||||||
msgstr " Num of replace tokens not equal to num of found tokens "
|
msgstr "Num of replace tokens not equal to num of found tokens "
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Invalid token number %d "
|
msgid " Invalid token number %d "
|
||||||
@ -35,7 +35,7 @@ msgid "Normal"
|
|||||||
msgstr "일반"
|
msgstr "일반"
|
||||||
|
|
||||||
msgid "&Regular expression"
|
msgid "&Regular expression"
|
||||||
msgstr "정규표현식(&R)"
|
msgstr "정규 표현식(&R)"
|
||||||
|
|
||||||
msgid "Hexadecimal"
|
msgid "Hexadecimal"
|
||||||
msgstr "16진수"
|
msgstr "16진수"
|
||||||
@ -395,7 +395,7 @@ msgid ""
|
|||||||
"%s"
|
"%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"파일의 끝에 알 수 없습니다\n"
|
"파일의 끝에 알 수 없습니다\n"
|
||||||
"% s"
|
"%s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Directory cache expired for %s"
|
msgid "Directory cache expired for %s"
|
||||||
@ -406,11 +406,11 @@ msgstr "선형 전송 시작..."
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
|
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
|
||||||
msgstr "%s: %s: %s %3d%% (%lu 바이트 전송됨)"
|
msgstr "%s: %s: %s %3d%% (%lu 바이트 전송 됨)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: %s: %s %lu bytes transferred"
|
msgid "%s: %s: %s %lu bytes transferred"
|
||||||
msgstr "%s: %s: %s %lu 바이트 전송됨"
|
msgstr "%s: %s: %s %lu 바이트 전송 됨"
|
||||||
|
|
||||||
msgid "Getting file"
|
msgid "Getting file"
|
||||||
msgstr "파일 받기"
|
msgstr "파일 받기"
|
||||||
@ -432,7 +432,7 @@ msgstr "경고: %s 디렉터리을 바꿀 수 없습니다\n"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: Disconnecting from %s"
|
msgid "fish: Disconnecting from %s"
|
||||||
msgstr "fish : %s에서 분리중"
|
msgstr "fish : %s에서 분리 중"
|
||||||
|
|
||||||
msgid "fish: Waiting for initial line..."
|
msgid "fish: Waiting for initial line..."
|
||||||
msgstr "fish: 초기 라인을 기다림..."
|
msgstr "fish: 초기 라인을 기다림..."
|
||||||
@ -457,11 +457,11 @@ msgstr "fish: 현재 디렉터리의 설정..."
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: Connected, home %s."
|
msgid "fish: Connected, home %s."
|
||||||
msgstr "fish: 홈 %s , 접속됨."
|
msgstr "fish: 홈 %s, 접속됨."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: Reading directory %s..."
|
msgid "fish: Reading directory %s..."
|
||||||
msgstr "fish: %s 디렉터리 읽는 중..."
|
msgstr "fish: %s 디렉터리 읽는 중..."
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: done."
|
msgid "%s: done."
|
||||||
@ -473,7 +473,7 @@ msgstr "%s: 실패"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: store %s: sending command..."
|
msgid "fish: store %s: sending command..."
|
||||||
msgstr "fish: % s : 명령을 보내는 중..."
|
msgstr "fish: %s : 명령을 보내는 중..."
|
||||||
|
|
||||||
msgid "fish: Local read failed, sending zeros"
|
msgid "fish: Local read failed, sending zeros"
|
||||||
msgstr "fish: 상태 읽기 실패, 전송 제로"
|
msgstr "fish: 상태 읽기 실패, 전송 제로"
|
||||||
@ -547,7 +547,7 @@ msgstr " ftpfs: 서버로 연결할 수 없음: %s "
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Waiting to retry... %d (Control-C to cancel)"
|
msgid "Waiting to retry... %d (Control-C to cancel)"
|
||||||
msgstr "재시도를 기다리는 중 ... % d (컨트롤 - C를 취소)"
|
msgstr "재시도를 기다리는 중 ... %d (Contro-C로 취소)"
|
||||||
|
|
||||||
msgid "ftpfs: invalid address family"
|
msgid "ftpfs: invalid address family"
|
||||||
msgstr "ftpfs: 잘못된 주소 목록"
|
msgstr "ftpfs: 잘못된 주소 목록"
|
||||||
@ -575,7 +575,7 @@ msgstr "ftpfs: 중지 실패"
|
|||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "ftpfs: CWD failed."
|
msgid "ftpfs: CWD failed."
|
||||||
msgstr "ftpfs: CWD실패."
|
msgstr "ftpfs : CWD에 실패했습니다."
|
||||||
|
|
||||||
msgid "ftpfs: couldn't resolve symlink"
|
msgid "ftpfs: couldn't resolve symlink"
|
||||||
msgstr "ftpfs: 심볼릭 링크 해결 못함"
|
msgstr "ftpfs: 심볼릭 링크 해결 못함"
|
||||||
@ -841,7 +841,7 @@ msgstr "모드"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%6d of %d"
|
msgid "%6d of %d"
|
||||||
msgstr "%6d of %d"
|
msgstr "%6d 의 %d"
|
||||||
|
|
||||||
msgid " Chown advanced command "
|
msgid " Chown advanced command "
|
||||||
msgstr " 고급 chown 명령 "
|
msgstr " 고급 chown 명령 "
|
||||||
@ -1035,7 +1035,7 @@ msgid "Listing mode"
|
|||||||
msgstr "목록보기 설정"
|
msgstr "목록보기 설정"
|
||||||
|
|
||||||
msgid "user &Mini status"
|
msgid "user &Mini status"
|
||||||
msgstr "사용자 &미니 상태 바(&M)"
|
msgstr "사용자 미니 상태 바(&M)"
|
||||||
|
|
||||||
msgid "&OK"
|
msgid "&OK"
|
||||||
msgstr "확인(&O)"
|
msgstr "확인(&O)"
|
||||||
@ -1098,7 +1098,7 @@ msgid "Other 8 bit"
|
|||||||
msgstr "다른 8 비트"
|
msgstr "다른 8 비트"
|
||||||
|
|
||||||
msgid "Input / display codepage:"
|
msgid "Input / display codepage:"
|
||||||
msgstr "입출력 코드페이지:"
|
msgstr "입/출력 코드페이지:"
|
||||||
|
|
||||||
msgid "&Select"
|
msgid "&Select"
|
||||||
msgstr "선택(&S)"
|
msgstr "선택(&S)"
|
||||||
@ -1355,7 +1355,7 @@ msgid " Which menu file do you want to edit? "
|
|||||||
msgstr "어떤 메뉴 파일을 편집하고 싶으세요? "
|
msgstr "어떤 메뉴 파일을 편집하고 싶으세요? "
|
||||||
|
|
||||||
msgid "&Local"
|
msgid "&Local"
|
||||||
msgstr "로칼(&L)"
|
msgstr "로컬(&L)"
|
||||||
|
|
||||||
msgid "Highlighting groups file edit"
|
msgid "Highlighting groups file edit"
|
||||||
msgstr "선택 표시된 그룹 파일을 수정"
|
msgstr "선택 표시된 그룹 파일을 수정"
|
||||||
@ -1493,7 +1493,7 @@ msgstr "에러"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Error reading from pipe: %s "
|
msgid " Error reading from pipe: %s "
|
||||||
msgstr "파이프 읽기 에러: %s "
|
msgstr "파이프 읽기 에러: %s "
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " Cannot open pipe for reading: %s "
|
msgid " Cannot open pipe for reading: %s "
|
||||||
@ -1560,7 +1560,7 @@ msgid "&Safe save"
|
|||||||
msgstr "안전한 저장(&S)"
|
msgstr "안전한 저장(&S)"
|
||||||
|
|
||||||
msgid "&Do backups with following extension:"
|
msgid "&Do backups with following extension:"
|
||||||
msgstr "확장명을 다음과 같이 백업하지 않음(&D) :"
|
msgstr "확장명을 다음과 같이 백업하지 않음(&D):"
|
||||||
|
|
||||||
msgid "Check &POSIX new line"
|
msgid "Check &POSIX new line"
|
||||||
msgstr "체크 POSIX의 새로운 라인(&P)"
|
msgstr "체크 POSIX의 새로운 라인(&P)"
|
||||||
@ -1584,7 +1584,7 @@ msgid "&Windows/DOS format (CR LF)"
|
|||||||
msgstr "MS 도스/윈도우즈 포맷(&W) (CR LF)"
|
msgstr "MS 도스/윈도우즈 포맷(&W) (CR LF)"
|
||||||
|
|
||||||
msgid "&Macintosh format (CR)"
|
msgid "&Macintosh format (CR)"
|
||||||
msgstr "메캔토시 포맷(&M) (CR)"
|
msgstr "매캔토시 포맷(&M) (CR)"
|
||||||
|
|
||||||
msgid "Change line breaks to:"
|
msgid "Change line breaks to:"
|
||||||
msgstr "깨진 라인 바꾸기:"
|
msgstr "깨진 라인 바꾸기:"
|
||||||
@ -1629,7 +1629,7 @@ msgid " Load macro "
|
|||||||
msgstr "매크로 불러오기"
|
msgstr "매크로 불러오기"
|
||||||
|
|
||||||
msgid " Confirm save file? : "
|
msgid " Confirm save file? : "
|
||||||
msgstr "저장하시겠습니까? "
|
msgstr "저장하시겠습니까? :"
|
||||||
|
|
||||||
msgid " Save file "
|
msgid " Save file "
|
||||||
msgstr "파일 저장"
|
msgstr "파일 저장"
|
||||||
@ -1645,7 +1645,7 @@ msgstr ""
|
|||||||
" 저장 안하고 계속하실 겁니까? "
|
" 저장 안하고 계속하실 겁니까? "
|
||||||
|
|
||||||
msgid "Syntax file edit"
|
msgid "Syntax file edit"
|
||||||
msgstr "문법 파일 수정(&M)"
|
msgstr "문법 파일 수정"
|
||||||
|
|
||||||
msgid " Which syntax file you want to edit? "
|
msgid " Which syntax file you want to edit? "
|
||||||
msgstr "수정하기를 원하는 문법 파일은? "
|
msgstr "수정하기를 원하는 문법 파일은? "
|
||||||
@ -1676,7 +1676,7 @@ msgid "&Cancel quit"
|
|||||||
msgstr "끝내기 취소(&C)"
|
msgstr "끝내기 취소(&C)"
|
||||||
|
|
||||||
msgid " Error "
|
msgid " Error "
|
||||||
msgstr "에러"
|
msgstr "오류"
|
||||||
|
|
||||||
msgid " This function is not implemented. "
|
msgid " This function is not implemented. "
|
||||||
msgstr "이 기능은 구현되지 않습니다."
|
msgstr "이 기능은 구현되지 않습니다."
|
||||||
@ -1751,7 +1751,7 @@ msgid "Script created:"
|
|||||||
msgstr "스크립트 만듬:"
|
msgstr "스크립트 만듬:"
|
||||||
|
|
||||||
msgid "Process block"
|
msgid "Process block"
|
||||||
msgstr "Process block"
|
msgstr "프로세스 블럭"
|
||||||
|
|
||||||
msgid " Copies to"
|
msgid " Copies to"
|
||||||
msgstr "복사"
|
msgstr "복사"
|
||||||
@ -1811,7 +1811,7 @@ msgid "A&ll"
|
|||||||
msgstr "모두(&L)"
|
msgstr "모두(&L)"
|
||||||
|
|
||||||
msgid " Replace with: "
|
msgid " Replace with: "
|
||||||
msgstr " ...로 바꿈: "
|
msgstr "함께 바꿈: "
|
||||||
|
|
||||||
msgid " Confirm replace "
|
msgid " Confirm replace "
|
||||||
msgstr "바꾸기 확인 "
|
msgstr "바꾸기 확인 "
|
||||||
@ -2758,7 +2758,7 @@ msgid "Fr&ee VFSs now"
|
|||||||
msgstr "VFS를 지금 해제(&E)"
|
msgstr "VFS를 지금 해제(&E)"
|
||||||
|
|
||||||
msgid "Change &To"
|
msgid "Change &To"
|
||||||
msgstr "로 바꾸기(&T)"
|
msgstr "바꾸기(&T)"
|
||||||
|
|
||||||
msgid "Subgroup - press ENTER to see list"
|
msgid "Subgroup - press ENTER to see list"
|
||||||
msgstr "하위집단 - 보려면 엔터키를 누르십시오"
|
msgstr "하위집단 - 보려면 엔터키를 누르십시오"
|
||||||
@ -2836,7 +2836,7 @@ msgstr "미드나잇 코맨더 %s"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "File: %s"
|
msgid "File: %s"
|
||||||
msgstr "파일: %s"
|
msgstr "파일: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Free nodes: %d (%d%%) of %d"
|
msgid "Free nodes: %d (%d%%) of %d"
|
||||||
@ -2854,14 +2854,14 @@ msgstr "빈 공간: 정보 없음"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Type: %s "
|
msgid "Type: %s "
|
||||||
msgstr "종류: %s "
|
msgstr "종류: %s "
|
||||||
|
|
||||||
msgid "non-local vfs"
|
msgid "non-local vfs"
|
||||||
msgstr "원격 vfs"
|
msgstr "원격 vfs"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device: %s"
|
msgid "Device: %s"
|
||||||
msgstr "디바이스: %s"
|
msgstr "디바이스: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Filesystem: %s"
|
msgid "Filesystem: %s"
|
||||||
@ -2869,16 +2869,16 @@ msgstr "파일체계: %s"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Accessed: %s"
|
msgid "Accessed: %s"
|
||||||
msgstr "액세스일: %s"
|
msgstr "액세스일: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Modified: %s"
|
msgid "Modified: %s"
|
||||||
msgstr "수정일: %s"
|
msgstr "수정일: %s"
|
||||||
|
|
||||||
#. TRANSLATORS: "Status changed", like in the stat(2) man page
|
#. TRANSLATORS: "Status changed", like in the stat(2) man page
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Status: %s"
|
msgid "Status: %s"
|
||||||
msgstr "만든날: %s"
|
msgstr "만든날: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Dev. type: major %lu, minor %lu"
|
msgid "Dev. type: major %lu, minor %lu"
|
||||||
@ -2886,7 +2886,7 @@ msgstr "Dev. type: 주요 %lu, 기여 %lu"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Size: %s"
|
msgid "Size: %s"
|
||||||
msgstr "크기: %s"
|
msgstr "크기: %s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " (%ld block)"
|
msgid " (%ld block)"
|
||||||
@ -2894,19 +2894,19 @@ msgstr " (%ld 블럭)"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Owner: %s/%s"
|
msgid "Owner: %s/%s"
|
||||||
msgstr "소유자: %s/%s"
|
msgstr "소유자: %s/%s"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Links: %d"
|
msgid "Links: %d"
|
||||||
msgstr "링크: %d"
|
msgstr "링크: %d"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Mode: %s (%04o)"
|
msgid "Mode: %s (%04o)"
|
||||||
msgstr "모드: %s (%04o)"
|
msgstr "모드: %s (%04o)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Location: %Xh:%Xh"
|
msgid "Location: %Xh:%Xh"
|
||||||
msgstr "위치: %Xh:%Xh"
|
msgstr "위치: %Xh:%Xh"
|
||||||
|
|
||||||
msgid "&Vertical"
|
msgid "&Vertical"
|
||||||
msgstr "수직(&V)"
|
msgstr "수직(&V)"
|
||||||
@ -3755,4 +3755,3 @@ msgstr "기록을 삭제하기를 원하십니까?"
|
|||||||
|
|
||||||
msgid "Background process:"
|
msgid "Background process:"
|
||||||
msgstr "배경 프로세스:"
|
msgstr "배경 프로세스:"
|
||||||
|
|
||||||
|
68
po/uk.po
68
po/uk.po
@ -15,8 +15,8 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
||||||
"X-Generator: Lokalize 1.0\n"
|
"X-Generator: Lokalize 1.0\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
msgid " Search string not found "
|
msgid " Search string not found "
|
||||||
msgstr " Така стрічка не знайдена "
|
msgstr " Така стрічка не знайдена "
|
||||||
@ -340,7 +340,7 @@ msgstr "Тимчасові файли створюватися не будуть
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Press any key to continue..."
|
msgid "Press any key to continue..."
|
||||||
msgstr "Натисніть пробіл для продовження..."
|
msgstr "Натисніть пробіл для продовження…"
|
||||||
|
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Попередження"
|
msgstr "Попередження"
|
||||||
@ -404,7 +404,7 @@ msgid "Directory cache expired for %s"
|
|||||||
msgstr "Кеш каталога застарів для %s"
|
msgstr "Кеш каталога застарів для %s"
|
||||||
|
|
||||||
msgid "Starting linear transfer..."
|
msgid "Starting linear transfer..."
|
||||||
msgstr "Початок лінійного перенесення..."
|
msgstr "Початок лінійного перенесення…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
|
msgid "%s: %s: %s %3d%% (%lu bytes transferred)"
|
||||||
@ -438,7 +438,7 @@ msgid "fish: Disconnecting from %s"
|
|||||||
msgstr "fish: від'єднуюсь від %s"
|
msgstr "fish: від'єднуюсь від %s"
|
||||||
|
|
||||||
msgid "fish: Waiting for initial line..."
|
msgid "fish: Waiting for initial line..."
|
||||||
msgstr "fish: чекаю початковий рядок..."
|
msgstr "fish: чекаю початковий рядок…"
|
||||||
|
|
||||||
msgid "Sorry, we cannot do password authenticated connections for now."
|
msgid "Sorry, we cannot do password authenticated connections for now."
|
||||||
msgstr "Вибачте, зараз неможливо створювати з'єднання, авторизовані паролем."
|
msgstr "Вибачте, зараз неможливо створювати з'єднання, авторизовані паролем."
|
||||||
@ -447,16 +447,16 @@ msgid " fish: Password required for "
|
|||||||
msgstr " fish: вимагається пароль для "
|
msgstr " fish: вимагається пароль для "
|
||||||
|
|
||||||
msgid "fish: Sending password..."
|
msgid "fish: Sending password..."
|
||||||
msgstr "fish: відсилаю пароль..."
|
msgstr "fish: відсилаю пароль…"
|
||||||
|
|
||||||
msgid "fish: Sending initial line..."
|
msgid "fish: Sending initial line..."
|
||||||
msgstr "fish: відсилаю початковий рядок..."
|
msgstr "fish: відсилаю початковий рядок…"
|
||||||
|
|
||||||
msgid "fish: Handshaking version..."
|
msgid "fish: Handshaking version..."
|
||||||
msgstr "fish: домовляюсь про версію..."
|
msgstr "fish: домовляюсь про версію…"
|
||||||
|
|
||||||
msgid "fish: Setting up current directory..."
|
msgid "fish: Setting up current directory..."
|
||||||
msgstr "fish: встановлюю поточний каталог..."
|
msgstr "fish: встановлюю поточний каталог…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: Connected, home %s."
|
msgid "fish: Connected, home %s."
|
||||||
@ -464,7 +464,7 @@ msgstr "fish: з'єднався, домашній каталог %s."
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: Reading directory %s..."
|
msgid "fish: Reading directory %s..."
|
||||||
msgstr "fish: читаю каталог %s..."
|
msgstr "fish: читаю каталог %s…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s: done."
|
msgid "%s: done."
|
||||||
@ -476,7 +476,7 @@ msgstr "%s: збій"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "fish: store %s: sending command..."
|
msgid "fish: store %s: sending command..."
|
||||||
msgstr "fish: запис %s: відсилаю команду..."
|
msgstr "fish: запис %s: відсилаю команду…"
|
||||||
|
|
||||||
msgid "fish: Local read failed, sending zeros"
|
msgid "fish: Local read failed, sending zeros"
|
||||||
msgstr "fish: Збій локального читання, відсилаються нулі"
|
msgstr "fish: Збій локального читання, відсилаються нулі"
|
||||||
@ -492,7 +492,7 @@ msgid "file"
|
|||||||
msgstr "файл"
|
msgstr "файл"
|
||||||
|
|
||||||
msgid "Aborting transfer..."
|
msgid "Aborting transfer..."
|
||||||
msgstr "Переривання перенесення..."
|
msgstr "Переривання перенесення…"
|
||||||
|
|
||||||
msgid "Error reported after abort."
|
msgid "Error reported after abort."
|
||||||
msgstr "Повідомлена помилка після переривання."
|
msgstr "Повідомлена помилка після переривання."
|
||||||
@ -550,7 +550,7 @@ msgstr "ftpfs: збій з'єднання з сервером: %s"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Waiting to retry... %d (Control-C to cancel)"
|
msgid "Waiting to retry... %d (Control-C to cancel)"
|
||||||
msgstr "Очікування повтору спроби... %d (Control-C для скасування)"
|
msgstr "Очікування повтору спроби… %d (Control-C для скасування)"
|
||||||
|
|
||||||
msgid "ftpfs: invalid address family"
|
msgid "ftpfs: invalid address family"
|
||||||
msgstr "ftpfs: неправильний рід адреси"
|
msgstr "ftpfs: неправильний рід адреси"
|
||||||
@ -585,11 +585,11 @@ msgid "ftpfs: couldn't resolve symlink"
|
|||||||
msgstr "ftpfs: не зміг розпізнати символьне посилання"
|
msgstr "ftpfs: не зміг розпізнати символьне посилання"
|
||||||
|
|
||||||
msgid "Resolving symlink..."
|
msgid "Resolving symlink..."
|
||||||
msgstr "Розпізнається символьне посилання..."
|
msgstr "Розпізнається символьне посилання…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "ftpfs: Reading FTP directory %s... %s%s"
|
msgid "ftpfs: Reading FTP directory %s... %s%s"
|
||||||
msgstr "ftpfs: Читання каталога FTP %s... %s%s"
|
msgstr "ftpfs: Читання каталога FTP %s… %s%s"
|
||||||
|
|
||||||
msgid "(strict rfc959)"
|
msgid "(strict rfc959)"
|
||||||
msgstr "(обмеження rfc959)"
|
msgstr "(обмеження rfc959)"
|
||||||
@ -724,7 +724,7 @@ msgid ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"doesn't look like a tar archive."
|
"doesn't look like a tar archive."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Гм,...\n"
|
"Гм,…\n"
|
||||||
"%s\n"
|
"%s\n"
|
||||||
"не схожий на tar-архів."
|
"не схожий на tar-архів."
|
||||||
|
|
||||||
@ -768,25 +768,25 @@ msgid " Cannot open file %s "
|
|||||||
msgstr " Не вдалося відкрити файл %s "
|
msgstr " Не вдалося відкрити файл %s "
|
||||||
|
|
||||||
msgid "undelfs: reading inode bitmap..."
|
msgid "undelfs: reading inode bitmap..."
|
||||||
msgstr "undelfs: читання бітової мапи i-вузлів..."
|
msgstr "undelfs: читання бітової карти i-вузлів…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" Cannot load inode bitmap from: \n"
|
" Cannot load inode bitmap from: \n"
|
||||||
" %s \n"
|
" %s \n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" Не вдалося завантажити бітову мапу i-вузлів з:\n"
|
" Не вдалося завантажити бітову карту i-вузлів з:\n"
|
||||||
" %s \n"
|
" %s \n"
|
||||||
|
|
||||||
msgid "undelfs: reading block bitmap..."
|
msgid "undelfs: reading block bitmap..."
|
||||||
msgstr "undelfs: читання блоку бітової мапи..."
|
msgstr "undelfs: читання блоку бітової карти…"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" Cannot load block bitmap from: \n"
|
" Cannot load block bitmap from: \n"
|
||||||
" %s \n"
|
" %s \n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" Не вдалося завантажити блок бітової мапи з:\n"
|
" Не вдалося завантажити блок бітової карти з:\n"
|
||||||
" %s \n"
|
" %s \n"
|
||||||
|
|
||||||
msgid " vfs_info is not fs! "
|
msgid " vfs_info is not fs! "
|
||||||
@ -1847,7 +1847,7 @@ msgid "&Ignore lock"
|
|||||||
msgstr "Ігнорувати замок"
|
msgstr "Ігнорувати замок"
|
||||||
|
|
||||||
msgid "&Open file..."
|
msgid "&Open file..."
|
||||||
msgstr "&Відкрити файл..."
|
msgstr "&Відкрити файл…"
|
||||||
|
|
||||||
msgid "&New"
|
msgid "&New"
|
||||||
msgstr "Новий"
|
msgstr "Новий"
|
||||||
@ -1994,7 +1994,7 @@ msgid "&External formatter"
|
|||||||
msgstr "З&овнішня програма форматування"
|
msgstr "З&овнішня програма форматування"
|
||||||
|
|
||||||
msgid "&General... "
|
msgid "&General... "
|
||||||
msgstr "&Загальні... "
|
msgstr "&Загальні…"
|
||||||
|
|
||||||
msgid "Save &mode..."
|
msgid "Save &mode..."
|
||||||
msgstr "Режим &збереження…"
|
msgstr "Режим &збереження…"
|
||||||
@ -2973,7 +2973,7 @@ msgid " Panel split "
|
|||||||
msgstr " Розбиття панелей "
|
msgstr " Розбиття панелей "
|
||||||
|
|
||||||
msgid " Highlight... "
|
msgid " Highlight... "
|
||||||
msgstr " Підсвітка... "
|
msgstr " Підсвітка…"
|
||||||
|
|
||||||
msgid " Other options "
|
msgid " Other options "
|
||||||
msgstr " Інші параметри "
|
msgstr " Інші параметри "
|
||||||
@ -3054,7 +3054,7 @@ msgid " Do you really want to quit the Midnight Commander? "
|
|||||||
msgstr " Ви дійсно хочете вийти з Midnight Commander? "
|
msgstr " Ви дійсно хочете вийти з Midnight Commander? "
|
||||||
|
|
||||||
msgid "&Listing mode..."
|
msgid "&Listing mode..."
|
||||||
msgstr "Фор&мат списку..."
|
msgstr "Фор&мат списку…"
|
||||||
|
|
||||||
msgid "&Quick view"
|
msgid "&Quick view"
|
||||||
msgstr "Швидкий перегляд"
|
msgstr "Швидкий перегляд"
|
||||||
@ -3063,25 +3063,25 @@ msgid "&Info"
|
|||||||
msgstr "Інформація"
|
msgstr "Інформація"
|
||||||
|
|
||||||
msgid "&Sort order..."
|
msgid "&Sort order..."
|
||||||
msgstr "Порядок &сортування"
|
msgstr "Порядок &сортування…"
|
||||||
|
|
||||||
msgid "&Filter..."
|
msgid "&Filter..."
|
||||||
msgstr "&Фільтр..."
|
msgstr "&Фільтр…"
|
||||||
|
|
||||||
msgid "&Encoding..."
|
msgid "&Encoding..."
|
||||||
msgstr "Кодування…"
|
msgstr "Кодування…"
|
||||||
|
|
||||||
msgid "&Network link..."
|
msgid "&Network link..."
|
||||||
msgstr "Ме&режне з'єднання..."
|
msgstr "Ме&режне з'єднання…"
|
||||||
|
|
||||||
msgid "FT&P link..."
|
msgid "FT&P link..."
|
||||||
msgstr "&FTP-з'єднання..."
|
msgstr "&FTP-з'єднання…"
|
||||||
|
|
||||||
msgid "S&hell link..."
|
msgid "S&hell link..."
|
||||||
msgstr "Зв'язок через &shell..."
|
msgstr "Зв'язок через &shell…"
|
||||||
|
|
||||||
msgid "SM&B link..."
|
msgid "SM&B link..."
|
||||||
msgstr "Зв'язок через &SMB..."
|
msgstr "Зв'язок через &SMB…"
|
||||||
|
|
||||||
msgid "&Rescan"
|
msgid "&Rescan"
|
||||||
msgstr "Пересканувати"
|
msgstr "Пересканувати"
|
||||||
@ -3189,19 +3189,19 @@ msgid "Edit hi&ghlighting group file"
|
|||||||
msgstr "Редагувати файл підсвітки груп"
|
msgstr "Редагувати файл підсвітки груп"
|
||||||
|
|
||||||
msgid "&Configuration..."
|
msgid "&Configuration..."
|
||||||
msgstr "&Конфігурація..."
|
msgstr "&Конфігурація…"
|
||||||
|
|
||||||
msgid "&Layout..."
|
msgid "&Layout..."
|
||||||
msgstr "&Макет..."
|
msgstr "&Макет…"
|
||||||
|
|
||||||
msgid "C&onfirmation..."
|
msgid "C&onfirmation..."
|
||||||
msgstr "&Підтвердження…"
|
msgstr "&Підтвердження…"
|
||||||
|
|
||||||
msgid "&Display bits..."
|
msgid "&Display bits..."
|
||||||
msgstr "&Відображення символів..."
|
msgstr "&Відображення символів…"
|
||||||
|
|
||||||
msgid "&Virtual FS..."
|
msgid "&Virtual FS..."
|
||||||
msgstr "Віртуальні &ФС..."
|
msgstr "Віртуальні &ФС…"
|
||||||
|
|
||||||
msgid "&Above"
|
msgid "&Above"
|
||||||
msgstr "Верхня"
|
msgstr "Верхня"
|
||||||
@ -3325,7 +3325,7 @@ msgid " Panel options "
|
|||||||
msgstr " Параметри панелей "
|
msgstr " Параметри панелей "
|
||||||
|
|
||||||
msgid " Pause after run... "
|
msgid " Pause after run... "
|
||||||
msgstr " Пауза після виконання... "
|
msgstr " Пауза після виконання…"
|
||||||
|
|
||||||
msgid "Configure options"
|
msgid "Configure options"
|
||||||
msgstr "Параметри конфігурації"
|
msgstr "Параметри конфігурації"
|
||||||
|
1306
src/complete.c
1306
src/complete.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
3512
src/editor/edit.c
3512
src/editor/edit.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -1881,7 +1881,6 @@ void
|
|||||||
edit_search_cmd (WEdit * edit, int again)
|
edit_search_cmd (WEdit * edit, int again)
|
||||||
{
|
{
|
||||||
char *search_string = NULL, *search_string_dup = NULL;
|
char *search_string = NULL, *search_string_dup = NULL;
|
||||||
|
|
||||||
gsize len = 0;
|
gsize len = 0;
|
||||||
|
|
||||||
if (!edit)
|
if (!edit)
|
||||||
@ -1910,36 +1909,45 @@ edit_search_cmd (WEdit * edit, int again)
|
|||||||
{
|
{
|
||||||
#ifdef HAVE_CHARSET
|
#ifdef HAVE_CHARSET
|
||||||
GString *tmp;
|
GString *tmp;
|
||||||
|
|
||||||
if (search_string && *search_string)
|
if (search_string && *search_string)
|
||||||
{
|
{
|
||||||
tmp = str_convert_to_display (search_string);
|
tmp = str_convert_to_display (search_string);
|
||||||
|
if (tmp != NULL)
|
||||||
g_free (search_string_dup);
|
{
|
||||||
search_string_dup = NULL;
|
if (tmp->len == 0)
|
||||||
|
g_string_free (tmp, TRUE);
|
||||||
if (tmp && tmp->len)
|
else
|
||||||
search_string = search_string_dup = tmp->str;
|
{
|
||||||
g_string_free (tmp, FALSE);
|
g_free (search_string);
|
||||||
|
search_string = search_string_dup = g_string_free (tmp, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /* HAVE_CHARSET */
|
#endif /* HAVE_CHARSET */
|
||||||
editcmd_dialog_search_show (edit, &search_string);
|
editcmd_dialog_search_show (edit, &search_string);
|
||||||
|
g_free (search_string_dup);
|
||||||
|
search_string_dup = NULL;
|
||||||
#ifdef HAVE_CHARSET
|
#ifdef HAVE_CHARSET
|
||||||
if (search_string && *search_string)
|
if (search_string && *search_string)
|
||||||
{
|
{
|
||||||
tmp = str_convert_to_input (search_string);
|
tmp = str_convert_to_input (search_string);
|
||||||
if (tmp && tmp->len)
|
if (tmp != NULL)
|
||||||
search_string = tmp->str;
|
{
|
||||||
|
if (tmp->len == 0)
|
||||||
g_string_free (tmp, FALSE);
|
g_string_free (tmp, TRUE);
|
||||||
|
else
|
||||||
if (search_string_dup)
|
{
|
||||||
g_free (search_string_dup);
|
g_free (search_string);
|
||||||
|
search_string = g_string_free (tmp, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif /* HAVE_CHARSET */
|
#endif /* HAVE_CHARSET */
|
||||||
|
|
||||||
edit_push_action (edit, KEY_PRESS + edit->start_display);
|
edit_push_action (edit, KEY_PRESS + edit->start_display);
|
||||||
|
|
||||||
if (!search_string)
|
if (search_string == NULL)
|
||||||
{
|
{
|
||||||
edit->force |= REDRAW_COMPLETELY;
|
edit->force |= REDRAW_COMPLETELY;
|
||||||
edit_scroll_screen_over_cursor (edit);
|
edit_scroll_screen_over_cursor (edit);
|
||||||
@ -1959,8 +1967,10 @@ edit_search_cmd (WEdit * edit, int again)
|
|||||||
if (edit->search == NULL)
|
if (edit->search == NULL)
|
||||||
{
|
{
|
||||||
edit->search_start = edit->curs1;
|
edit->search_start = edit->curs1;
|
||||||
|
g_free (search_string);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
edit->search->search_type = edit_search_options.type;
|
edit->search->search_type = edit_search_options.type;
|
||||||
edit->search->is_all_charsets = edit_search_options.all_codepages;
|
edit->search->is_all_charsets = edit_search_options.all_codepages;
|
||||||
edit->search->is_case_sentitive = edit_search_options.case_sens;
|
edit->search->is_case_sentitive = edit_search_options.case_sens;
|
||||||
@ -1968,6 +1978,8 @@ edit_search_cmd (WEdit * edit, int again)
|
|||||||
edit->search->search_fn = edit_search_cmd_callback;
|
edit->search->search_fn = edit_search_cmd_callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_free (search_string);
|
||||||
|
|
||||||
if (search_create_bookmark)
|
if (search_create_bookmark)
|
||||||
{
|
{
|
||||||
edit_search_cmd_search_create_bookmark (edit);
|
edit_search_cmd_search_create_bookmark (edit);
|
||||||
|
@ -93,7 +93,7 @@ void
|
|||||||
editcmd_dialog_replace_show (WEdit * edit, const char *search_default, const char *replace_default,
|
editcmd_dialog_replace_show (WEdit * edit, const char *search_default, const char *replace_default,
|
||||||
/*@out@ */ char **search_text, /*@out@ */ char **replace_text)
|
/*@out@ */ char **search_text, /*@out@ */ char **replace_text)
|
||||||
{
|
{
|
||||||
if (*search_default == '\0')
|
if ((search_default == NULL) || (*search_default == '\0'))
|
||||||
search_default = INPUT_LAST_TEXT;
|
search_default = INPUT_LAST_TEXT;
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -162,7 +162,7 @@ editcmd_dialog_search_show (WEdit * edit, char **search_text)
|
|||||||
{
|
{
|
||||||
(void) edit;
|
(void) edit;
|
||||||
|
|
||||||
if (*search_text == '\0')
|
if (*search_text == NULL)
|
||||||
*search_text = INPUT_LAST_TEXT;
|
*search_text = INPUT_LAST_TEXT;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -1054,6 +1054,7 @@ move_file_file (FileOpTotalContext *tctx, FileOpContext *ctx, const char *s, con
|
|||||||
struct stat src_stats, dst_stats;
|
struct stat src_stats, dst_stats;
|
||||||
FileProgressStatus return_status = FILE_CONT;
|
FileProgressStatus return_status = FILE_CONT;
|
||||||
gboolean copy_done = FALSE;
|
gboolean copy_done = FALSE;
|
||||||
|
gboolean old_ask_overwrite;
|
||||||
|
|
||||||
file_progress_show_source (ctx, s);
|
file_progress_show_source (ctx, s);
|
||||||
file_progress_show_target (ctx, d);
|
file_progress_show_target (ctx, d);
|
||||||
@ -1121,7 +1122,10 @@ move_file_file (FileOpTotalContext *tctx, FileOpContext *ctx, const char *s, con
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Failed because filesystem boundary -> copy the file instead */
|
/* Failed because filesystem boundary -> copy the file instead */
|
||||||
|
old_ask_overwrite = tctx->ask_overwrite;
|
||||||
|
tctx->ask_overwrite = FALSE;
|
||||||
return_status = copy_file_file (tctx, ctx, s, d);
|
return_status = copy_file_file (tctx, ctx, s, d);
|
||||||
|
tctx->ask_overwrite = old_ask_overwrite;
|
||||||
if (return_status != FILE_CONT)
|
if (return_status != FILE_CONT)
|
||||||
return return_status;
|
return return_status;
|
||||||
|
|
||||||
|
@ -960,7 +960,7 @@ file_mask_dialog (FileOpContext * ctx, FileOperation operation,
|
|||||||
/* 9 - OFFSET */
|
/* 9 - OFFSET */
|
||||||
QUICK_CHECKBOX (37, FMDX, 4, FMDY, N_("&Using shell patterns"), &source_easy_patterns),
|
QUICK_CHECKBOX (37, FMDX, 4, FMDY, N_("&Using shell patterns"), &source_easy_patterns),
|
||||||
/* 10 - OFFSET */
|
/* 10 - OFFSET */
|
||||||
QUICK_INPUT (3, FMDX, 3, FMDY, easy_patterns ? "*" : "^\\(.*\\)$", 58, 0, "input-def",
|
QUICK_INPUT (3, FMDX, 3, FMDY, easy_patterns ? "*" : "^(.*)$", 58, 0, "input-def",
|
||||||
&source_mask),
|
&source_mask),
|
||||||
/* 11 - OFFSET */
|
/* 11 - OFFSET */
|
||||||
QUICK_LABEL (3, FMDX, 2, FMDY, fmd_buf),
|
QUICK_LABEL (3, FMDX, 2, FMDY, fmd_buf),
|
||||||
|
941
src/help.c
941
src/help.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
24
src/help.h
24
src/help.h
@ -29,20 +29,18 @@
|
|||||||
#ifndef MC_HELP_H
|
#ifndef MC_HELP_H
|
||||||
#define MC_HELP_H
|
#define MC_HELP_H
|
||||||
|
|
||||||
#define HELP_TEXT_WIDTH 58
|
|
||||||
|
|
||||||
/* Markers used in the help files */
|
/* Markers used in the help files */
|
||||||
#define CHAR_LINK_START '\01' /* Ctrl-A */
|
#define CHAR_LINK_START '\01' /* Ctrl-A */
|
||||||
#define CHAR_LINK_POINTER '\02' /* Ctrl-B */
|
#define CHAR_LINK_POINTER '\02' /* Ctrl-B */
|
||||||
#define CHAR_LINK_END '\03' /* Ctrl-C */
|
#define CHAR_LINK_END '\03' /* Ctrl-C */
|
||||||
#define CHAR_NODE_END '\04' /* Ctrl-D */
|
#define CHAR_NODE_END '\04' /* Ctrl-D */
|
||||||
#define CHAR_ALTERNATE '\05' /* Ctrl-E */
|
#define CHAR_ALTERNATE '\05' /* Ctrl-E */
|
||||||
#define CHAR_NORMAL '\06' /* Ctrl-F */
|
#define CHAR_NORMAL '\06' /* Ctrl-F */
|
||||||
#define CHAR_VERSION '\07' /* Ctrl-G */
|
#define CHAR_VERSION '\07' /* Ctrl-G */
|
||||||
#define CHAR_FONT_BOLD '\010' /* Ctrl-H */
|
#define CHAR_FONT_BOLD '\010' /* Ctrl-H */
|
||||||
#define CHAR_FONT_NORMAL '\013' /* Ctrl-K */
|
#define CHAR_FONT_NORMAL '\013' /* Ctrl-K */
|
||||||
#define CHAR_FONT_ITALIC '\024' /* Ctrl-T */
|
#define CHAR_FONT_ITALIC '\024' /* Ctrl-T */
|
||||||
|
|
||||||
void interactive_display (const char *filename, const char *node);
|
void interactive_display (const char *filename, const char *node);
|
||||||
|
|
||||||
#endif
|
#endif /* MC_HELP_H */
|
||||||
|
1210
src/man2hlp.c
1210
src/man2hlp.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
907
src/mountlist.c
907
src/mountlist.c
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@ -23,7 +23,8 @@
|
|||||||
#define MC_MOUNTLIST_H
|
#define MC_MOUNTLIST_H
|
||||||
|
|
||||||
/* Filesystem status */
|
/* Filesystem status */
|
||||||
struct my_statfs {
|
struct my_statfs
|
||||||
|
{
|
||||||
int type;
|
int type;
|
||||||
char *typename;
|
char *typename;
|
||||||
const char *mpoint;
|
const char *mpoint;
|
||||||
@ -36,5 +37,6 @@ struct my_statfs {
|
|||||||
|
|
||||||
void init_my_statfs (void);
|
void init_my_statfs (void);
|
||||||
void my_statfs (struct my_statfs *myfs_stats, const char *path);
|
void my_statfs (struct my_statfs *myfs_stats, const char *path);
|
||||||
|
void free_my_statfs (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -3100,6 +3100,7 @@ panel_callback (Widget * w, widget_msg_t msg, int parm)
|
|||||||
|
|
||||||
case WIDGET_DESTROY:
|
case WIDGET_DESTROY:
|
||||||
panel_destroy (panel);
|
panel_destroy (panel);
|
||||||
|
free_my_statfs ();
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -329,17 +329,14 @@ mcview_execute_cmd (mcview_t * view, unsigned long command)
|
|||||||
case CK_ViewToggleWrapMode:
|
case CK_ViewToggleWrapMode:
|
||||||
/* Toggle between wrapped and unwrapped view */
|
/* Toggle between wrapped and unwrapped view */
|
||||||
mcview_toggle_wrap_mode (view);
|
mcview_toggle_wrap_mode (view);
|
||||||
view->dirty++;
|
|
||||||
break;
|
break;
|
||||||
case CK_ViewToggleHexEditMode:
|
case CK_ViewToggleHexEditMode:
|
||||||
/* Toggle between hexview and hexedit mode */
|
/* Toggle between hexview and hexedit mode */
|
||||||
mcview_toggle_hexedit_mode (view);
|
mcview_toggle_hexedit_mode (view);
|
||||||
view->dirty++;
|
|
||||||
break;
|
break;
|
||||||
case CK_ViewToggleHexMode:
|
case CK_ViewToggleHexMode:
|
||||||
/* Toggle between hex view and text view */
|
/* Toggle between hex view and text view */
|
||||||
mcview_toggle_hex_mode (view);
|
mcview_toggle_hex_mode (view);
|
||||||
view->dirty++;
|
|
||||||
break;
|
break;
|
||||||
case CK_ViewGoto:
|
case CK_ViewGoto:
|
||||||
{
|
{
|
||||||
@ -365,7 +362,6 @@ mcview_execute_cmd (mcview_t * view, unsigned long command)
|
|||||||
break;
|
break;
|
||||||
case CK_ViewToggleMagicMode:
|
case CK_ViewToggleMagicMode:
|
||||||
mcview_toggle_magic_mode (view);
|
mcview_toggle_magic_mode (view);
|
||||||
view->dirty++;
|
|
||||||
break;
|
break;
|
||||||
case CK_ViewToggleNroffMode:
|
case CK_ViewToggleNroffMode:
|
||||||
mcview_toggle_nroff_mode (view);
|
mcview_toggle_nroff_mode (view);
|
||||||
@ -471,12 +467,12 @@ mcview_handle_key (mcview_t * view, int key)
|
|||||||
if ((command != CK_Ignore_Key) && (mcview_execute_cmd (view, command) == MSG_HANDLED))
|
if ((command != CK_Ignore_Key) && (mcview_execute_cmd (view, command) == MSG_HANDLED))
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
if (mcview_check_left_right_keys (view, key))
|
if (mcview_check_left_right_keys (view, key) == MSG_HANDLED)
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
if (check_movement_keys (key, view->data_area.height + 1, view,
|
if (check_movement_keys (key, view->data_area.height + 1, view,
|
||||||
mcview_cmk_move_up, mcview_cmk_move_down,
|
mcview_cmk_move_up, mcview_cmk_move_down,
|
||||||
mcview_cmk_moveto_top, mcview_cmk_moveto_bottom))
|
mcview_cmk_moveto_top, mcview_cmk_moveto_bottom) == MSG_HANDLED)
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
#ifdef MC_ENABLE_DEBUGGING_CODE
|
#ifdef MC_ENABLE_DEBUGGING_CODE
|
||||||
|
@ -138,12 +138,8 @@ mcview_dialog_search (mcview_t * view)
|
|||||||
|
|
||||||
g_free (view->last_search_string);
|
g_free (view->last_search_string);
|
||||||
view->last_search_string = exp;
|
view->last_search_string = exp;
|
||||||
|
mcview_nroff_seq_free (&view->search_nroff_seq);
|
||||||
if (view->search_nroff_seq != NULL)
|
mc_search_free (view->search);
|
||||||
mcview_nroff_seq_free (&(view->search_nroff_seq));
|
|
||||||
|
|
||||||
if (view->search != NULL)
|
|
||||||
mc_search_free (view->search);
|
|
||||||
|
|
||||||
view->search = mc_search_new (view->last_search_string, -1);
|
view->search = mc_search_new (view->last_search_string, -1);
|
||||||
view->search_nroff_seq = mcview_nroff_seq_new (view);
|
view->search_nroff_seq = mcview_nroff_seq_new (view);
|
||||||
|
@ -281,55 +281,54 @@ mcview_display_hex (mcview_t * view)
|
|||||||
gboolean
|
gboolean
|
||||||
mcview_hexedit_save_changes (mcview_t * view)
|
mcview_hexedit_save_changes (mcview_t * view)
|
||||||
{
|
{
|
||||||
struct hexedit_change_node *curr, *next;
|
int answer = 0;
|
||||||
int fp, answer;
|
|
||||||
char *text, *error;
|
|
||||||
|
|
||||||
if (view->change_list == NULL)
|
if (view->change_list == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
retry_save:
|
while (answer == 0)
|
||||||
assert (view->filename != NULL);
|
|
||||||
fp = mc_open (view->filename, O_WRONLY);
|
|
||||||
if (fp == -1)
|
|
||||||
goto save_error;
|
|
||||||
|
|
||||||
for (curr = view->change_list; curr != NULL; curr = next)
|
|
||||||
{
|
{
|
||||||
next = curr->next;
|
int fp;
|
||||||
|
char *text;
|
||||||
|
struct hexedit_change_node *curr, *next;
|
||||||
|
|
||||||
if (mc_lseek (fp, curr->offset, SEEK_SET) == -1 || mc_write (fp, &(curr->value), 1) != 1)
|
assert (view->filename != NULL);
|
||||||
goto save_error;
|
|
||||||
|
|
||||||
/* delete the saved item from the change list */
|
fp = mc_open (view->filename, O_WRONLY);
|
||||||
view->change_list = next;
|
if (fp != -1)
|
||||||
view->dirty++;
|
{
|
||||||
mcview_set_byte (view, curr->offset, curr->value);
|
for (curr = view->change_list; curr != NULL; curr = next)
|
||||||
g_free (curr);
|
{
|
||||||
|
next = curr->next;
|
||||||
|
|
||||||
|
if (mc_lseek (fp, curr->offset, SEEK_SET) == -1
|
||||||
|
|| mc_write (fp, &(curr->value), 1) != 1)
|
||||||
|
goto save_error;
|
||||||
|
|
||||||
|
/* delete the saved item from the change list */
|
||||||
|
view->change_list = next;
|
||||||
|
view->dirty++;
|
||||||
|
mcview_set_byte (view, curr->offset, curr->value);
|
||||||
|
g_free (curr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mc_close (fp) == -1)
|
||||||
|
message (D_ERROR, _(" Save file "),
|
||||||
|
_(" Error while closing the file: \n %s \n"
|
||||||
|
" Data may have been written or not. "), unix_error_string (errno));
|
||||||
|
|
||||||
|
view->dirty++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
save_error:
|
||||||
|
text = g_strdup_printf (_(" Cannot save file: \n %s "), unix_error_string (errno));
|
||||||
|
(void) mc_close (fp);
|
||||||
|
|
||||||
|
answer = query_dialog (_(" Save file "), text, D_ERROR, 2, _("&Retry"), _("&Cancel"));
|
||||||
|
g_free (text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mc_close (fp) == -1)
|
|
||||||
{
|
|
||||||
error = g_strdup (unix_error_string (errno));
|
|
||||||
message (D_ERROR, _(" Save file "),
|
|
||||||
_(" Error while closing the file: \n %s \n"
|
|
||||||
" Data may have been written or not. "), error);
|
|
||||||
g_free (error);
|
|
||||||
}
|
|
||||||
mcview_update (view);
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
save_error:
|
|
||||||
error = g_strdup (unix_error_string (errno));
|
|
||||||
text = g_strdup_printf (_(" Cannot save file: \n %s "), error);
|
|
||||||
g_free (error);
|
|
||||||
(void) mc_close (fp);
|
|
||||||
|
|
||||||
answer = query_dialog (_(" Save file "), text, D_ERROR, 2, _("&Retry"), _("&Cancel"));
|
|
||||||
g_free (text);
|
|
||||||
|
|
||||||
if (answer == 0)
|
|
||||||
goto retry_save;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,6 @@ mcview_toggle_magic_mode (mcview_t * view)
|
|||||||
filename = g_strdup (view->filename);
|
filename = g_strdup (view->filename);
|
||||||
command = g_strdup (view->command);
|
command = g_strdup (view->command);
|
||||||
|
|
||||||
mcview_done (view);
|
|
||||||
mcview_load (view, command, filename, 0);
|
mcview_load (view, command, filename, 0);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
g_free (command);
|
g_free (command);
|
||||||
@ -92,6 +91,8 @@ mcview_toggle_magic_mode (mcview_t * view)
|
|||||||
void
|
void
|
||||||
mcview_toggle_wrap_mode (mcview_t * view)
|
mcview_toggle_wrap_mode (mcview_t * view)
|
||||||
{
|
{
|
||||||
|
if (view->text_wrap_mode)
|
||||||
|
view->dpy_start = mcview_bol (view, view->dpy_start);
|
||||||
view->text_wrap_mode = !view->text_wrap_mode;
|
view->text_wrap_mode = !view->text_wrap_mode;
|
||||||
view->dpy_bbar_dirty = TRUE;
|
view->dpy_bbar_dirty = TRUE;
|
||||||
view->dirty++;
|
view->dirty++;
|
||||||
@ -190,12 +191,20 @@ mcview_done (mcview_t * view)
|
|||||||
|
|
||||||
coord_cache_free (view->coord_cache), view->coord_cache = NULL;
|
coord_cache_free (view->coord_cache), view->coord_cache = NULL;
|
||||||
|
|
||||||
if (!(view->converter == INVALID_CONV || view->converter != str_cnv_from_term))
|
if (view->converter == INVALID_CONV)
|
||||||
|
view->converter = str_cnv_from_term;
|
||||||
|
|
||||||
|
if (view->converter != str_cnv_from_term)
|
||||||
{
|
{
|
||||||
str_close_conv (view->converter);
|
str_close_conv (view->converter);
|
||||||
view->converter = str_cnv_from_term;
|
view->converter = str_cnv_from_term;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mc_search_free (view->search);
|
||||||
|
view->search = NULL;
|
||||||
|
g_free (view->last_search_string);
|
||||||
|
view->last_search_string = NULL;
|
||||||
|
mcview_nroff_seq_free (&view->search_nroff_seq);
|
||||||
mcview_hexedit_free_change_list (view);
|
mcview_hexedit_free_change_list (view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,12 +108,21 @@ mcview_move_up (mcview_t * view, off_t lines)
|
|||||||
off_t i;
|
off_t i;
|
||||||
for (i = 0; i < lines; i++)
|
for (i = 0; i < lines; i++)
|
||||||
{
|
{
|
||||||
new_offset = mcview_bol (view, view->dpy_start);
|
off_t cur_bol;
|
||||||
|
cur_bol = new_offset = mcview_bol (view, view->dpy_start);
|
||||||
if (new_offset > 0)
|
if (new_offset > 0)
|
||||||
new_offset--;
|
new_offset--;
|
||||||
new_offset = mcview_bol (view, new_offset);
|
new_offset = mcview_bol (view, new_offset);
|
||||||
if (new_offset < 0)
|
if (new_offset < 0)
|
||||||
new_offset = 0;
|
new_offset = 0;
|
||||||
|
if (view->text_wrap_mode)
|
||||||
|
{
|
||||||
|
size_t last_row_length = (view->dpy_start - new_offset) % view->data_area.width;
|
||||||
|
if (last_row_length != 0 && cur_bol == view->dpy_start)
|
||||||
|
new_offset = max (new_offset, view->dpy_start - last_row_length);
|
||||||
|
else
|
||||||
|
new_offset = max (new_offset, view->dpy_start - view->data_area.width);
|
||||||
|
}
|
||||||
view->dpy_start = new_offset;
|
view->dpy_start = new_offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,6 +158,8 @@ mcview_move_down (mcview_t * view, off_t lines)
|
|||||||
{
|
{
|
||||||
off_t new_offset;
|
off_t new_offset;
|
||||||
new_offset = mcview_eol (view, view->dpy_start);
|
new_offset = mcview_eol (view, view->dpy_start);
|
||||||
|
if (view->text_wrap_mode)
|
||||||
|
new_offset = min (new_offset, view->dpy_start + view->data_area.width);
|
||||||
view->dpy_start = new_offset;
|
view->dpy_start = new_offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -173,10 +184,6 @@ mcview_move_left (mcview_t * view, off_t columns)
|
|||||||
if (old_cursor > 0 || view->hexedit_lownibble)
|
if (old_cursor > 0 || view->hexedit_lownibble)
|
||||||
view->hexedit_lownibble = !view->hexedit_lownibble;
|
view->hexedit_lownibble = !view->hexedit_lownibble;
|
||||||
}
|
}
|
||||||
else if (view->text_wrap_mode)
|
|
||||||
{
|
|
||||||
/* nothing to do */
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (view->dpy_text_column >= columns)
|
if (view->dpy_text_column >= columns)
|
||||||
@ -207,10 +214,6 @@ mcview_move_right (mcview_t * view, off_t columns)
|
|||||||
if (old_cursor < last_byte || !view->hexedit_lownibble)
|
if (old_cursor < last_byte || !view->hexedit_lownibble)
|
||||||
view->hexedit_lownibble = !view->hexedit_lownibble;
|
view->hexedit_lownibble = !view->hexedit_lownibble;
|
||||||
}
|
}
|
||||||
else if (view->text_wrap_mode)
|
|
||||||
{
|
|
||||||
/* nothing to do */
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
view->dpy_text_column += columns;
|
view->dpy_text_column += columns;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user