diff --git a/UI/WScanPreviewPanel.ui b/UI/WScanPreviewPanel.ui
index 485cfb12..410d7f7c 100644
--- a/UI/WScanPreviewPanel.ui
+++ b/UI/WScanPreviewPanel.ui
@@ -7,7 +7,7 @@
0
0
400
- 47
+ 38
@@ -16,6 +16,12 @@
0
+
+
+ 400
+ 0
+
+
Form
@@ -128,13 +134,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
-
diff --git a/UI/WStringPreviewPanel.cpp b/UI/WStringPreviewPanel.cpp
index 41a2479b..0eafa583 100644
--- a/UI/WStringPreviewPanel.cpp
+++ b/UI/WStringPreviewPanel.cpp
@@ -5,11 +5,9 @@
WStringPreviewPanel::WStringPreviewPanel(QWidget *pParent) : IPreviewPanel(pParent)
{
- mpTextLabel = new QLabel(this);
- mpTextLabel->setWordWrap(true);
mpLayout = new QVBoxLayout(this);
mpLayout->setAlignment(Qt::AlignTop);
- mpLayout->addWidget(mpTextLabel);
+ mpLayout->setSpacing(0);
setLayout(mpLayout);
}
@@ -29,19 +27,24 @@ EResType WStringPreviewPanel::ResType()
void WStringPreviewPanel::SetResource(CResource *pRes)
{
- mpTextLabel->clear();
+ foreach(const QLabel *pLabel, mLabels)
+ delete pLabel;
+ mLabels.clear();
if (pRes && (pRes->Type() == eStringTable))
{
CStringTable *pString = static_cast(pRes);
- QString text;
+ mLabels.reserve(pString->GetStringCount());
for (u32 iStr = 0; iStr < pString->GetStringCount(); iStr++)
{
- if (iStr > 0) text += "\n";
- text += QString::fromStdWString(pString->GetString(0, iStr));
+ QString text = QString::fromStdWString(pString->GetString(0, iStr));
+ QLabel *pLabel = new QLabel(text, this);
+ pLabel->setWordWrap(true);
+ pLabel->setFrameStyle(QFrame::Plain | QFrame::Box);
+ pLabel->setMargin(3);
+ mLabels.push_back(pLabel);
+ mpLayout->addWidget(pLabel);
}
-
- mpTextLabel->setText(text);
}
}
diff --git a/UI/WStringPreviewPanel.h b/UI/WStringPreviewPanel.h
index 493ec5a1..99e4564a 100644
--- a/UI/WStringPreviewPanel.h
+++ b/UI/WStringPreviewPanel.h
@@ -4,13 +4,13 @@
#include "IPreviewPanel.h"
#include
#include
-#include
+#include
class WStringPreviewPanel : public IPreviewPanel
{
Q_OBJECT
- QLabel *mpTextLabel;
+ QVector mLabels;
QVBoxLayout *mpLayout;
public: