aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/fontsettingspage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/texteditor/fontsettingspage.cpp')
-rw-r--r--src/plugins/texteditor/fontsettingspage.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp
index 9cb70c49e71..7f863ebb18b 100644
--- a/src/plugins/texteditor/fontsettingspage.cpp
+++ b/src/plugins/texteditor/fontsettingspage.cpp
@@ -591,9 +591,6 @@ void FontSettingsPageWidget::importScheme()
if (importedFile.isEmpty())
return;
- FilePath fileName = createColorSchemeFileName(importedFile.baseName() + "%1."
- + importedFile.suffix());
-
// Ask about saving any existing modifications
maybeSaveColorScheme();
@@ -604,16 +601,25 @@ void FontSettingsPageWidget::importScheme()
dialog->setLabelText(tr("Color scheme name:"));
dialog->setTextValue(importedFile.baseName());
- connect(dialog, &QInputDialog::textValueSelected, this, [this, fileName](const QString &name) {
- m_value.setColorScheme(m_schemeEdit->colorScheme());
+ connect(dialog,
+ &QInputDialog::textValueSelected,
+ this,
+ [this, importedFile](const QString &name) {
+ const Utils::FilePath saveFileName = createColorSchemeFileName(
+ importedFile.baseName() + "%1." + importedFile.suffix());
+
+ ColorScheme scheme;
+ if (scheme.load(importedFile.path())) {
+ scheme.setDisplayName(name);
+ scheme.save(saveFileName.path(), Core::ICore::dialogParent());
+ m_value.loadColorScheme(saveFileName.path(), m_descriptions);
+ } else {
+ qWarning() << "Failed to import color scheme:" << importedFile;
+ }
- ColorScheme scheme = m_value.colorScheme();
- scheme.setDisplayName(name);
- if (scheme.save(fileName.path(), Core::ICore::dialogParent()))
- m_value.setColorSchemeFileName(fileName.path());
+ refreshColorSchemeList();
+ });
- refreshColorSchemeList();
- });
dialog->open();
}