diff options
author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-05-28 14:53:15 -0700 |
---|---|---|
committer | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-05-28 14:53:15 -0700 |
commit | 5fe9e30f394a8025cdb6aa11b4cc11b9a2bb6a64 (patch) | |
tree | 0e7c7dc0f45080c5f337f51aaa9719fc4ab4afeb /launcher/minecraft/mod/ResourceFolderModel.cpp | |
parent | 4eb9083ddc3c57f45d252ceae18d3e9dbf4ee4a3 (diff) | |
download | PrismLauncher-5fe9e30f394a8025cdb6aa11b4cc11b9a2bb6a64.tar.gz PrismLauncher-5fe9e30f394a8025cdb6aa11b4cc11b9a2bb6a64.tar.bz2 PrismLauncher-5fe9e30f394a8025cdb6aa11b4cc11b9a2bb6a64.zip |
fix: use instance settings, make image column user resizeable, fix memory leak
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Diffstat (limited to 'launcher/minecraft/mod/ResourceFolderModel.cpp')
-rw-r--r-- | launcher/minecraft/mod/ResourceFolderModel.cpp | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/launcher/minecraft/mod/ResourceFolderModel.cpp b/launcher/minecraft/mod/ResourceFolderModel.cpp index 2997a43d..b60f8182 100644 --- a/launcher/minecraft/mod/ResourceFolderModel.cpp +++ b/launcher/minecraft/mod/ResourceFolderModel.cpp @@ -513,10 +513,10 @@ void ResourceFolderModel::setupHeaderAction(QAction* act, int column) void ResourceFolderModel::saveHiddenColumn(int column, bool hidden) { auto const setting_name = QString("UI/%1_Page/HiddenColumns").arg(id()); - auto setting = (APPLICATION->settings()->contains(setting_name)) ? - APPLICATION->settings()->getSetting(setting_name) : APPLICATION->settings()->registerSetting(setting_name); + auto setting = (m_instance->settings()->contains(setting_name)) ? + m_instance->settings()->getSetting(setting_name) : m_instance->settings()->registerSetting(setting_name); - auto hiddenColumns = QVariantUtils::toList<QString>(setting->get()); + auto hiddenColumns = setting->get().toStringList(); auto name = columnNames(false).at(column); auto index = hiddenColumns.indexOf(name); if (index >= 0 && !hidden) { @@ -524,30 +524,33 @@ void ResourceFolderModel::saveHiddenColumn(int column, bool hidden) } else if ( index < 0 && hidden) { hiddenColumns.append(name); } - setting->set(QVariantUtils::fromList(hiddenColumns)); + setting->set(hiddenColumns); } void ResourceFolderModel::loadHiddenColumns(QTreeView *tree) { auto const setting_name = QString("UI/%1_Page/HiddenColumns").arg(id()); - auto setting = (APPLICATION->settings()->contains(setting_name)) ? - APPLICATION->settings()->getSetting(setting_name) : APPLICATION->settings()->registerSetting(setting_name); - - auto hiddenColumns = QVariantUtils::toList<int>(setting->get().toList()); - for (auto col : hiddenColumns) { - tree->setColumnHidden(col, true); + auto setting = (m_instance->settings()->contains(setting_name)) ? + m_instance->settings()->getSetting(setting_name) : m_instance->settings()->registerSetting(setting_name); + + auto hiddenColumns = setting->get().toStringList(); + auto col_names = columnNames(false); + for (auto col_name : hiddenColumns) { + auto index = col_names.indexOf(col_name); + if (index >= 0) + tree->setColumnHidden(index, true); } } -std::unique_ptr<QMenu> ResourceFolderModel::createHeaderContextMenu(QWidget* parent, QTreeView* tree) +QMenu* ResourceFolderModel::createHeaderContextMenu(QTreeView* tree) { - auto menu = std::make_unique<QMenu>(parent); + auto menu = new QMenu(tree); menu->addSeparator()->setText(tr("Show / Hide Columns")); for (int col = 0; col < columnCount(); ++col) { - auto act = new QAction(); + auto act = new QAction(menu); setupHeaderAction(act, col); act->setCheckable(true); |