MCPcopy Create free account
hub / github.com/M2Team/NanaBox / CreateVirtualMachineButtonClick

Method CreateVirtualMachineButtonClick

NanaBox/QuickStartPage.cpp:123–371  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121 }
122
123 void QuickStartPage::CreateVirtualMachineButtonClick(
124 winrt::IInspectable const& sender,
125 winrt::RoutedEventArgs const& e)
126 {
127 UNREFERENCED_PARAMETER(sender);
128 UNREFERENCED_PARAMETER(e);
129
130 winrt::handle(Mile::CreateThread([=]()
131 {
132 std::wstring VirtualImageFilePath;
133 try
134 {
135 winrt::com_ptr<IFileDialog> FileDialog =
136 winrt::create_instance<IFileDialog>(CLSID_FileOpenDialog);
137
138 DWORD Flags = 0;
139 winrt::check_hresult(FileDialog->GetOptions(&Flags));
140
141 Flags |= FOS_FORCEFILESYSTEM;
142 Flags |= FOS_NOCHANGEDIR;
143 Flags |= FOS_DONTADDTORECENT;
144 winrt::check_hresult(FileDialog->SetOptions(Flags));
145
146 COMDLG_FILTERSPEC SupportedFileTypes[] =
147 {
148 { L"ISO (*.iso)", L"*.iso" }
149 };
150 winrt::check_hresult(FileDialog->SetFileTypes(
151 ARRAYSIZE(SupportedFileTypes),
152 SupportedFileTypes));
153
154 winrt::check_hresult(FileDialog->SetTitle(
155 Mile::WinRT::GetLocalizedString(
156 L"QuickStartPage/VirtualImagePathTip",
157 L"[Please select a bootable ISO image for installing "
158 L"the OS on your virtual machine, or close this dialog "
159 L"to skip the setting]").c_str()));
160
161 winrt::check_hresult(FileDialog->Show(this->m_WindowHandle));
162
163 VirtualImageFilePath = ::GetFileSystemPathFromFileDialog(
164 FileDialog.get());
165 }
166 catch (...)
167 {
168
169 }
170
171 std::wstring VirtualDiskFilePath;
172 try
173 {
174 winrt::com_ptr<IFileDialog> FileDialog =
175 winrt::create_instance<IFileDialog>(CLSID_FileOpenDialog);
176
177 DWORD Flags = 0;
178 winrt::check_hresult(FileDialog->GetOptions(&Flags));
179
180 Flags |= FOS_FORCEFILESYSTEM;

Callers

nothing calls this directly

Calls 5

ShowMessageDialogFunction · 0.85
ShowErrorMessageDialogFunction · 0.85

Tested by

no test coverage detected