summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2018-11-10 22:04:12 -0600
committerLostDragonist <lost.dragonist@gmail.com>2018-11-10 22:04:12 -0600
commitad01e1d6085a97681537fe3328955dd1660dae36 (patch)
tree31e8f3ed88317ff7b5e7daf82aed9588e43dbfa1
parentaaa1523db9c7e93ca9b258a74f36c17e29e5fc5a (diff)
Less strict implementation of path normalization
-rw-r--r--src/settingsdialog.cpp19
-rw-r--r--src/settingsdialog.h2
2 files changed, 10 insertions, 11 deletions
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
index 91ce0e25..31c1d0fe 100644
--- a/src/settingsdialog.cpp
+++ b/src/settingsdialog.cpp
@@ -361,18 +361,15 @@ void SettingsDialog::on_clearCacheButton_clicked()
void SettingsDialog::normalizePath(QLineEdit *lineEdit)
{
QString text = lineEdit->text();
- QString new_text = text;
- if (text.contains("%BASE_DIR%")) {
- QString baseDir = ui->baseDirEdit->text();
- new_text = new_text.replace("%BASE_DIR%", baseDir);
- new_text = QDir(new_text).absolutePath();
- new_text = new_text.replace(baseDir, "%BASE_DIR%");
- } else {
- new_text = QDir(new_text).absolutePath();
- }
- if (new_text.compare(text, Qt::CaseInsensitive)) {
- lineEdit->setText(new_text);
+ while (text.endsWith('/') || text.endsWith('\\')) {
+ text.chop(1);
}
+ lineEdit->setText(text);
+}
+
+void SettingsDialog::on_baseDirEdit_editingFinished()
+{
+ normalizePath(ui->baseDirEdit);
}
void SettingsDialog::on_downloadDirEdit_editingFinished()
diff --git a/src/settingsdialog.h b/src/settingsdialog.h
index 3609c940..386cd24e 100644
--- a/src/settingsdialog.h
+++ b/src/settingsdialog.h
@@ -114,6 +114,8 @@ private slots:
void on_resetColorsBtn_clicked();
+ void on_baseDirEdit_editingFinished();
+
void on_downloadDirEdit_editingFinished();
void on_modDirEdit_editingFinished();