aboutsummaryrefslogtreecommitdiff
path: root/src/MessageBoard.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-05-30 09:19:31 +0200
committerdec05eba <dec05eba@protonmail.com>2018-05-30 09:19:34 +0200
commit4aecbda252b71eff9480d73fd8ec5100819da63b (patch)
tree16f2c7feab0d7a626dce7470c7ca45adcecbe171 /src/MessageBoard.cpp
parentaab52eb9561966977dc158abdc99bb599ea1e989 (diff)
Change font, change text spacing
Diffstat (limited to 'src/MessageBoard.cpp')
-rw-r--r--src/MessageBoard.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/MessageBoard.cpp b/src/MessageBoard.cpp
index 0152cb5..3e6532c 100644
--- a/src/MessageBoard.cpp
+++ b/src/MessageBoard.cpp
@@ -27,12 +27,13 @@ namespace dchat
sf::Color sideColor, centerColor;
};
- const float USERNAME_PADDING_BOTTOM = 5.0f;
+ const float USERNAME_PADDING_BOTTOM = 0.0f;
const float PADDING_SIDE = 40.0f;
const float PADDING_TOP = 0.0f;
const float LINE_SIDE_PADDING = 20.0f;
const float LINE_HEIGHT = 1.0f;
+ const float TEXT_LINE_SPACING = 5.0f;
const float USERNAME_TIMESTAMP_SIDE_PADDING = 15.0f;
const float AVATAR_DIAMETER = 70.0f;
const float AVATAR_PADDING_SIDE = 30.0f;
@@ -82,11 +83,13 @@ namespace dchat
void MessageBoard::addMessage(Message *message, const odhtdb::Hash &id)
{
lock_guard<mutex> lock(messageProcessMutex);
- messages.insert(messages.begin() + findPositionToInsertMessageByTimestamp(message), message);
+ auto positionToAddMessage = findPositionToInsertMessageByTimestamp(message);
+ if(positionToAddMessage == messages.size())
+ scrollToBottom = true;
+ messages.insert(messages.begin() + positionToAddMessage, message);
message->id = id;
messageIdMap[id] = message;
dirty = true;
- scrollToBottom = true;
}
void MessageBoard::deleteMessage(const odhtdb::Hash &id, const odhtdb::Signature::PublicKey &requestedByUser)
@@ -124,11 +127,11 @@ namespace dchat
const float MESSAGE_PADDING_TOP = 25.0f;
const float MESSAGE_PADDING_BOTTOM = 30.0f;
- const sf::Font *usernameFont = ResourceCache::getFont("fonts/Roboto-Regular.ttf");
+ const sf::Font *usernameFont = ResourceCache::getFont("fonts/Nunito-Regular.ttf");
const int usernameTextCharacterSize = 20 * Settings::getScaling();
const float usernameTextHeight = usernameFont->getLineSpacing(usernameTextCharacterSize);
- const sf::Font *timestampFont = ResourceCache::getFont("fonts/Roboto-Regular.ttf");
+ const sf::Font *timestampFont = ResourceCache::getFont("fonts/Nunito-Regular.ttf");
const int timestampTextCharacterSize = (float)usernameTextCharacterSize * 0.75f;
const float timestampTextHeight = timestampFont->getLineSpacing(timestampTextCharacterSize);
@@ -228,11 +231,10 @@ namespace dchat
message->text.setCharacterSize(18.0f * Settings::getScaling());
message->text.setMaxWidth(backgroundSize.x - (AVATAR_DIAMETER + AVATAR_PADDING_SIDE) * Settings::getScaling());
message->text.setPosition(sf::Vector2f(floor(position.x + (AVATAR_DIAMETER + AVATAR_PADDING_SIDE) * Settings::getScaling()), floor(position.y)));
- message->text.setLineSpacing(LINE_SPACING);
bool textDrawn = message->text.draw(window, cache);
if(!visible)
visible = textDrawn;
- position.y += message->text.getHeight();
+ position.y += message->text.getHeight() + (TEXT_LINE_SPACING * Settings::getScaling());
if(!mergeTextWithNext)
{
position.y += (MESSAGE_PADDING_BOTTOM * Settings::getScaling());
@@ -263,12 +265,12 @@ namespace dchat
const float MESSAGE_PADDING_TOP = 0.0f;
const float MESSAGE_PADDING_BOTTOM = 0.0f;
- const sf::Font *usernameFont = ResourceCache::getFont("fonts/Roboto-Regular.ttf");
+ const sf::Font *usernameFont = ResourceCache::getFont("fonts/Nunito-Regular.ttf");
const int usernameTextCharacterSize = 20 * Settings::getScaling();
const float usernameTextHeight = usernameFont->getLineSpacing(usernameTextCharacterSize);
const float usernameMaxWidth = usernameTextHeight * 5.0f;
- const sf::Font *timestampFont = ResourceCache::getFont("fonts/Roboto-Regular.ttf");
+ const sf::Font *timestampFont = ResourceCache::getFont("fonts/Nunito-Regular.ttf");
const int timestampTextCharacterSize = 15 * Settings::getScaling();
const float timestampTextHeight = timestampFont->getLineSpacing(timestampTextCharacterSize);