Skip to content

Commit b498094

Browse files
committedNov 26, 2015
enable/disable buttons in QgsRuleBasedRendererV2Widget based on selection
also made a tooltip and a label more precise
1 parent 5387fd1 commit b498094

File tree

4 files changed

+15
-4
lines changed

4 files changed

+15
-4
lines changed
 

‎python/gui/symbology-ng/qgsrulebasedrendererv2widget.sip

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class QgsRuleBasedRendererV2Widget : QgsRendererV2Widget
7979
void setRenderingOrder();
8080

8181
void currentRuleChanged( const QModelIndex& current = QModelIndex(), const QModelIndex& previous = QModelIndex() );
82+
void selectedRulesChanged();
8283

8384
void saveSectionWidth( int section, int oldSize, int newSize );
8485
void restoreSectionWidths();

‎src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ QgsRuleBasedRendererV2Widget::QgsRuleBasedRendererV2Widget( QgsVectorLayer* laye
9595
connect( viewRules, SIGNAL( customContextMenuRequested( const QPoint& ) ), this, SLOT( contextMenuViewCategories( const QPoint& ) ) );
9696

9797
connect( viewRules->selectionModel(), SIGNAL( currentChanged( QModelIndex, QModelIndex ) ), this, SLOT( currentRuleChanged( QModelIndex, QModelIndex ) ) );
98+
connect( viewRules->selectionModel(), SIGNAL( selectionChanged( QItemSelection, QItemSelection ) ), this, SLOT( selectedRulesChanged() ) );
9899

99100
connect( btnAddRule, SIGNAL( clicked() ), this, SLOT( addRule() ) );
100101
connect( btnEditRule, SIGNAL( clicked() ), this, SLOT( editRule() ) );
@@ -105,6 +106,7 @@ QgsRuleBasedRendererV2Widget::QgsRuleBasedRendererV2Widget( QgsVectorLayer* laye
105106
connect( btnRenderingOrder, SIGNAL( clicked() ), this, SLOT( setRenderingOrder() ) );
106107

107108
currentRuleChanged();
109+
selectedRulesChanged();
108110

109111
// store/restore header section widths
110112
connect( viewRules->header(), SIGNAL( sectionResized( int, int, int ) ), this, SLOT( saveSectionWidth( int, int, int ) ) );
@@ -200,7 +202,7 @@ void QgsRuleBasedRendererV2Widget::removeRule()
200202
void QgsRuleBasedRendererV2Widget::currentRuleChanged( const QModelIndex& current, const QModelIndex& previous )
201203
{
202204
Q_UNUSED( previous );
203-
btnRefineRule->setEnabled( current.isValid() );
205+
btnEditRule->setEnabled( current.isValid() );
204206
}
205207

206208

@@ -578,6 +580,13 @@ void QgsRuleBasedRendererV2Widget::countFeatures()
578580
mModel->setFeatureCounts( countMap );
579581
}
580582

583+
void QgsRuleBasedRendererV2Widget::selectedRulesChanged()
584+
{
585+
bool enabled = !viewRules->selectionModel()->selectedIndexes().isEmpty();
586+
btnRefineRule->setEnabled( enabled );
587+
btnRemoveRule->setEnabled( enabled );
588+
}
589+
581590
///////////
582591

583592
QgsRendererRulePropsDialog::QgsRendererRulePropsDialog( QgsRuleBasedRendererV2::Rule* rule, QgsVectorLayer* layer, QgsStyleV2* style, QWidget* parent , QgsMapCanvas* mapCanvas )

‎src/gui/symbology-ng/qgsrulebasedrendererv2widget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ class GUI_EXPORT QgsRuleBasedRendererV2Widget : public QgsRendererV2Widget, priv
126126
void setRenderingOrder();
127127

128128
void currentRuleChanged( const QModelIndex& current = QModelIndex(), const QModelIndex& previous = QModelIndex() );
129+
void selectedRulesChanged();
129130

130131
void saveSectionWidth( int section, int oldSize, int newSize );
131132
void restoreSectionWidths();

‎src/ui/qgsrulebasedrendererv2widget.ui

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<item>
6565
<widget class="QPushButton" name="btnEditRule">
6666
<property name="toolTip">
67-
<string>Edit rule</string>
67+
<string>Edit current rule</string>
6868
</property>
6969
<property name="text">
7070
<string/>
@@ -78,7 +78,7 @@
7878
<item>
7979
<widget class="QPushButton" name="btnRemoveRule">
8080
<property name="toolTip">
81-
<string>Remove rule</string>
81+
<string>Remove selected rules</string>
8282
</property>
8383
<property name="text">
8484
<string/>
@@ -95,7 +95,7 @@
9595
<bool>true</bool>
9696
</property>
9797
<property name="text">
98-
<string>Refine current rules</string>
98+
<string>Refine selected rules</string>
9999
</property>
100100
<property name="checkable">
101101
<bool>false</bool>

0 commit comments

Comments
 (0)
Please sign in to comment.