Skip to content

Commit

Permalink
Update and restore debug guard code
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Jul 29, 2021
1 parent 3328d4d commit b9efd23
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 9 deletions.
30 changes: 23 additions & 7 deletions src/app/options/qgsoptions.cpp
Expand Up @@ -1363,22 +1363,38 @@ void QgsOptions::checkPageWidgetNameMap()
{
const QMap< QString, int > pageNames = QgisApp::instance()->optionsPagesMap();

#if 0
Q_ASSERT_X( pageNames.count() == mOptionsListWidget->count(), "QgsOptions::checkPageWidgetNameMap()", "QgisApp::optionsPagesMap() is outdated, contains too many entries" );
int pageCount = 0;
std::function<void( const QModelIndex & )> traverseModel;

// traverse through the model, counting all which correspond to pages till we hit the desired index
traverseModel = [&]( const QModelIndex & parent )
{
for ( int row = 0; row < mTreeModel->rowCount( parent ); ++row )
{
const QModelIndex currentIndex = mTreeModel->index( row, 0, parent );

if ( mTreeModel->itemFromIndex( currentIndex )->isSelectable() )
pageCount++;

for ( int idx = 0; idx < mOptionsListWidget->count(); ++idx )
traverseModel( currentIndex );
}
};
traverseModel( QModelIndex() );
Q_ASSERT_X( pageNames.count() == pageCount, "QgsOptions::checkPageWidgetNameMap()", "QgisApp::optionsPagesMap() is outdated, contains too many entries" );

for ( int page = 0; page < pageCount; ++page )
{
QWidget *currentPage = mOptionsStackedWidget->widget( idx );
QListWidgetItem *item = mOptionsListWidget->item( idx );
QWidget *currentPage = mOptionsStackedWidget->widget( page );
const QModelIndex sourceIndex = mTreeProxyModel->pageNumberToSourceIndex( page );

QStandardItem *item = mTreeModel->itemFromIndex( sourceIndex );
if ( currentPage && item )
{
const QString title = item->text();
Q_ASSERT_X( pageNames.contains( title ), "QgsOptions::checkPageWidgetNameMap()", QStringLiteral( "QgisApp::optionsPagesMap() is outdated, please update. Missing %1" ).arg( title ).toLocal8Bit().constData() );
Q_ASSERT_X( pageNames.value( title ) == idx, "QgsOptions::checkPageWidgetNameMap()", QStringLiteral( "QgisApp::optionsPagesMap() is outdated, please update. %1 should be %2 not %3" ).arg( title ).arg( idx ).arg( pageNames.value( title ) ).toLocal8Bit().constData() );
Q_ASSERT_X( pageNames.value( title ) == page, "QgsOptions::checkPageWidgetNameMap()", QStringLiteral( "QgisApp::optionsPagesMap() is outdated, please update. %1 should be %2 not %3" ).arg( title ).arg( page ).arg( pageNames.value( title ) ).toLocal8Bit().constData() );
}
}
#endif
}

void QgsOptions::setCurrentPage( const QString &pageWidgetName )
Expand Down
2 changes: 1 addition & 1 deletion src/app/qgisapp.cpp
Expand Up @@ -12557,13 +12557,13 @@ QMap< QString, int > QgisApp::optionsPagesMap()
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "CRS" ), QStringLiteral( "mOptionsPageCRS" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Transformations" ), QStringLiteral( "mOptionsPageTransformations" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Data Sources" ), QStringLiteral( "mOptionsPageDataSources" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "GDAL" ), QStringLiteral( "mOptionsPageGDAL" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Rendering" ), QStringLiteral( "mOptionsPageRendering" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Canvas & Legend" ), QStringLiteral( "mOptionsPageMapCanvas" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Map Tools" ), QStringLiteral( "mOptionsPageMapTools" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Colors" ), QStringLiteral( "mOptionsPageColors" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Digitizing" ), QStringLiteral( "mOptionsPageDigitizing" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Layouts" ), QStringLiteral( "mOptionsPageComposer" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "GDAL" ), QStringLiteral( "mOptionsPageGDAL" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Variables" ), QStringLiteral( "mOptionsPageVariables" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Authentication" ), QStringLiteral( "mOptionsPageAuth" ) } );
sOptionsPagesList.push_back( { QCoreApplication::translate( "QgsOptionsBase", "Network" ), QStringLiteral( "mOptionsPageNetwork" ) } );
Expand Down
2 changes: 1 addition & 1 deletion src/gui/qgsoptionsdialogbase.h
Expand Up @@ -45,7 +45,7 @@ class QgsOptionsDialogHighlightWidget;

#ifndef SIP_RUN
///@cond PRIVATE
class QgsOptionsProxyModel : public QSortFilterProxyModel
class GUI_EXPORT QgsOptionsProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
Expand Down

0 comments on commit b9efd23

Please sign in to comment.