diff --git a/waifu2x-caffe-gui/Resource.rc b/waifu2x-caffe-gui/Resource.rc index 6d314be..5ef6142 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 c53fc30..9a3194c 100644 --- a/waifu2x-caffe-gui/Source.cpp +++ b/waifu2x-caffe-gui/Source.cpp @@ -785,68 +785,6 @@ private: return 0L; } - // 出力フォルダを選択する - static UINT_PTR CALLBACK OFNHookProcOut( - _In_ HWND hdlg, - _In_ UINT uiMsg, - _In_ WPARAM wParam, - _In_ LPARAM lParam - ) - { - switch (uiMsg) - { - case WM_INITDIALOG: - { - // ダイアログを中央に表示 - - HWND hParent = GetParent(hdlg); - - HWND hwndScreen; - RECT rectScreen; - hwndScreen = GetDesktopWindow(); - GetWindowRect(hwndScreen, &rectScreen); - - RECT rDialog; - GetWindowRect(hParent, &rDialog); - const int Width = rDialog.left = rDialog.right; - const int Height = rDialog.bottom - rDialog.top; - - int DialogPosX; - int DialogPosY; - DialogPosX = ((rectScreen.right - rectScreen.left) / 2 - Width / 2); - DialogPosY = ((rectScreen.bottom - rectScreen.top) / 2 - Height / 2); - SetWindowPos(hParent, NULL, DialogPosX, DialogPosY, 0, 0, SWP_NOSIZE | SWP_NOZORDER); - } - break; - - case WM_NOTIFY: - { - // 常に出力ファイル名を固定する - - NMHDR *pnmh; - OFNOTIFY *pnot; - - pnot = (OFNOTIFY *)lParam; - pnmh = &pnot->hdr; - - tstring &nowName = *(tstring *)pnot->lpOFN->lCustData; - - switch (pnmh->code) - { - case CDN_SELCHANGE: - { - HWND hParent = GetParent(hdlg); - CommDlg_OpenSave_SetControlText(hParent, edt1, nowName.c_str()); - } - break; - } - } - break; - } - - return 0L; - } - public: DialogEvent() : dh(nullptr), mode("noise_scale"), noise_level(1), scale_ratio(2.0), model_dir(TEXT("models/anime_style_art_rgb")), process("gpu"), outputExt(TEXT("png")), inputFileExt(TEXT("png:jpg:jpeg:tif:tiff:bmp:tga")), @@ -1371,68 +1309,6 @@ public: OnSetInputFilePath(szFile); } } - - void OutputRef(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) - { - OPENFILENAME ofn; - TCHAR szPath[AR_PATH_MAX] = TEXT(""); - TCHAR szFile[AR_PATH_MAX] = TEXT(""); - - tstring nowName; - bool isDir = false; - - GetWindowText(GetDlgItem(dh, IDC_EDIT_INPUT), szFile, _countof(szFile)); - szFile[_countof(szPath) - 1] = TEXT('\0'); - if (*szFile != TEXT('\0')) - { - boost::filesystem::path p(szFile); - isDir = boost::filesystem::is_directory(p); - } - - GetWindowText(GetDlgItem(dh, IDC_EDIT_OUTPUT), szFile, _countof(szFile)); - szFile[_countof(szPath) - 1] = TEXT('\0'); - if (*szFile == TEXT('\0')) - { - nowName = TEXT(""); - GetCurrentDirectory(_countof(szPath), szPath); - szPath[_countof(szPath) - 1] = TEXT('\0'); - } - else - { - boost::filesystem::path p(szFile); - const auto filename = getTString(p.filename()); - const auto dir = getTString(p.branch_path()); - - nowName = filename; - _tcscpy(szFile, filename.c_str()); - _tcscpy(szPath, dir.c_str()); - } - - ofn.lStructSize = sizeof(ofn); - ofn.hwndOwner = NULL; - ofn.lpstrFile = szFile; - ofn.nMaxFile = _countof(szFile); - ofn.lpstrFilter = TEXT("すべてのフォルダ\0*.folder\0"); - ofn.nFilterIndex = 1; - ofn.lpstrTitle = TEXT("出力するフォルダを選択してください"); - ofn.lpstrInitialDir = szPath; - ofn.lpstrCustomFilter = NULL; - ofn.nMaxCustFilter = 0; - ofn.lpstrFileTitle = NULL; - ofn.nMaxFileTitle = 0; - ofn.nFileOffset = 0; - ofn.nFileExtension = 0; - ofn.lpstrDefExt = NULL; - ofn.lCustData = (LPARAM)&nowName; - ofn.lpfnHook = OFNHookProcOut; - ofn.lpTemplateName = 0; - ofn.Flags = OFN_HIDEREADONLY | OFN_NOVALIDATE | OFN_PATHMUSTEXIST | OFN_READONLY | OFN_EXPLORER | OFN_ENABLEHOOK | OFN_OVERWRITEPROMPT; - if (GetSaveFileName(&ofn)) - { - szFile[_countof(szFile) - 1] = TEXT('\0'); - SetWindowText(GetDlgItem(dh, IDC_EDIT_OUTPUT), szFile); - } - } }; @@ -1482,7 +1358,6 @@ int WINAPI WinMain(HINSTANCE hInstance, cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::Exec, &cDialogEvent), NULL, IDC_BUTTON_EXEC); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::Cancel, &cDialogEvent), NULL, IDC_BUTTON_CANCEL); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::InputRef, &cDialogEvent), NULL, IDC_BUTTON_INPUT_REF); - cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::OutputRef, &cDialogEvent), NULL, IDC_BUTTON_OUTPUT_REF); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::RadioButtom, &cDialogEvent), NULL, IDC_RADIO_MODE_NOISE); cDialog.SetCommandCallBack(SetClassFunc(DialogEvent::RadioButtom, &cDialogEvent), NULL, IDC_RADIO_MODE_SCALE);