From a45b0d2c05cfe5a704a4371c4bd14696e0c32564 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 5 Jan 2017 17:13:42 +0100 Subject: Make TODO plugin theme aware Use the theme's colors by default and color the text rather than the background of items. Task-number: QTCREATORBUG-17532 Change-Id: I65a2d6da45ce7547b05463a2fb014f8230d0c336 Reviewed-by: Serhii Moroz Reviewed-by: Alessandro Portale Reviewed-by: hjk --- src/plugins/todo/constants.h | 7 ------- src/plugins/todo/keyword.cpp | 3 ++- src/plugins/todo/optionsdialog.cpp | 8 ++++---- src/plugins/todo/settings.cpp | 12 +++++++----- src/plugins/todo/todoitemsmodel.cpp | 4 +--- src/plugins/todo/todooutputpane.cpp | 2 +- 6 files changed, 15 insertions(+), 21 deletions(-) (limited to 'src/plugins/todo') diff --git a/src/plugins/todo/constants.h b/src/plugins/todo/constants.h index d597bc5c6f..13e141b7bc 100644 --- a/src/plugins/todo/constants.h +++ b/src/plugins/todo/constants.h @@ -31,13 +31,6 @@ namespace Todo { namespace Constants { -// Default todo item background colors -const char COLOR_TODO_BG[] = "#ccffcc"; -const char COLOR_WARNING_BG[] = "#ffffcc"; -const char COLOR_FIXME_BG[] = "#ffcccc"; -const char COLOR_BUG_BG[] = "#ffcccc"; -const char COLOR_NOTE_BG[] = "#e0ebff"; - // Dummy, needs to be changed const char ICON_TODO[] = ":/todoplugin/images/todo.png"; diff --git a/src/plugins/todo/keyword.cpp b/src/plugins/todo/keyword.cpp index 00f9232323..7516d5bed1 100644 --- a/src/plugins/todo/keyword.cpp +++ b/src/plugins/todo/keyword.cpp @@ -25,11 +25,12 @@ ****************************************************************************/ #include "keyword.h" +#include namespace Todo { namespace Internal { -Keyword::Keyword() : color(Qt::white) +Keyword::Keyword() : color(Utils::creatorTheme()->color(Utils::Theme::TextColorNormal)) { } diff --git a/src/plugins/todo/optionsdialog.cpp b/src/plugins/todo/optionsdialog.cpp index 5ab683ac1b..c6bd7c89f5 100644 --- a/src/plugins/todo/optionsdialog.cpp +++ b/src/plugins/todo/optionsdialog.cpp @@ -75,7 +75,7 @@ void OptionsDialog::addToKeywordsList(const Keyword &keyword) QListWidgetItem *item = new QListWidgetItem( icon(keyword.iconType), keyword.name); item->setData(Qt::UserRole, static_cast(keyword.iconType)); - item->setBackgroundColor(keyword.color); + item->setTextColor(keyword.color); ui->keywordsList->addItem(item); } @@ -116,7 +116,7 @@ void OptionsDialog::editKeyword(QListWidgetItem *item) Keyword keyword; keyword.name = item->text(); keyword.iconType = static_cast(item->data(Qt::UserRole).toInt()); - keyword.color = item->backgroundColor(); + keyword.color = item->textColor(); QSet keywordNamesButThis = keywordNames(); keywordNamesButThis.remove(keyword.name); @@ -127,7 +127,7 @@ void OptionsDialog::editKeyword(QListWidgetItem *item) item->setIcon(icon(keyword.iconType)); item->setText(keyword.name); item->setData(Qt::UserRole, static_cast(keyword.iconType)); - item->setBackgroundColor(keyword.color); + item->setTextColor(keyword.color); } } @@ -179,7 +179,7 @@ Settings OptionsDialog::settingsFromUi() Keyword keyword; keyword.name = item->text(); keyword.iconType = static_cast(item->data(Qt::UserRole).toInt()); - keyword.color = item->backgroundColor(); + keyword.color = item->textColor(); settings.keywords << keyword; } diff --git a/src/plugins/todo/settings.cpp b/src/plugins/todo/settings.cpp index b61d106812..88c754e21e 100644 --- a/src/plugins/todo/settings.cpp +++ b/src/plugins/todo/settings.cpp @@ -28,6 +28,7 @@ #include "constants.h" #include +#include #include @@ -110,6 +111,7 @@ void Settings::load(QSettings *settings) void Settings::setDefault() { scanningScope = ScanningScopeCurrentFile; + Utils::Theme *theme = Utils::creatorTheme(); keywords.clear(); @@ -117,27 +119,27 @@ void Settings::setDefault() keyword.name = QLatin1String("TODO"); keyword.iconType = IconType::Todo; - keyword.color = QColor(QLatin1String(Constants::COLOR_TODO_BG)); + keyword.color = theme->color(Utils::Theme::OutputPanes_NormalMessageTextColor); keywords.append(keyword); keyword.name = QLatin1String("NOTE"); keyword.iconType = IconType::Info; - keyword.color = QColor(QLatin1String(Constants::COLOR_NOTE_BG)); + keyword.color = theme->color(Utils::Theme::OutputPanes_NormalMessageTextColor); keywords.append(keyword); keyword.name = QLatin1String("FIXME"); keyword.iconType = IconType::Error; - keyword.color = QColor(QLatin1String(Constants::COLOR_FIXME_BG)); + keyword.color = theme->color(Utils::Theme::OutputPanes_ErrorMessageTextColor); keywords.append(keyword); keyword.name = QLatin1String("BUG"); keyword.iconType = IconType::Bug; - keyword.color = QColor(QLatin1String(Constants::COLOR_BUG_BG)); + keyword.color = theme->color(Utils::Theme::OutputPanes_ErrorMessageTextColor); keywords.append(keyword); keyword.name = QLatin1String("WARNING"); keyword.iconType = IconType::Warning; - keyword.color = QColor(QLatin1String(Constants::COLOR_WARNING_BG)); + keyword.color = theme->color(Utils::Theme::OutputPanes_WarningMessageTextColor); keywords.append(keyword); keywordsEdited = false; diff --git a/src/plugins/todo/todoitemsmodel.cpp b/src/plugins/todo/todoitemsmodel.cpp index ebcfde810c..64919bf35e 100644 --- a/src/plugins/todo/todoitemsmodel.cpp +++ b/src/plugins/todo/todoitemsmodel.cpp @@ -80,10 +80,8 @@ QVariant TodoItemsModel::data(const QModelIndex &index, int role) const TodoItem item = m_todoItemsList->at(index.row()); - if (role == Qt::BackgroundColorRole) - return item.color; if (role == Qt::TextColorRole) - return creatorTheme()->color(Theme::TodoItemTextColor); + return item.color; switch (index.column()) { diff --git a/src/plugins/todo/todooutputpane.cpp b/src/plugins/todo/todooutputpane.cpp index fab4a65839..99d8779abf 100644 --- a/src/plugins/todo/todooutputpane.cpp +++ b/src/plugins/todo/todooutputpane.cpp @@ -178,7 +178,7 @@ void TodoOutputPane::todoTreeViewClicked(const QModelIndex &index) item.text = index.sibling(row, Constants::OUTPUT_COLUMN_TEXT).data().toString(); item.file = Utils::FileName::fromUserInput(index.sibling(row, Constants::OUTPUT_COLUMN_FILE).data().toString()); item.line = index.sibling(row, Constants::OUTPUT_COLUMN_LINE).data().toInt(); - item.color = index.data(Qt::BackgroundColorRole).value(); + item.color = index.data(Qt::TextColorRole).value(); item.iconType = static_cast(index.sibling(row, Constants::OUTPUT_COLUMN_TEXT) .data(Qt::UserRole).toInt()); -- cgit v1.2.3