2008-02-03  Fujita YOSHITOMO  <ystm@ultrapop.jp>

	* q2chwm.vcproj: debug時、libYo*d.libをリンクするようにしたけどなぜかバイナリはd付きをリンクしない・・・

	* q2chwmThreadDialog.cpp: 編集系メニューに対応

	* q2chwmThreadDialog.h (class Cq2chwmThreadDialog): 編集系メニューに対応

	* q2chwmSubjectView.cpp (Copy): コピーメニューでスレッド情報をクリップボードにコピーするようにした(修正前は板情報をコピーしていた)

	* q2chwmPageFont.cpp (OnSize): レイアウト変更

	* q2chwmMessageDialog.cpp (OnMenuPaste): レス以外でも貼り付けできるようにした
	(OnMenuPasteCite): レス以外でも引用記号付き貼り付けできるようにした

	* q2chwmGrepDialog.cpp (OnMenuCopy): 1レスコピーメニュー
	(OnMenuJump): ジャンプメニュー
	(OnMenuCopyAll): 全てコピーメニュー
	(OnMenuWrap): 折り返しメニュー

	* q2chwmGrepDialog.h (class Cq2chwmGrepDialog): ジャンプ機能対応、折り返しメニュー追加

	* q2chwmDatView.cpp (OnGrepId): 抽出ダイアログのジャンプ機能対応
	(OnGrepName): 抽出ダイアログのジャンプ機能対応
	(OnGrepRefer): 正規表現修正
	(OnGrepRefer): 抽出ダイアログのジャンプ機能対応

	* q2chwmDatFile.cpp (Convert): 連続した改行を削除がうまく機能していなかったため修正(改行が3個続いたら改行しない)

	* q2chwmDatCtrl.cpp (CopyMessage): 1レスコピーメソッド
	(CopyMessageAll): 全てコピーメソッド

	* q2chwmDatCtrl.h (class Cq2chwmDatCtrl): 抽出機能用に1レスコピーと全てコピーメソッド追加

	* q2chwmCacheView.cpp (Search): 検索でマッチした場合に検索ソート後最上部へ移動するようにした

	* q2chwmBookmarkView.cpp (Search): 検索でマッチした場合に検索ソート後最上部へ移動するようにした

	* q2chwmBoardView.cpp (Copy): コピーメニューで板情報をクリップボードにコピーするようにした

	* q2chwmBoardView.h (class Cq2chwmBoardView): コピーメニューで板情報をクリップボードにコピーするようにした

	* q2chwm.cpp (OnConfig): 設定画面を開いたときにウィンドウタイトルを変更するようにした

	* MainFrm.cpp (OnCopy): コピーメニューで板情報をクリップボードにコピーするようにした

	* nEdit.cpp: スレッドが1画面に収まる場合にスクロールしなかったためチェック処理をコメントアウト

	* q2chwmSubjectView.cpp (OnKeyDown): サブキー対応

	* q2chwmSubjectFile.cpp (CreateFromFindUrl): メソッド名の統一

	* q2chwmPageKey.cpp (PreTranslateMessage): サブキー対応
	(OnLvnItemchangedList): サブキー対応
	(OnBnClickedButtonDisable): 無効ボタン処理追加
	(setCode): キーを変更したときにリストの内容を変更するようにした

	* q2chwmPageKey.h (class Cq2chwmPageKey): サブキー対応
	(class Cq2chwmPageKey): 無効ボタンの処理追加(忘れてました)

	* q2chwmPageBoard.cpp (OnInitDialog): メソッド名の統一

	* q2chwmListItem.h (class Cq2chwmListItem): 板移転時、ブックマークの板URLを書き換える必要があったためSetBoardUrlメソッド追加

	* q2chwmListView.cpp (OnKeyDown): サブキー対応
	(OnKeyDown): ビュー切り替えメニュー対応

	* q2chwmDatView.cpp (OnKeyDown): サブキー対応
	(OnKeyDown): ビュー切り替え、表示すれの板を開く、透明あぼーん、折り返し、再読み込み、ID抽出、名前抽出、被レス抽出キー追加
	(OnKeyDown): 次の新着ブックマークへの処理をDatCtrlからDatViewに移動(抽出ダイアログで次の新着ブックマーク機能をなくしたいため)
	(OnDispReload): 再読み込み時、レス位置を失わないためにinfoを更新するようにした
	(OnDispAbone): 透明あぼーん時、レス位置を失わないためにinfoを更新するようにした
	(OnGrepId): ID抽出メソッド
	(OnGrepName): 名前抽出メソッド
	(OnGrepRefer): 被レス抽出メソッド

	* q2chwmDatView.h (class Cq2chwmDatView): ID抽出、名前抽出、被レス抽出追加

	* q2chwmEditCtrl.cpp (SetText): Unicode版追加
	(AddText): Unicode版追加

	* q2chwmEditCtrl.h (class Cq2chwmEditCtrl): SetText, AddTextにUnicode版追加

	* q2chwmConfigDialog.cpp: タブ廃止でメニュー化
	(OnInitDialog): NGワード、書き込み、その他設定ダイアログ追加

	* q2chwmConfigDialog.h (class Cq2chwmConfigDialog): NGワード、書き込み設定用にURL配列、テキスト配列を追加
	(class Cq2chwmConfigDialog): NGワード、書き込み、その他設定ダイアログ追加
	(class Cq2chwmConfigDialog): タブ廃止でメニュー化

	* q2chwmConfig.cpp : キー追加、NGワード設定、書き込み設定、その他設定追加、サブキー対応

	* q2chwmConfig.h : キー追加、NGワード設定、書き込み設定、その他設定追加、サブキー対応

	* q2chwmCommon.cpp (ConvertZenkaku): 数値を全角(SJIS)に変換する関数(被レス抽出時の正規表現生成時に使用)

	* q2chwmCommon.h (ConvertZenkaku): 数値を全角(SJIS)に変換する関数(被レス抽出時の正規表現生成時に使用)

	* q2chwmDatCtrl.cpp (Cq2chwmDatCtrl): 透明あぼーんフラグをコンストラクタで取得するようにした
	(OnKeyDown): サブキー対応
	(JumpNextLine, JumpPrevLine): 抽出ダイアログではリンクを選択しないでスクロールする必要があるためリンクを選択するかどうかのフラグ追加
	(JumpNextMessage): 次レス移動で長文を考慮オプション対応
	(ResetNewKey): 名前行が折り返されているときが考慮されていなかったのを修正
	(GetMessageText): 名前行、日付行が折り返されている場合を考慮されていなかったのを修正
	(GetSelectedString): パフォーマンス向上のためにCStringでUnicodeのまま受け取るようにした
	(GetMessageId): ID抽出対応
	(GetMessageId): 名前抽出対応(メールアドレスに<が含まれると正しく抽出できない・・・)

	* q2chwmDatCtrl.h (class Cq2chwmDatCtrl): 抽出ダイアログではリンクを選択しないでスクロールする必要があるためJumpNextLine, JumpPrevLineにリンクを選択するかどうかのフラグ追加
	(class Cq2chwmDatCtrl): パフォーマンス向上のためにテキスト取得メソッドではCStringを取得するように修正(UnicodeからWide文字への変換がなくなる)

	* q2chwmBoardItem.h (class Cq2chwmBoardItem): メソッド名の統一

	* q2chwmBoardView.cpp (DetectRemoval): 板移転時にブックマーク書き換え処理追加
	(MergeDirectory): 板移転時、移転前の板ディレクトリが存在しない場合にエラー判定となっていたのを修正
	(MergeDirectory): 板移転時、移転前のドメインディレクトリが空になったらドメインディレクトリを削除するようにした
	(OnKeyDown): サブキー対応
	(AddBookmark): ブックマーク追加メニューでその他に追加するようにした

	* q2chwmBoardView.h (class Cq2chwmBoardView): ブックマーク追加(板をその他に追加)機能追加

	* q2chwmBookmarkFile.cpp (Replace): 板移転時のブックマーク書き換えメソッド

	* q2chwmBookmarkFile.h (class Cq2chwmBookmarkFile): 板移転時のブックマーク書き換えメソッド追加

	* q2chwmBookmarkView.cpp (OnKeyDown): サブキー対応

	* q2chwmCacheView.cpp (OnKeyDown): サブキー対応

	* q2chwm.cpp (PopupViewMenu): ビュー切り替えショートカット用メソッド

	* q2chwm.h (class Cq2chwmApp): ビュー切り替えショートカット対応

	* MainFrm.cpp (PreTranslateMessage): サブキー対応

	* q2chwmBoardFile.cpp (Write): メソッド名の統一
	(InsertBoard): ブックマーク追加メニューでその他に追加するときに先頭に追加するためのメソッド

	* q2chwmBoardFile.h (class Cq2chwmBoardFile): メソッド名の統一

2008-02-01  Fujita YOSHITOMO  <ystm@ultrapop.jp>

	* q2chwmCommon.cpp (ChangeSip): SIP変更関数
	(SipOff): SIPを英数にする関数
	(SipOn): SIPを日本語にする関数
	(GetClipBoardText): 貼り付けメニュー、引用記号付き貼り付けメニューのためにクリップボードのテキストを取得する関数を追加

	* q2chwmCommon.h (SipOn, SipOff, ChangeSip): SIP操作関数追加
	(GetClipBoardText): クリップボードのテキストを取得する関数
	(GetStringLength, GetByteLength): 検索をUnicodeを行うようにしたため削除

	* q2chwmBoardView.cpp (OnKeyDown): ページダウン、ページアップ対応

	* q2chwmPageNetwork.cpp: デフォルトsageオプションを書き込み設定に移動

	* q2chwmPageNetwork.h (class Cq2chwmPageNetwork): デフォルトsageオプションを書き込み設定に移動

	* q2chwmPageFont.cpp (OnSize): スレッドの位置を最下部に変更。今後複数登録できるようにするかもしれないので。

	* q2chwmMessageDialog.cpp (Send): キャンセル処理を実現するために処理フラグ追加
	(OnOK): 処理完了後、SIPを英数にするようにした
	(OnInitDialog): ダイアログ表示時、SIPを日本語にするようにした
	(OnInitDialog): 定型文機能対応
	(OnInitDialog): OKメニューを廃止し、編集系メニューを追加
	(OnInitDialog): 編集時、レスにフォーカスオプション対応
	(OnCancel): 処理中ならキャンセル処理を行うようにした
	(OnCancel): キャンセルした際にSIPを英数に変更するようにした
	(SetFont): 太字対応
	(OnCbnSelendokComboTemplate): 定型文機能追加により\nを改行に変換する処理を追加
	(OnMenuCopy): コピーメニュー
	(OnMenuCut): 切り取りメニュー
	(OnMenuPaste): 貼り付けメニュー
	(OnMenuPasteCite): 引用記号つき貼り付けメニュー
	(OnMenuDelete): 削除メニュー
	(OnMenuUndo): 元に戻すメニュー

	* q2chwmMessageDialog.h (class Cq2chwmMessageDialog): 処理中フラグ追加
	(class Cq2chwmMessageDialog): OKメニューを廃止し、編集系メニュー追加

	* q2chwmListView.cpp (OnKeyDown): ページダウン、ページアップ対応

	* q2chwmEditCtrl.cpp (GetWrap): 折り返しメニューenable/disable切り替えのために追加
	(GetLineString): q2ch拡張文字を含めるかどうかのフラグ追加
	(SearchNext): GetLines呼び出しを1回にすることで検索高速化
	(GetSelectedString): q2ch拡張文字を含めるかどうかのフラグ追加

	* q2chwmEditCtrl.h (class Cq2chwmEditCtrl): ウィンドウハンドルをpublicにした
	(class Cq2chwmEditCtrl): GetLineStringで取得する文字列にq2ch拡張文字を含めるかどうかのフラグ追加。NGワード、定型文設定画面用

	* q2chwmDatView.cpp (OnKeyDown): スクロール対応
	(OnAddTemplate): 選択範囲を定型文に追加メニュー
	(OnAddNg): 選択範囲をNGワードに追加メニュー

	* q2chwmDatView.h (class Cq2chwmDatView): 選択範囲を〜に追加メニュー用メソッド追加

	* q2chwmDatCtrl.cpp (Reload): 再読み込みメニュー用メソッド追加
	(CreateFromFile): NGワード機能対応、連続する改行を削除対応
	(createIndex): Cq2chwmEditCtrl::GetLines呼び出しを1回にして高速化
	(GetLastMessageNumber): あぼーんされたメッセージを考慮した終端メッセージ番号取得メソッド
	(GetFirstMessageNumber): あぼーんされたメッセージを考慮した先頭メッセージ番号取得メソッド
	(MoveWindow): ウィンドウサイズ変更時にカレントメッセージを見失わないようにした
	(GetCurrentMessageText): NGワード、定型文設定画面にカレントメッセージをセットするためにカレントメッセージ取得メソッドに名前行と日付行を含めるかどうかのフラグ追加
	(SetWrao): 折り返しメニュー用メソッド追加
	(GetWrao): 折り返しメニュー用に折り返し状態がどうかを返すメソッド
	(SetTransParentAbone): 透明あぼーんメニュー用メソッド追加
	(GetTransParentAbone): 透明あぼーんメニュー用に透明あぼーん状態かどうかを返すメソッド追加
	(ShowWindow): ブックマーク巡回後スレッドを表示した際に新着メッセージがあぼーんされたものだった場合を考慮し画面表示時に新着フラグを変更する処理を追加
	(GetSelectedString): 選択範囲を〜に追加メニュー用メソッド
	(SendMessage): nEditにウィンドウメッセージを投げるメソッド

	* q2chwmDatCtrl.h (class Cq2chwmDatCtrl): NGワード機能用にメンバ変数にCYoRegexクラス追加
	(class Cq2chwmDatCtrl): 折り返し、透明あぼーん、再読み込みメニュー用メソッド追加
	(class Cq2chwmDatCtrl): 選択範囲をNGワードに追加、選択範囲を定型文に追加メニュー用メソッド追加

	* MainFrm.cpp (Connect): ネットワーク接続処理にタイムアウト(30sec)を設定

	* q2chwm.h (class Cq2chwmApp): メソッド名修正subject->Subject

	* q2chwm.cpp (InitInstance): メモリカードのマウントが外れていた場合を想定し、親ディレクトリが存在しなかった場合にメッセージを表示するようにした
	(InitInstance): 起動時にSIPを英数に変更するようにした
	(OnConfig): NGワード、定型文設定画面にURLとカレントメッセージを初期値とするためにCq2chwmConfigDialogにセットする処理を追加
	(OnViewCurrentSubject): 表示スレッドの板を開くメニュー
	(OnSearchRelatedSubject): 次スレ検索メニュー

	* q2chwm.h (class Cq2chwmApp): 次スレ検索、表示スレッドの板を開くメニュー追加

	* q2chwmArticleFile.cpp: q2ch本家のキャッシュ処理コメントアウト個所の削除

2008-01-27  Fujita YOSHITOMO  <ystm@ultrapop.jp>

	* q2chwmSubjectView.cpp (Reload): 次スレ検索前の最新化のためにReloadメソッド追加

	* q2chwmSubjectView.h (class Cq2chwmSubjectView): 次スレ検索前の最新化のためにReloadメソッド追加

	* q2chwmPageSystem.h (Write): GetLastCtrlメソッドの廃止

	* q2chwmPageNetwork.cpp: BEGIN_MESSAGE_MAPの親クラスの修正

	* q2chwmPageNetwork.h (class Cq2chwmPageNetwork): GetLastCtrlメソッドの廃止

	* q2chwmPageKey.h (OnInitDialog): GetLastCtrlメソッドの廃止

	* q2chwmPageKey.cpp (OnSize): リストビューのサイズ変更

	* q2chwmPageFont.h (class Cq2chwmPageFont): GetLastCtrlメソッドの廃止

	* q2chwmPageColor.h (Write): GetLastCtrlメソッドの廃止

	* q2chwmPageBoard.cpp (Write): 更新された場合のみetc.txtを再作成するようにした

	* q2chwmPageBoard.h (class Cq2chwmPageBoard): 更新された場合のみetc.txtを再作成するようにした

	* q2chwmDatView.cpp (AddBookmark): スレッドからリンクで別スレッドを開いた場合、ブックマーク追加で板名が入らなかったバグを修正
	GetCurrent*系メソッド追加
	(OnDispReload): 再読み込みメニュー
	(OnDispWrap): 折り返しメニュー
	(OnDispAbone): 透明あぼーんメニュー

	* q2chwmDatView.h (class Cq2chwmDatView): NGワード、定型文設定のためにカレントスレッドの板情報、スレッド情報を取得するGetCurrent*系メソッド追加
	(class Cq2chwmDatView): 再読み込み、折り返し、透明あぼーんメニュー対応

	* q2chwmDatFile.cpp (Convert): 連続する改行を削除設定の追加
	(Convert): NGワード設定の追加

	* q2chwmDatFile.h (class Cq2chwmDatFile): 連続する改行を削除設定の追加

	* q2chwmBookmarkItem.cpp (refresh): 未読数計算の変更。スレッドのレス数 - 最大閲覧数 = 未読数

	* q2chwmBoardView.cpp (SearchPrev): メソッド名の統一

	* q2chwmBoardItem.h (class Cq2chwmBoardItem): メソッド名の統一

2008-01-21  Fujita YOSHITOMO  <ystm@ultrapop.jp>

	* q2chwmEditCtrl.cpp (GetLine): パフォーマンスの向上のためにlstrlenを廃止(縦横切り替えのパフォーマンス向上)
	(IsLineEnd): SendMessageを使わずに行の終端をチェックできるメソッド追加
	(SearchNext): Unicodeのまま正規表現にかけるように修正(検索のパフォーマンス向上)
	(SearchPrev): Unicodeのまま正規表現にかけるように修正(検索のパフォーマンス向上)

2008-01-20  Fujita YOSHITOMO  <ystm@ultrapop.jp>

	* q2chwmEditCtrl.cpp (SetFont): フォント太字対応
	(GetLineString): 呼び出し元でバッファを用意するメソッド追加(検索で使用)

	* q2chwmEditCtrl.h (class Cq2chwmEditCtrl): フォント太字対応
	(class Cq2chwmEditCtrl): パフォーマンス向上のために呼び出し元でバッファを用意するint GetLineString(int, TCHAR*, int)を追加

	* q2chwmDatView.cpp (Cq2chwmDatView): フォント太字対応
	タブ最大数を超えて新しいタブを開いたときにタイトルバーのテキストが2度更新されてしまう現象を1度に修正
	(SearchNext): 検索終了時にメッセージボックスを表示するようにした

	* q2chwmDatView.h (class Cq2chwmDatView): フォント太字対応

	* q2chwm.cpp (OnViewArticle): ビュー→スレッド選択でタイトルバーのテキストを変更する

	* q2chwmInfoFile.cpp (Create): マルチスレッドで呼ばれるのでstaticを外した

	* MainFrm.cpp (Connect): ネットワークにつながらない場合無限ループしていたためタイムアウトを30秒にした

	* MainFrm.h (class CMainFrame): 書き込み画面から通信をキャンセル出来るようにSetCancelメソッド追加

	* q2chwmSubjectView.cpp (SetFont): フォント太字対応
	(Search): マッチした場合、上へ移動するようにした

	* q2chwmPageFont.cpp (OnSize): フォント太字対応
	(OnInitDialog): フォント太字対応
	(Write): フォント太字対応

	* q2chwmPageFont.h (class Cq2chwmPageFont): フォント太字対応

	* q2chwmListView.cpp (SetFont): フォント太字対応

	* q2chwmListView.h (class Cq2chwmListView): フォント太字対応

	* q2chwmInfoFile.cpp (Create): 最大閲覧レス番号追加
	(Write): 最大閲覧レス番号追加

	* q2chwmInfoFile.h (class Cq2chwmInfoFile): ブックマークの未読表示のために最大閲覧レス番号追加
	以前はarticleファイルのseenを使用していたがinfoファイルのみで未読数が分かるように統一

	* q2chwmDatCtrl.cpp (CreateFromFile): 未読表示のためにinfoファイルに最大閲覧レス番号(max)を追加したのでmaxの値を読み込むように修正
	(OnKeyDown): キーが押されるたびにinfoファイルの最大閲覧レス番号を更新するように修正
	(SetFont): フォント太字対応

	* q2chwmDatCtrl.h (class Cq2chwmDatCtrl): フォント太字対応

	* q2chwmConfig.cpp (Cq2chwmConfig): フォント太字対応

	* q2chwmConfig.h (class Cq2chwmConfig): フォント太字対応

	* q2chwmCacheView.cpp (SetFont): フォント太字対応

	* q2chwmBookmarkView.cpp (SetFont): フォント太字対応

	* q2chwmBoardView.cpp (SetFont): フォント太字対応
	(OnNMClick): クリックイベント処理追加

	* q2chwmBoardView.h (class Cq2chwmBoardView): クリックイベント処理追加

	* nEdit.cpp: パフォーマンス向上のための修正
	(caret_move): ページダウン/アップ出来るように修正

	* nEdit.h: EM_LINELENGTHとEM_GETLINEをウィンドウメッセージを介さずに処理出来るように
	line_get_lengthとindex_to_charのstaticを外した

