diff --git a/settingsdialog/settingsdialog.cpp b/settingsdialog/settingsdialog.cpp index a6becb4..67e2bf8 100644 --- a/settingsdialog/settingsdialog.cpp +++ b/settingsdialog/settingsdialog.cpp @@ -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. */ diff --git a/settingsdialog/settingsdialog.h b/settingsdialog/settingsdialog.h index 40effd8..567dbd2 100644 --- a/settingsdialog/settingsdialog.h +++ b/settingsdialog/settingsdialog.h @@ -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();