Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/ttpcmn/ttcmn.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5280 by doda, Fri May 24 11:43:28 2013 UTC revision 5299 by yutakapon, Sun Jun 2 12:12:19 2013 UTC
# Line 31  static HANDLE HMap = NULL; Line 31  static HANDLE HMap = NULL;
31  #define TEKCLASSNAME "TEKWin32"  #define TEKCLASSNAME "TEKWin32"
32    
33    
34    enum window_style {
35            WIN_CASCADE,
36            WIN_STACKED,
37            WIN_SIDEBYSIDE,
38    };
39    
40    
41  void PASCAL CopyShmemToTTSet(PTTSet ts)  void PASCAL CopyShmemToTTSet(PTTSet ts)
42  {  {
43          // 現在の設定を共有メモリからコピーする          // 現在の設定を共有メモリからコピーする
# Line 942  void FAR PASCAL SetWinMenu(HMENU menu, P Line 949  void FAR PASCAL SetWinMenu(HMENU menu, P
949                  get_lang_msg("MENU_WINDOW_SIDEBYSIDE", buf, buflen, "Side &by Side", langFile);                  get_lang_msg("MENU_WINDOW_SIDEBYSIDE", buf, buflen, "Side &by Side", langFile);
950                  AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_SIDEBYSIDE, buf);                  AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_SIDEBYSIDE, buf);
951    
952                    if (pm->WinUndoFlag) {
953                            if (pm->WinUndoStyle == WIN_CASCADE)
954                                    get_lang_msg("MENU_WINDOW_CASCADE_UNDO", buf, buflen, "&Undo - Cascade", langFile);
955                            else if (pm->WinUndoStyle == WIN_STACKED)
956                                    get_lang_msg("MENU_WINDOW_STACKED_UNDO", buf, buflen, "&Undo - Stacked", langFile);
957                            else
958                                    get_lang_msg("MENU_WINDOW_SIDEBYSIDE_UNDO", buf, buflen, "&Undo - Side by Side", langFile);
959                            AppendMenu(menu, MF_ENABLED | MF_STRING, ID_WINDOW_UNDO, buf);
960                    } else {
961                            RemoveMenu(menu, MF_BYCOMMAND, ID_WINDOW_UNDO);
962                    }
963    
964          }          }
965          else {          else {
966                  AppendMenu(menu,MF_ENABLED | MF_STRING,ID_TEKWINDOW_WINDOW, buf);                  AppendMenu(menu,MF_ENABLED | MF_STRING,ID_TEKWINDOW_WINDOW, buf);
# Line 1030  void FAR PASCAL ShowAllWin(int stat) { Line 1049  void FAR PASCAL ShowAllWin(int stat) {
1049          }          }
1050  }  }
1051    
1052  #if 0  void FAR PASCAL UndoAllWin(void) {
 void FAR PASCAL ShowAllWin(int stat) {  
1053          int i;          int i;
1054          WINDOWPLACEMENT rc0;          WINDOWPLACEMENT rc0;
1055          RECT rc;          RECT rc;
1056          HMONITOR hMonitor;          HMONITOR hMonitor;
1057          MONITORINFO mi;          MONITORINFO mi;
1058            int stat = SW_RESTORE;
1059    
1060            // 一度、復元したらフラグは落とす。
1061            pm->WinUndoFlag = FALSE;
1062    
1063          memset(&rc0, 0, sizeof(rc0));          memset(&rc0, 0, sizeof(rc0));
1064    
# Line 1085  void FAR PASCAL ShowAllWin(int stat) { Line 1107  void FAR PASCAL ShowAllWin(int stat) {
1107                  }                  }
1108          }          }
1109  }  }
 #endif  
1110    
1111  HWND FAR PASCAL GetNthWin(int n)  HWND FAR PASCAL GetNthWin(int n)
1112  {  {
# Line 1099  HWND FAR PASCAL GetNthWin(int n) Line 1120  HWND FAR PASCAL GetNthWin(int n)
1120    
1121    
1122  // 有効なウィンドウを探し、現在位置を記憶させておく。  // 有効なウィンドウを探し、現在位置を記憶させておく。
1123  static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num)  static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num, int style)
1124  {  {
1125          int i, n;          int i, n;
1126          WINDOWPLACEMENT wndPlace;          WINDOWPLACEMENT wndPlace;
1127    
1128            // 元に戻す(Undo)メニューは一度だけ表示させる。
1129            if (pm->WinUndoFlag == FALSE) {
1130                    pm->WinUndoFlag = TRUE;
1131            } else {
1132                    // すでにメニューが表示されていて、かつ以前と同じスタイルが選択されたら、
1133                    // メニューを消す。
1134                    // Windows8では、さらに連続して同じスタイルを選択してもメニューが消えたままだが、
1135                    // Tera Termではメニューが表示されるため、動作が異なる。
1136                    if (pm->WinUndoStyle == style)
1137                            pm->WinUndoFlag = FALSE;
1138            }
1139            pm->WinUndoStyle = style;
1140    
1141          n = 0;          n = 0;
1142          for (i = 0 ; i < pm->NWin ; i++) {          for (i = 0 ; i < pm->NWin ; i++) {
1143                  // 現在位置を覚えておく。                  // 現在位置を覚えておく。
# Line 1129  void FAR PASCAL ShowAllWinSidebySide(HWN Line 1163  void FAR PASCAL ShowAllWinSidebySide(HWN
1163          int n;          int n;
1164          HWND hwnd[MAXNWIN];          HWND hwnd[MAXNWIN];
1165    
1166          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n);          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_SIDEBYSIDE);
1167          TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd);          TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd);
1168  }  }
1169    
# Line 1139  void FAR PASCAL ShowAllWinStacked(HWND m Line 1173  void FAR PASCAL ShowAllWinStacked(HWND m
1173          int n;          int n;
1174          HWND hwnd[MAXNWIN];          HWND hwnd[MAXNWIN];
1175    
1176          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n);          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_STACKED);
1177          TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd);          TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd);
1178  }  }
1179    
# Line 1149  void FAR PASCAL ShowAllWinCascade(HWND m Line 1183  void FAR PASCAL ShowAllWinCascade(HWND m
1183          int n;          int n;
1184          HWND hwnd[MAXNWIN];          HWND hwnd[MAXNWIN];
1185    
1186          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n);          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_CASCADE);
1187          CascadeWindows(NULL, MDITILE_SKIPDISABLED, NULL, n, hwnd);          CascadeWindows(NULL, MDITILE_SKIPDISABLED, NULL, n, hwnd);
1188  }  }
1189    

Legend:
Removed from v.5280  
changed lines
  Added in v.5299

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26