Allow selecting a settings page programmatically

This commit is contained in:
Martchus 2022-10-02 20:31:35 +02:00
parent f81672885c
commit ba16862d48
2 changed files with 14 additions and 0 deletions

View File

@ -201,6 +201,19 @@ void SettingsDialog::addHeadingWidget(QWidget *widget)
m_ui->headingLayout->addWidget(widget);
}
/*!
* \brief Selects the specified page within the specified category.
*/
void SettingsDialog::selectPage(int categoryIndex, int pageIndex)
{
m_categoryFilterModel->setFilterFixedString(QString());
m_ui->filterLineEdit->clear();
showCategory(m_categoryModel->category(categoryIndex));
m_ui->categoriesListView->selectionModel()->select(
m_categoryFilterModel->mapFromSource(m_categoryModel->index(categoryIndex)), QItemSelectionModel::ClearAndSelect);
m_ui->pagesTabWidget->setCurrentIndex(pageIndex);
}
/*!
* \brief Updates the tab widget to show the pages for the current category.
*/

View File

@ -35,6 +35,7 @@ public:
QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const;
void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner);
void addHeadingWidget(QWidget *widget);
void selectPage(int categoryIndex, int pageIndex);
public Q_SLOTS:
bool apply();