Skip to content

Commit 89ed1b1

Browse files
committedDec 4, 2020
Improve single color button UX, and immediatly refresh map after color changes
1 parent e5e2dd4 commit 89ed1b1

File tree

2 files changed

+43
-32
lines changed

2 files changed

+43
-32
lines changed
 

‎src/app/3d/qgspointcloud3dsymbolwidget.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ QgsPointCloud3DSymbolWidget::QgsPointCloud3DSymbolWidget( QgsPointCloudLayer *la
3030

3131
mRenderingParameterComboBox->setLayer( layer );
3232

33+
mSingleColorBtn->setAllowOpacity( false );
34+
mSingleColorBtn->setColorDialogTitle( tr( "Select Point Color" ) );
35+
3336
mRenderingStyleComboBox->addItem( tr( "No Rendering" ), QgsPointCloud3DSymbol::NoRendering );
3437
mRenderingStyleComboBox->addItem( tr( "Single Color" ), QgsPointCloud3DSymbol::SingleColor );
3538
mRenderingStyleComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "styleicons/singlebandpseudocolor.svg" ) ), tr( "Attribute by Ramp" ), QgsPointCloud3DSymbol::ColorRamp );
@@ -42,12 +45,14 @@ QgsPointCloud3DSymbolWidget::QgsPointCloud3DSymbolWidget( QgsPointCloudLayer *la
4245
connect( mRenderingStyleComboBox, qgis::overload< int >::of( &QComboBox::currentIndexChanged ), this, &QgsPointCloud3DSymbolWidget::onRenderingStyleChanged );
4346
connect( mColorRampShaderMinMaxReloadButton, &QPushButton::clicked, this, &QgsPointCloud3DSymbolWidget::reloadColorRampShaderMinMax );
4447
connect( mColorRampShaderWidget, &QgsColorRampShaderWidget::widgetChanged, this, &QgsPointCloud3DSymbolWidget::emitChangedSignal );
48+
connect( mSingleColorBtn, &QgsColorButton::colorChanged, this, &QgsPointCloud3DSymbolWidget::emitChangedSignal );
4549
}
4650

4751
void QgsPointCloud3DSymbolWidget::setSymbol( QgsPointCloud3DSymbol *symbol )
4852
{
4953
mBlockChangedSignals++;
5054
mRenderingStyleComboBox->setCurrentIndex( mRenderingStyleComboBox->findData( symbol->renderingStyle() ) );
55+
mStackedWidget->setCurrentIndex( static_cast< int >( symbol->renderingStyle() ) );
5156
if ( symbol )
5257
{
5358
switch ( symbol->renderingStyle() )

‎src/ui/3d/qgspointcloud3dsymbolwidget.ui

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -93,40 +93,46 @@
9393
</item>
9494
<item row="3" column="0" colspan="4">
9595
<widget class="QStackedWidget" name="mStackedWidget">
96+
<property name="currentIndex">
97+
<number>1</number>
98+
</property>
9699
<widget class="QWidget" name="page"/>
97100
<widget class="QWidget" name="page_3">
98-
<widget class="QLabel" name="label_6">
99-
<property name="geometry">
100-
<rect>
101-
<x>0</x>
102-
<y>30</y>
103-
<width>263</width>
104-
<height>32</height>
105-
</rect>
106-
</property>
107-
<property name="text">
108-
<string>Single Color</string>
109-
</property>
110-
</widget>
111-
<widget class="QgsColorButton" name="mSingleColorBtn">
112-
<property name="geometry">
113-
<rect>
114-
<x>269</x>
115-
<y>36</y>
116-
<width>262</width>
117-
<height>26</height>
118-
</rect>
119-
</property>
120-
<property name="sizePolicy">
121-
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
122-
<horstretch>0</horstretch>
123-
<verstretch>0</verstretch>
124-
</sizepolicy>
125-
</property>
126-
<property name="text">
127-
<string>...</string>
128-
</property>
129-
</widget>
101+
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
102+
<item row="0" column="0">
103+
<widget class="QLabel" name="label_6">
104+
<property name="text">
105+
<string>Color</string>
106+
</property>
107+
</widget>
108+
</item>
109+
<item row="0" column="1">
110+
<widget class="QgsColorButton" name="mSingleColorBtn">
111+
<property name="sizePolicy">
112+
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
113+
<horstretch>0</horstretch>
114+
<verstretch>0</verstretch>
115+
</sizepolicy>
116+
</property>
117+
<property name="text">
118+
<string>...</string>
119+
</property>
120+
</widget>
121+
</item>
122+
<item row="1" column="1">
123+
<spacer name="verticalSpacer_2">
124+
<property name="orientation">
125+
<enum>Qt::Vertical</enum>
126+
</property>
127+
<property name="sizeHint" stdset="0">
128+
<size>
129+
<width>20</width>
130+
<height>40</height>
131+
</size>
132+
</property>
133+
</spacer>
134+
</item>
135+
</layout>
130136
</widget>
131137
<widget class="QWidget" name="page_4">
132138
<widget class="QLabel" name="label_5">

0 commit comments

Comments
 (0)
Please sign in to comment.