void ThreadListItem::updateModel(const MsgThreadItem &threadItem)
{
m_ThreadId = threadItem.getId();
- m_Message = threadItem.getLastMessage();
- m_Name = threadItem.getName();
+ m_Message = decorateMessageText(threadItem.getLastMessage());
+ m_Name = decorateNameText(threadItem.getName());
State state = NormalState;
if(threadItem.isSending())
{
state = StatusState;
- m_Status = msg("IDS_MSG_BODY_SENDING_ING_M_STATUS_ABB");
+ m_Status = decorateSendingText(msg("IDS_MSG_BODY_SENDING_ING_M_STATUS_ABB"));
}
else if(threadItem.hasFailedMessage())
{
state = StatusState;
- m_Status = msg("IDS_MSG_BODY_FAILED_M_STATUS_ABB2");
+ m_Status = decorateFailedText(msg("IDS_MSG_BODY_FAILED_M_STATUS_ABB2"));
}
else if(threadItem.hasDraftMessage())
{
state = StatusState;
- m_Status = msg("IDS_MSG_BODY_DRAFT_M_STATUS_ABB");
+ m_Status = decorateDraftText(msg("IDS_MSG_BODY_DRAFT_M_STATUS_ABB"));
}
else if(int unreadCount = threadItem.getUnreadCount() > 0)
{
state = IconState;
- m_UnreadCount = std::to_string(unreadCount);
+ m_UnreadCount = decorateUnreadText(std::to_string(unreadCount));
}
setState(state, false);
void setState(State state, bool updateUi);
State getState() const;
- Evas_Object *makeUnreadIcon(const std::string &text);
-
protected:
virtual std::string getName() = 0;
virtual std::string getMessage() = 0;
virtual Evas_Object *getIcon();
using ListItem::getState;
+ Evas_Object *makeUnreadIcon(const std::string &text) const;
+ std::string decorateNameText(const std::string &text) const;
+ std::string decorateMessageText(const std::string &text) const;
+ std::string decorateTimeText(const std::string &text) const;
+ std::string decorateUnreadText(const std::string &text) const;
+ std::string decorateFailedText(const std::string &text) const;
+ std::string decorateSendingText(const std::string &text) const;
+ std::string decorateDraftText(const std::string &text) const;
private:
virtual std::string getText(ListItem &item, const char *part);
#include "Logger.h"
#include "PathUtils.h"
#include "ThumbnailMaker.h"
-#include "TextDecorator.h"
#include "ListView.h"
+#include "TextDecorator.h"
#include <Elementary.h>
#include <stdlib.h>
const TextStyle nameTextStyle(44, "#131313FF");
const TextStyle msgTextStyle(38, "#969696FF");
- const TextStyle statusTextStyle(36, "#e43d3dFF");
- const TextStyle timeTextStyle(36, "#969696FF");
- const TextStyle unreadTextStyle(36, "#969696FF");
+ const TextStyle timeTextStyle(32, "#969696FF");
+ const TextStyle unreadTextStyle(34, "#e43d3dFF");
+ const TextStyle failedTextStyle(32, "#e43d3dFF");
+ const TextStyle draftTextStyle(32, "#e43d3dFF");
+ const TextStyle sendingTextStyle(32, "#969696FF");
}
ThreadListViewItem::ThreadListViewItem(Elm_Genlist_Item_Type type)
{
if(!strcmp(part, messagePart))
{
- return TextDecorator::make(getMessage(), msgTextStyle);
+ return getMessage();
}
else if(!strcmp(part, namePart))
{
- return TextDecorator::make(getName(), nameTextStyle);
+ return getName();
}
else if(!strcmp(part, timePart))
{
- return TextDecorator::make(getTime(), timeTextStyle);
+ return getTime();
}
else if(!strcmp(part, statusPart))
{
if(m_State == StatusState)
- return TextDecorator::make(getStatus(), statusTextStyle);
+ return getStatus();
}
return "";
return m_State;
}
-Evas_Object *ThreadListViewItem::makeUnreadIcon(const std::string &text)
+Evas_Object *ThreadListViewItem::makeUnreadIcon(const std::string &text) const
{
Evas_Object *label = elm_label_add(*getOwner());
evas_object_show(label);
return nullptr;
}
+std::string ThreadListViewItem::decorateNameText(const std::string &text) const
+{
+ return TextDecorator::make(text, nameTextStyle);
+}
+
+std::string ThreadListViewItem::decorateMessageText(const std::string &text) const
+{
+ return TextDecorator::make(text, msgTextStyle);
+}
+
+std::string ThreadListViewItem::decorateTimeText(const std::string &text) const
+{
+ return TextDecorator::make(text, timeTextStyle);
+}
+
+std::string ThreadListViewItem::decorateUnreadText(const std::string &text) const
+{
+ return TextDecorator::make(text, unreadTextStyle);
+}
+
+std::string ThreadListViewItem::decorateFailedText(const std::string &text) const
+{
+ return TextDecorator::make(text, failedTextStyle);
+}
+
+std::string ThreadListViewItem::decorateSendingText(const std::string &text) const
+{
+ return TextDecorator::make(text, sendingTextStyle);
+}
+
+std::string ThreadListViewItem::decorateDraftText(const std::string &text) const
+{
+ return TextDecorator::make(text, draftTextStyle);
+}