diff --git a/python/PyQt6/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in b/python/PyQt6/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in index 35f0f3cfb17..7d2526e88da 100644 --- a/python/PyQt6/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in +++ b/python/PyQt6/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in @@ -26,6 +26,7 @@ Base class for database source widget selectors. static const QgsSettingsEntryInteger *settingSearchColumn; static const QgsSettingsEntryBool *settingSearchRegex; static const QgsSettingsEntryBool *settingHoldDialogOpen; + static const QgsSettingsEntryInteger *settingColumnWidths; QgsAbstractDbSourceSelect( QWidget *parent = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Standalone ); %Docstring diff --git a/python/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in b/python/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in index 35f0f3cfb17..7d2526e88da 100644 --- a/python/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in +++ b/python/gui/auto_generated/providers/qgsabstractdbsourceselect.sip.in @@ -26,6 +26,7 @@ Base class for database source widget selectors. static const QgsSettingsEntryInteger *settingSearchColumn; static const QgsSettingsEntryBool *settingSearchRegex; static const QgsSettingsEntryBool *settingHoldDialogOpen; + static const QgsSettingsEntryInteger *settingColumnWidths; QgsAbstractDbSourceSelect( QWidget *parent = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Standalone ); %Docstring diff --git a/src/gui/providers/ogr/qgsogrdbsourceselect.cpp b/src/gui/providers/ogr/qgsogrdbsourceselect.cpp index 88c105de663..4e62a6c8754 100644 --- a/src/gui/providers/ogr/qgsogrdbsourceselect.cpp +++ b/src/gui/providers/ogr/qgsogrdbsourceselect.cpp @@ -51,8 +51,7 @@ QgsOgrDbSourceSelect::QgsOgrDbSourceSelect( const QString &theSettingsKey, const setupButtons( buttonBox ); connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsOgrDbSourceSelect::showHelp ); - QgsSettings settings; - mHoldDialogOpen->setChecked( settings.value( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH.arg( mOgrDriverName ) ), false, QgsSettings::Section::Providers ).toBool() ); + mHoldDialogOpen->setChecked( settingHoldDialogOpen->value( { SETTINGS_WINDOWS_PATH.arg( mOgrDriverName ) } ) ); setWindowTitle( tr( "Add %1 Layer(s)" ).arg( name() ) ); btnEdit->hide(); // hide the edit button @@ -76,8 +75,7 @@ QgsOgrDbSourceSelect::QgsOgrDbSourceSelect( const QString &theSettingsKey, const QgsOgrDbSourceSelect::~QgsOgrDbSourceSelect() { - QgsSettings settings; - settings.setValue( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH.arg( mOgrDriverName ) ), mHoldDialogOpen->isChecked(), QgsSettings::Section::Providers ); + settingHoldDialogOpen->setValue( mHoldDialogOpen->isChecked(), { SETTINGS_WINDOWS_PATH.arg( mOgrDriverName ) } ); //store general settings in base class storeSettings(); } diff --git a/src/gui/providers/qgsabstractdbsourceselect.cpp b/src/gui/providers/qgsabstractdbsourceselect.cpp index 4852a264b63..6be27b5ddcd 100644 --- a/src/gui/providers/qgsabstractdbsourceselect.cpp +++ b/src/gui/providers/qgsabstractdbsourceselect.cpp @@ -24,9 +24,10 @@ #include #include -const QgsSettingsEntryInteger *QgsAbstractDbSourceSelect::settingSearchColumn = new QgsSettingsEntryInteger( QStringLiteral( "%searchColumn" ), QgsSettingsTree::sTreeWindowState, -1 ); -const QgsSettingsEntryBool *QgsAbstractDbSourceSelect::settingSearchRegex = new QgsSettingsEntryBool( QStringLiteral( "%searchRegex" ), QgsSettingsTree::sTreeWindowState ); -const QgsSettingsEntryBool *QgsAbstractDbSourceSelect::settingHoldDialogOpen = new QgsSettingsEntryBool( QStringLiteral( "%holdDialogOpen" ), QgsSettingsTree::sTreeWindowState ); +const QgsSettingsEntryInteger *QgsAbstractDbSourceSelect::settingSearchColumn = new QgsSettingsEntryInteger( QStringLiteral( "%1searchColumn" ), QgsSettingsTree::sTreeWindowState, -1 ); +const QgsSettingsEntryBool *QgsAbstractDbSourceSelect::settingSearchRegex = new QgsSettingsEntryBool( QStringLiteral( "%1searchRegex" ), QgsSettingsTree::sTreeWindowState ); +const QgsSettingsEntryBool *QgsAbstractDbSourceSelect::settingHoldDialogOpen = new QgsSettingsEntryBool( QStringLiteral( "%1holdDialogOpen" ), QgsSettingsTree::sTreeWindowState ); +const QgsSettingsEntryInteger *QgsAbstractDbSourceSelect::settingColumnWidths = new QgsSettingsEntryInteger( QStringLiteral( "%1columnWidths/%2" ), QgsSettingsTree::sTreeWindowState ); QgsAbstractDbSourceSelect::QgsAbstractDbSourceSelect( QWidget *parent, Qt::WindowFlags fl, QgsProviderRegistry::WidgetMode widgetMode ) : QgsAbstractDataSourceWidget( parent, fl, widgetMode ) diff --git a/src/gui/providers/qgsabstractdbsourceselect.h b/src/gui/providers/qgsabstractdbsourceselect.h index 8de336ae5b4..d0e6e38119d 100644 --- a/src/gui/providers/qgsabstractdbsourceselect.h +++ b/src/gui/providers/qgsabstractdbsourceselect.h @@ -39,6 +39,7 @@ class GUI_EXPORT QgsAbstractDbSourceSelect : public QgsAbstractDataSourceWidget, static const QgsSettingsEntryInteger *settingSearchColumn; static const QgsSettingsEntryBool *settingSearchRegex; static const QgsSettingsEntryBool *settingHoldDialogOpen; + static const QgsSettingsEntryInteger *settingColumnWidths; //! Constructor QgsAbstractDbSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Standalone ); diff --git a/src/providers/mssql/qgsmssqlsourceselect.cpp b/src/providers/mssql/qgsmssqlsourceselect.cpp index 6f4d930ea01..2bf00cb1903 100644 --- a/src/providers/mssql/qgsmssqlsourceselect.cpp +++ b/src/providers/mssql/qgsmssqlsourceselect.cpp @@ -177,11 +177,14 @@ QgsMssqlSourceSelect::QgsMssqlSourceSelect( QWidget *parent, Qt::WindowFlags fl, const QgsSettings settings; mTablesTreeView->setSelectionMode( QAbstractItemView::ExtendedSelection ); - mHoldDialogOpen->setChecked( settings.value( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), false ).toBool() ); + mHoldDialogOpen->setChecked( settingHoldDialogOpen->value( { SETTINGS_WINDOWS_PATH } ) ); for ( int i = 0; i < mTableModel->columnCount(); i++ ) { - mTablesTreeView->setColumnWidth( i, settings.value( QStringLiteral( "%1columnWidths/%2" ).arg( SETTINGS_WINDOWS_PATH, i ), mTablesTreeView->columnWidth( i ) ).toInt() ); + if ( settingColumnWidths->value( { SETTINGS_WINDOWS_PATH, QString::number( i ) } ) > 0 ) + { + mTablesTreeView->setColumnWidth( i, settingColumnWidths->value( { SETTINGS_WINDOWS_PATH, QString::number( i ) } ) ); + } } cbxAllowGeometrylessTables->setDisabled( true ); @@ -285,12 +288,12 @@ QgsMssqlSourceSelect::~QgsMssqlSourceSelect() mColumnTypeThread->wait(); } - QgsSettings settings; - settings.setValue( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), mHoldDialogOpen->isChecked() ); + settingHoldDialogOpen->setValue( mHoldDialogOpen->isChecked(), { SETTINGS_WINDOWS_PATH } ); + QgsSettings settings; for ( int i = 0; i < mTableModel->columnCount(); i++ ) { - settings.setValue( QStringLiteral( "%1columnWidths/%2" ).arg( SETTINGS_WINDOWS_PATH, i ), mTablesTreeView->columnWidth( i ) ); + settingColumnWidths->setValue( mTablesTreeView->columnWidth( i ), { SETTINGS_WINDOWS_PATH, QString::number( i ) } ); } //store general settings in base class storeSettings(); diff --git a/src/providers/postgres/qgspgsourceselect.cpp b/src/providers/postgres/qgspgsourceselect.cpp index 9687e41fe43..0dd884d3b55 100644 --- a/src/providers/postgres/qgspgsourceselect.cpp +++ b/src/providers/postgres/qgspgsourceselect.cpp @@ -232,11 +232,15 @@ QgsPgSourceSelect::QgsPgSourceSelect( QWidget *parent, Qt::WindowFlags fl, QgsPr mTablesTreeView->setSelectionMode( QAbstractItemView::ExtendedSelection ); QgsSettings settings; - mHoldDialogOpen->setChecked( settings.value( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), false ).toBool() ); + + mHoldDialogOpen->setChecked( settingHoldDialogOpen->value( { SETTINGS_WINDOWS_PATH } ) ); for ( int i = 0; i < mTableModel->columnCount(); i++ ) { - mTablesTreeView->setColumnWidth( i, settings.value( QStringLiteral( "%1columnWidths/%2" ).arg( SETTINGS_WINDOWS_PATH, i ), mTablesTreeView->columnWidth( i ) ).toInt() ); + if ( settingColumnWidths->value( { SETTINGS_WINDOWS_PATH, QString::number( i ) } ) > 0 ) + { + mTablesTreeView->setColumnWidth( i, settingColumnWidths->value( { SETTINGS_WINDOWS_PATH, QString::number( i ) } ) ); + } } } @@ -331,12 +335,10 @@ QgsPgSourceSelect::~QgsPgSourceSelect() finishList(); } - QgsSettings settings; - settings.setValue( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), mHoldDialogOpen->isChecked() ); - + settingHoldDialogOpen->setValue( mHoldDialogOpen->isChecked(), { SETTINGS_WINDOWS_PATH } ); for ( int i = 0; i < mTableModel->columnCount(); i++ ) { - settings.setValue( QStringLiteral( "%1columnWidths/%1" ).arg( SETTINGS_WINDOWS_PATH, i ), mTablesTreeView->columnWidth( i ) ); + settingColumnWidths->setValue( mTablesTreeView->columnWidth( i ), { SETTINGS_WINDOWS_PATH, QString::number( i ) } ); } //store general settings in base class storeSettings(); diff --git a/src/providers/spatialite/qgsspatialitesourceselect.cpp b/src/providers/spatialite/qgsspatialitesourceselect.cpp index 8f3725026a0..c69f794be86 100644 --- a/src/providers/spatialite/qgsspatialitesourceselect.cpp +++ b/src/providers/spatialite/qgsspatialitesourceselect.cpp @@ -59,8 +59,7 @@ QgsSpatiaLiteSourceSelect::QgsSpatiaLiteSourceSelect( QWidget *parent, Qt::Windo setupButtons( buttonBox ); connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsSpatiaLiteSourceSelect::showHelp ); - const QgsSettings settings; - mHoldDialogOpen->setChecked( settings.value( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), false ).toBool() ); + mHoldDialogOpen->setChecked( settingHoldDialogOpen->value( { SETTINGS_WINDOWS_PATH } ) ); setWindowTitle( tr( "Add SpatiaLite Layer(s)" ) ); btnEdit->hide(); // hide the edit button @@ -90,8 +89,7 @@ QgsSpatiaLiteSourceSelect::QgsSpatiaLiteSourceSelect( QWidget *parent, Qt::Windo QgsSpatiaLiteSourceSelect::~QgsSpatiaLiteSourceSelect() { - QgsSettings settings; - settings.setValue( QStringLiteral( "%1HoldDialogOpen" ).arg( SETTINGS_WINDOWS_PATH ), mHoldDialogOpen->isChecked() ); + settingHoldDialogOpen->setValue( mHoldDialogOpen->isChecked(), { SETTINGS_WINDOWS_PATH } ); //store general settings in base class storeSettings(); }