diff options
Diffstat (limited to 'src/plugins/texteditor/fontsettingspage.cpp')
-rw-r--r-- | src/plugins/texteditor/fontsettingspage.cpp | 28 |
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(); } |