OSDN Git Service

Add option to change default host settings.
[ffftp/ffftp.git] / hostman.c
index b16c40a..bcb5ac2 100644 (file)
--- a/hostman.c
+++ b/hostman.c
@@ -103,6 +103,9 @@ static HOSTDATA TmpHost;                                    /* ホスト情報コピー用 */
 static int Apply;                                                      /* プロパティシートでOKを押したフラグ */\r
 static WNDPROC HostListProcPtr;\r
 \r
+// ホスト共通設定機能\r
+HOSTDATA DefaultHost;\r
+\r
 \r
 \r
 /*----- ホスト一覧ウインドウ --------------------------------------------------\r
@@ -539,6 +542,13 @@ static INT_PTR CALLBACK SelectHostProc(HWND hDlg, UINT message, WPARAM wParam, L
                                        }\r
                                        break;\r
 \r
+                               // ホスト共通設定機能\r
+                               case HOST_SET_DEFAULT :\r
+                                       CopyDefaultHost(&TmpHost);\r
+                                       if(DispHostSetDlg(hDlg) == YES)\r
+                                               SetDefaultHost(&TmpHost);\r
+                                       break;\r
+\r
                                case HOST_LIST :\r
                                        if(HIWORD(wParam) == LBN_DBLCLK)\r
                                                PostMessage(hDlg, WM_COMMAND, MAKEWORD(IDOK, 0), 0);\r
@@ -1307,6 +1317,62 @@ void SetCurrentHost(int Num)
 \r
 void CopyDefaultHost(HOSTDATA *Set)\r
 {\r
+       // ホスト共通設定機能\r
+//     Set->Level = 0;\r
+//     strcpy(Set->HostName, "");\r
+//     strcpy(Set->HostAdrs, "");\r
+//     strcpy(Set->UserName, "");\r
+//     strcpy(Set->PassWord, "");\r
+//     strcpy(Set->Account, "");\r
+//     strcpy(Set->LocalInitDir, DefaultLocalPath);\r
+//     strcpy(Set->RemoteInitDir, "");\r
+//     memcpy(Set->BookMark, "\0\0", 2);\r
+//     strcpy(Set->ChmodCmd, CHMOD_CMD_NOR);\r
+//     strcpy(Set->LsName, LS_FNAME);\r
+//     strcpy(Set->InitCmd, "");\r
+//     Set->Port = PORT_NOR;\r
+//     Set->Anonymous = NO;\r
+//     Set->KanjiCode = KANJI_NOCNV;\r
+//     Set->KanaCnv = YES;\r
+//     Set->NameKanjiCode = KANJI_NOCNV;\r
+//     Set->NameKanaCnv = NO;\r
+//     Set->Pasv = YES;\r
+//     Set->FireWall = NO;\r
+//     Set->ListCmdOnly = YES;\r
+//     Set->UseNLST_R = YES;\r
+//     Set->LastDir = NO;\r
+//     Set->TimeZone = 9;                              /* GMT+9 (JST) */\r
+//     Set->HostType = HTYPE_AUTO;\r
+//     Set->SyncMove = NO;\r
+//     Set->NoFullPath = NO;\r
+//     Set->Sort = SORT_NOTSAVED;\r
+//     Set->Security = SECURITY_AUTO;\r
+//     Set->Dialup = NO;\r
+//     Set->DialupAlways = NO;\r
+//     Set->DialupNotify = YES;\r
+//     strcpy(Set->DialEntry, "");\r
+       memcpy(Set, &DefaultHost, sizeof(HOSTDATA));\r
+       return;\r
+}\r
+\r
+\r
+// ホスト共通設定機能\r
+void ResetDefaultHost(void)\r
+{\r
+       CopyDefaultDefaultHost(&DefaultHost);\r
+       return;\r
+}\r
+\r
+void SetDefaultHost(HOSTDATA *Set)\r
+{\r
+       memcpy(&DefaultHost, Set, sizeof(HOSTDATA));\r
+       return;\r
+}\r
+\r
+void CopyDefaultDefaultHost(HOSTDATA *Set)\r
+{\r
+       // 国際化対応\r
+       TIME_ZONE_INFORMATION tzi;\r
        Set->Level = 0;\r
        strcpy(Set->HostName, "");\r
        strcpy(Set->HostAdrs, "");\r
@@ -1332,7 +1398,10 @@ void CopyDefaultHost(HOSTDATA *Set)
        Set->ListCmdOnly = YES;\r
        Set->UseNLST_R = YES;\r
        Set->LastDir = NO;\r
-       Set->TimeZone = 9;                              /* GMT+9 (JST) */\r
+       // 国際化対応\r
+//     Set->TimeZone = 9;                              /* GMT+9 (JST) */\r
+       GetTimeZoneInformation(&tzi);\r
+       Set->TimeZone = (int)(tzi.Bias / -60);\r
        Set->HostType = HTYPE_AUTO;\r
        Set->SyncMove = NO;\r
        Set->NoFullPath = NO;\r
@@ -1370,7 +1439,6 @@ void CopyDefaultHost(HOSTDATA *Set)
        return;\r
 }\r
 \r
-\r
 /*----- 設定名一覧をウィンドウに送る ------------------------------------------\r
 *\r
 *      Parameter\r