summaryrefslogtreecommitdiff
path: root/src/gui/popups
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-12-16 19:51:22 +0300
committerAndrei Karas <akaras@inbox.ru>2013-12-16 20:05:42 +0300
commit7f7ac0e998506fb2b19b03ae4f2ef6ef04b87b13 (patch)
treeff445411d6b69e6f65f7f83bf7ff634974f472c6 /src/gui/popups
parentbf3205aafa71fad7138e7be8a4b641907ec056ce (diff)
downloadplus-7f7ac0e998506fb2b19b03ae4f2ef6ef04b87b13.tar.gz
plus-7f7ac0e998506fb2b19b03ae4f2ef6ef04b87b13.tar.bz2
plus-7f7ac0e998506fb2b19b03ae4f2ef6ef04b87b13.tar.xz
plus-7f7ac0e998506fb2b19b03ae4f2ef6ef04b87b13.zip
fix speechbubble size.
Diffstat (limited to 'src/gui/popups')
-rw-r--r--src/gui/popups/speechbubble.cpp29
-rw-r--r--src/gui/popups/speechbubble.h1
2 files changed, 12 insertions, 18 deletions
diff --git a/src/gui/popups/speechbubble.cpp b/src/gui/popups/speechbubble.cpp
index 3033b7923..7febfdf4c 100644
--- a/src/gui/popups/speechbubble.cpp
+++ b/src/gui/popups/speechbubble.cpp
@@ -36,16 +36,16 @@
SpeechBubble::SpeechBubble() :
Popup("Speech", "speechbubble.xml"),
mText(),
+ mSpacing(mSkin ? mSkin->getOption("spacing") : 2),
mCaption(new Label(this)),
mSpeechBox(new BrowserBox(this, BrowserBox::AUTO_SIZE, true,
- "browserbox.xml"))
+ "speechbrowserbox.xml"))
{
setContentSize(140, 46);
- setMinWidth(29);
- setMinHeight(29);
+ setMinWidth(8);
+ setMinHeight(8);
mCaption->setFont(boldFont);
-// mSpeechBox->setEditable(false);
mSpeechBox->setOpaque(false);
mSpeechBox->setForegroundColorAll(getThemeColor(Theme::BUBBLE_TEXT),
getThemeColor(Theme::BUBBLE_TEXT_OUTLINE));
@@ -75,28 +75,21 @@ void SpeechBubble::setText(const std::string &text, const bool showName)
getThemeColor(Theme::BUBBLE_TEXT_OUTLINE));
const int pad = mPadding;
- const int pad2 = 2 * pad;
- int width = mCaption->getWidth() + pad2;
+ int width = mCaption->getWidth();
mSpeechBox->clearRows();
mSpeechBox->addRow(text);
- const int speechWidth = mSpeechBox->getWidth() + pad2;
+ mSpeechBox->setWidth(mSpeechBox->getDataWidth());
+ const int speechWidth = mSpeechBox->getWidth();
const int fontHeight = getFont()->getHeight();
- const int nameHeight = showName ? mCaption->getHeight() + pad / 2 : 0;
- const int numRows = 1;
- const int height = fontHeight + nameHeight + pad;
+ const int nameHeight = showName ? mCaption->getHeight() + mSpacing : 0;
+ int height = fontHeight + nameHeight;
if (width < speechWidth)
width = speechWidth;
- width += pad2;
-
setContentSize(width, height);
- const gcn::Rectangle &rect = mDimension;
- const int xPos = ((rect.width - width) / 2);
- const int yPos = ((rect.height - height) / 2) + nameHeight;
-
- mCaption->setPosition(xPos, pad);
- mSpeechBox->setPosition(xPos, yPos);
+ mCaption->setPosition(0, 0);
+ mSpeechBox->setPosition(0, nameHeight);
}
diff --git a/src/gui/popups/speechbubble.h b/src/gui/popups/speechbubble.h
index 496b3d71c..41c210eab 100644
--- a/src/gui/popups/speechbubble.h
+++ b/src/gui/popups/speechbubble.h
@@ -59,6 +59,7 @@ class SpeechBubble final : public Popup
private:
std::string mText;
+ int mSpacing;
Label *mCaption;
BrowserBox *mSpeechBox;
};