1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

Adjustments to Mods screen layout in Launcher

This commit is contained in:
Ivan Savenko
2023-01-26 01:01:41 +02:00
parent 8cdc9985d2
commit e87a157b32
5 changed files with 288 additions and 454 deletions

View File

@@ -21,8 +21,6 @@ static const QString names[ModFields::COUNT] =
"", "",
"modType", "modType",
"version", "version",
"size",
"author"
}; };
} }
@@ -72,8 +70,6 @@ QVariant CModListModel::getText(const CModEntry & mod, int field) const
case ModFields::STATUS_ENABLED: case ModFields::STATUS_ENABLED:
case ModFields::STATUS_UPDATE: case ModFields::STATUS_UPDATE:
return ""; return "";
case ModFields::SIZE:
return CModEntry::sizeToString(getValue(mod, field).toDouble());
default: default:
return getValue(mod, field); return getValue(mod, field);
} }
@@ -96,10 +92,6 @@ QVariant CModListModel::getIcon(const CModEntry & mod, int field) const
QVariant CModListModel::getTextAlign(int field) const QVariant CModListModel::getTextAlign(int field) const
{ {
if(field == ModFields::SIZE)
return QVariant(Qt::AlignRight | Qt::AlignVCenter);
//if (field == ModFields::NAME)
// return QVariant(Qt::AlignHCenter | Qt::AlignVCenter);
return QVariant(Qt::AlignLeft | Qt::AlignVCenter); return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
} }
@@ -152,8 +144,6 @@ QVariant CModListModel::headerData(int section, Qt::Orientation orientation, int
QT_TR_NOOP(""), // status icon QT_TR_NOOP(""), // status icon
QT_TR_NOOP("Type"), QT_TR_NOOP("Type"),
QT_TR_NOOP("Version"), QT_TR_NOOP("Version"),
QT_TR_NOOP("Size"),
QT_TR_NOOP("Author")
}; };
if(role == Qt::DisplayRole && orientation == Qt::Horizontal) if(role == Qt::DisplayRole && orientation == Qt::Horizontal)

View File

@@ -23,8 +23,6 @@ enum EModFields
STATUS_UPDATE, STATUS_UPDATE,
TYPE, TYPE,
VERSION, VERSION,
SIZE,
AUTHOR,
COUNT COUNT
}; };
} }

View File

@@ -74,7 +74,6 @@ void CModListView::setupModsView()
ui->allModsView->setColumnWidth(ModFields::STATUS_ENABLED, 30); ui->allModsView->setColumnWidth(ModFields::STATUS_ENABLED, 30);
ui->allModsView->setColumnWidth(ModFields::STATUS_UPDATE, 30); ui->allModsView->setColumnWidth(ModFields::STATUS_UPDATE, 30);
ui->allModsView->setColumnWidth(ModFields::TYPE, 75); ui->allModsView->setColumnWidth(ModFields::TYPE, 75);
ui->allModsView->setColumnWidth(ModFields::SIZE, 80);
ui->allModsView->setColumnWidth(ModFields::VERSION, 60); ui->allModsView->setColumnWidth(ModFields::VERSION, 60);
} }
@@ -161,23 +160,6 @@ void CModListView::showEvent(QShowEvent * event)
} }
} }
void CModListView::showModInfo()
{
enableModInfo();
ui->modInfoWidget->show();
ui->hideModInfoButton->setArrowType(Qt::RightArrow);
ui->showInfoButton->setVisible(false);
loadScreenshots();
}
void CModListView::hideModInfo()
{
ui->modInfoWidget->hide();
ui->hideModInfoButton->setArrowType(Qt::LeftArrow);
ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(true);
}
static QString replaceIfNotEmpty(QVariant value, QString pattern) static QString replaceIfNotEmpty(QVariant value, QString pattern)
{ {
if(value.canConvert<QStringList>()) if(value.canConvert<QStringList>())
@@ -255,7 +237,7 @@ QString CModListView::genModInfoText(CModEntry & mod)
result += urlTemplate.arg(tr("License")).arg(mod.getValue("licenseURL").toString()).arg(mod.getValue("licenseName").toString()); result += urlTemplate.arg(tr("License")).arg(mod.getValue("licenseURL").toString()).arg(mod.getValue("licenseName").toString());
if(mod.getValue("contact").isValid()) if(mod.getValue("contact").isValid())
result += urlTemplate.arg(tr("Home")).arg(mod.getValue("contact").toString()).arg(mod.getValue("contact").toString()); result += urlTemplate.arg(tr("Contact")).arg(mod.getValue("contact").toString()).arg(mod.getValue("contact").toString());
//compatibility info //compatibility info
if(mod.isCompatible()) if(mod.isCompatible())
@@ -313,18 +295,8 @@ QString CModListView::genModInfoText(CModEntry & mod)
return result; return result;
} }
void CModListView::enableModInfo()
{
ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(true);
}
void CModListView::disableModInfo() void CModListView::disableModInfo()
{ {
hideModInfo();
ui->hideModInfoButton->setEnabled(false);
ui->showInfoButton->setVisible(false);
ui->disableButton->setVisible(false); ui->disableButton->setVisible(false);
ui->enableButton->setVisible(false); ui->enableButton->setVisible(false);
ui->installButton->setVisible(false); ui->installButton->setVisible(false);
@@ -354,8 +326,6 @@ void CModListView::selectMod(const QModelIndex & index)
bool hasBlockingMods = !findBlockingMods(index.data(ModRoles::ModNameRole).toString()).empty(); bool hasBlockingMods = !findBlockingMods(index.data(ModRoles::ModNameRole).toString()).empty();
bool hasDependentMods = !findDependentMods(index.data(ModRoles::ModNameRole).toString(), true).empty(); bool hasDependentMods = !findDependentMods(index.data(ModRoles::ModNameRole).toString(), true).empty();
ui->hideModInfoButton->setEnabled(true);
ui->showInfoButton->setVisible(!ui->modInfoWidget->isVisible());
ui->disableButton->setVisible(mod.isEnabled()); ui->disableButton->setVisible(mod.isEnabled());
ui->enableButton->setVisible(mod.isDisabled()); ui->enableButton->setVisible(mod.isDisabled());
ui->installButton->setVisible(mod.isAvailable() && !mod.getName().contains('.')); ui->installButton->setVisible(mod.isAvailable() && !mod.getName().contains('.'));
@@ -380,35 +350,15 @@ bool CModListView::isExtraResolutionsModEnabled() const
return manager->isExtraResolutionsModEnabled(); return manager->isExtraResolutionsModEnabled();
} }
void CModListView::keyPressEvent(QKeyEvent * event)
{
if(event->key() == Qt::Key_Escape && ui->modInfoWidget->isVisible())
{
hideModInfo();
}
else
{
return QWidget::keyPressEvent(event);
}
}
void CModListView::modSelected(const QModelIndex & current, const QModelIndex &) void CModListView::modSelected(const QModelIndex & current, const QModelIndex &)
{ {
selectMod(current); selectMod(current);
} }
void CModListView::on_hideModInfoButton_clicked()
{
if(ui->modInfoWidget->isVisible())
hideModInfo();
else
showModInfo();
}
void CModListView::on_allModsView_activated(const QModelIndex & index) void CModListView::on_allModsView_activated(const QModelIndex & index)
{ {
showModInfo();
selectMod(index); selectMod(index);
loadScreenshots();
} }
void CModListView::on_lineEdit_textChanged(const QString & arg1) void CModListView::on_lineEdit_textChanged(const QString & arg1)
@@ -798,8 +748,7 @@ void CModListView::on_pushButton_clicked()
void CModListView::modelReset() void CModListView::modelReset()
{ {
if(ui->modInfoWidget->isVisible()) selectMod(filterModel->rowCount() > 0 ? filterModel->index(0, 0) : QModelIndex());
selectMod(filterModel->rowCount() > 0 ? filterModel->index(0, 0) : QModelIndex());
} }
void CModListView::checkManagerErrors() void CModListView::checkManagerErrors()
@@ -820,7 +769,7 @@ void CModListView::on_tabWidget_currentChanged(int index)
void CModListView::loadScreenshots() void CModListView::loadScreenshots()
{ {
if(ui->tabWidget->currentIndex() == 2 && ui->modInfoWidget->isVisible()) if(ui->tabWidget->currentIndex() == 2)
{ {
ui->screenshotsList->clear(); ui->screenshotsList->clear();
QString modName = ui->allModsView->currentIndex().data(ModRoles::ModNameRole).toString(); QString modName = ui->allModsView->currentIndex().data(ModRoles::ModNameRole).toString();
@@ -860,11 +809,6 @@ void CModListView::on_screenshotsList_clicked(const QModelIndex & index)
} }
} }
void CModListView::on_showInfoButton_clicked()
{
showModInfo();
}
const CModList & CModListView::getModList() const const CModList & CModListView::getModList() const
{ {
assert(modModel); assert(modModel);

View File

@@ -40,8 +40,6 @@ class CModListView : public QWidget
void showEvent(QShowEvent * event) override; void showEvent(QShowEvent * event) override;
void keyPressEvent(QKeyEvent * event) override;
void setupModModel(); void setupModModel();
void setupFilterModel(); void setupFilterModel();
void setupModsView(); void setupModsView();
@@ -74,8 +72,6 @@ public:
explicit CModListView(QWidget * parent = 0); explicit CModListView(QWidget * parent = 0);
~CModListView(); ~CModListView();
void showModInfo();
void hideModInfo();
void loadScreenshots(); void loadScreenshots();
void enableModInfo(); void enableModInfo();
@@ -98,8 +94,6 @@ private slots:
void modelReset(); void modelReset();
void hideProgressBar(); void hideProgressBar();
void on_hideModInfoButton_clicked();
void on_lineEdit_textChanged(const QString & arg1); void on_lineEdit_textChanged(const QString & arg1);
void on_comboBox_currentIndexChanged(int index); void on_comboBox_currentIndexChanged(int index);
@@ -124,8 +118,6 @@ private slots:
void on_screenshotsList_clicked(const QModelIndex & index); void on_screenshotsList_clicked(const QModelIndex & index);
void on_showInfoButton_clicked();
private: private:
Ui::CModListView * ui; Ui::CModListView * ui;
}; };

View File

@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>680</width> <width>639</width>
<height>342</height> <height>351</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -30,159 +30,263 @@
<number>3</number> <number>3</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing"> <property name="spacing">
<number>6</number> <number>6</number>
</property> </property>
<item row="0" column="1"> <item>
<widget class="QLineEdit" name="lineEdit"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <widget class="QLineEdit" name="lineEdit">
<horstretch>0</horstretch> <property name="sizePolicy">
<verstretch>0</verstretch> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
</sizepolicy> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="minimumSize"> </sizepolicy>
<size> </property>
<width>0</width> <property name="minimumSize">
<height>0</height> <size>
</size> <width>0</width>
</property> <height>0</height>
<property name="maximumSize"> </size>
<size> </property>
<width>16777215</width> <property name="maximumSize">
<height>16777215</height> <size>
</size> <width>16777215</width>
</property> <height>16777215</height>
<property name="text"> </size>
<string/> </property>
</property> <property name="text">
<property name="placeholderText"> <string/>
<string>Filter</string> </property>
</property> <property name="placeholderText">
</widget> <string>Filter</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>All mods</string>
</property>
</item>
<item>
<property name="text">
<string>Downloadable</string>
</property>
</item>
<item>
<property name="text">
<string>Installed</string>
</property>
</item>
<item>
<property name="text">
<string>Updatable</string>
</property>
</item>
<item>
<property name="text">
<string>Active</string>
</property>
</item>
<item>
<property name="text">
<string>Inactive</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QPushButton" name="refreshButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Download &amp;&amp; refresh repositories</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QComboBox" name="comboBox"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<item> <item>
<property name="text"> <widget class="QTreeView" name="allModsView">
<string>All mods</string> <property name="selectionMode">
</property> <enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="verticalScrollMode">
<enum>QAbstractItemView::ScrollPerItem</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="expandsOnDoubleClick">
<bool>false</bool>
</property>
</widget>
</item> </item>
<item> <item>
<property name="text"> <widget class="QTabWidget" name="tabWidget">
<string>Downloadable</string> <property name="currentIndex">
</property> <number>0</number>
</property>
<widget class="QWidget" name="tabInfo">
<attribute name="title">
<string>Description</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QTextBrowser" name="modInfoBrowser">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
<property name="html">
<string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
<property name="openLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabChangelog">
<attribute name="title">
<string>Changelog</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QTextBrowser" name="changelogBrowser"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabScreenshots">
<attribute name="title">
<string>Screenshots</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_6">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QListWidget" name="screenshotsList">
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="iconSize">
<size>
<width>240</width>
<height>180</height>
</size>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<property name="uniformItemSizes">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item> </item>
<item> </layout>
<property name="text">
<string>Installed</string>
</property>
</item>
<item>
<property name="text">
<string>Updatable</string>
</property>
</item>
<item>
<property name="text">
<string>Active</string>
</property>
</item>
<item>
<property name="text">
<string>Inactive</string>
</property>
</item>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="refreshButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Download &amp;&amp; refresh repositories</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QTreeView" name="allModsView">
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="verticalScrollMode">
<enum>QAbstractItemView::ScrollPerItem</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="expandsOnDoubleClick">
<bool>false</bool>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="1"> <item row="1" column="0" colspan="2">
<widget class="QToolButton" name="hideModInfoButton"> <widget class="QWidget" name="progressWidget" native="true">
<property name="sizePolicy"> <property name="enabled">
<sizepolicy hsizetype="Fixed" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16</width>
<height>100</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="autoRaise">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="arrowType">
<enum>Qt::RightArrow</enum>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QWidget" name="modInfoWidget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@@ -193,182 +297,62 @@
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <layout class="QHBoxLayout" name="horizontalLayout">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>9</number>
</property> </property>
<property name="topMargin"> <property name="topMargin">
<number>0</number> <number>6</number>
</property>
<property name="rightMargin">
<number>0</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>6</number>
</property> </property>
<item row="0" column="0" colspan="6"> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QProgressBar" name="progressBar">
<property name="currentIndex"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>0</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tabInfo"> <property name="value">
<attribute name="title"> <number>0</number>
<string>Description</string> </property>
</attribute> <property name="textVisible">
<layout class="QGridLayout" name="gridLayout_4"> <bool>true</bool>
<property name="leftMargin"> </property>
<number>4</number> <property name="invertedAppearance">
</property> <bool>false</bool>
<property name="topMargin"> </property>
<number>4</number> <property name="format">
</property> <string> %p% (%v KB out of %m KB)</string>
<property name="rightMargin"> </property>
<number>4</number> </widget>
</property> </item>
<property name="bottomMargin"> <item>
<number>4</number> <widget class="QPushButton" name="pushButton">
</property> <property name="sizePolicy">
<item row="0" column="0"> <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<widget class="QTextBrowser" name="modInfoBrowser"> <horstretch>0</horstretch>
<property name="sizePolicy"> <verstretch>0</verstretch>
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> </sizepolicy>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="text">
</sizepolicy> <string>Abort</string>
</property> </property>
<property name="readOnly">
<bool>true</bool>
</property>
<property name="html">
<string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
<property name="openLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabChangelog">
<attribute name="title">
<string>Changelog</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QTextBrowser" name="changelogBrowser"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabScreenshots">
<attribute name="title">
<string>Screenshots</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_6">
<property name="leftMargin">
<number>4</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QListWidget" name="screenshotsList">
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="iconSize">
<size>
<width>240</width>
<height>180</height>
</size>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<property name="uniformItemSizes">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="3"> <item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing"> <property name="spacing">
<number>6</number> <number>6</number>
</property> </property>
<item>
<widget class="QPushButton" name="showInfoButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>220</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Show details</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="modButtonSpacer"> <spacer name="modButtonSpacer">
<property name="orientation"> <property name="orientation">
@@ -512,82 +496,8 @@ p, li { white-space: pre-wrap; }
</item> </item>
</layout> </layout>
</item> </item>
<item row="1" column="0" colspan="3">
<widget class="QWidget" name="progressWidget" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>0</number>
</property>
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>true</bool>
</property>
<property name="invertedAppearance">
<bool>false</bool>
</property>
<property name="format">
<string> %p% (%v KB out of %m KB)</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Abort</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<tabstops>
<tabstop>lineEdit</tabstop>
<tabstop>comboBox</tabstop>
<tabstop>allModsView</tabstop>
<tabstop>hideModInfoButton</tabstop>
</tabstops>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>