diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/modlistsortproxy.h | 3 | ||||
| -rw-r--r-- | src/modlistview.cpp | 15 | ||||
| -rw-r--r-- | src/modlistview.h | 1 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/modlistsortproxy.h b/src/modlistsortproxy.h index 448ee38d..421c82cc 100644 --- a/src/modlistsortproxy.h +++ b/src/modlistsortproxy.h @@ -98,6 +98,9 @@ public: void setCriteria(const std::vector<Criteria>& criteria);
void setOptions(FilterMode mode, SeparatorsMode separators);
+ auto filterMode() const { return m_FilterMode; }
+ auto separatorsMode() const { return m_FilterSeparators; }
+
/**
* @brief tests if the specified index has child nodes
* @param parent the node to test
diff --git a/src/modlistview.cpp b/src/modlistview.cpp index d54563a1..c334db93 100644 --- a/src/modlistview.cpp +++ b/src/modlistview.cpp @@ -621,11 +621,19 @@ void ModListView::updateGroupByProxy(int groupIndex) && m_sortProxy->sortColumn() == ModList::COL_PRIORITY
&& m_sortProxy->sortOrder() == Qt::AscendingOrder) {
m_sortProxy->setSourceModel(m_byPriorityProxy);
- m_byPriorityProxy->refresh();
}
else {
m_sortProxy->setSourceModel(m_core->modList());
}
+
+ if (hasCollapsibleSeparators()) {
+ ui.filterSeparators->setCurrentIndex(ModListSortProxy::SeparatorFilter);
+ m_byPriorityProxy->refresh();
+ ui.filterSeparators->setEnabled(false);
+ }
+ else {
+ ui.filterSeparators->setEnabled(true);
+ }
}
void ModListView::setup(OrganizerCore& core, CategoryFactory& factory, MainWindow* mw, Ui::MainWindow* mwui)
@@ -635,7 +643,10 @@ void ModListView::setup(OrganizerCore& core, CategoryFactory& factory, MainWindo m_filters.reset(new FilterList(mwui, core, factory));
m_categories = &factory;
m_actions = new ModListViewActions(core, *m_filters, factory, this, mwui->espList, mw);
- ui = { mwui->groupCombo, mwui->activeModsCounter, mwui->modFilterEdit, mwui->currentCategoryLabel, mwui->clearFiltersButton };
+ ui = {
+ mwui->groupCombo, mwui->activeModsCounter, mwui->modFilterEdit,
+ mwui->currentCategoryLabel, mwui->clearFiltersButton, mwui->filtersSeparators
+ };
connect(m_core, &OrganizerCore::modInstalled, this, &ModListView::onModInstalled);
connect(core.modList(), &ModList::modPrioritiesChanged, this, &ModListView::onModPrioritiesChanged);
diff --git a/src/modlistview.h b/src/modlistview.h index 84e55e2b..a2e8505d 100644 --- a/src/modlistview.h +++ b/src/modlistview.h @@ -207,6 +207,7 @@ private: QLineEdit* filter;
QLabel* currentCategory;
QPushButton* clearFilters;
+ QComboBox* filterSeparators;
};
OrganizerCore* m_core;
|
