diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index d32c566d65a564a214c821220d11efaf22346c08..07e8a37042705ea1fdf12c1856ffba30c87d6a51 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2433,7 +2433,7 @@ void BaseTextEditor::paintEvent(QPaintEvent *e) TextEditorOverlay *overlay = new TextEditorOverlay(this); overlay->addOverlaySelection(d->m_findScopeStart.position(), d->m_findScopeEnd.position(), - d->m_searchScopeFormat.background().color().darker(120), + d->m_searchScopeFormat.foreground().color(), d->m_searchScopeFormat.background().color(), TextEditorOverlay::ExpandBegin); overlay->setAlpha(false); @@ -2525,7 +2525,7 @@ void BaseTextEditor::paintEvent(QPaintEvent *e) } painter.fillRect(rr, d->m_searchScopeFormat.background()); - QColor lineCol = d->m_searchScopeFormat.background().color().darker(120); + QColor lineCol = d->m_searchScopeFormat.foreground().color(); QPen pen = painter.pen(); painter.setPen(lineCol); if (blockFS == d->m_findScopeStart.block()) @@ -5078,7 +5078,9 @@ void BaseTextEditor::setFontSettings(const TextEditor::FontSettings &fs) p.setColor(QPalette::Highlight, (selectionFormat.background().style() != Qt::NoBrush) ? selectionFormat.background().color() : QApplication::palette().color(QPalette::Highlight)); - p.setColor(QPalette::HighlightedText, selectionFormat.foreground().color()); + + p.setBrush(QPalette::HighlightedText, selectionFormat.foreground()); + p.setBrush(QPalette::Inactive, QPalette::Highlight, p.highlight()); p.setBrush(QPalette::Inactive, QPalette::HighlightedText, p.highlightedText()); setPalette(p); diff --git a/src/plugins/texteditor/colorschemeedit.cpp b/src/plugins/texteditor/colorschemeedit.cpp index 03141bd583738922fee39a4e5f4a672411568801..747f6869e6e7f0a5809929377cf1714e21523f83 100644 --- a/src/plugins/texteditor/colorschemeedit.cpp +++ b/src/plugins/texteditor/colorschemeedit.cpp @@ -156,6 +156,7 @@ ColorSchemeEdit::ColorSchemeEdit(QWidget *parent) : connect(m_ui->foregroundToolButton, SIGNAL(clicked()), SLOT(changeForeColor())); connect(m_ui->backgroundToolButton, SIGNAL(clicked()), SLOT(changeBackColor())); connect(m_ui->eraseBackgroundToolButton, SIGNAL(clicked()), SLOT(eraseBackColor())); + connect(m_ui->eraseForegroundToolButton, SIGNAL(clicked()), SLOT(eraseForeColor())); connect(m_ui->boldCheckBox, SIGNAL(toggled(bool)), SLOT(checkCheckBoxes())); connect(m_ui->italicCheckBox, SIGNAL(toggled(bool)), SLOT(checkCheckBoxes())); } @@ -192,6 +193,7 @@ void ColorSchemeEdit::setReadOnly(bool readOnly) m_ui->backgroundLabel->setEnabled(enabled); m_ui->backgroundToolButton->setEnabled(enabled); m_ui->eraseBackgroundToolButton->setEnabled(enabled); + m_ui->eraseForegroundToolButton->setEnabled(enabled); m_ui->boldCheckBox->setEnabled(enabled); m_ui->italicCheckBox->setEnabled(enabled); } @@ -227,6 +229,9 @@ void ColorSchemeEdit::updateControls() m_ui->eraseBackgroundToolButton->setEnabled(!m_readOnly && m_curItem > 0 && format.background().isValid()); + m_ui->eraseForegroundToolButton->setEnabled(!m_readOnly + && m_curItem > 0 + && format.foreground().isValid()); const bool boldBlocked = m_ui->boldCheckBox->blockSignals(true); m_ui->boldCheckBox->setChecked(format.bold()); @@ -247,6 +252,7 @@ void ColorSchemeEdit::changeForeColor() QPalette p = m_ui->foregroundToolButton->palette(); p.setColor(QPalette::Active, QPalette::Button, newColor); m_ui->foregroundToolButton->setStyleSheet(colorButtonStyleSheet(newColor)); + m_ui->eraseForegroundToolButton->setEnabled(true); foreach (const QModelIndex &index, m_ui->itemList->selectionModel()->selectedRows()) { const QString category = m_descriptions[index.row()].id(); @@ -291,6 +297,21 @@ void ColorSchemeEdit::eraseBackColor() } } +void ColorSchemeEdit::eraseForeColor() +{ + if (m_curItem == -1) + return; + QColor newColor; + m_ui->foregroundToolButton->setStyleSheet(colorButtonStyleSheet(newColor)); + m_ui->eraseForegroundToolButton->setEnabled(false); + + foreach (const QModelIndex &index, m_ui->itemList->selectionModel()->selectedRows()) { + const QString category = m_descriptions[index.row()].id(); + m_scheme.formatFor(category).setForeground(newColor); + m_formatsModel->emitDataChanged(index); + } +} + void ColorSchemeEdit::checkCheckBoxes() { if (m_curItem == -1) diff --git a/src/plugins/texteditor/colorschemeedit.h b/src/plugins/texteditor/colorschemeedit.h index f346ddae1bddeee80ecf4d4be34f4cd0a352831e..631a597300644c5ba940344ac947ae3036dde194 100644 --- a/src/plugins/texteditor/colorschemeedit.h +++ b/src/plugins/texteditor/colorschemeedit.h @@ -71,6 +71,7 @@ private slots: void changeForeColor(); void changeBackColor(); void eraseBackColor(); + void eraseForeColor(); void checkCheckBoxes(); private: diff --git a/src/plugins/texteditor/colorschemeedit.ui b/src/plugins/texteditor/colorschemeedit.ui index d9f342d439c32e2141e2291d1a9abb7a9420e2ff..65af997edebc7f78878f847e9c4ba38da545d170 100644 --- a/src/plugins/texteditor/colorschemeedit.ui +++ b/src/plugins/texteditor/colorschemeedit.ui @@ -10,17 +10,8 @@ <height>210</height> </rect> </property> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0" rowspan="4"> <widget class="QListView" name="itemList"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> @@ -36,23 +27,25 @@ </property> </widget> </item> - <item> - <layout class="QGridLayout" name="_2"> - <item row="2" column="0"> - <widget class="QCheckBox" name="boldCheckBox"> - <property name="text"> - <string>Bold</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QCheckBox" name="italicCheckBox"> - <property name="text"> - <string>Italic</string> - </property> - </widget> - </item> - <item row="0" column="1"> + <item row="0" column="1"> + <widget class="QLabel" name="foregroundLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Foreground:</string> + </property> + <property name="buddy"> + <cstring>foregroundToolButton</cstring> + </property> + </widget> + </item> + <item row="0" column="2"> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> <widget class="QToolButton" name="foregroundToolButton"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> @@ -65,24 +58,41 @@ </property> </widget> </item> - <item row="1" column="0"> - <widget class="QLabel" name="backgroundLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <item> + <widget class="QToolButton" name="eraseForegroundToolButton"> + <property name="toolTip"> + <string>Erase foreground</string> </property> <property name="text"> - <string>Background:</string> + <string>x</string> </property> - <property name="buddy"> - <cstring>backgroundToolButton</cstring> + <property name="arrowType"> + <enum>Qt::LeftArrow</enum> </property> </widget> </item> - <item row="0" column="0"> - <widget class="QLabel" name="foregroundLabel"> + </layout> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="backgroundLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Background:</string> + </property> + <property name="buddy"> + <cstring>backgroundToolButton</cstring> + </property> + </widget> + </item> + <item row="1" column="2"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QToolButton" name="backgroundToolButton"> <property name="sizePolicy"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <horstretch>0</horstretch> @@ -90,63 +100,56 @@ </sizepolicy> </property> <property name="text"> - <string>Foreground:</string> - </property> - <property name="buddy"> - <cstring>foregroundToolButton</cstring> + <string/> </property> </widget> </item> - <item row="3" column="1"> - <spacer> - <property name="orientation"> - <enum>Qt::Vertical</enum> + <item> + <widget class="QToolButton" name="eraseBackgroundToolButton"> + <property name="toolTip"> + <string>Erase background</string> </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> + <property name="text"> + <string>x</string> </property> - </spacer> - </item> - <item row="1" column="1"> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QToolButton" name="backgroundToolButton"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="eraseBackgroundToolButton"> - <property name="toolTip"> - <string>Erase background</string> - </property> - <property name="text"> - <string>x</string> - </property> - <property name="arrowType"> - <enum>Qt::LeftArrow</enum> - </property> - </widget> - </item> - </layout> + <property name="arrowType"> + <enum>Qt::LeftArrow</enum> + </property> + </widget> </item> </layout> </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="boldCheckBox"> + <property name="text"> + <string>Bold</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QCheckBox" name="italicCheckBox"> + <property name="text"> + <string>Italic</string> + </property> + </widget> + </item> + <item row="3" column="2"> + <spacer> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>83</height> + </size> + </property> + </spacer> + </item> </layout> </widget> <tabstops> <tabstop>itemList</tabstop> - <tabstop>foregroundToolButton</tabstop> <tabstop>backgroundToolButton</tabstop> <tabstop>eraseBackgroundToolButton</tabstop> <tabstop>boldCheckBox</tabstop>