Skip to content

Commit

Permalink
Allow columns to be resized in datum transformation table
Browse files Browse the repository at this point in the history
Fixes #39169
  • Loading branch information
nyalldawson committed Oct 8, 2020
1 parent ec2cc48 commit 1cd5a33
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/app/qgsdatumtransformtablewidget.cpp
Expand Up @@ -18,7 +18,7 @@
#include "qgscoordinatetransform.h"
#include "qgsdatumtransformdialog.h"
#include "qgisapp.h"

#include "qgssettings.h"

QgsDatumTransformTableModel::QgsDatumTransformTableModel( QObject *parent )
: QAbstractTableModel( parent )
Expand Down Expand Up @@ -231,11 +231,15 @@ QgsDatumTransformTableWidget::QgsDatumTransformTableWidget( QWidget *parent )

mTableView->setModel( mModel );
mTableView->resizeColumnToContents( 0 );
mTableView->horizontalHeader()->setSectionResizeMode( QHeaderView::ResizeToContents );
mTableView->horizontalHeader()->setSectionResizeMode( QHeaderView::Interactive );
mTableView->horizontalHeader()->show();
mTableView->setSelectionMode( QAbstractItemView::SingleSelection );
mTableView->setSelectionBehavior( QAbstractItemView::SelectRows );
mTableView->setAlternatingRowColors( true );

QgsSettings settings;
mTableView->horizontalHeader()->restoreState( settings.value( QStringLiteral( "Windows/DatumTransformTable/headerState" ) ).toByteArray() );

connect( mAddButton, &QToolButton::clicked, this, &QgsDatumTransformTableWidget::addDatumTransform );
connect( mRemoveButton, &QToolButton::clicked, this, &QgsDatumTransformTableWidget::removeDatumTransform );
connect( mEditButton, &QToolButton::clicked, this, [ = ]
Expand All @@ -256,6 +260,12 @@ QgsDatumTransformTableWidget::QgsDatumTransformTableWidget( QWidget *parent )
mEditButton->setEnabled( false );
}

QgsDatumTransformTableWidget::~QgsDatumTransformTableWidget()
{
QgsSettings settings;
settings.setValue( QStringLiteral( "Windows/DatumTransformTable/headerState" ), mTableView->horizontalHeader()->saveState() );
}

void QgsDatumTransformTableWidget::addDatumTransform()
{
QgsDatumTransformDialog dlg( QgsCoordinateReferenceSystem(), QgsCoordinateReferenceSystem(), true, false, false, QPair< int, int >(), nullptr, Qt::WindowFlags(), QString(), QgisApp::instance()->mapCanvas() );
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsdatumtransformtablewidget.h
Expand Up @@ -81,6 +81,7 @@ class APP_EXPORT QgsDatumTransformTableWidget : public QWidget, private Ui::QgsD

public:
explicit QgsDatumTransformTableWidget( QWidget *parent = nullptr );
~QgsDatumTransformTableWidget() override;

void setTransformContext( const QgsCoordinateTransformContext &context )
{
Expand Down

0 comments on commit 1cd5a33

Please sign in to comment.