GH-3033 Add filtering for version components
This commit is contained in:
parent
cb22d5fb09
commit
c0f72488d0
4 changed files with 39 additions and 5 deletions
|
@ -120,7 +120,15 @@ VersionPage::VersionPage(MinecraftInstance *inst, QWidget *parent)
|
|||
|
||||
auto proxy = new IconProxy(ui->packageView);
|
||||
proxy->setSourceModel(m_profile.get());
|
||||
ui->packageView->setModel(proxy);
|
||||
|
||||
m_filterModel = new QSortFilterProxyModel();
|
||||
m_filterModel->setDynamicSortFilter(true);
|
||||
m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||
m_filterModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
m_filterModel->setSourceModel(proxy);
|
||||
m_filterModel->setFilterKeyColumn(-1);
|
||||
|
||||
ui->packageView->setModel(m_filterModel);
|
||||
ui->packageView->installEventFilter(this);
|
||||
ui->packageView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
ui->packageView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
@ -134,7 +142,8 @@ VersionPage::VersionPage(MinecraftInstance *inst, QWidget *parent)
|
|||
updateVersionControls();
|
||||
preselect(0);
|
||||
connect(m_inst, &BaseInstance::runningStatusChanged, this, &VersionPage::updateRunningStatus);
|
||||
connect(ui->packageView, &ModListView::customContextMenuRequested, this, &VersionPage::ShowContextMenu);
|
||||
connect(ui->packageView, &ModListView::customContextMenuRequested, this, &VersionPage::showContextMenu);
|
||||
connect(ui->filterEdit, &QLineEdit::textChanged, this, &VersionPage::onFilterTextChanged);
|
||||
}
|
||||
|
||||
VersionPage::~VersionPage()
|
||||
|
@ -142,7 +151,7 @@ VersionPage::~VersionPage()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void VersionPage::ShowContextMenu(const QPoint& pos)
|
||||
void VersionPage::showContextMenu(const QPoint& pos)
|
||||
{
|
||||
auto menu = ui->toolBar->createContextMenu(this, tr("Context menu"));
|
||||
menu->exec(ui->packageView->mapToGlobal(pos));
|
||||
|
@ -620,5 +629,10 @@ void VersionPage::on_actionRevert_triggered()
|
|||
m_container->refreshContainer();
|
||||
}
|
||||
|
||||
void VersionPage::onFilterTextChanged(const QString &newContents)
|
||||
{
|
||||
m_filterModel->setFilterFixedString(newContents);
|
||||
}
|
||||
|
||||
#include "VersionPage.moc"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue