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: