|
|
@@ -11,6 +11,7 @@
|
|
|
#include "cmodlistview_moc.h"
|
|
|
#include "ui_cmodlistview_moc.h"
|
|
|
#include "imageviewer_moc.h"
|
|
|
+#include "../mainwindow_moc.h"
|
|
|
|
|
|
#include <QJsonArray>
|
|
|
#include <QCryptographicHash>
|
|
|
@@ -42,16 +43,26 @@ void CModListView::setupModsView()
|
|
|
ui->allModsView->setModel(filterModel);
|
|
|
// input data is not sorted - sort it before display
|
|
|
ui->allModsView->sortByColumn(ModFields::TYPE, Qt::AscendingOrder);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::NAME, 185);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::STATUS_ENABLED, 30);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::STATUS_UPDATE, 30);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::TYPE, 75);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::SIZE, 80);
|
|
|
- ui->allModsView->setColumnWidth(ModFields::VERSION, 60);
|
|
|
|
|
|
ui->allModsView->header()->setSectionResizeMode(ModFields::STATUS_ENABLED, QHeaderView::Fixed);
|
|
|
ui->allModsView->header()->setSectionResizeMode(ModFields::STATUS_UPDATE, QHeaderView::Fixed);
|
|
|
|
|
|
+ QSettings s(Ui::teamName, Ui::appName);
|
|
|
+ auto state = s.value("AllModsView/State").toByteArray();
|
|
|
+ if (!state.isNull()) //read last saved settings
|
|
|
+ {
|
|
|
+ ui->allModsView->header()->restoreState(state);
|
|
|
+ }
|
|
|
+ else //default //TODO: default high-DPI scaling
|
|
|
+ {
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::NAME, 185);
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::STATUS_ENABLED, 30);
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::STATUS_UPDATE, 30);
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::TYPE, 75);
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::SIZE, 80);
|
|
|
+ ui->allModsView->setColumnWidth(ModFields::VERSION, 60);
|
|
|
+ }
|
|
|
+
|
|
|
ui->allModsView->setUniformRowHeights(true);
|
|
|
|
|
|
connect(ui->allModsView->selectionModel(), SIGNAL(currentRowChanged(const QModelIndex&,const QModelIndex&)),
|
|
|
@@ -70,6 +81,7 @@ CModListView::CModListView(QWidget * parent)
|
|
|
settingsListener([&](const JsonNode &){ repositoriesChanged = true; });
|
|
|
ui->setupUi(this);
|
|
|
|
|
|
+
|
|
|
setupModModel();
|
|
|
setupFilterModel();
|
|
|
setupModsView();
|
|
|
@@ -104,6 +116,9 @@ void CModListView::loadRepositories()
|
|
|
|
|
|
CModListView::~CModListView()
|
|
|
{
|
|
|
+ QSettings s(Ui::teamName, Ui::appName);
|
|
|
+ s.setValue("AllModsView/State", ui->allModsView->header()->saveState());
|
|
|
+
|
|
|
delete ui;
|
|
|
}
|
|
|
|