diff options
author | flow <flowlnlnln@gmail.com> | 2022-12-30 11:39:03 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-30 11:39:03 -0300 |
commit | d55f47077aed0e2066f4b5d8f1bd208ffffd550e (patch) | |
tree | d4fd5898b35ea44b04c2515326ca54d64065d530 /launcher/ui | |
parent | 67ac3da8a0eac959343fe86ca143b97f0f76543c (diff) | |
parent | 141e94369ed88e7099b46b45a0ed3683cada6329 (diff) | |
download | PrismLauncher-d55f47077aed0e2066f4b5d8f1bd208ffffd550e.tar.gz PrismLauncher-d55f47077aed0e2066f4b5d8f1bd208ffffd550e.tar.bz2 PrismLauncher-d55f47077aed0e2066f4b5d8f1bd208ffffd550e.zip |
Merge pull request #626 from leo78913/mods-provider-column
closes https://github.com/PrismLauncher/PrismLauncher/issues/402
Diffstat (limited to 'launcher/ui')
-rw-r--r-- | launcher/ui/widgets/ModListView.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/launcher/ui/widgets/ModListView.cpp b/launcher/ui/widgets/ModListView.cpp index d1860f57..09b03a76 100644 --- a/launcher/ui/widgets/ModListView.cpp +++ b/launcher/ui/widgets/ModListView.cpp @@ -14,6 +14,9 @@ */ #include "ModListView.h" + +#include "minecraft/mod/ModFolderModel.h" + #include <QHeaderView> #include <QMouseEvent> #include <QPainter> @@ -62,4 +65,17 @@ void ModListView::setModel ( QAbstractItemModel* model ) for(int i = 1; i < head->count(); i++) head->setSectionResizeMode(i, QHeaderView::ResizeToContents); } + + auto real_model = model; + if (auto proxy_model = dynamic_cast<QSortFilterProxyModel*>(model); proxy_model) + real_model = proxy_model->sourceModel(); + + if (auto mod_model = dynamic_cast<ModFolderModel*>(real_model); mod_model) { + connect(mod_model, &ModFolderModel::updateFinished, this, [this, mod_model]{ + auto mods = mod_model->allMods(); + // Hide the 'Provider' column if no mod has a defined provider! + setColumnHidden(ModFolderModel::Columns::ProviderColumn, + std::none_of(mods.constBegin(), mods.constEnd(), [](auto const mod){ return mod->provider().has_value(); })); + }); + } } |