From 6013e6a93700193aed505edb10f133a327296ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Thu, 29 Aug 2019 15:18:30 +0200 Subject: [PATCH] [escher] Add a class MessageTableCellWithChevronAndBuffer --- escher/Makefile | 1 + escher/include/escher.h | 1 + ...ssage_table_cell_with_chevron_and_buffer.h | 17 ++++++++++++++ ...age_table_cell_with_chevron_and_buffer.cpp | 23 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 escher/include/escher/message_table_cell_with_chevron_and_buffer.h create mode 100644 escher/src/message_table_cell_with_chevron_and_buffer.cpp diff --git a/escher/Makefile b/escher/Makefile index 7a8e7d98e..f3e655784 100644 --- a/escher/Makefile +++ b/escher/Makefile @@ -35,6 +35,7 @@ escher_src += $(addprefix escher/src/,\ message_table_cell.cpp \ message_table_cell_with_buffer.cpp \ message_table_cell_with_chevron.cpp \ + message_table_cell_with_chevron_and_buffer.cpp \ message_table_cell_with_chevron_and_message.cpp \ message_table_cell_with_chevron_and_expression.cpp \ message_table_cell_with_editable_text.cpp \ diff --git a/escher/include/escher.h b/escher/include/escher.h index d0926e8cb..334325de2 100644 --- a/escher/include/escher.h +++ b/escher/include/escher.h @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/escher/include/escher/message_table_cell_with_chevron_and_buffer.h b/escher/include/escher/message_table_cell_with_chevron_and_buffer.h new file mode 100644 index 000000000..86657ba92 --- /dev/null +++ b/escher/include/escher/message_table_cell_with_chevron_and_buffer.h @@ -0,0 +1,17 @@ +#ifndef ESCHER_MESSAGE_TABLE_CELL_WITH_CHEVRON_AND_BUFFER_H +#define ESCHER_MESSAGE_TABLE_CELL_WITH_CHEVRON_AND_BUFFER_H + +#include +#include + +class MessageTableCellWithChevronAndBuffer : public MessageTableCellWithChevron { +public: + MessageTableCellWithChevronAndBuffer(const KDFont * labelFont = KDFont::SmallFont, const KDFont * subAccessoryFont = KDFont::SmallFont); + View * subAccessoryView() const override; + void setHighlighted(bool highlight) override; + void setAccessoryText(const char * textBody); +private: + BufferTextView m_subAccessoryView; +}; + +#endif diff --git a/escher/src/message_table_cell_with_chevron_and_buffer.cpp b/escher/src/message_table_cell_with_chevron_and_buffer.cpp new file mode 100644 index 000000000..507ac5e82 --- /dev/null +++ b/escher/src/message_table_cell_with_chevron_and_buffer.cpp @@ -0,0 +1,23 @@ +#include +#include + +MessageTableCellWithChevronAndBuffer::MessageTableCellWithChevronAndBuffer(const KDFont * labelFont, const KDFont * subAccessoryFont) : + MessageTableCellWithChevron((I18n::Message)0, labelFont), + m_subAccessoryView(subAccessoryFont, 1.0f, 0.5f, Palette::GreyDark) +{ +} + +View * MessageTableCellWithChevronAndBuffer::subAccessoryView() const { + return (View *)&m_subAccessoryView; +} + +void MessageTableCellWithChevronAndBuffer::setHighlighted(bool highlight) { + MessageTableCellWithChevron::setHighlighted(highlight); + KDColor backgroundColor = isHighlighted()? Palette::Select : KDColorWhite; + m_subAccessoryView.setBackgroundColor(backgroundColor); +} + +void MessageTableCellWithChevronAndBuffer::setAccessoryText(const char * textBody) { + m_subAccessoryView.setText(textBody); + layoutSubviews(); +}