| 144 | } |
| 145 | |
| 146 | VersionPage::VersionPage(MinecraftInstance* inst, QWidget* parent) : QMainWindow(parent), ui(new Ui::VersionPage), m_inst(inst) |
| 147 | { |
| 148 | ui->setupUi(this); |
| 149 | |
| 150 | ui->toolBar->insertSpacer(ui->actionReload); |
| 151 | |
| 152 | m_profile = m_inst->getPackProfile(); |
| 153 | |
| 154 | reloadPackProfile(); |
| 155 | |
| 156 | auto proxy = new IconProxy(ui->packageView); |
| 157 | proxy->setSourceModel(m_profile.get()); |
| 158 | |
| 159 | m_filterModel = new QSortFilterProxyModel(this); |
| 160 | m_filterModel->setDynamicSortFilter(true); |
| 161 | m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); |
| 162 | m_filterModel->setSortCaseSensitivity(Qt::CaseInsensitive); |
| 163 | m_filterModel->setSourceModel(proxy); |
| 164 | m_filterModel->setFilterKeyColumn(-1); |
| 165 | |
| 166 | ui->packageView->setModel(m_filterModel); |
| 167 | ui->packageView->installEventFilter(this); |
| 168 | ui->packageView->setSelectionMode(QAbstractItemView::SingleSelection); |
| 169 | ui->packageView->setContextMenuPolicy(Qt::CustomContextMenu); |
| 170 | |
| 171 | auto smodel = ui->packageView->selectionModel(); |
| 172 | connect(smodel, &QItemSelectionModel::currentChanged, this, &VersionPage::versionCurrent); |
| 173 | connect(smodel, &QItemSelectionModel::currentChanged, this, &VersionPage::packageCurrent); |
| 174 | connect(m_profile.get(), &PackProfile::minecraftChanged, this, &VersionPage::updateVersionControls); |
| 175 | updateVersionControls(); |
| 176 | preselect(0); |
| 177 | connect(ui->packageView, &ModListView::customContextMenuRequested, this, &VersionPage::showContextMenu); |
| 178 | connect(ui->packageView, &QAbstractItemView::activated, this, [this](const QModelIndex& index) { |
| 179 | auto component = m_profile->getComponent(index.row()); |
| 180 | component->setEnabled(!component->isEnabled()); |
| 181 | }); |
| 182 | connect(ui->filterEdit, &QLineEdit::textChanged, this, &VersionPage::onFilterTextChanged); |
| 183 | } |
| 184 | |
| 185 | VersionPage::~VersionPage() |
| 186 | { |
nothing calls this directly
no test coverage detected