diff --git a/bin/lang/english.json b/bin/lang/english.json index 58ea274..b48eb62 100644 --- a/bin/lang/english.json +++ b/bin/lang/english.json @@ -7,6 +7,10 @@ "IDC_STATIC_OUTPUT_EXT":"Output extension", "IDC_STATIC_OUTPUT_QUALITY":"Output quality", "IDC_STATIC_OUTPUT_DEPTH":"Output depth bits", +"IDC_STATIC_AUTO_START":"Auto start Settings", +"IDC_RADIO_AUTO_START_NONE":"No auto start", +"IDC_RADIO_AUTO_START_ONE":"On input file", +"IDC_RADIO_AUTO_START_MULTI":"On input many files or folder", "IDC_STATIC_QUALITY_PROCESS_SETTING":"Convert Image quality && Processing Settings", "IDC_STATIC_TRANS_MODE":"Conversion Mode", "IDC_RADIO_MODE_NOISE_SCALE":"Denoise && Magnify", diff --git a/bin/lang/japanese.json b/bin/lang/japanese.json index 6a8588c..d9046c0 100644 --- a/bin/lang/japanese.json +++ b/bin/lang/japanese.json @@ -7,6 +7,10 @@ "IDC_STATIC_OUTPUT_EXT":"出力拡張子", "IDC_STATIC_OUTPUT_QUALITY":"出力画質設定", "IDC_STATIC_OUTPUT_DEPTH":"出力深度ビット数", +"IDC_STATIC_AUTO_START":"自動変換開始設定", +"IDC_RADIO_AUTO_START_NONE":"自動で開始しない", +"IDC_RADIO_AUTO_START_ONE":"ファイルを1つでも入力したら開始", +"IDC_RADIO_AUTO_START_MULTI":"フォルダあるいは複数ファイルを\r\n入力したら開始", "IDC_STATIC_QUALITY_PROCESS_SETTING":"変換画質・処理設定", "IDC_STATIC_TRANS_MODE":"変換モード", "IDC_RADIO_MODE_NOISE_SCALE":"ノイズ除去と拡大", diff --git a/waifu2x-caffe-gui/Resource.rc b/waifu2x-caffe-gui/Resource.rc index c016776..73c4cce 100644 Binary files a/waifu2x-caffe-gui/Resource.rc and b/waifu2x-caffe-gui/Resource.rc differ diff --git a/waifu2x-caffe-gui/Source.cpp b/waifu2x-caffe-gui/Source.cpp index 97854b4..8f487d9 100644 --- a/waifu2x-caffe-gui/Source.cpp +++ b/waifu2x-caffe-gui/Source.cpp @@ -950,6 +950,7 @@ private: tstring tmode; tstring tScaleMode; tstring tprcess; + tstring tAutoMode; if (scale_ratio > 0.0) tScaleRatio = to_tstring(scale_ratio); @@ -987,6 +988,13 @@ private: else tScaleMode = TEXT("Height"); + if (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0, 0)) + tAutoMode = TEXT("one"); + else if (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0, 0)) + tAutoMode = TEXT("multi"); + else + tAutoMode = TEXT("none"); + WritePrivateProfileString(TEXT("Setting"), TEXT("LastScaleMode"), tScaleMode.c_str(), getTString(SettingFilePath).c_str()); WritePrivateProfileString(TEXT("Setting"), TEXT("LastScale"), tScaleRatio.c_str(), getTString(SettingFilePath).c_str()); @@ -1014,6 +1022,8 @@ private: WritePrivateProfileString(TEXT("Setting"), TEXT("LastOutputDepth"), boost::lexical_cast(output_depth).c_str(), getTString(SettingFilePath).c_str()); WritePrivateProfileString(TEXT("Setting"), TEXT("LastLanguage"), LangName.c_str(), getTString(SettingFilePath).c_str()); + + WritePrivateProfileString(TEXT("Setting"), TEXT("LastAutoMode"), tAutoMode.c_str(), getTString(SettingFilePath).c_str()); } // o̓pXI @@ -1330,6 +1340,10 @@ public: SET_WINDOW_TEXT(IDC_BUTTON_CANCEL); SET_WINDOW_TEXT(IDC_BUTTON_EXEC); SET_WINDOW_TEXT(IDC_STATIC_LANG_UI); + SET_WINDOW_TEXT(IDC_STATIC_AUTO_START); + SET_WINDOW_TEXT(IDC_RADIO_AUTO_START_NONE); + SET_WINDOW_TEXT(IDC_RADIO_AUTO_START_ONE); + SET_WINDOW_TEXT(IDC_RADIO_AUTO_START_MULTI); #undef SET_WINDOW_TEXT } @@ -1539,6 +1553,7 @@ public: tstring tScaleMode; tstring tmode; tstring tprcess; + tstring tAutoMode; { TCHAR tmp[1000]; @@ -1583,6 +1598,10 @@ public: output_quality = GetPrivateProfileInt(TEXT("Setting"), TEXT("LastOutputQuality"), output_quality, getTString(SettingFilePath).c_str()); output_depth = GetPrivateProfileInt(TEXT("Setting"), TEXT("LastOutputDepth"), output_depth, getTString(SettingFilePath).c_str()); + + GetPrivateProfileString(TEXT("Setting"), TEXT("LastAutoMode"), TEXT("none"), tmp, _countof(tmp), getTString(SettingFilePath).c_str()); + tmp[_countof(tmp) - 1] = TEXT('\0'); + tAutoMode = tmp; } TCHAR *ptr = nullptr; @@ -1746,6 +1765,25 @@ public: SetWindowText(GetDlgItem(hWnd, IDC_EDIT_OUT_QUALITY), boost::lexical_cast(output_quality).c_str()); SetWindowText(GetDlgItem(hWnd, IDC_COMBO_OUTPUT_DEPTH), boost::lexical_cast(output_depth).c_str()); + if (tAutoMode == TEXT("one")) + { + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_NONE), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_MULTI), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_ONE), BM_SETCHECK, BST_CHECKED, 0); + } + else if (tAutoMode == TEXT("multi")) + { + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_NONE), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_MULTI), BM_SETCHECK, BST_CHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_ONE), BM_SETCHECK, BST_UNCHECKED, 0); + } + else + { + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_NONE), BM_SETCHECK, BST_CHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_MULTI), BM_SETCHECK, BST_UNCHECKED, 0); + SendMessage(GetDlgItem(hWnd, IDC_RADIO_AUTO_START_ONE), BM_SETCHECK, BST_UNCHECKED, 0); + } + SetDepthAndQuality(); } @@ -1942,6 +1980,12 @@ public: OnSetInputFilePath(); } + if (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0, 0) || + (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0, 0) && input_str_multi.size() > 0)) + { + ::PostMessage(GetDlgItem(dh, IDC_BUTTON_EXEC), BM_CLICK, 0, 0); + } + return 0L; } @@ -2079,6 +2123,12 @@ public: OnSetInputFilePath(); } + + if (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0, 0) || + (SendMessage(GetDlgItem(dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0, 0) && input_str_multi.size() > 0)) + { + ::PostMessage(GetDlgItem(dh, IDC_BUTTON_EXEC), BM_CLICK, 0, 0); + } } } } diff --git a/waifu2x-caffe-gui/resource.h b/waifu2x-caffe-gui/resource.h index 115ac84..58bf1de 100644 Binary files a/waifu2x-caffe-gui/resource.h and b/waifu2x-caffe-gui/resource.h differ