From 94322802aa570e3979d9206de104e1cdc9aebc95 Mon Sep 17 00:00:00 2001 From: lltcggie Date: Thu, 17 Dec 2015 17:17:33 +0900 Subject: [PATCH] =?UTF-8?q?GUI=E3=81=AE=E5=85=A5=E5=8A=9B=E3=83=91?= =?UTF-8?q?=E3=82=B9=E8=A8=AD=E5=AE=9A=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=A7?= =?UTF-8?q?=E3=80=81=E6=8C=87=E5=AE=9A=E3=81=95=E3=82=8C=E3=81=9F=E5=A4=89?= =?UTF-8?q?=E6=8F=9B=E5=AF=BE=E8=B1=A1=E6=8B=A1=E5=BC=B5=E5=AD=90=E3=81=AE?= =?UTF-8?q?=E3=81=BF=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E3=83=95?= =?UTF-8?q?=E3=82=A3=E3=83=AB=E3=82=BF=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- waifu2x-caffe-gui/Source.cpp | 43 +++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/waifu2x-caffe-gui/Source.cpp b/waifu2x-caffe-gui/Source.cpp index 9a3194c..a4a7946 100644 --- a/waifu2x-caffe-gui/Source.cpp +++ b/waifu2x-caffe-gui/Source.cpp @@ -1277,6 +1277,8 @@ public: void InputRef(HWND hWnd, WPARAM wParam, LPARAM lParam, LPVOID lpData) { + SyncMember(false); + OPENFILENAME ofn; TCHAR szPath[AR_PATH_MAX] = TEXT(""); TCHAR szFile[AR_PATH_MAX] = TEXT(""); @@ -1284,11 +1286,50 @@ public: GetCurrentDirectory(_countof(szPath), szPath); szPath[_countof(szPath) - 1] = TEXT('\0'); + tstring extStr; + for (const auto &ext : extList) + { + if (extStr.length() != 0) + extStr += TEXT(";*") + ext; + else + extStr = TEXT("*") + ext; + } + + TCHAR szFilter[AR_PATH_MAX] = TEXT(""); + TCHAR *tfp = szFilter; + + if (extStr.length() > 0) + { + tfp += _stprintf(tfp, TEXT("指定された変換対象拡張子(%s)"), extStr.c_str(), extStr.c_str()); + tfp++; + + memcpy(tfp, extStr.c_str(), extStr.length() * sizeof(TCHAR)); + tfp += extStr.length(); + + *tfp = TEXT('\0'); + tfp++; + } + + const tstring allFilesTitle(TEXT("すべてのファイル、フォルダ(*.*)")); + memcpy(tfp, allFilesTitle.c_str(), allFilesTitle.length() * sizeof(TCHAR)); + tfp += allFilesTitle.length(); + *tfp = TEXT('\0'); + tfp++; + + const tstring allFilesExt(TEXT("*.*")); + memcpy(tfp, allFilesExt.c_str(), allFilesExt.length() * sizeof(TCHAR)); + tfp += allFilesExt.length(); + + *tfp = TEXT('\0'); + tfp++; + *tfp = TEXT('\0'); + tfp++; + ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = NULL; ofn.lpstrFile = szFile; ofn.nMaxFile = _countof(szFile); - ofn.lpstrFilter = TEXT("すべてのファイル、フォルダ(*.*)\0*.*\0"); + ofn.lpstrFilter = szFilter; ofn.nFilterIndex = 1; ofn.lpstrTitle = TEXT("入力するファイルかフォルダを選択してください"); ofn.lpstrInitialDir = szPath;