From 83dba6786c0513228f57b6a497a4a06d50f14838 Mon Sep 17 00:00:00 2001 From: Harrissou Sant-anna Date: Wed, 15 Jul 2020 12:12:42 +0200 Subject: [PATCH] Improving the "Add/Discover relation" dialogs adding title, tooltips and help button to documentation --- src/app/qgsdiscoverrelationsdialog.cpp | 6 ++++++ src/app/qgsrelationadddlg.cpp | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/app/qgsdiscoverrelationsdialog.cpp b/src/app/qgsdiscoverrelationsdialog.cpp index d5b71fc6f030..6ff2baf5d040 100644 --- a/src/app/qgsdiscoverrelationsdialog.cpp +++ b/src/app/qgsdiscoverrelationsdialog.cpp @@ -15,6 +15,7 @@ #include "qgsdiscoverrelationsdialog.h" #include "qgsvectorlayer.h" #include "qgsrelationmanager.h" +#include "qgshelp.h" #include @@ -25,6 +26,11 @@ QgsDiscoverRelationsDialog::QgsDiscoverRelationsDialog( const QList setupUi( this ); mButtonBox->button( QDialogButtonBox::Ok )->setEnabled( false ); + mButtonBox->addButton( QDialogButtonBox::Help ); + connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [ = ] + { + QgsHelp::openHelp( QStringLiteral( "working_with_vector/attribute_table.html#defining-1-n-relation" ) ); + } ); connect( mRelationsTable->selectionModel(), &QItemSelectionModel::selectionChanged, this, &QgsDiscoverRelationsDialog::onSelectionChanged ); mFoundRelations = QgsRelationManager::discoverRelations( existingRelations, layers ); diff --git a/src/app/qgsrelationadddlg.cpp b/src/app/qgsrelationadddlg.cpp index 9ad73c137f85..9ae3cb3f0d53 100644 --- a/src/app/qgsrelationadddlg.cpp +++ b/src/app/qgsrelationadddlg.cpp @@ -29,6 +29,7 @@ #include "qgsfieldcombobox.h" #include "qgsmaplayerproxymodel.h" #include "qgsapplication.h" +#include "qgshelp.h" @@ -43,11 +44,13 @@ QgsFieldPairWidget::QgsFieldPairWidget( int index, QWidget *parent ) mAddButton = new QToolButton( this ); mAddButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/symbologyAdd.svg" ) ) ); mAddButton->setMinimumWidth( 30 ); + mAddButton->setToolTip( "Add new fields to pair" ); mLayout->addWidget( mAddButton, 0, Qt::AlignLeft ); mRemoveButton = new QToolButton( this ); mRemoveButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/symbologyRemove.svg" ) ) ); mRemoveButton->setMinimumWidth( 30 ); + mRemoveButton->setToolTip( "Remove the last pair of fields" ); mLayout->addWidget( mRemoveButton, 0, Qt::AlignLeft ); mSpacerItem = new QSpacerItem( 30, 30, QSizePolicy::Minimum, QSizePolicy::Maximum ); @@ -120,7 +123,8 @@ void QgsFieldPairWidget::changeEnable() QgsRelationAddDlg::QgsRelationAddDlg( QWidget *parent ) : QDialog( parent ) { - QGridLayout *layout = new QGridLayout(); // column 0 is kept free for alignmenent purpose + setWindowTitle( "Add New Relation" ); + QGridLayout *layout = new QGridLayout(); // column 0 is kept free for alignment purpose // row 0: name // col 1 @@ -176,9 +180,13 @@ QgsRelationAddDlg::QgsRelationAddDlg( QWidget *parent ) // row 6: button box mButtonBox = new QDialogButtonBox( this ); mButtonBox->setOrientation( Qt::Horizontal ); - mButtonBox->setStandardButtons( QDialogButtonBox::Cancel | QDialogButtonBox::Ok ); + mButtonBox->setStandardButtons( QDialogButtonBox::Cancel | QDialogButtonBox::Help | QDialogButtonBox::Ok ); connect( mButtonBox, &QDialogButtonBox::accepted, this, &QgsRelationAddDlg::accept ); connect( mButtonBox, &QDialogButtonBox::rejected, this, &QgsRelationAddDlg::reject ); + connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [ = ] + { + QgsHelp::openHelp( QStringLiteral( "working_with_vector/attribute_table.html#defining-1-n-relations" ) ); + } ); layout->addWidget( mButtonBox, 7, 1, 1, 2 ); // set layout