summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/pages/modplatform/twitch/TwitchPage.cpp25
-rw-r--r--application/pages/modplatform/twitch/TwitchPage.ui25
2 files changed, 50 insertions, 0 deletions
diff --git a/application/pages/modplatform/twitch/TwitchPage.cpp b/application/pages/modplatform/twitch/TwitchPage.cpp
index 80d83133..1e9f9dbb 100644
--- a/application/pages/modplatform/twitch/TwitchPage.cpp
+++ b/application/pages/modplatform/twitch/TwitchPage.cpp
@@ -59,9 +59,34 @@ void TwitchPage::onSelectionChanged(QModelIndex first, QModelIndex second)
{
dialog->setSuggestedPack();
}
+ ui->frame->clear();
return;
}
+
current = model->data(first, Qt::UserRole).value<Twitch::Modpack>();
+ QString text = "";
+ QString name = current.name;
+
+ if (current.websiteUrl.isEmpty())
+ text = name;
+ else
+ text = "<a href=\"" + current.websiteUrl + "\">" + name + "</a>";
+ if (!current.authors.empty()) {
+ auto authorToStr = [](Twitch::ModpackAuthor & author) {
+ if(author.url.isEmpty()) {
+ return author.name;
+ }
+ return QString("<a href=\"%1\">%2</a>").arg(author.url, author.name);
+ };
+ QStringList authorStrs;
+ for(auto & author: current.authors) {
+ authorStrs.push_back(authorToStr(author));
+ }
+ text += tr(" by ") + authorStrs.join(", ");
+ }
+
+ ui->frame->setModText(text);
+ ui->frame->setModDescription(current.description);
suggestCurrent();
}
diff --git a/application/pages/modplatform/twitch/TwitchPage.ui b/application/pages/modplatform/twitch/TwitchPage.ui
index 7a8203b1..29bdc727 100644
--- a/application/pages/modplatform/twitch/TwitchPage.ui
+++ b/application/pages/modplatform/twitch/TwitchPage.ui
@@ -52,12 +52,37 @@
</attribute>
</widget>
</item>
+ <item row="2" column="0" colspan="2">
+ <widget class="MCModInfoFrame" name="frame">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
+ <customwidgets>
+ <customwidget>
+ <class>MCModInfoFrame</class>
+ <extends>QFrame</extends>
+ <header>widgets/MCModInfoFrame.h</header>
+ <container>1</container>
+ </customwidget>
+ </customwidgets>
<tabstops>
<tabstop>searchEdit</tabstop>
<tabstop>searchButton</tabstop>
<tabstop>packView</tabstop>
</tabstops>
+ <resources/>
<connections/>
</ui>