void LayerDock::sliderValueChanged(int opacity) { if (!mMapDocument) return; // When the slider changes value just because we're updating it, it // shouldn't try to set the layer opacity. if (mUpdatingSlider) return; const int layerIndex = mMapDocument->currentLayerIndex(); if (layerIndex == -1) return; const Layer *layer = mMapDocument->map()->layerAt(layerIndex); if ((int) (layer->opacity() * 100) != opacity) { mChangingLayerOpacity = true; LayerModel *layerModel = mMapDocument->layerModel(); layerModel->setData(layerModel->index(layerIndex), qreal(opacity) / 100, LayerModel::OpacityRole); mChangingLayerOpacity = false; } }
void LayerDock::setLayerOpacity(int opacity) { if (!mMapDocument) return; const int layerIndex = mMapDocument->currentLayerIndex(); if (layerIndex == -1) return; const Layer *layer = mMapDocument->map()->layerAt(layerIndex); if ((int) (layer->opacity() * 100) != opacity) { LayerModel *layerModel = mMapDocument->layerModel(); const int row = layerModel->layerIndexToRow(layerIndex); layerModel->setData(layerModel->index(row), qreal(opacity) / 100, LayerModel::OpacityRole); } }