-/*=============================================================================\r
+/*=============================================================================\r
*\r
-* \83u\83b\83N\83}\81[\83N\r
+* ブックマーク\r
*\r
===============================================================================\r
/ Copyright (C) 1997-2007 Sota. All rights reserved.\r
/ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
/============================================================================*/\r
\r
-#define WINVER 0x400\r
+// UTF-8対応\r
+//#define WINVER 0x400\r
\r
#define STRICT\r
+// IPv6対応\r
+#include <winsock2.h>\r
#include <windows.h>\r
#include <stdio.h>\r
#include <stdlib.h>\r
#include <htmlhelp.h>\r
#include "helpid.h"\r
\r
-// UTF-8\91Î\89\9e\r
+// UTF-8対応\r
#undef __MBSWRAPPER_H__\r
#include "mbswrapper.h"\r
\r
\r
-/*===== \83v\83\8d\83g\83^\83C\83v =====*/\r
+/*===== プロトタイプ =====*/\r
\r
static int AddBookMark(char *Path);\r
static int GetBothPath(char *Str, char **Path1, char **Path2);\r
-static BOOL CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static BOOL CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+// 64ビット対応\r
+//static BOOL CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+//static BOOL CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);\r
\r
-/*===== \8aO\95\94\8eQ\8fÆ =====*/\r
+/*===== 外部参照 =====*/\r
\r
extern HWND hHelpWin;\r
\r
-/* \90Ý\92è\92l */\r
-extern HFONT ListFont; /* \83\8a\83X\83g\83{\83b\83N\83X\82Ì\83t\83H\83\93\83g */\r
+/* 設定値 */\r
+extern HFONT ListFont; /* リストボックスのフォント */\r
extern SIZE BmarkDlgSize;\r
\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\82ð\83N\83\8a\83A\82·\82é ----------------------------------------------\r
+/*----- ブックマークをクリアする ----------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void ClearBookMark(void)\r
}\r
\r
\r
-/*----- \83J\83\8c\83\93\83g\83f\83B\83\8c\83N\83g\83\8a\82ð\83u\83b\83N\83}\81[\83N\82É\92Ç\89Á ------------------------------\r
+/*----- カレントディレクトリをブックマークに追加 ------------------------------\r
*\r
* Parameter\r
-* int Win : \83E\83C\83\93\83h\83E\94Ô\8d\86 (WIN_xxx)\r
+* int Win : ウインドウ番号 (WIN_xxx)\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void AddCurDirToBookMark(int Win)\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\82É\83p\83X\82ð\93o\98^\82·\82é ------------------------------------------\r
+/*----- ブックマークにパスを登録する ------------------------------------------\r
*\r
* Parameter\r
-* char *Path : \83p\83X\96¼\r
+* char *Path : パス名\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X\r
-* SUCCESS/FAIL\r
+* int ステータス\r
+* FFFTP_SUCCESS/FFFTP_FAIL\r
*----------------------------------------------------------------------------*/\r
\r
static int AddBookMark(char *Path)\r
int MarkID;\r
int Sts;\r
\r
- Sts = FAIL;\r
+ Sts = FFFTP_FAIL;\r
hMenu = GetSubMenu(GetMenu(GetMainHwnd()), BMARK_SUB_MENU);\r
MarkID = (GetMenuItemCount(hMenu) - DEFAULT_BMARK_ITEM) + MENU_BMARK_TOP;\r
if(AppendMenu(hMenu, MF_STRING, MarkID, Path) == TRUE)\r
- Sts = SUCCESS;\r
+ Sts = FFFTP_SUCCESS;\r
return(Sts);\r
}\r
\r
\r
-/*----- \8ew\92è\82ÌID\82ð\8e\9d\82Â\83u\83b\83N\83}\81[\83N\82Ì\83p\83X\82ð\95Ô\82· --------------------------------\r
+/*----- 指定のIDを持つブックマークのパスを返す --------------------------------\r
*\r
* Parameter\r
* int MarkID : ID\r
-* char *Local : \83\8d\81[\83J\83\8b\91¤\82Ì\83p\83X\82ð\95Ô\82·\83o\83b\83t\83@\r
-* char *Remote : \83\8a\83\82\81[\83g\91¤\82Ì\83p\83X\82ð\95Ô\82·\83o\83b\83t\83@\r
-* int Max : \83o\83b\83t\83@\82Ì\83T\83C\83Y\r
+* char *Local : ローカル側のパスを返すバッファ\r
+* char *Remote : リモート側のパスを返すバッファ\r
+* int Max : バッファのサイズ\r
*\r
* Return Value\r
-* int \83X\83e\81[\83^\83X (BMARK_TYPE_xxx)\r
+* int ステータス (BMARK_TYPE_xxx)\r
*----------------------------------------------------------------------------*/\r
\r
int AskBookMarkText(int MarkID, char *Local, char *Remote, int Max)\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\82Ì\95¶\8e\9a\97ñ\82©\82ç\82Q\82Â\82Ì\83p\83X\82ð\8eæ\82è\8fo\82· --------------------------\r
+/*----- ブックマークの文字列から2つのパスを取り出す --------------------------\r
*\r
* Parameter\r
-* char *Str : \95¶\8e\9a\97ñ\r
-* char **Local : \83\8d\81[\83J\83\8b\91¤\82Ì\83p\83X\82Ì\90æ\93ª\82ð\95Ô\82·\83\8f\81[\83N\r
-* char **Remote : \83\8a\83\82\81[\83g\91¤\82Ì\83p\83X\82Ì\90æ\93ª\82ð\95Ô\82·\83\8f\81[\83N\r
+* char *Str : 文字列\r
+* char **Local : ローカル側のパスの先頭を返すワーク\r
+* char **Remote : リモート側のパスの先頭を返すワーク\r
*\r
* Return Value\r
-* int \83p\83X\82Ì\8cÂ\90\94 (1 or 2)\r
+* int パスの個数 (1 or 2)\r
*\r
* Note\r
-* Str\82Ì\93à\97e\82ð\8f\91\82«\8a·\82¦\82é\r
+* Strの内容を書き換える\r
*----------------------------------------------------------------------------*/\r
\r
static int GetBothPath(char *Str, char **Path1, char **Path2)\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\82ð\90Ú\91±\92\86\82Ì\83z\83X\83g\83\8a\83X\83g\82É\95Û\91¶\82·\82é --------------------------\r
+/*----- ブックマークを接続中のホストリストに保存する --------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void SaveBookMark(void)\r
}\r
\r
\r
-/*----- \83z\83X\83g\83\8a\83X\83g\82©\82ç\83u\83b\83N\83}\81[\83N\82ð\93Ç\82Ý\8d\9e\82Þ --------------------------------\r
+/*----- ホストリストからブックマークを読み込む --------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \82È\82µ\r
+* なし\r
*----------------------------------------------------------------------------*/\r
\r
void LoadBookMark(void)\r
Pos = Buf;\r
while(*Pos != NUL)\r
{\r
- /* \8b\8c\83t\83H\81[\83}\83b\83g\82Ì\82½\82ß\82Ì\8f\88\97\9d */\r
- /* \81i\83p\83X\82É"L"\82â"H"\82ª\82Â\82¢\82Ä\82È\82¢\95¨\81j */\r
+ /* 旧フォーマットのための処理 */\r
+ /* (パスに"L"や"H"がついてない物) */\r
if((strncmp(Pos, BMARK_MARK_LOCAL, BMARK_MARK_LEN) != 0) &&\r
(strncmp(Pos, BMARK_MARK_REMOTE, BMARK_MARK_LEN) != 0) &&\r
(strncmp(Pos, BMARK_MARK_BOTH, BMARK_MARK_LEN) != 0))\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\95Ò\8fW\83E\83C\83\93\83h\83E --------------------------------------------\r
+/*----- ブックマーク編集ウインドウ --------------------------------------------\r
*\r
* Parameter\r
-* \82È\82µ\r
+* なし\r
*\r
* Return Value\r
-* \83X\83e\81[\83^\83X (YES=\8eÀ\8ds/NO=\8eæ\8fÁ)\r
+* ステータス (YES=実行/NO=取消)\r
*----------------------------------------------------------------------------*/\r
\r
int EditBookMark(void)\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\95Ò\8fW\83E\83C\83\93\83h\83E\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------\r
+/*----- ブックマーク編集ウインドウのコールバック ------------------------------\r
*\r
* Parameter\r
-* HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-* UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-* WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-* LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+* HWND hDlg : ウインドウハンドル\r
+* UINT message : メッセージ番号\r
+* WPARAM wParam : メッセージの WPARAM 引数\r
+* LPARAM lParam : メッセージの LPARAM 引数\r
*\r
* Return Value\r
* BOOL TRUE/FALSE\r
*----------------------------------------------------------------------------*/\r
\r
-static BOOL CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK EditBookMarkProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
HMENU hMenu;\r
MENUITEMINFO mInfo;\r
case BMARK_JUMP :\r
if((Cur = SendDlgItemMessage(hDlg, BMARK_LIST, LB_GETCURSEL, 0, 0)) != LB_ERR)\r
PostMessage(GetMainHwnd(), WM_COMMAND, MAKEWPARAM(Cur+MENU_BMARK_TOP, 0), 0);\r
- /* \82±\82±\82É break \82Í\82È\82¢ */\r
+ /* ここに break はない */\r
\r
case IDCANCEL :\r
case IDOK :\r
}\r
\r
\r
-/*----- \83u\83b\83N\83}\81[\83N\93ü\97Í\83_\83C\83A\83\8d\83O\82Ì\83R\81[\83\8b\83o\83b\83N ------------------------------\r
+/*----- ブックマーク入力ダイアログのコールバック ------------------------------\r
*\r
* Parameter\r
-* HWND hDlg : \83E\83C\83\93\83h\83E\83n\83\93\83h\83\8b\r
-* UINT message : \83\81\83b\83Z\81[\83W\94Ô\8d\86\r
-* WPARAM wParam : \83\81\83b\83Z\81[\83W\82Ì WPARAM \88ø\90\94\r
-* LPARAM lParam : \83\81\83b\83Z\81[\83W\82Ì LPARAM \88ø\90\94\r
+* HWND hDlg : ウインドウハンドル\r
+* UINT message : メッセージ番号\r
+* WPARAM wParam : メッセージの WPARAM 引数\r
+* LPARAM lParam : メッセージの LPARAM 引数\r
*\r
* Return Value\r
* BOOL TRUE/FALSE\r
*----------------------------------------------------------------------------*/\r
\r
-static BOOL CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+// 64ビット対応\r
+//static BOOL CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK BookMarkEditCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
{\r
static char *Str;\r
char *Path1;\r
else if(strncmp(Str, BMARK_MARK_REMOTE, BMARK_MARK_LEN) == 0)\r
{\r
SendDlgItemMessage(hDlg, BEDIT_REMOTE, WM_SETTEXT, 0, (LPARAM)Path1);\r
- /* \83z\83X\83g\91¤\82É\83J\81[\83\\83\8b\82ð\88Ú\93®\82µ\82Ä\82¨\82 */\r
+ /* ホスト側にカーソルを移動しておく */\r
SetFocus(GetDlgItem(hDlg, BEDIT_REMOTE));\r
SendDlgItemMessage(hDlg, BEDIT_REMOTE, EM_SETSEL, 0, -1);\r
return(FALSE);\r
{\r
if(strlen(Remote) > 0)\r
{\r
- /* \97¼\95û */\r
+ /* 両方 */\r
strcpy(Str, BMARK_MARK_BOTH);\r
strcat(Str, Local);\r
strcat(Str, BMARK_SEP);\r
}\r
else\r
{\r
- /* \83\8d\81[\83J\83\8b\82Ì\82Ý */\r
+ /* ローカルのみ */\r
strcpy(Str, BMARK_MARK_LOCAL);\r
strcat(Str, Local);\r
}\r
}\r
else if(strlen(Remote) > 0)\r
{\r
- /* \83z\83X\83g\82Ì\82Ý */\r
+ /* ホストのみ */\r
strcpy(Str, BMARK_MARK_REMOTE);\r
strcat(Str, Remote);\r
EndDialog(hDlg, YES);\r