Skip to content
This repository was archived by the owner on Aug 21, 2024. It is now read-only.

Commit d44e647

Browse files
committed
[Web] Refactor Web/Dialog.cpp
1 parent eecb70a commit d44e647

File tree

1 file changed

+4
-16
lines changed

1 file changed

+4
-16
lines changed

Siv3D/src/Siv3D-Platform/Web/Dialog/SivDialog_Platform.cpp

+4-16
Original file line numberDiff line numberDiff line change
@@ -104,26 +104,14 @@ namespace s3d
104104
}
105105

106106
template <class T>
107-
std::future<T> s3dOpenDialog(const Array<FileFilter>& filters)
107+
std::future<T> s3dOpenDialog(const Array<FileFilter>& filters, s3dOpenDialogCallback<T> callback = &OnOpenFileDialogClosed<T>)
108108
{
109109
const auto filter = TransformFileFilters(filters);
110110

111111
auto result = new std::promise<T>();
112112
auto result_future = result->get_future();
113113

114-
s3dOpenDialogImpl<T>(filter.narrow().c_str(), &OnOpenFileDialogClosed<T>, result);
115-
116-
return result_future;
117-
}
118-
119-
std::future<Audio> s3dOpenAudio(const Array<FileFilter>& filters)
120-
{
121-
const auto filter = TransformFileFilters(filters);
122-
123-
auto result = new std::promise<Audio>();
124-
auto result_future = result->get_future();
125-
126-
s3dOpenDialogImpl<Audio>(filter.narrow().c_str(), &OnOpenAudioDialogClosed, result);
114+
s3dOpenDialogImpl<T>(filter.narrow().c_str(), callback, result);
127115

128116
return result_future;
129117
}
@@ -158,12 +146,12 @@ namespace s3d
158146

159147
std::future<Audio> OpenAudio(const FilePath& defaultPath, const String& title)
160148
{
161-
return detail::s3dOpenAudio({ FileFilter::AllAudioFiles() });
149+
return detail::s3dOpenDialog<Audio>({ FileFilter::AllAudioFiles() }, &detail::OnOpenAudioDialogClosed);
162150
}
163151

164152
std::future<Audio> OpenAudio(const Arg::loop_<bool> loop, const FilePath& defaultPath, const String& title)
165153
{
166-
return detail::s3dOpenAudio({ FileFilter::AllAudioFiles() });
154+
return detail::s3dOpenDialog<Audio>({ FileFilter::AllAudioFiles() }, &detail::OnOpenAudioDialogClosed);
167155
}
168156
}
169157
}

0 commit comments

Comments
 (0)