Polozenie okna szukaj i zamien

English main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Polozenie okna szukaj i zamien

Post by sexy96 »

Gdy kliknę na ikonę( lupka) szukaj lub zamień otwiera się okienko przykrywając tekst po lewej stronie.
Gdy to okienko przesunę na prawo to AkelPad pamięta to położenie tylko do jego wyłączenia.
Po ponownym uruchomieniu znowu otwiera się po lewej stronie.
Czy można zmienić jakoś te położenie na stałe lub żeby AkelPad pamiętał ostatnie położenie okienka?
Last edited by sexy96 on Wed Nov 18, 2015 10:59 am, edited 1 time in total.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
Zamiast standardowych poleceń Command(4158) i Command(4161) użyj skryptu FindReplaceEx.js.

Code: Select all

"Znajdź..." Call("Scripts::Main", 1, "FindReplaceEx.js", '-dlg="F"') Icon(12)
"Zamień..." Call("Scripts::Main", 1, "FindReplaceEx.js", '-dlg="R"') Icon(13)

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Działa super, wielkie dzięki :D

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
Zapomniałem o tym, a teraz sobie przypomniałem.
AkelPad pozwala zachować pozycję okien dialogowych np. "Znajdź/Zamień", za pomocą ustawienia:
Główne menu -> Ustawienia -> Opcje -> Zaawansowane -> Pamiętaj położenie niemodalnych okien dialogowych.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Faktycznie działa. Dziękuję

Ma problem z zaznaczaniem większego tekstu, przykład:
Stawiam pierwszy bookmark na linii 20 a drugi na 2000.

Jest takie polecenie "select all", Ctrl A.

A jak zaznaczyć (select) linię: "20, 21, 22.....2000"
(od bookmark 1 do bookmark 2), przez kliknięcie na ikonę w Toolbar
ewentualnie przez skrót np. "alt+s" z klawiatury?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
LineBoardBookmarks.js

Code: Select all

"Expand selection" Call("Scripts::Main", 1, "LineBoardBookmarks.js", "S+") Icon(0)

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Działa, tylko, że trzeba pamiętać, aby kursor znajdował się
w obszarze zaznaczenia (pomiędzy bookmark 1 i bookmark 2).
Ale mimo wszystko jest lepiej, niż było.
Dziękuję.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
Za pomocą tego skryptu zaznaczysz dowolny zakres bez używania zakładek: SelectRangeText.js.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Czy można to zmienić tak, aby ostatnia linia była też całkowicie zaznaczona?
Żeby we współrzędnych, gdzie wpisuje się koniec (nr. wiersza)
zaznaczenie sięgało do ostatniej (a nie pierwszej) kolumny w tym (ostatnim wierszu)
lub koniec (nr. wiersza) byłby powiększany o 1 linię.

Obecnie ostatnia linia zaznaczenia nie jest podświetlana.

Dotyczy to drugiej wersji.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
W polu Koniec->Kolumna wpisz największą liczbę 999999999 (przytrzymaj wciśnięty klawisz "9").
Jeśli końcowy wiersz nie zawiera więcej znaków niż 999999999, to zaznaczy się w całości.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Dobry pomysł, dziękuję :wink:

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Wywołanie skryptu SelectRangeText.js. otwiera okienko, w którym, jest pozycja "wiersz, koniec".
Scrypt musi odczytać liczbę (nr. końcowej linii), którą wpiszę.
Nie mogę rozgryźć, gdzie jest ta pozycja w skrypcie.
Tam można by dopisać +1 i kursor byłby dalej w pierwszej kolumnie, ale poniżej ostatniej linii.

Albo inny sposób:
Aby można było wpisać w okienku kursora liczbę większą o jeden niż ostatnia linia.
Obecnie w tym okienku nic nie można wpisać, służy ono jako informacja,
gdzie w tym momencie jest kursor ale do czasu...

przykład:
Chcę zaznaczyć linie od 10 do 20.
Stawiam kursor na początku linii 21 i w okienku wyświetla się 21.
Wpisuję 10 jako linię początkową i 20 jako linię końcową.
W momencie kliknięcia zastosuj, w okienku kursora liczba
zmienia się na taką samą jaką ma linia końcowa.

Podsumowując: przy wpisaniu 10 i 20
zaznaczone będą linie 10 do 19.

Czy można by coś z tym zrobić?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96
Jeśli nie jest użyta opcja "Offset", to zaznaczenie jest identyfikowane przez dwie pary liczb (współrzędne):
Początek->Wiersz:Kolumna,
Koniec->Wiersz:Kolumna.

Gdy wpiszesz Początek->10:1, Koniec->20:1, to zaznaczenie zaczyna się w wierszu 10 i kolumnie 1, a kończy w wierszu 20 i kolumnie 1, czyli obejmuje w całości wiersze od 10 do 19 oraz znak nowego wiersza (początek 20-go).
Jeśli chcesz, żeby zaznaczenie obejmowało cały wiersz 20-ty, to w polu Koniec->Kolumna wpisz numer ostatniej kolumny z tego wiersza (liczba znaków w wierszu + 1) lub liczbę większą (np. 999999999).
Jeśli zaznaczenie ma obejmować cały wiersz 20-ty wraz ze znakiem nowego wiersza (21-go), to wpisz Koniec->21:1.
Tak więc zgodnie z założeniem, skrypt może zaznaczać dowolny fragment tekstu, a nie tylko całe wiersze.

Informacja o położeniu kursora w zaznaczeniu Kursor->Wiersz:Kolumna jest tylko do odczytu, ponieważ kursor może znajdować się na początku lub na końcu zaznaczenia i tą wartość ustawiamy za pomocą RadioButton w sekcji "Pozycja kursora".

---
PS
Wydaje mi się, że przedatne dla Ciebie będą skrypty Instruktora: SelectRange.js i SelPoint.js.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

SelPoint.js. załatwia wszystko.

Bardzo, dziękuję.
Post Reply