12 changes: 12 additions & 0 deletions src/gui/qgscollapsiblegroupbox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,18 @@ void QgsCollapsibleGroupBox::mouseReleaseEvent( QMouseEvent *event )
QGroupBox::mouseReleaseEvent( event );
}

void QgsCollapsibleGroupBox::changeEvent( QEvent *event )
{
// always re-enable mCollapseButton when groupbox was previously disabled
// e.g. resulting from a disabled parent of groupbox, or a signal/slot connection

// default behaviour - pass to QGroupBox
QGroupBox::changeEvent( event );

if ( event->type() == QEvent::EnabledChange && isEnabled() )
mCollapseButton->setEnabled( true );
}

QRect QgsCollapsibleGroupBox::titleRect() const
{
QStyleOptionGroupBox box;
Expand Down
2 changes: 2 additions & 0 deletions src/gui/qgscollapsiblegroupbox.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ class GUI_EXPORT QgsCollapsibleGroupBox : public QGroupBox
void init();
void showEvent( QShowEvent *event );
void mouseReleaseEvent( QMouseEvent *event );
void changeEvent( QEvent *event );

void updateStyle();
QRect titleRect() const;
QString saveKey() const;
Expand Down
9 changes: 7 additions & 2 deletions src/gui/symbology-ng/qgscptcitycolorrampv2dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ void QgsCptCityColorRampV2Dialog::updateTreeView( QgsCptCityDataItem *item, bool
lblSchemePath->setText( "" );
// lblCollectionName->setText( item->path() );
lblCollectionInfo->setText( item->info() );
updateCopyingInfo( );
clearCopyingInfo( );
updateListWidget( item );
}
else
Expand Down Expand Up @@ -434,6 +434,11 @@ void QgsCptCityColorRampV2Dialog::updatePreview( bool clear )
updateCopyingInfo( mRamp->copyingInfo() );
}

void QgsCptCityColorRampV2Dialog::clearCopyingInfo()
{
updateCopyingInfo( QMap< QString, QString >() );
}

void QgsCptCityColorRampV2Dialog::updateCopyingInfo( const QMap< QString, QString >& copyingMap )
{
QString authorStr = copyingMap.value( "authors" );
Expand Down Expand Up @@ -544,7 +549,7 @@ bool QgsCptCityColorRampV2Dialog::updateRamp()
mListRamps.clear();
cboVariantName->clear();
updatePreview( true );
updateCopyingInfo( );
clearCopyingInfo( );

QgsDebugMsg( "schemeName= " + mRamp->schemeName() );
if ( mRamp->schemeName() == "" )
Expand Down
3 changes: 2 additions & 1 deletion src/gui/symbology-ng/qgscptcitycolorrampv2dialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ class GUI_EXPORT QgsCptCityColorRampV2Dialog : public QDialog, private Ui::QgsCp
protected:

void updatePreview( bool clear = false );
void updateCopyingInfo( const QMap< QString, QString >& copyingMap = QMap< QString, QString >() );
void clearCopyingInfo();
void updateCopyingInfo( const QMap< QString, QString >& copyingMap );
void updateTreeView( QgsCptCityDataItem *item, bool resetRamp = true );
void updateListWidget( QgsCptCityDataItem *item );
bool eventFilter( QObject *obj, QEvent *event );
Expand Down