Skip to content

Commit 5a11b22

Browse files
3nidsm-kuhn
authored andcommitted
use smaller button, alternate row colors
1 parent 8b32aae commit 5a11b22

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

src/app/qgsgeometryvalidationdock.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ email : matthias@opengis.ch
1414
***************************************************************************/
1515

1616
#include <QButtonGroup>
17-
17+
#include <QToolButton>
1818

1919
#include "qgsgeometryvalidationdock.h"
2020
#include "qgsgeometryvalidationmodel.h"
@@ -39,6 +39,7 @@ QgsGeometryValidationDock::QgsGeometryValidationDock( const QString &title, QgsM
3939
QFont font = mProblemDescriptionLabel->font();
4040
font.setBold( true );
4141
mProblemDescriptionLabel->setFont( font );
42+
mErrorListView->setAlternatingRowColors( true );
4243

4344
connect( mNextButton, &QPushButton::clicked, this, &QgsGeometryValidationDock::gotoNextError );
4445
connect( mPreviousButton, &QPushButton::clicked, this, &QgsGeometryValidationDock::gotoPreviousError );
@@ -166,20 +167,24 @@ void QgsGeometryValidationDock::onCurrentErrorChanged( const QModelIndex &curren
166167
QgsGeometryCheckError *error = current.data( QgsGeometryValidationModel::GeometryCheckErrorRole ).value<QgsGeometryCheckError *>();
167168
if ( error )
168169
{
169-
while ( QPushButton *btn = mResolutionWidget->findChild<QPushButton *>() )
170-
delete btn;
171170
const QStringList resolutionMethods = error->check()->resolutionMethods();
171+
QGridLayout *layout = new QGridLayout( mResolutionWidget );
172172
int resolutionIndex = 0;
173173
for ( const QString &resolutionMethod : resolutionMethods )
174174
{
175-
QPushButton *resolveBtn = new QPushButton( resolutionMethod );
175+
QToolButton *resolveBtn = new QToolButton( mResolutionWidget );
176+
resolveBtn->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/algorithms/mAlgorithmCheckGeometry.svg" ) ) );
177+
layout->addWidget( resolveBtn, resolutionIndex, 0 );
178+
QLabel *resolveLabel = new QLabel( resolutionMethod, mResolutionWidget );
179+
resolveLabel->setWordWrap( true );
180+
layout->addWidget( resolveLabel, resolutionIndex, 1 );
176181
connect( resolveBtn, &QPushButton::clicked, this, [resolutionIndex, error, this]()
177182
{
178183
mGeometryValidationService->fixError( error, resolutionIndex );
179184
} );
180-
mResolutionWidget->layout()->addWidget( resolveBtn );
181185
resolutionIndex++;
182186
}
187+
mResolutionWidget->setLayout( layout );
183188
}
184189

185190
bool hasFeature = !FID_IS_NULL( current.data( QgsGeometryValidationModel::ErrorFeatureIdRole ) );

src/ui/qgsgeometryvalidationdockbase.ui

+8-10
Original file line numberDiff line numberDiff line change
@@ -71,23 +71,14 @@
7171
</widget>
7272
</item>
7373
<item row="3" column="1" colspan="2">
74-
<widget class="QWidget" name="mResolutionWidget" native="true">
75-
<layout class="QVBoxLayout" name="verticalLayout"/>
76-
</widget>
74+
<widget class="QWidget" name="mResolutionWidget" native="true"/>
7775
</item>
7876
</layout>
7977
</widget>
8078
</item>
8179
<item row="2" column="0" colspan="2">
8280
<widget class="QListView" name="mErrorListView"/>
8381
</item>
84-
<item row="1" column="0">
85-
<widget class="QLabel" name="mValidationRunningLabel">
86-
<property name="text">
87-
<string/>
88-
</property>
89-
</widget>
90-
</item>
9182
<item row="0" column="1">
9283
<widget class="QToolButton" name="mTopologyChecksPendingButton">
9384
<property name="text">
@@ -99,6 +90,13 @@
9990
</property>
10091
</widget>
10192
</item>
93+
<item row="1" column="0">
94+
<widget class="QLabel" name="mValidationRunningLabel">
95+
<property name="text">
96+
<string/>
97+
</property>
98+
</widget>
99+
</item>
102100
</layout>
103101
</widget>
104102
</widget>

0 commit comments

Comments
 (0)