Skip to content

Commit e4b8512

Browse files
committed
GUI: Reverted 'GUI while opening FileDialog now remembers last path used'
1 parent 6fdb24b commit e4b8512

4 files changed

Lines changed: 15 additions & 22 deletions

File tree

gui/common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
#define SETTINGS_STD_POSIX "Platform Posix"
6060

6161
// Other settings
62-
#define SETTINGS_LAST_USED_PATH "Last used path"
62+
#define SETTINGS_CHECK_PATH "Check path"
6363
#define SETTINGS_CHECK_FORCE "Check force"
6464
#define SETTINGS_CHECK_THREADS "Check threads"
6565
#define SETTINGS_SHOW_FULL_PATH "Show full path"
@@ -82,6 +82,7 @@
8282
#define PROGRESS_MAX 1024.0
8383

8484
#define SETTINGS_CHECKED_PLATFORM "Checked platform"
85+
#define SETTINGS_LAST_PROJECT_PATH "Last project path"
8586

8687
/// @}
8788
#endif

gui/mainwindow.cpp

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -332,11 +332,12 @@ void MainWindow::DoCheckFiles(const QStringList &files)
332332
mUI.mResults->CheckingStarted(fileNames.count());
333333

334334
mThread->SetFiles(fileNames);
335+
QDir inf(mCurrentDirectory);
336+
const QString checkPath = inf.canonicalPath();
337+
mSettings->setValue(SETTINGS_CHECK_PATH, checkPath);
335338

336339
CheckLockDownUI(); // lock UI while checking
337340

338-
QDir inf(mCurrentDirectory);
339-
const QString checkPath = inf.canonicalPath();
340341
mUI.mResults->SetCheckDirectory(checkPath);
341342
Settings checkSettings = GetCppcheckSettings();
342343

@@ -392,7 +393,7 @@ QStringList MainWindow::SelectFilesToCheck(QFileDialog::FileMode mode)
392393
if (mode == QFileDialog::ExistingFiles) {
393394
selected = QFileDialog::getOpenFileNames(this,
394395
tr("Select files to check"),
395-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString());
396+
mSettings->value(SETTINGS_CHECK_PATH, "").toString());
396397
if (selected.isEmpty())
397398
mCurrentDirectory.clear();
398399
else {
@@ -403,7 +404,7 @@ QStringList MainWindow::SelectFilesToCheck(QFileDialog::FileMode mode)
403404
} else if (mode == QFileDialog::DirectoryOnly) {
404405
QString dir = QFileDialog::getExistingDirectory(this,
405406
tr("Select directory to check"),
406-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString());
407+
mSettings->value(SETTINGS_CHECK_PATH, "").toString());
407408
if (!dir.isEmpty()) {
408409
qDebug() << "Setting current directory to: " << dir;
409410
mCurrentDirectory = dir;
@@ -413,8 +414,6 @@ QStringList MainWindow::SelectFilesToCheck(QFileDialog::FileMode mode)
413414
}
414415
}
415416

416-
mSettings->setValue(SETTINGS_LAST_USED_PATH, selected);
417-
418417
return selected;
419418
}
420419

@@ -672,7 +671,7 @@ void MainWindow::OpenResults()
672671
const QString filter(tr("XML files (*.xml)"));
673672
QString selectedFile = QFileDialog::getOpenFileName(this,
674673
tr("Open the report file"),
675-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString(),
674+
QString(),
676675
filter,
677676
&selectedFilter);
678677

@@ -686,7 +685,6 @@ void MainWindow::LoadResults(const QString selectedFile)
686685
if (!selectedFile.isEmpty()) {
687686
mUI.mResults->Clear(true);
688687
mUI.mResults->ReadErrorsXml(selectedFile);
689-
mSettings->setValue(SETTINGS_LAST_USED_PATH, selectedFile);
690688
}
691689
}
692690

@@ -818,7 +816,7 @@ void MainWindow::Save()
818816
const QString filter(tr("XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)"));
819817
QString selectedFile = QFileDialog::getSaveFileName(this,
820818
tr("Save the report file"),
821-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString(),
819+
QString(),
822820
filter,
823821
&selectedFilter);
824822

@@ -850,7 +848,6 @@ void MainWindow::Save()
850848
}
851849

852850
mUI.mResults->Save(selectedFile, type);
853-
mSettings->setValue(SETTINGS_LAST_USED_PATH, selectedFile);
854851
}
855852
}
856853

@@ -935,16 +932,17 @@ void MainWindow::OpenOnlineHelp()
935932

936933
void MainWindow::OpenProjectFile()
937934
{
935+
const QString lastPath = mSettings->value(SETTINGS_LAST_PROJECT_PATH, QString()).toString();
938936
const QString filter = tr("Project files (*.cppcheck);;All files(*.*)");
939937
const QString filepath = QFileDialog::getOpenFileName(this,
940938
tr("Select Project File"),
941-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString(),
939+
lastPath,
942940
filter);
943941

944942
if (!filepath.isEmpty()) {
945943
const QFileInfo fi(filepath);
946944
if (fi.exists() && fi.isFile() && fi.isReadable()) {
947-
mSettings->setValue(SETTINGS_LAST_USED_PATH, fi.path());
945+
mSettings->setValue(SETTINGS_LAST_PROJECT_PATH, fi.path());
948946
LoadProjectFile(filepath);
949947
}
950948
}
@@ -1021,14 +1019,12 @@ void MainWindow::NewProjectFile()
10211019
const QString filter = tr("Project files (*.cppcheck);;All files(*.*)");
10221020
QString filepath = QFileDialog::getSaveFileName(this,
10231021
tr("Select Project Filename"),
1024-
mSettings->value(SETTINGS_LAST_USED_PATH, "").toString(),
1022+
QString(),
10251023
filter);
10261024

10271025
if (filepath.isEmpty())
10281026
return;
10291027

1030-
mSettings->setValue(SETTINGS_LAST_USED_PATH, filepath);
1031-
10321028
EnableProjectActions(true);
10331029
QFileInfo inf(filepath);
10341030
const QString filename = inf.fileName();

gui/resultstree.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -694,12 +694,10 @@ QString ResultsTree::AskFileDir(const QString &file)
694694
msgbox.setIcon(QMessageBox::Warning);
695695
msgbox.exec();
696696

697-
QSettings settings;
698697
QString dir = QFileDialog::getExistingDirectory(this, tr("Select Directory"),
699-
settings.value(SETTINGS_LAST_USED_PATH, "").toString(),
698+
"",
700699
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
701700
mCheckPath = dir;
702-
settings.setValue(SETTINGS_LAST_USED_PATH, dir);
703701
return dir;
704702
}
705703

gui/settingsdialog.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,12 @@ bool SettingsDialog::ShowErrorId() const
308308

309309
void SettingsDialog::AddIncludePath()
310310
{
311-
QSettings settings;
312311
QString selectedDir = QFileDialog::getExistingDirectory(this,
313312
tr("Select include directory"),
314-
settings.value(SETTINGS_LAST_USED_PATH, "").toString());
313+
QString());
315314

316315
if (!selectedDir.isEmpty()) {
317316
AddIncludePath(selectedDir);
318-
settings.setValue(SETTINGS_LAST_USED_PATH, selectedDir);
319317
}
320318
}
321319

0 commit comments

Comments
 (0)