diff options
author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-06-22 13:26:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-22 13:26:47 -0700 |
commit | f1ebec641aa1a8f8992d6230a42001ad18c24a74 (patch) | |
tree | f0f15391035280e5c36cf3ed6119fbb0dbc6bcf1 /launcher/ui/pages | |
parent | c5f16276d74283169eccf3f6a8845da910af0221 (diff) | |
parent | 470518eb3a3e0e43d67b7a15823c060755ad3284 (diff) | |
download | PrismLauncher-f1ebec641aa1a8f8992d6230a42001ad18c24a74.tar.gz PrismLauncher-f1ebec641aa1a8f8992d6230a42001ad18c24a74.tar.bz2 PrismLauncher-f1ebec641aa1a8f8992d6230a42001ad18c24a74.zip |
Merge pull request #1058 from Ryex/feature/images-for-resource-page
Feature: image coumn for Mod, Resource Pack, and Texturepack pages
Diffstat (limited to 'launcher/ui/pages')
-rw-r--r-- | launcher/ui/pages/instance/ExternalResourcesPage.cpp | 17 | ||||
-rw-r--r-- | launcher/ui/pages/instance/ExternalResourcesPage.h | 1 | ||||
-rw-r--r-- | launcher/ui/pages/instance/ExternalResourcesPage.ui | 3 |
3 files changed, 20 insertions, 1 deletions
diff --git a/launcher/ui/pages/instance/ExternalResourcesPage.cpp b/launcher/ui/pages/instance/ExternalResourcesPage.cpp index e50fa635..8e5226ef 100644 --- a/launcher/ui/pages/instance/ExternalResourcesPage.cpp +++ b/launcher/ui/pages/instance/ExternalResourcesPage.cpp @@ -60,6 +60,8 @@ ExternalResourcesPage::ExternalResourcesPage(BaseInstance* instance, std::shared m_filterModel->setSourceModel(m_model.get()); m_filterModel->setFilterKeyColumn(-1); ui->treeView->setModel(m_filterModel); + // must come after setModel + ui->treeView->setResizeModes(m_model->columnResizeModes()); ui->treeView->installEventFilter(this); ui->treeView->sortByColumn(1, Qt::AscendingOrder); @@ -87,6 +89,13 @@ ExternalResourcesPage::ExternalResourcesPage(BaseInstance* instance, std::shared connect(model.get(), &ResourceFolderModel::updateFinished, this, updateExtra); connect(ui->filterEdit, &QLineEdit::textChanged, this, &ExternalResourcesPage::filterTextChanged); + + auto viewHeader = ui->treeView->header(); + viewHeader->setContextMenuPolicy(Qt::CustomContextMenu); + + connect(viewHeader, &QHeaderView::customContextMenuRequested, this, &ExternalResourcesPage::ShowHeaderContextMenu); + + m_model->loadHiddenColumns(ui->treeView); } ExternalResourcesPage::~ExternalResourcesPage() @@ -108,6 +117,13 @@ void ExternalResourcesPage::ShowContextMenu(const QPoint& pos) delete menu; } +void ExternalResourcesPage::ShowHeaderContextMenu(const QPoint& pos) +{ + auto menu = m_model->createHeaderContextMenu(ui->treeView); + menu->exec(ui->treeView->mapToGlobal(pos)); + menu->deleteLater(); +} + void ExternalResourcesPage::openedImpl() { m_model->startWatching(); @@ -139,7 +155,6 @@ void ExternalResourcesPage::itemActivated(const QModelIndex&) return; auto selection = m_filterModel->mapSelectionToSource(ui->treeView->selectionModel()->selection()); - m_model->setResourceEnabled(selection.indexes(), EnableAction::TOGGLE); } void ExternalResourcesPage::filterTextChanged(const QString& newContents) diff --git a/launcher/ui/pages/instance/ExternalResourcesPage.h b/launcher/ui/pages/instance/ExternalResourcesPage.h index fd200193..6c0a12cb 100644 --- a/launcher/ui/pages/instance/ExternalResourcesPage.h +++ b/launcher/ui/pages/instance/ExternalResourcesPage.h @@ -61,6 +61,7 @@ class ExternalResourcesPage : public QMainWindow, public BasePage { virtual void viewConfigs(); void ShowContextMenu(const QPoint& pos); + void ShowHeaderContextMenu(const QPoint& pos); protected: BaseInstance* m_instance = nullptr; diff --git a/launcher/ui/pages/instance/ExternalResourcesPage.ui b/launcher/ui/pages/instance/ExternalResourcesPage.ui index 33a03336..f676361c 100644 --- a/launcher/ui/pages/instance/ExternalResourcesPage.ui +++ b/launcher/ui/pages/instance/ExternalResourcesPage.ui @@ -62,6 +62,9 @@ <property name="dragDropMode"> <enum>QAbstractItemView::DropOnly</enum> </property> + <property name="uniformRowHeights"> + <bool>true</bool> + </property> </widget> </item> </layout> |