Článek  |   Diskuze  |   Ukázat zdroj  |   Historie

Vlastní tlačítka

Z Operacesky Wiki

Přejít na: navigace, hledání

Obsah

Vlastní tlačítka

Tento článek vychází především z informací uvedených na stránkách Opera Browser Wiki, které jsou pravděpodobně nejrozsáhlejší neoficiální studnicí vědomostí o Opeře. Protože překladem některých pojmů by mohlo dojít k nechtěnému posunu jejich významu nebo k nejasnostem, budeme se držet pokud možno terminologie, jaká je tam použita a české překlady použijeme výhradně tam, kde by k záměně významu nebo jeho zkreslení nedošlo. Texty na naší Wiki neobsáhnou veškerou problematiku, proto usnadní shodná terminologie případným zájemcům také lepší orientaci především na stránce Opera Browser Wiki: Advanced toolbar.ini-guide for Opera 8.x/9.x. Ze stejného důvodu je podle možností i formátování odstavců článku obdobné jako ve zdrojových textech.

Opera umožňuje vytváření a používání vlastních tlačítek. Tlačítko nedělá vlastně nic jiného, než že spustí některou z akcí, které jsou v Opeře zabudovány (seznam těchto akcí je na stránce Všechny akce).

Tyto interní akce umožňují vytvoření velmi pestré škály vlastních příkazů, které lze následně s malými rozdíly používat nejen pro vytvoření vlastních tlačítek, ale i pro vlastní menu, pohybové příkazy a klávesové zkratky. Příkazy se řídí určitými pravidly a cílem tohoto článku je seznámit zájemce s celou problematikou vytváření vlastních příkazů.

Syntaxe tlačítka

Příkaz, který je obsahem každého tlačítka, musí být celý v jednom řádku a syntaxe celého příkazu vypadá takto:

Precondition,Buttontype,pA,pB,pC,pD=COMMAND,p1,p2,p3,p4


Rozebereme a popíšeme si jednotlivé části příkazu:

Precondition

Toto je první část příkazu, je volitelná (nepovinná) a vztahuje se k použité platformě nebo vlastnosti.

Feature Chat,
Feature Feeds,
Feature Mail,
Feature MDI,
Feature Voice,
Platform Mac,
Platform QNX,
Platform Unix,
Platform Win2000,
Platform Windows,

Lze použít i kombinace, např.:

Feature Mail-Chat,
Platform Unix-QNX,
Platform Win2000-Unix-Mac,
Platform Win2000-Unix-Mac, Feature Voice,
Platform Windows-Mac-QNX,
Platform Windows-QNX,
Platform Windows-Unix-QNX,

Čárka (,)

Čárkami se oddělují jednotlivé části příkazu.

Buttontype

Opera rozeznává několik typů tlačítek, nejběžnějším je typ "Button". Velké písmeno X u každého typu v seznamu zastupuje číslo - tlačítka mohou být na různých toolbarech (lištách), v souboru toolbar.ini jsou tyto toolbary označeny sekcemi, ale v žádné sekci nesmí být tlačítko se stejným číslem dvakrát, protože např. "Button23" je jednoznačným identifikátorem tlačítka. Pokud by v jediné sekci byla dvě tlačítka se stejným ButtonX, docházelo by k nepředvídatelným reakcím Opery. Totéž by se mohlo stát i v případě, že by u typu tlačítka nebylo uvedeno žádné číslo. Stejné pravidlo platí pochopitelně pro všechny typy tlačítek, nejen pro typ Button.

Ačkoli většina typů tlačítek jako klasická tlačítka nevypadá, přesto se pro všechny typy pojem tlačítko (anglicky Button) používá.

AccountX=
AddressX=
ButtonX=
CheckboxX=
DropdownX=
EditX=
IdentifyX=
MultisearchX=
QuickbuttonX=
QuickfindX=
RadiobuttonX=
StatusX=
ZoomX=
  • Account - rozbalovací pole s typy účtů

Soubor:Button_Account.jpg

  • Address - pole adresy s rozbalovacím seznamem

  • Button - běžné tlačítko pro různé účely

Soubor:Button_Button.jpg

  • Checkbox - zaškrtávací políčko, zapíná a vypíná nějakou funkci

Soubor:Button_Checkbox.jpg

  • Dropdown - pole s rozbalovacím seznamem, např. pro změnu identifikace prohlížeče

Soubor:Button_Dropdown.jpg

  • Edit - editovací pole

Soubor:Button_Edit.jpg

  • Identify - tlačítko pro změnu identifikace; kliknutím na toto tlačítko se změní identifikace prohlížeče na další v pořadí, vše se cyklicky opakuje

Soubor:Button_Identify1.jpg Soubor:Button_Identify2.jpg Soubor:Button_Identify3.jpg

  • Multisearch - pole pro vyhledávání s rozbalovacím seznamem vyhledávačů

Soubor:Button_Multisearch.jpg

  • Quickbutton - funguje jako tlačítko, které je zapnuto pouze po dobu, kdy je stisknuto, např. zoom na 150% bude jen při jeho stisku, po puštění tlačítka se vrátí normální zoom.

Soubor:Button_QuickButton.jpg

  • Quickfind - pole pro rychlé hledání

Soubor:Button_Quickfind.jpg

  • Radiobutton - velmi podobné jako checkbox - zapíná a vypíná nějakou funkci

Soubor:Button_RadioButton1.jpg Soubor:Button_RadioButton2.jpg

  • Status - políčko, kterému lze přiřadit zobrazení nějakého stavu, např. stavy pošty přečtená / nepřečtená

  • Zoom - pole s rozbalovacím seznamem pro změnu zoomu

Soubor:Button_Zoom.jpg

Další typy tlačítek - s parametrem

Existuje ještě pět dalších typů tlačítek:

Search,x 
Searchbutton,x
Spacer,x
Status,x
Progress,x


Tato tlačítka se odlišují tím, že pro jejich funkčnost je nutno zadat ještě další parametr. V našem výkladu tento parametr označujeme jako "x" (malé x - odlišovat o velkého X, které označuje číslo tlačítka!).

  • Search,x
    • vyhledávací pole, kde parametr určuje které vyhledávací pole se má použít:
      • SearchX,x
  • Searchbutton,x
    • tlačítko vyhledávače, parametr určuje, který vyhledávač se použije:
      • SearchbuttonX,x
  • Spacer,x
    • tlačítko "mezera" nebo snad lépe "oddělovač" - odděluje tlačítka; parametr udává typ této mezery::
      • SpacerX,x
        • Spacer nebo Spacer,0 (pevný oddělovač)
        • Spacer,1 (dynamický oddělovač)
        • Spacer,3 (Wrapper - zalamovač - zalomí řádek v toolbaru)
  • Status,x
    • zobrazí odpovídající stavový text, definovaný číslem x:
      • StatusX,x
        • při použití v sekcích [Chat Room Header Toolbar.content] a [Chat Private Header Toolbar.content]:
          • Status,1 je název tabu / místnosti
          • Status,2 jsou podrobnosti chatu
        • lze použít také v sekci [Mail Header Toolbar.content]:
          • Status,1 zobrazení názvu tabu / pošty (Received, Outbox, Sent...)
          • Status,2 jsou podrobnosti pošty (x nepřečteno, x celkem)
        • na libovolném jiném toolbaru:
          • Status,1 zobrazí titulek a název aktuálního tabu, který je zobrazen také v horní liště aplikace (Opera:config / Opera6.ini - User Prefs - Title)
          • Status,2 zobrazí příslušné podrobnosti k tabu otevřené pošty nebo chatu; pokud takový tab není, žádné podrobnosti se nezobrazí
  • Progress,x
    • zobrazí odpovídající součást lišty průběhu (progress bar):
      • ProgressX,x
        • Progress nebo Progress,0 (dokument)
        • Progress,1 (obrázky)
        • Progress,2 (celkem)
        • Progress,3 (rychlost)
        • Progress,4 (uplynulý čas)
        • Progress,5 (stav průběhu)
        • Progress,6 (progress simple)
        • Progress,7 (hodiny)

Parametr pA - general button title

Toto je volitelný parametr a určuje general button title. Jsou dvě cesty, jak název definovat:
1. Přímo zadáním požadovaného textu (musí být v uvozovkách):

ButtonX,"Mé tlačítko"=

2. Načtením požadovaného řetězce (názvu tlačítka) ze souboru s jazykem (.lng). Zadáním čísla řetězce se zobrazí odpovídající text. Číslo se zadává BEZ uvozovek.

ButtonX,0123456789=

Poznámka: V Opeře se od verze 9 změnil způsob číslování řetězců v .lng souborech!

Parametr pA (general button title) je velmi podobný parametru p3 (command button title), který rovněž definuje název tlačítka. V případě, že v příkaze budou zadány oba dva parametry, pA i p3, dostane přednost parametr p3.

Pokud použijete v příkazu operátory '|' nebo '>', pak parametr pA může být použit jako general title místo individual titles pro každý příkaz.

Parametr pB - velikost písma

Volitelný parametr, nastavující velikost písma titulku tlačítka. Pokud tento parametr není definován, je nastavena výchozí velikost 100.

ButtonX,pA,110=

Parametr pC - určení sekce skinu

Volitelný parametr, od verze Opery 9 zatím pro testovací účely. Určuje sekci ve skin.ini, ze které se má použít obrázek.

ButtonX,pA,pB,3=
  • Nic, 0 nebo 1 je `Push button skin` s `Push default button skin` pro .pressed, .selected atd.
  • 2 je originální obrázek normálního tlačítka definovaný v `Images`
  • 3 je `Selector button skin`
  • 4 je `Link button skin`
  • 5 je `Tab button skin`
  • 6 je `Pagebar button skin`
  • 7 je `Header button skin`
  • 8 je `Menu button skin`
  • 9 je opět `Push button skin`, ale zde s vlastními sekcemi pro .pressed, .selected atd.
  • 10 je `Radio button skin`
  • 11 je `Checkbox skin`

Zdá se, že výše uvedené sekce skin.ini jsou používány se všemi podsekcemi, pokud jsou dostupné, např. .hover, .selected, .pressed atd.
Když použijete 1, 2, 5, 6, 7, 8, a 9, jsou obrázky vykreslovány kolem textu. `Link button skin` (4) zřejmě zobrazí pouze text.
Nezapomeňte, že třetí a čtvrtý parametr (pC a pD) před znakem '=' můžete používat jen pro testování!

Parametr pD - styl tlačítka

Volitelný, od Opery 9 pouze pro testovací účely, nastavuje styl pro tlačítka definovaná v parametru pC:

ButtonX,pA,pB,pC,2=
  • 0 je `Images only`, pouze obrázky
  • 1 je `Text only`, pouze text
  • 2 je `Image with text below`, obrázky a text pod nimi
  • 3 je `Image with text on right`, obrázky a text vpravo

`Image with text below` (2) zdá se, funguje pouze se specifickým skinem, pC 2, normální tlačítko.
Nezapomeňte, že třetí a čtvrtý parametr (pC a pD) před znakem '=' můžete používat jen pro testování!

Příklady použití pA - pD

Příklady korektního zápisu první části příkazu před znakem `=`:

ButtonX=
ButtonX,pA=
ButtonX,pA,pB=
ButtonX,pA,pB,pC=
ButtonX,pA,pB,pC,pD=
Platform Windows-Unix-QNX,ButtonX,pA,pB,pC,pD=
Feature voice,ButtonX,pA,pB,pC,pD=
Platform Unix-QNX,Feature Mail-Chat,ButtonX,pA,pB,pC,pD=
ButtonX,,pB,,pD=
ButtonX,pA,,pC,pD=
ButtonX,pA,pB,,pD=
ButtonX,,pB,pC,pD=
ButtonX,,,,pD=
ButtonX,,pB=
ButtonX,,pB,pC=
ButtonX,pA,,pC=

Rovnítko (=)

Znak '=' rozděluje celý příkaz tlačítka na dvě části.

COMMAND - příkaz

Příkaz je hlavní částí tlačítka a udává, jaká akce se má provést. Lze vybírat ze seznamu všech akcí Opery.

Button1=Back
Button2=Forward
Button3=Rewind

Obsahuje-li příkaz parametry, doporučuje se zadávat celý příkaz vpravo za rovnítkem včetně parametrů do dvojitých uvozovek:

ButtonX="Command,p1,p2,p3,p4"

Upozornění: Opera nedokáže správně interpretovat příkaz, pokud jsou uvozovky špatně - toto bývá velmi častým zdrojem problémů!

Pokud tlačítko obsahuje špatný nebo neexistující příkaz, Opera automaticky nastaví na začátek příkazu 'External action' (v případě změny toolbaru metodou drag and drop, táhni a pusť). To znamená, že příkaz nebyl rozpoznán a s 'External action' příkaz nebude nikdy fungovat.

Parametr p1

Volitelný parametr, závisí na příkazu (command).
Několik příkladů použití parametru p1:
Otevře tab se správou poznámek (notes):

ButtonX=Manage,"Notes"

Otevře `Search panel` (Panel Hledání). V tomto příkaze může být jako parametr: Search (Hledání), Bookmarks (Záložky), Mail (Pošta), Contacts (Kontakty), Chat, Notes (Poznámky), Transfers (Přenosy), History, Links (Odkazy), Windows (Okna), Info, Music a od Opery 9 také Widgets (Pomůcky). Parametr musí být samozřejmě zapsán anglicky, české významy v závorkách jsou zde uvedeny jen pro lepší orientaci ne-angličtinářů:

ButtonX=Focus panel,"Search"

Otevře `Bookmarks menu` (Menu Záložky); na tlačítku bude vpravo zobrazena malá šipka rozbalovacího seznamu. Parametrem může být název jakékoliv sekce ze souboru menu.ini - pod tlačítkem bude obsah (položky menu) dané sekce:

ButtonX=Show popup menu,"Browser bookmarks menu"

Otevře `Bookmarks menu` (Menu Záložky) jako v předchozím příkladě, ale na tlačítku nebude šipka - menu se rozbalí až po krátkém "podržení" tlačítka:

ButtonX=Show hidden popup menu,"Browser bookmarks menu"

Otevře `Preferences dialog` - `Advanced` (dialogové okno Nastavení na kartě Pokročilé):

ButtonX=Show preferences,4

Parametr p2

Volitelný parametr, závisí na příkazu (command), obvykle je dán již prvním parametrem p1.

ButtonX=Command,p1,p2


Open page in... (Otevřít stránku v...) . Proměnná `%u` jako parametr p2 předá adresu aktuálního dokumentu do programu, který je určen parametrem p1 (více o proměnných viz Proměnné v příkazech):

ButtonX=Execute program,"c:\programy\firefox\firefox.exe","%u"

Parametr p3 - command button title

Toto je volitelný parametr a určuje general button title. Jsou dvě cesty, jak název definovat:
1. Přímo zadáním požadovaného textu (musí být v uvozovkách):

ButtonX=Command,,,"Mé tlačítko"

2. Načtením požadovaného řetězce (názvu tlačítka) ze souboru s jazykem (.lng). Zadáním čísla řetězce se zobrazí odpovídající text. Číslo se zadává BEZ uvozovek.

ButtonX=Command,,,0123456789

Poznámka: V Opeře se od verze 9 změnil způsob číslování řetězců v .lng souborech!

Pokud zde command button title není definován, můžete jej definovat jako první parametr pA před znakem = (rovnítko) jako general button title, jinak se žádný název nezobrazí. V případě, že v příkaze budou zadány oba dva parametry, pA i p3, dostane přednost parametr p3.

Parametr p4 - obrázek tlačítka

Volitelný parametr, určuje obrázek, který se na tlačítku zobrazí. Název obrázku (musí být v uvozovkách) odpovídá názvu obrázku, který je uveden v souboru skin.ini (obvykle v sekci [Images]; skin.ini asociuje název obrázku s odpovídajícím .png souborem):

ButtonX=Command,p1,p2,p3,"Název obrázku tlačítka"
nebo
ButtonX=Command,,,,"Název obrázku tlačítka"


Toto zobrazí na tlačítku obrázek pro `Back`/`Forward` (Zpět / Vpřed), definovaný v sekci [Images] ve skin.ini:

ButtonX=Command,,,,"Back"
nebo
ButtonX=Command,,,,"Forward"

Operátory

Je možno používat čtyři typy operátorů, které umožňují tvorbu komplexních tlačítek:

  • Operátor + s jeho pomocí lze některým příkazům "přidat" ještě další funkci, např. na tlačítko s menu doplnit šipku rozbalovacího seznamu nebo po přidržení tlačítka bez šipky rozbalit seznam atd.
  • Operátor & umožní přidat více příkazů, které jsou rozpoznány spolu s "hlavním" příkazem
  • Operátor | vloží dva příkazy, typicky např. tlačítka pro On/Off (Zap/Vyp)
  • Operátor > umožní vícenásobné příkazy (=několik příkazů za sebou) s rozšířenými možnostmi změny titulků a obrázků

Operátor +

Umožňuje druhou funkci jako například menu s šipkou rozbalovacího seznamu (dropdown arrow), ale i jakýkoliv další příkaz jako druhou funkci (then normally you have to hold the button for a while, but there are some tricks...).

Několik příkladů se šipkou rozbalovacího seznamu (dropdown arrow):

  • Pouze menu; toto tlačítko zobrazí menu se šipkou rozbalovacího seznamu (dropdown arrow) vpravo, titulek: `Style`, image: `Back`:
ButtonX=Show popup menu,"Style menu",,"Style","Back"
  • Funkce+Menu; toto tlačítko otevře novou stránku (hlavní funkce) a zobrazí menu po kliknutí na šipku vpravo (titulek: `New`, obrázek: `Back`):
ButtonX=New page,,,67499,"Back" + Show popup menu,"Style menu"
  • Menu+Menu; toto tlačítko zobrazí menu jako hlavní finkci a dále zobrazí jiné menu kliknutím na šipku vpravo (titulek: `Bookms`, obrázek: `Back`):
ButtonX=Show popup menu,"Browser bookmarks menu",,"Bookms","Back" + Show popup menu,"Style menu"
  • Menu+Funkce; toto tlačítko zobrazí menu jako hlavní finkci a otevře novou stránku kliknutím na šipku vpravo (titulek: `Bookms`, obrázek: `Back`):
ButtonX=Show hidden popup menu,"Browser bookmarks menu",,"Bookms","Back" + New page & Show popup menu,"-"

Několik příkladů beze šipky rozbalovacího seznamu (dropdown arrow):

  • Pouze Menu; toto tlačítko zobrazí menu (bez šipky, titulek: `Style`, obrázek: `Back`):
ButtonX=Show hidden popup menu,"Style menu",,"Style","Back"
  • Funkce+Menu; toto tlačítko jako hlavní funkce otevře novou stránku a dále zobrazí menu, pokud budeme chvíli držet tlačítko stisknuté (bez šipky, titulek: `New`, obrázek: `Back`):
Button141=New page,,,67499,"Back" + Show hidden popup menu,"Style menu"
  • Menu+Menu; toto tlačítko jako hlavní funkce zobrazí menu a dále zobrazí jiné menu, pokud budeme chvíli držet tlačítko stisknuté (bez šipky, titulek: `Bookms`, obrázek: `Back`):
ButtonX=Show hidden popup menu,"Browser bookmarks menu",,"Bookms","Back" + Show hidden popup menu,"Style menu"
  • Menu+Funkce; toto tlačítko jako hlavní funkce zobrazí menu a otevře novou stránku, pokud chvíli tlačítko podržíme stisknuté (bez šipky, titulek: `Bookms`, obrázek: `Back`):
ButtonX=Show hidden popup menu,"Browser bookmarks menu",,"Bookms","Back" + New page
  • Funkce+Funkce; toto tlačítko jako hlavní funkce znovunačte aktuální stránku (reload) a otevře novou stránku, pokud chvíli tlačítko podržíme stisknuté (bez šipky, titulek: `Re-load`, obrázek: `Back`):
ButtonX=Reload,,,"Re-load","Back" + New page

Důležité: Všechna tlačítka, na kterých funguje "podržení" (hold-buttons) s funkcí za operátorem + (nikoli menu/hidden menu) pracují správně pouze pokud jsou zapnuty `Speciální efekty` v Nástroje -> Vzhled -> Skin (platí od Opery 9)!

Operátor &

Umožní zahrnout více příkazů, které budou rozeznány spolu s hlavním příkazem:

ButtonX=Command1,p1,p2,p3,p4 & Command2,p1,p2
nebo
ButtonX=Command1,p1,p2,p3,p4 & Command2,p1,p2 & Command3,p1,p2 (atd.)
  • Parametry p3 a p4 v příkazech za operátorem & budou ignorovány; není možné pro příkazy za tímto operátorem použít různé titulky nebo obrázky tlačítka.

Operátor |

Povoluje dva příkazy, např tlačítko se stavy Zap / Vyp. Operou je rozpoznán a proveden vždy příkaz (stav), který je `not true`.

  • Titulky tlačítek lze změnit parametrem p3 pokud to Opera u daného příkazu podporuje, jinak není změna titulků možná.
  • Také změna obrázků tlačítek parametrem p4 je možná pouze pokud to Opera u daného příkazu podporuje. V jiných případech je změna obrázků možná pouze přes skin.ini a `.selected`, `.pressed`, `.open` atd., rovněž je platné použití parametru pC pro general image (parametr pC je k dispozici od verze Opera 9).
  • Běžně se používá pro tlačítka se dvěma příkazy, pro více příkazů je vhodné použít tlačítko typu Dropdown (rozbalovací seznam).
  • Toto tlačítko zobrazí titulky `Stop` nebo `Reload` načtené z .lng souboru a obrázky pro Stop a Reload ze skin.ini:
ButtonX, 21235=Stop | Reload,,,21210
nebo
ButtonX=Stop,,,21235 | Reload,,,21210
nebo
ButtonX="Stop,,,21235,"Stop" | Reload,,,21210,"Reload""


Toto tlačítko zobrazí pouze titulek `Enable Gif` a obrázek pro `Enable GIF animation` nebo `Enable GIF animation.selected` ze skin.ini (pokud jsou v něm tyto obrázky definovány):

ButtonX,"Enable Gif"="Enable GIF animation | Disable GIF animation"
nebo
ButtonX="Enable GIF animation,,,"Enable Gif" | Disable GIF animation"

Operátor >

Umožní použít vícenásobné příkazy s různými titulky a obrázky tlačítka.

  • Parametrem p3 musíte definovat command button title pro každý jednotlivý příkaz (jinak se titulek nezobrazí). Je-li parametrem pA definován `general` title, bude titulek pro všechny příkazy stejný.
  • Parametrem p4 musíte také definovat obrázek tlačítka pro každý příkaz, jinak se obrázek nezobrazí. Od Opery verze 9 můžete použít parametr pC pro general image.
  • In general: normally no changing images are available via skin.ini and `.selected`, `.pressed`, `.open` and so on.
  • I`m not sure but I think also here the involved commands must be provided for this purpose in order to have different titles/images?

  • Na tomto tlačítku se zobrazí čtyři různé titulky a čtyři různé obrázky (za předpokladu, že jsou ve skin.ini definovány):
ButtonX="Disable popup windows,,,52201 > Enable popup windows,,,52200 > Enable popup windows in background,,,52202 > Enable requested popup windows,,,67424"

Externí odkazy

http://operawiki.info/AdvancedToolbarINIGuide - zdroj, ze kterého byly čerpány informace pro tento článek