summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPriton-CE <thies.eric@gmail.com>2024-09-21 16:12:10 +0200
committerPriton-CE <thies.eric@gmail.com>2024-09-21 16:12:10 +0200
commitd31d706ac4997f134a8ec584c249546f1a0fe7ce (patch)
treec0eeec1a3d94ccb728876f754c3d456156f2d5db
parentbc84e28daf41f108d5dfcec9f8de3b79fbb31d44 (diff)
improved wine settings dialog startup time
-rw-r--r--proto-wine/ftnoir_protocol_wine_dialog.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/proto-wine/ftnoir_protocol_wine_dialog.cpp b/proto-wine/ftnoir_protocol_wine_dialog.cpp
index 3fbccd14..2d1148a2 100644
--- a/proto-wine/ftnoir_protocol_wine_dialog.cpp
+++ b/proto-wine/ftnoir_protocol_wine_dialog.cpp
@@ -57,6 +57,11 @@ FTControls::FTControls()
for (int i = 0; i < proton_dir_list.size(); ++i) {
const QFileInfo &proton_dir = proton_dir_list.at(i);
+ // check if this Proton Version is already present in any way
+ // NOTE: placed here instead of in front of the addItem call to improve performance
+ if (ui.proton_version->findData(QVariant{proton_dir.canonicalPath()}) != -1)
+ continue;
+
QDirIterator proton_executable_it(proton_dir.canonicalFilePath(), QStringList() << "wine", QDir::Files, QDirIterator::Subdirectories);
if (proton_executable_it.hasNext()) {
@@ -64,8 +69,7 @@ FTControls::FTControls()
QDir proton_dist_dir(proton_executable_path);
proton_dist_dir.cd("../../");
- if (ui.proton_version->findData(QVariant{proton_dist_dir.canonicalPath()}) == -1)
- ui.proton_version->addItem(proton_dir.fileName(), QVariant{proton_dist_dir.canonicalPath()});
+ ui.proton_version->addItem(proton_dir.fileName(), QVariant{proton_dist_dir.canonicalPath()});
}
}
}