Merge 52031a681429d475ed323c1756cc2ec546ced5f1 into f8b4c2c0b25f89017db2702b60d47df7376b32e6

This commit is contained in:
robotbrain 2013-10-12 12:44:35 -07:00
commit a7bbe6fa7b
2 changed files with 42 additions and 1 deletions

View File

@ -15,6 +15,8 @@
#include "MCModInfoFrame.h"
#include "ui_MCModInfoFrame.h"
#include <QMessageBox>
#include <QtGui>
void MCModInfoFrame::updateWithMod(Mod &m)
{
if(m.type() == m.MOD_FOLDER)
@ -69,5 +71,40 @@ void MCModInfoFrame::setModText(QString text)
void MCModInfoFrame::setModDescription(QString text)
{
ui->label_ModDescription->setText(text);
ui->label_ModDescription->setToolTip("");
QString intermediatetext = text.trimmed();
bool prev(false);
QChar rem('\n');
QString finaltext;
finaltext.reserve(intermediatetext.size());
foreach(const QChar& c, intermediatetext)
{
if(c == rem && prev){
continue;
}
prev = c == rem;
finaltext += c;
}
QString labeltext;
labeltext.reserve(300);
if(finaltext.length() > 290)
{
ui->label_ModDescription->setOpenExternalLinks(false);
ui->label_ModDescription->setTextFormat(Qt::TextFormat::RichText);
desc = text;
labeltext.append("<html><body>" + finaltext.left(287) + "<a href=\"#mod_desc\">...</a></body></html>");
QObject::connect(ui->label_ModDescription, &QLabel::linkActivated, this, &MCModInfoFrame::modDescEllipsisHandler);
}
else
{
ui->label_ModDescription->setTextFormat(Qt::TextFormat::PlainText);
labeltext.append(finaltext);
}
ui->label_ModDescription->setText(labeltext);
}
void MCModInfoFrame::modDescEllipsisHandler(const QString &link)
{
QMessageBox msgbox;
msgbox.setText(desc);
msgbox.exec();
}

View File

@ -37,6 +37,10 @@ public:
void updateWithMod(Mod &m);
void clear();
public slots:
void modDescEllipsisHandler(const QString& link );
private:
Ui::MCModInfoFrame *ui;
QString desc;
};