Edycja menu kontekstowego
Edycja menu kontekstowego
Czy da się coś dołożyć do menu kontekstowego Writera (pod prawym przyciskiem myszy). Konkretnie chciałbym tam dodać polecenie wstawienia zakładki.
LibreOffice 4.13
Re: Edycja menu kontekstowego
Przypuszczam, że jest to niemożliwe.
Wstaw sobie stosowny przycisk do paska narzędzi formatowania.
Wstaw sobie stosowny przycisk do paska narzędzi formatowania.
Re: Edycja menu kontekstowego
To mam, ale wygodniej byłoby po zaznaczeniu tekstu nie jechać myszą do góry, tylko PPM. Ale jak nie można to nie można.Astur pisze: Wstaw sobie stosowny przycisk do paska narzędzi formatowania.
LibreOffice 4.13
Re: Edycja menu kontekstowego
Myślę, że się da, ale trzeba programować, co najmniej na poziomie makra. Są nawet wskazówki dla chętnych: https://wiki.openoffice.org/wiki/Docume ... text_Menus.
Jak widać, pewna początkowa wiedza i motywacja są niezbędne, żeby podjąć wysiłek.
Jak widać, pewna początkowa wiedza i motywacja są niezbędne, żeby podjąć wysiłek.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Edycja menu kontekstowego
Zmodyfikowane programowo (basic) menu kontekstowe, procedura uruchamiana przy starcie dokumentu i zatrzymywana przy zamykaniu.
Edit:
Zamiana załącznika na lepszą wersje.
Edit:
Zamiana załącznika na lepszą wersje.
- Załączniki
-
- Modyfikuj_Context_Menu.odt
- (21.43 KiB) Pobrany 214 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Edycja menu kontekstowego
A może taka modyfikacja. By zaznaczenie było tylko domyślną nazwą zakładki (wstawianą do okna o którym mowa dalej ) ale generalnie żeby otwierało się okno gdzie można wpisać własną nazwę. Może to być okno "Wstaw zakładkę".
LibreOffice 4.13
Re: Edycja menu kontekstowego
Myślałem, widać źle, że ta wersja będzie najlepsza i stąd mój wybór, ale do twoich potrzeb wszystko masz już w pliku. Cała zabawa polega na zmianie nazw procedur wstawiających zakładkę. W module 2 masz dwie dodatkowe procedury o nazwach WriterBookmark_test i WriterBookmark_test1, pierwsza nie działa tak jak powinna ale druga jest OK. Kolejne kroki do wykonania to:
1. Otwórz edytor basic - Narzędzia -> Makra -> Zarządzaj makrami -> OpenOffice Basic (LibreOffice Basic).
2. Zaznacz modył2 i wciśnij edytuj
3. W lini sub WriterBookmark_test1 usuń _test1 tak by pozostało sub WriterBookmark.
4. Przejdź do miodułu3 (zakładki na dole jak w calcu).
5. W lini Sub WriterBookmark (pierwsza linia kodu) dopisz coś np. 1 (Sub WriterBookmark1 - po modyfikacji).
To już wszystko zapisz zmiany i wypróbuj działanie na dokumencie. tak wstawiona zakładka będzie nosić nazwę zakładka1, jeśli już takiej nie ma a kolejne zakładka11, zakładka12. itd
Co do własnej nazwy (okienko do wpisania nazwy) to z wywołaniem oryginalnego okienka mam problem (nie znam sposobu). Pewnym rozwiązanie może być użycie funkcji basica InputBox(). Cała procedura WriterBookmark Może wyglądać tak:
1. Otwórz edytor basic - Narzędzia -> Makra -> Zarządzaj makrami -> OpenOffice Basic (LibreOffice Basic).
2. Zaznacz modył2 i wciśnij edytuj
3. W lini sub WriterBookmark_test1 usuń _test1 tak by pozostało sub WriterBookmark.
4. Przejdź do miodułu3 (zakładki na dole jak w calcu).
5. W lini Sub WriterBookmark (pierwsza linia kodu) dopisz coś np. 1 (Sub WriterBookmark1 - po modyfikacji).
To już wszystko zapisz zmiany i wypróbuj działanie na dokumencie. tak wstawiona zakładka będzie nosić nazwę zakładka1, jeśli już takiej nie ma a kolejne zakładka11, zakładka12. itd
Co do własnej nazwy (okienko do wpisania nazwy) to z wywołaniem oryginalnego okienka mam problem (nie znam sposobu). Pewnym rozwiązanie może być użycie funkcji basica InputBox(). Cała procedura WriterBookmark Może wyglądać tak:
Kod: Zaznacz cały
sub WriterBookmark
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Bookmark"
Nazwa = InputBox("Wpisz nazwę nowej zakładki", "Nazwa zakładki", "Zakładka1")
If nazwa = "" then Exit Sub
args1(0).Value = Nazwa
dispatcher.executeDispatch(document, ".uno:InsertBookmark", "", 0, args1())
end sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS