Skip to content

Commit

Permalink
refactor: use QSettings::clear() for reset settings (#87)
Browse files Browse the repository at this point in the history
Sinces all defaults are in the "get" functions, a simple clear()
should do the resetting well.

What's more, this fixes the bug that old settings won't be cleared.

For example, there is still "compile" without "cpp" in my ini file.
  • Loading branch information
ouuan authored and coder3101 committed Jan 11, 2020
1 parent 66e4d7c commit 30a22da
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 56 deletions.
2 changes: 2 additions & 0 deletions include/SettingsManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ class SettingManager
void removeSnippet(QString lang, QString name);
QStringList getSnippetsNames(QString lang);

void resetSettings();

private:
QString mSettingsFile;
QSettings *mSettings;
Expand Down
1 change: 0 additions & 1 deletion include/preferencewindow.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class PreferenceWindow : public QMainWindow

public:
explicit PreferenceWindow(Settings::SettingManager *manager, QWidget *parent = nullptr);
void resetSettings();
void updateShow();
~PreferenceWindow();

Expand Down
5 changes: 5 additions & 0 deletions src/SettingsManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -487,4 +487,9 @@ SettingsData SettingManager::toData()
return data;
}

void SettingManager::resetSettings()
{
mSettings->clear();
}

} // namespace Settings
2 changes: 1 addition & 1 deletion src/appwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ void AppWindow::on_actionRestore_Settings_triggered()
QMessageBox::Yes | QMessageBox::No);
if (res == QMessageBox::Yes)
{
preferenceWindow->resetSettings();
settingManager->resetSettings();
onSettingsApplied();
}
}
Expand Down
54 changes: 0 additions & 54 deletions src/preferencewindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,60 +168,6 @@ void PreferenceWindow::extractSettingsFromUi()
manager->setHotkeySnippets(ui->snippets_hotkey->keySequence());
}

void PreferenceWindow::resetSettings()
{
QFont defaultFont;
currentFont = defaultFont;

manager->setConnectionPort(10045);
manager->setTabStop(4);
manager->setGeometry(QRect{});
manager->setFont("");
manager->setDefaultLanguage("Cpp");

manager->setTemplatePathCpp("");
manager->setTemplatePathJava("");
manager->setTemplatePathPython("");

manager->setRuntimeArgumentsCpp("");
manager->setRuntimeArgumentsJava("");
manager->setRuntimeArgumentsPython("");

manager->setFormatCommand("clang-format");

manager->setCompileCommandsJava("javac");
manager->setCompileCommandsCpp("g++ -Wall");

manager->setRunCommandJava("java");
manager->setRunCommandPython("python");

manager->setEditorTheme("Light");

manager->setSystemThemeDark(false);
manager->setHotKeyInUse(false);
manager->setAutoParenthesis(true);
manager->setAutoIndent(true);
manager->setAutoSave(false);
manager->setWrapText(false);
manager->setBeta(false);
manager->setTabsReplaced(false);
manager->setSaveTests(false);
manager->setCompetitiveCompanionActive(false);
manager->setMaximizedWindow(false);
manager->checkUpdateOnStartup(true);

manager->setHotkeyRun(QKeySequence());
manager->setHotkeyKill(QKeySequence());
manager->setHotkeyCompile(QKeySequence());
manager->setHotkeyCompileRun(QKeySequence());
manager->setHotkeyFormat(QKeySequence());
manager->setHotkeyViewModeToggler(QKeySequence());
manager->setHotkeySnippets(QKeySequence());

manager->setViewMode(Settings::SPLIT);
manager->setSplitterSizes(QByteArray());
}

void PreferenceWindow::updateShow()
{
applySettingsToui();
Expand Down

0 comments on commit 30a22da

Please sign in to comment.