diff --git a/src/plugins/texteditor/fontsettingspage.cpp b/src/plugins/texteditor/fontsettingspage.cpp index 6911c844a84..5b77f8d9721 100644 --- a/src/plugins/texteditor/fontsettingspage.cpp +++ b/src/plugins/texteditor/fontsettingspage.cpp @@ -362,6 +362,10 @@ QWidget *FontSettingsPage::widget() d_ptr->m_ui->schemeEdit->setBaseFont(d_ptr->m_value.font()); d_ptr->m_ui->schemeEdit->setColorScheme(d_ptr->m_value.colorScheme()); + auto sizeValidator = new QIntValidator(d_ptr->m_ui->sizeComboBox); + sizeValidator->setBottom(0); + d_ptr->m_ui->sizeComboBox->setValidator(sizeValidator); + connect(d_ptr->m_ui->fontComboBox, &QFontComboBox::currentFontChanged, this, &FontSettingsPage::fontSelected); connect(d_ptr->m_ui->sizeComboBox, @@ -405,8 +409,11 @@ void FontSettingsPage::updatePointSizes() int idx = -1; int i = 0; for (; i < sizeLst.count(); ++i) { - if (idx == -1 && sizeLst.at(i) >= oldSize) + if (idx == -1 && sizeLst.at(i) >= oldSize) { idx = i; + if (sizeLst.at(i) != oldSize) + d_ptr->m_ui->sizeComboBox->addItem(QString::number(oldSize)); + } d_ptr->m_ui->sizeComboBox->addItem(QString::number(sizeLst.at(i))); } if (idx != -1) @@ -631,6 +638,13 @@ void FontSettingsPage::apply() scheme.save(d_ptr->m_value.colorSchemeFileName(), Core::ICore::mainWindow()); } + bool ok; + int fontSize = d_ptr->m_ui->sizeComboBox->currentText().toInt(&ok); + if (ok && d_ptr->m_value.fontSize() != fontSize) { + d_ptr->m_value.setFontSize(fontSize); + d_ptr->m_ui->schemeEdit->setBaseFont(d_ptr->m_value.font()); + } + int index = d_ptr->m_ui->schemeComboBox->currentIndex(); if (index != -1) { const ColorSchemeEntry &entry = d_ptr->m_schemeListModel->colorSchemeAt(index); diff --git a/src/plugins/texteditor/fontsettingspage.ui b/src/plugins/texteditor/fontsettingspage.ui index 8c3a0baa50f..5c61c007385 100644 --- a/src/plugins/texteditor/fontsettingspage.ui +++ b/src/plugins/texteditor/fontsettingspage.ui @@ -132,6 +132,9 @@ 0 + + true +