| 133 | } |
| 134 | |
| 135 | VersionPage::VersionPage(MinecraftInstance *inst, QWidget *parent) |
| 136 | : QMainWindow(parent), ui(new Ui::VersionPage), m_inst(inst) |
| 137 | { |
| 138 | ui->setupUi(this); |
| 139 | |
| 140 | ui->toolBar->insertSpacer(ui->actionReload); |
| 141 | |
| 142 | m_profile = m_inst->getPackProfile(); |
| 143 | |
| 144 | reloadPackProfile(); |
| 145 | |
| 146 | auto proxy = new IconProxy(ui->packageView); |
| 147 | proxy->setSourceModel(m_profile.get()); |
| 148 | |
| 149 | m_filterModel = new QSortFilterProxyModel(); |
| 150 | m_filterModel->setDynamicSortFilter(true); |
| 151 | m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); |
| 152 | m_filterModel->setSortCaseSensitivity(Qt::CaseInsensitive); |
| 153 | m_filterModel->setSourceModel(proxy); |
| 154 | m_filterModel->setFilterKeyColumn(-1); |
| 155 | |
| 156 | ui->packageView->setModel(m_filterModel); |
| 157 | ui->packageView->installEventFilter(this); |
| 158 | ui->packageView->setSelectionMode(QAbstractItemView::SingleSelection); |
| 159 | ui->packageView->setContextMenuPolicy(Qt::CustomContextMenu); |
| 160 | |
| 161 | connect(ui->packageView->selectionModel(), &QItemSelectionModel::currentChanged, this, &VersionPage::versionCurrent); |
| 162 | auto smodel = ui->packageView->selectionModel(); |
| 163 | connect(smodel, &QItemSelectionModel::currentChanged, this, &VersionPage::packageCurrent); |
| 164 | |
| 165 | connect(m_profile.get(), &PackProfile::minecraftChanged, this, &VersionPage::updateVersionControls); |
| 166 | controlsEnabled = !m_inst->isRunning(); |
| 167 | updateVersionControls(); |
| 168 | preselect(0); |
| 169 | connect(m_inst, &BaseInstance::runningStatusChanged, this, &VersionPage::updateRunningStatus); |
| 170 | connect(ui->packageView, &ModListView::customContextMenuRequested, this, &VersionPage::showContextMenu); |
| 171 | connect(ui->filterEdit, &QLineEdit::textChanged, this, &VersionPage::onFilterTextChanged); |
| 172 | } |
| 173 | |
| 174 | VersionPage::~VersionPage() |
| 175 | { |
nothing calls this directly
no test coverage detected