summaryrefslogtreecommitdiff
path: root/src/gui/windows/emotewindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/emotewindow.cpp')
-rw-r--r--src/gui/windows/emotewindow.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/gui/windows/emotewindow.cpp b/src/gui/windows/emotewindow.cpp
index 1fdd45612..796e3f342 100644
--- a/src/gui/windows/emotewindow.cpp
+++ b/src/gui/windows/emotewindow.cpp
@@ -34,8 +34,12 @@
#include "utils/delete2.h"
#include "utils/gettext.h"
+#include "utils/translation/podict.h"
+
#include "resources/imageset.h"
+#include "resources/db/textdb.h"
+
#include "resources/image/image.h"
#include "debug.h"
@@ -64,6 +68,10 @@ EmoteWindow::EmoteWindow() :
mFontPage(CREATEWIDGETR(ListBox, this, mFontModel, "")),
mScrollFontPage(new ScrollArea(this, mFontPage, Opaque_false,
"fontpage.xml")),
+ mTextModel(new NamesModel),
+ mTextPage(CREATEWIDGETR(ListBox, this, mTextModel, "")),
+ mScrollTextPage(new ScrollArea(this, mTextPage, Opaque_false,
+ "textpage.xml")),
mImageSet(Theme::getImageSetFromThemeXml("emotetabs.xml", "", 17, 16))
{
setShowTitle(false);
@@ -94,9 +102,13 @@ void EmoteWindow::postInit()
mScrollColorPage->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
mScrollFontPage->setVerticalScrollPolicy(ScrollArea::SHOW_NEVER);
mScrollFontPage->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
+ mScrollTextPage->setVerticalScrollPolicy(ScrollArea::SHOW_NEVER);
+ mScrollTextPage->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
mFontModel->fillFromArray(&fontSizeList[0], fontSizeListSize);
+
mFontPage->setCenter(true);
+ mTextPage->setCenter(true);
if (mImageSet && mImageSet->size() >= 3)
{
@@ -120,10 +132,13 @@ void EmoteWindow::postInit()
// TRANSLATORS: emotes tab name
mTabs->addTab(_("Fonts"), mScrollFontPage);
}
+ // TRANSLATORS: emotes tab name
+ mTabs->addTab(_("T"), mScrollTextPage);
mEmotePage->setActionEventId("emote");
mColorPage->setActionEventId("color");
mFontPage->setActionEventId("font");
+ mTextPage->setActionEventId("text");
}
EmoteWindow::~EmoteWindow()
@@ -137,6 +152,9 @@ EmoteWindow::~EmoteWindow()
delete2(mFontPage);
delete2(mFontModel);
delete2(mScrollFontPage);
+ delete2(mTextPage);
+ delete2(mTextModel);
+ delete2(mScrollTextPage);
if (mImageSet)
{
mImageSet->decRef();
@@ -147,6 +165,15 @@ EmoteWindow::~EmoteWindow()
void EmoteWindow::show()
{
setVisible(Visible_true);
+ if (dictionary != nullptr)
+ {
+ mTextModel->clear();
+ const std::vector<std::string> &texts = TextDb::getTexts();
+ FOR_EACH (StringVectCIter, it, texts)
+ {
+ mTextModel->add(dictionary->getStr(*it));
+ }
+ }
}
void EmoteWindow::hide()
@@ -186,6 +213,11 @@ std::string EmoteWindow::getSelectedColor() const
return std::string("##").append(&chr[0]);
}
+int EmoteWindow::getSelectedTextIndex() const
+{
+ return mTextPage->getSelected();
+}
+
void EmoteWindow::clearColor()
{
mColorPage->resetAction();
@@ -210,11 +242,18 @@ void EmoteWindow::clearFont()
setVisible(Visible_false);
}
+void EmoteWindow::clearText()
+{
+ mTextPage->setSelected(-1);
+ setVisible(Visible_false);
+}
+
void EmoteWindow::addListeners(ActionListener *const listener)
{
mEmotePage->addActionListener(listener);
mColorPage->addActionListener(listener);
mFontPage->addActionListener(listener);
+ mTextPage->addActionListener(listener);
}
void EmoteWindow::widgetResized(const Event &event)