Obecné vlastnosti
=================

.. module:: common.dialog
	:synopsis: Common features to all the dialog

Jedním z nepřeložených termínů v této dokumentaci je slovo "diff", což není pouze zkratka slova difference, ale označuje se jím standardizovaný způsob evidence změn - "unified diff".

Slovo "Visual Diff" označuje nástroj pro porovnávání změn v souborech.

Klávesnicové zkratky
---------------------

Je nadefinováno několik klávesnicových zkratek, které jsou podporovány všemi nástroji TortoiseHg. 

:kbd:`Ctrl-Q`
	zavřít aplikaci včetně otevřených oken

:kbd:`Ctrl-W`
	zavřít aktuální okno (totéž jako :kbd:`Ctrl-Q` je-li otevřeno jen jedno okno)

:kbd:`Ctrl-D`
	zobrazit diff aktuálně vybraných souborů a revizí

:kbd:`Ctrl-Enter`
	aktivace

:kbd:`F5`, :kbd:`Ctrl-R`
	obnovit

V `Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_ se místo :kbd:`Ctrl` používá jako modifikátor klávesnice "apple".
the
apple (command) key is used as the modifier instead of :kbd:`Ctrl`.

Porovnání změn
--------------

.. figure:: figures/visual-diff.jpg
	:alt: Visual Diff Window 

	Okno Přehled změn
	
TortoiseHg 0.8 zavedl okno "Přehled změn", které je užitečné z následujících důvodů:

1. Umožňuje individuální výběr vizuálního diffového nástroje pro každý jednotlivý soubor
2. Umožňuje použití diffových nástrojů, které větví procesy na pozadí
3. Umožňuje použití i takových vizuálních diffových nástrojů, které nepodporují diffy celých adresářů
4. Poskytuje zpětnou vazbu, nebyly-li žádné soubory modifikovány. 
	
Pro potřebu vizualizace změn si TortoiseHg vygeneruje dočasné soubory, které obsahují starší verze dat. Tyto dočasné soubory jsou smazány při zavření aplikace "Vizuální Diff".

Chceme-li vypustit otevření okna "Přehled změn" a přímo spouštět nastavený nástroj Vizuální Diff, otevřeme
:menuselection:`TortoiseHg -> Globální nastavení` a na kartě TorotiseHg nastavíme :menuselection:`Přeskočit úvodní okno VDiff` na hodnotu "true".

.. note::
	Nastavení položky `Přeskočit úvodní okno VDiff` nemění chování nástroje VDiff, které se při spuštění z kontextového menu vždy otevře. 

.. warning::
	Vypustíme-li okno "Přehled změn", musí si náš VDiff nástroj umět poradit s adresáři a nesmí 
	větvit procesy v pozadí.
	Caveat emptor.

Nastavení vizuálního diffového nástroje se v TortoiseHg provádí ve dvou krocích. Nejprve musíme nastavit příkaz
`extdiff <http://mercurial.selenic.com/wiki/ExtdiffExtension>`_
v konfiguračním souboru :file:`TortoiseHg/Mercurial.ini`::

	[extdiff]
	myapp = C:\Path\to\tool.exe

Potom je možné vybrat `myapp` ze seznamu dostupných nástrojů "extdiff" v :menuselection:`Globální nastavení -> TortoiseHg -> Nástroj Visual Diff`.
Nějaké konfigurační příklady lze nalézt v :doc:`faq`.

Je-li nastaveno více nástrojů `extdiff`, umožní nám okno "Přehled změn" vybrat individuální nástroj pro každý soubor jednotlivě.

Prohledávání stromových struktur
--------------------------------

Mnohé dialogy programu TortoiseHg používají stromových struktur k prezentaci seznamů dat uživateli. Seznamy souborů v oknech status, commit, shelve mají tvar stromových struktur.
Většina stromových struktur je uzpůsobena pro živé vyhledávání.
Ujistíme se, že má struktura zaměření (klikem na řádku) a začneme zapisovat vyhledávací frázi. Objeví se malé vstupní pole, které obsahuje náš zadávaný text. Zaměření (focus) se okamžitě přenese k prvnímu řádku, které odpovídá dosud zadanému textu. Dalším textem se výběr upřesňuje.

V poli stromové struktury je možné také použít tyto klávesové zkratky:

* :kbd:`Ctrl-F` otevře přímo vyhledávací okno
* :kbd:`Ctrl-G` pokročí v hledání další shody
* :kbd:`Shift-Ctrl-G` prohledává dozadu
* Kolečko myši posunuje hledání řádků se shodou vpřed i vzad

Interaktivní příkaz Mercurialu
------------------------------

Mnohé nástroje TortoiseHg používají dialog *hgcmd* k provedení příkazů, které mohou být případně interaktivní.


.. figure:: figures/hgcmd.jpg
	:alt: Mercurial command dialog

	Interaktivní příkaz Mercurialu

.. note::
	Chybová hlášení mají pro zvýraznění červenou barvu.

Je-li příkaz Mercurialu ukončen, přesune se zaměření (focus) na  tlačítko :guilabel:`Close`.  Proto pro zavření okna postačí stisknout tlačítko :kbd:`Enter`.

.. vim: noet ts=4
