@@ -135,7 +135,7 @@ void TabDrivers::UpdateUI(UpdateUIMode ui_update_mode) {
135135 this ->ui ->driver_group_box_paths ->blockSignals (false );
136136
137137 this ->ui ->driver_paths_list ->clear ();
138- this ->ui ->driver_path_lineedit ->setText (configurator.last_driver_path .RelativePath ().c_str ());
138+ this ->ui ->driver_path_lineedit ->setText (configurator.last_driver_dir .RelativePath ().c_str ());
139139 this ->ui ->driver_paths_list ->blockSignals (true );
140140
141141 for (auto it = configurator.driver_paths .begin (); it != configurator.driver_paths .end (); ++it) {
@@ -252,8 +252,8 @@ void TabDrivers::on_driver_append_pressed() {
252252
253253 if (!selected_path.Exists ()) {
254254 QMessageBox alert;
255- alert.setWindowTitle (" Vulkan Driver Manifest file not found" );
256- alert.setText (" The path " );
255+ alert.setWindowTitle (" Vulkan Driver Manifest directory not found" );
256+ alert.setText (" The directory: " );
257257 alert.setInformativeText (selected_path.AbsolutePath ().c_str ());
258258 alert.setStandardButtons (QMessageBox::Ok);
259259 alert.setDefaultButton (QMessageBox::Ok);
@@ -262,8 +262,12 @@ void TabDrivers::on_driver_append_pressed() {
262262 return ;
263263 }
264264
265- configurator.driver_paths .insert (std::pair (selected_path, true ));
266- configurator.last_driver_path = selected_path;
265+ configurator.last_driver_dir = selected_path;
266+
267+ const std::vector<Path> drivers_paths = ::CollectFilePaths (selected_path);
268+ for (std::size_t i = 0 , n = drivers_paths.size (); i < n; ++i) {
269+ configurator.driver_paths .insert (std::pair (drivers_paths[i], true ));
270+ }
267271
268272 configurator.UpdateVulkanSystemInfo ();
269273
@@ -273,9 +277,10 @@ void TabDrivers::on_driver_append_pressed() {
273277void TabDrivers::on_driver_browse_pressed () {
274278 Configurator &configurator = Configurator::Get ();
275279
276- const Path &selected_path = QFileDialog::getOpenFileName (this ->ui ->driver_browse_button , " Adding a Driver Manifests File..." ,
277- configurator.last_driver_path .AbsolutePath ().c_str (), " *.json" )
278- .toStdString ();
280+ const Path &selected_path =
281+ QFileDialog::getExistingDirectory (this ->ui ->driver_browse_button , " Adding Driver Manifests Directory..." ,
282+ configurator.last_driver_dir .AbsolutePath ().c_str ())
283+ .toStdString ();
279284
280285 if (selected_path.Empty ()) {
281286 return ;
0 commit comments