@@ -105,6 +105,7 @@ QgsDiagramProperties::QgsDiagramProperties( QgsVectorLayer* layer, QWidget* pare
105105 QTreeWidgetItem *newItem = new QTreeWidgetItem ( mAttributesTreeWidget );
106106 newItem->setText ( 0 , fieldIt.value ().name () );
107107 newItem->setData ( 0 , Qt::UserRole, fieldIt.key () );
108+ newItem->setFlags ( newItem->flags () & ~Qt::ItemIsDropEnabled );
108109 if ( fieldIt.value ().type () != QVariant::String )
109110 {
110111 mSizeAttributeComboBox ->addItem ( fieldIt.value ().name (), fieldIt.key () );
@@ -165,7 +166,7 @@ QgsDiagramProperties::QgsDiagramProperties( QgsVectorLayer* layer, QWidget* pare
165166 mDiagramFont = settingList.at ( 0 ).font ;
166167 QSizeF size = settingList.at ( 0 ).size ;
167168 mBackgroundColorButton ->setColor ( settingList.at ( 0 ).backgroundColor );
168- mTransparencySlider ->setValue ( settingList.at ( 0 ).transparency * 100 / 256 );
169+ mTransparencySlider ->setValue ( settingList.at ( 0 ).transparency );
169170 mDiagramPenColorButton ->setColor ( settingList.at ( 0 ).penColor );
170171 mPenWidthSpinBox ->setValue ( settingList.at ( 0 ).penWidth );
171172 mDiagramSizeSpinBox ->setValue (( size.width () + size.height () ) / 2.0 );
@@ -340,7 +341,7 @@ void QgsDiagramProperties::on_mDiagramTypeComboBox_currentIndexChanged( const QS
340341
341342void QgsDiagramProperties::on_mTransparencySlider_valueChanged ( int value )
342343{
343- mTransparencyLabel ->setText ( tr ( " Transparency: %1%" ).arg ( value ) );
344+ mTransparencyLabel ->setText ( tr ( " Transparency: %1%" ).arg ( value * 100 / 255 ) );
344345}
345346
346347void QgsDiagramProperties::on_mAddCategoryPushButton_clicked ()
@@ -470,11 +471,15 @@ void QgsDiagramProperties::apply()
470471
471472 QgsDiagramSettings ds;
472473 ds.font = mDiagramFont ;
474+ ds.transparency = mTransparencySlider ->value ();
475+
473476 QList<QColor> categoryColors;
474477 QList<int > categoryAttributes;
475478 for ( int i = 0 ; i < mDiagramAttributesTreeWidget ->topLevelItemCount (); ++i )
476479 {
477- categoryColors.append ( mDiagramAttributesTreeWidget ->topLevelItem ( i )->background ( 1 ).color () );
480+ QColor color = mDiagramAttributesTreeWidget ->topLevelItem ( i )->background ( 1 ).color ();
481+ color.setAlpha ( 255 - ds.transparency );
482+ categoryColors.append ( color );
478483 categoryAttributes.append ( mDiagramAttributesTreeWidget ->topLevelItem ( i )->data ( 0 , Qt::UserRole ).toInt () );
479484 }
480485 ds.categoryColors = categoryColors;
@@ -517,11 +522,6 @@ void QgsDiagramProperties::apply()
517522 }
518523
519524 ds.backgroundColor = mBackgroundColorButton ->color ();
520- ds.transparency = mTransparencySlider ->value () * 255 / 100 ;
521- foreach ( QColor col, ds.categoryColors )
522- {
523- col.setAlpha ( 255 - ds.transparency );
524- }
525525 ds.penColor = mDiagramPenColorButton ->color ();
526526 ds.penColor .setAlpha ( 255 - ds.transparency );
527527 ds.penWidth = mPenWidthSpinBox ->value ();
0 commit comments