Page 1 of 1

Tymczasowe ukrycie czesci linii tekstu

Posted: Mon Nov 02, 2015 12:15 pm
by sexy96
Mam taki problem do rozwiązania:

Zaznaczam w pierwszej linii zwrot "Edit"

1.EditPadPro
2.EditPlus
3.EmEditor
4.Notepad
5.Notepad++
6.SynWrite
7.TextPad

Automatycznie zaznaczy się ten zwrot w linii 2 i 3.

Teraz chciałbym poprzez kliknięcie na ikonę w Toolbar,
ukryć pozostałe linie (nie posiadające tego zwrotu),
poprawić tekst w linii 1 i 2, a następnie
poprzez kliknięcie na ikonę w Toolbar,
przywrócić ukryte linie.

W edycji napisów do filmów (kilka tysięcy linii)
ukrycie zbędnych linii byłoby bardzo pomocne.
Czy jest to wykonalne?

Posted: Fri Jul 01, 2016 9:07 pm
by KDJ
sexy96
Skrypt: LinesHideShow.js.

Posted: Sat Jul 02, 2016 5:37 am
by sexy96
"Ukryj linie" Call("Scripts::Main", 1, "LinesHideShow.js") Icon("%a\AkelFiles\Plugs\Format.dll", 0)
"Ukryj linie, które zawierają tekst" Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=1 -text="world" -flag="i"') Icon("%a\AkelFiles\Plugs\Format.dll", 0)
"Ukryj linie, które nie zawierają tekstu" Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=2 -text="world" -flag="i"') Icon("%a\AkelFiles\Plugs\Format.dll", 0)
"Pokaż wszystko" Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=0') Icon("%a\AkelFiles\Plugs\Format.dll", 0)

test:
linie1
linie2
linie3
linie4

Nie działają z -flag="i" oraz "w":
"Ukryj linie"
"Ukryj linie, które zawierają tekst"
"Ukryj linie, które nie zawierają tekstu"

Posted: Sat Jul 02, 2016 1:39 pm
by KDJ
sexy96
Jeśli chcesz, żeby był brany pod uwagę tekst zaznaczony w oknie edycji, to pomiń parametr -text lub podaj pusty -text="".

Posted: Sat Jul 02, 2016 3:40 pm
by sexy96
Mam tekst w jednej linii:
Ukryj linie1

Gdy zaznaczę "Ukryj" linia1 nadal pozostaje widoczna po kliknięciu na:
"Ukryj linie, które zawierają tekst" Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=1 -text="" -flag="i"') Icon("%a\AkelFiles\Plugs\Format.dll", 0)

to samo jest przy więcej liniach:
Ukryj linie1
Ukryj linie2
linia1 nadal pozostaje widoczna.

Posted: Sat Jul 02, 2016 4:22 pm
by KDJ
sexy96
LinesHideShow.js wrote:You can not hide the first and last line in document.
Czyli nie można ukryć pierwszego i ostatniego wiersza.

Posted: Sat Jul 02, 2016 4:51 pm
by sexy96
Jaka, jest różnica w działaniu.
"Ukryj linie" Call("Scripts::Main", 1, "LinesHideShow.js") Icon("%a\AkelFiles\Plugs\Format.dll", 0)
"Ukryj linie, które zawierają tekst" Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=1 -text="" -flag="i"') Icon("%a\AkelFiles\Plugs\Format.dll", 0)

linie1
linie2
linie3
linie4

Jak zaznaczę całą pierwszą to znika linia 2
w obu przypadkach

Jak zaznaczę całą drugą to znikają linia 2 i 3
w obu przypadkach

czyli zawsze znikają 2 linie, zaznaczona i ta pod nią.
A ponieważ pierwsza jest nieusuwalna, to w pierwszym przypadku znika tylko ta pod nią.

Posted: Sat Jul 02, 2016 5:42 pm
by KDJ
sexy96 wrote:Jaka, jest różnica w działaniu.

Code: Select all

Call("Scripts::Main", 1, "LinesHideShow.js", '-hide=1 -text="" -flag="i"')
Ukrywa wiersze zawierające zaznaczony tekst, przy czym wielkość liter jest ignorowana.
Czyli jeśli zaznaczysz "word", to zostaną ukryte wiersze zawierające "word", "Word", "WOrd", "WORd", "WORD", itd.

Code: Select all

Call("Scripts::Main", 1, "LinesHideShow.js")
1. Jeśli nie ma zaznaczenia - odkrywa wszystkie wiersze.
2. Jeśli jest zaznaczenie:
a. zaznaczenie jest od lewej do prawej (kursor jest na końcu zaznaczenia) - ukrywa wiersze zawierające zaznaczony tekst, wielkość liter ma znaczenie.
b. zaznaczenie jest od prawej do lewej (kursor jest na początku zaznaczenia) - ukrywa wiersze nie zawierające zaznaczonego tekstu, wielkość liter ma znaczenie.
Jak zaznaczę całą drugą to znikają linia 2 i 3
Prawdopodobnie zaznaczyłeś jeden wiersz wraz ze znakiem końca wiersza (EOL - end of line), czyli zaznaczenie obejmuje dwa wiersze.
Aby uniknąć zaznaczania wiersza z EOL, włącz funkcję SmartSel::NoSelEOL z pluginu SmartSel.

Posted: Sat Jul 02, 2016 6:10 pm
by sexy96
Po włączeniu funkcji SmartSel::NoSelEOL z pluginu SmartSel.

zaznaczam dowolny(z 4) zwrot "linie" (bez numeru na końcu).
linie1
linie2
linie3
linie4

Call("Scripts::Main", 1, "LinesHideShow.js"), nie reaguje w ogóle

Posted: Sat Jul 02, 2016 6:19 pm
by KDJ
sexy96
Prawdopodobnie zaznaczyłeś od prawej do lewej.

Posted: Sat Jul 02, 2016 6:59 pm
by sexy96
Chyba, tak.
To właściwie ten jeden
"Ukryj linie" Call("Scripts::Main", 1, "LinesHideShow.js") Icon("%a\AkelFiles\Plugs\Format.dll", 0)
załatwia wszystkie warianty.

Szkoda, że pierwsza i ostatnia linia nie jest brana pod uwagę.

Dzięki

Posted: Sun Jul 03, 2016 6:21 pm
by KDJ
sexy96
W nowej wersji skryptu można ukryć również ostatni wiersz dokumentu: http://akelpad.sourceforge.net/forum/vi ... 1516#31516

Posted: Sun Jul 03, 2016 7:55 pm
by sexy96
Dzięki.

Posted: Wed Jul 13, 2016 8:09 pm
by sexy96
KDJ wrote: Aby uniknąć zaznaczania wiersza z EOL, włącz funkcję SmartSel::NoSelEOL z pluginu SmartSel.
Wtedy przestają działać
Command(4165) i Command(4167)