共通の機能
==========

.. module:: common.dialog
	:synopsis: 全ダイアログ共通の機能

これらの機能は多くの TortoiseHg ダイアログに共通しているため、
ここにまとめておきます。


キーボードショートカット
------------------------

全ての TortoiseHg ダイアログで使用可能なキーボードショートカットが
いくつか定義されています。

:kbd:`Ctrl-Q`
	開いているウィンドウ全てを閉じてアプリケーションを終了します

:kbd:`Ctrl-W`
	現在のウィンドウを閉じます (開いているウィンドウが1つだけの場合は
	:kbd:`Ctrl-Q` と同じ動作)

:kbd:`Ctrl-D`
	現在選択されているファイルまたはチェンジセットの差分を表示します

:kbd:`Ctrl-Enter`
	アクティベーションします

:kbd:`F5`, :kbd:`Ctrl-R`
	最新の状態に更新します

`Mac OS X <http://bitbucket.org/tortoisehg/stable/wiki/MacOSX>`_ では
アップル (Command) キーを :kbd:`Ctrl` キーモディファイアの代わりに使用します。
ただしコピー＆ペーストなど一部の機能については GTK+ 標準のキーボードショートカットが
使用されるため、 :kbd:`Ctrl` キーを使わなければならない場合もあります。


差分表示
--------

.. figure:: figures/visual-diff.png
	:alt: 差分表示ウィンドウ

	差分表示ウィンドウ

TortoiseHg 0.8 では差分表示ダイアログにおける4つのユーザビリティ上の
問題が解決されました：

1) ファイルごとに差分表示ツールを選択することが可能
2) 差分表示ツールを別プロセスとして起動可能
3) ディレクトリ差分機能を持たない差分表示ツールでも利用可能
4) 変更されたファイルがない場合、その旨を表示

差分表示のために TortoiseHg は過去のリビジョンデータを含む一時ファイルを生成します。
それらの一時ファイルは差分表示ダイアログを閉じたときに削除されます。

差分表示ウィンドウを飛ばして直接、差分表示ツールを起動したい場合は
:menuselection:`TortoiseHg --> 差分表示をスキップ` を `True` に
設定してください。

.. note::
	`差分表示をスキップ` の設定を変更してもエクスプローラの右クリックメニューから
	起動する差分表示の動作を変えることはできません。差分表示ウィンドウは常に
	表示されます。

.. NEEDFORREVIEW

.. warning::
	差分表示ウィンドウの表示を飛ばす場合、使用する差分表示ツールはディレクトリ差分機能に
	対応している必要があり、別プロセスとして起動されません。自己責任で使用してください。

TortoiseHg で差分表示アプリケーションを使用するには2つの手順を踏む必要があります。
まず最初に使用したいアプリケーションを
`Extdiff <http://mercurial.selenic.com/wiki/ExtdiffExtension>`_ コマンドとして
:file:`Mercurial.ini` に設定します： ::

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

設定すると利用可能な `Extdiff` コマンドとして
:menuselection:`TortoiseHg --> 差分表示コマンド` に
`myapp` が表示されるのでそれを選択してください。 :doc:`faq` で
いくつか設定例を見ることができます。

複数の `Extdiff` コマンドが設定されている場合、差分表示ウィンドウでどのコマンドを
使用するかファイルごとに選択可能です。


ツリービュー内検索
------------------

ステータス、コミット、シェルフ、チェンジログツールのファイル一覧、
チェンジログビューアのグラフ表示パネル、リポジトリ検索ツールのコメントパネルなど
多くの TortoiseHg ダイアログでツリービューを利用しています。

TortoiseHg のツリービューの大部分はインクリメンタル検索が可能です。
どれか行を1つ選択するなどして、ツリービューがフォーカスされている状態で
検索キーワードの入力を始めてください。入力した検索キーワードを含む小さな
テキスボックスが表示されて、ツリービューは最初にマッチした行にジャンプします。
さらに入力を続けると検索結果が絞られます。

* :kbd:`Ctrl-F` は明示的に検索テキストボックスを開きます
* :kbd:`Ctrl-G` 次にマッチした行に移動します
* :kbd:`Shift-Ctrl-G` 前にマッチした行に移動します
* マウスのホイールを回転させると前後のマッチ行に移動します

HG コマンドダイアログ
---------------------

TortoiseHg ダイアログの多くは Mercurial のコマンド実行の状況をリアルタイムに
表示するため *hgcmd* を使用しています。

.. figure:: figures/hgcmd.png
	:alt: Mercurial コマンドダイアログ

	Mercurial コマンドダイアログ

.. note::
	エラーメッセージは目立つように赤い文字として表示されます

Mercurial コマンドの実行が終了したとき、ダイアログは :guilabel:`閉じる` ボタンに
フォーカスを移動させます。そのため :kbd:`Enter` キーを押すだけでウィンドウを
閉じることができます。

.. vim: noet ts=4
